sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.28k stars 438 forks source link

Script package sagemath_polymake #32741

Open mkoeppe opened 2 years ago

mkoeppe commented 2 years ago

When

It will have jupymake and perl_cpan_polymake_prereq as dependencies, but as of this ticket not install anything otherwise. (In a later follow-up ticket, sagemath_polymake will install a Python distribution package sagemath-polymake with install-requires on sagemath-polyhedra and jupymake.)

Adding script packages of this type will be the general mechanism to activate modularized distributions of the Sage library. For example, presence of tdlib will make sagemath_tdlib required, etc.

Depends on #32918

CC: @dimpase

Component: build: configure

Branch/Commit: u/mkoeppe/script_package_sagemath_polymake @ 137306d

Issue created by migration from https://trac.sagemath.org/ticket/32741

mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,7 +1,8 @@
 When either system `polymake` is present (#31527) or `--enable-polymake` is in use, this script package would be automatically required.

-It will have `jupymake` as a dependency, but otherwise not install anything.
+It will have `jupymake` as a dependency, but as of this ticket not install anything otherwise. (In a later follow-up ticket, `sagemath_polymake` will install a Python distribution package **sagemath-polymake** with install-requires on **sagemath-polyhedra** and **jupymake**.)

 Adding script packages of this type will be the general mechanism to activate modularized distributions of the Sage library. 
 For example, presence of `tdlib` will make `sagemath_tdlib` required, etc.

+
dimpase commented 2 years ago
comment:2

if a package A has to trigger install of package B, this I think can be done in spkg-configure.m4 of A by setting the appropriate variable to yes, which can be checked in spkg-configure.m4 of B. Assuming A is a dependency of B, declared in its spkg-configure.m4 to make sure A is configured before B.

Any need for the more elaborate scheme?

mkoeppe commented 2 years ago
comment:3

What you describe needs to be implemented either way for this -- whether we trigger jupymake directly or sagemath_polymake as described in the ticket.

mkoeppe commented 2 years ago

Branch: u/mkoeppe/script_package_sagemath_polymake

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

444b753build/pkgs/sagemath_polymake: New (WIP)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Commit: 444b753

mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,6 +1,9 @@
-When either system `polymake` is present (#31527) or `--enable-polymake` is in use, this script package would be automatically required.
+When 
+- either system packages `polymake` and `perl_cpan_polymake_prereq` are present (#31527) 
+- or `--enable-polymake` is in use, 
+this script package would be automatically required.

-It will have `jupymake` as a dependency, but as of this ticket not install anything otherwise. (In a later follow-up ticket, `sagemath_polymake` will install a Python distribution package **sagemath-polymake** with install-requires on **sagemath-polyhedra** and **jupymake**.)
+It will have `jupymake` and `perl_cpan_polymake_prereq` as dependencies, but as of this ticket not install anything otherwise. (In a later follow-up ticket, `sagemath_polymake` will install a Python distribution package **sagemath-polymake** with install-requires on **sagemath-polyhedra** and **jupymake**.)

 Adding script packages of this type will be the general mechanism to activate modularized distributions of the Sage library. 
 For example, presence of `tdlib` will make `sagemath_tdlib` required, etc.
mkoeppe commented 2 years ago

Dependencies: #32918

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 444b753 to 137306d

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

137306dbuild/pkgs/sagemath_polymake: New