Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce R to a dummy package, upgrade rpy2 to 3.4.5 #34268

Closed
mkoeppe opened this issue Aug 3, 2022 · 68 comments
Closed

Reduce R to a dummy package, upgrade rpy2 to 3.4.5 #34268

mkoeppe opened this issue Aug 3, 2022 · 68 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 3, 2022

We reduce the unmaintained r package (stuck at 3.6.3) so that we detect a system installation of R (>= 3.5) but do not attempt to install it ourselves.

When R is found as a system package, rpy2 will be built; otherwise it won't.

rpy2 3.5.x only supports R >= 4.0 according to
https://rpy2.github.io/doc/v3.5.x/html/overview.html#requirements

Here we upgrade rpy2 to 3.4.5, the latest that still supports R >= 3.5 according to https://rpy2.github.io/doc/v3.4.x/html/overview.html#requirements

Support for R < 3.5 was already dropped in the rpy 3.3.x series (our current version of rpy2 is 3.3.6).

According to https://repology.org/project/r/versions, we will thus drop support for R on the ancient platforms:

Depends on #34193

CC: @EmmanuelCharpentier @videlec @dimpase @isuruf @jhpalmieri @novoselt @williamstein

Component: packages: standard

Author: Matthias Koeppe

Branch/Commit: a50460e

Reviewer: John Palmieri

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

@mkoeppe mkoeppe added this to the sage-9.7 milestone Aug 3, 2022
@dimpase
Copy link
Member

dimpase commented Aug 3, 2022

comment:1

good idea

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 3, 2022

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

cbcff37build/pkgs/rpy2: Mark as not required when there is no R

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Commit: cbcff37

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Changed commit from cbcff37 to 004bac5

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

004bac5build/pkgs/r: Restore spkg-legacy-uninstall as spkg-uninstall script

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 3, 2022

Dependencies: #34193

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Changed commit from 004bac5 to 77a2474

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

1b61561m4/sage_spkg_collect.m4: Display installed package version
215fbbcm4/sage_spkg_collect.m4: Omit 'version none' in messages
8273456m4/sage_spkg_collect.m4: Show installed versions / upgrade information
9574e8cm4/sage_spkg_collect.m4: Handle multiple installation records better
b1a4aacbuild/make/Makefile.in: For script packages, remove old installation records
515a785m4/sage_spkg_collect.m4: Update comment regarding multiple installation records of script packages
46a0870m4/sage_spkg_collect.m4: Actually find installation records in SAGE_VENV when that is set implicitly
7bda1cbm4/sage_spkg_collect.m4: Restore uninstall message
551b2a2Merge #34193
77a2474build/make/Makefile.in: When uninstalling script packages, remove all versions of stamp files

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Changed commit from 77a2474 to 5e3e4be

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

7069512build/pkgs/rpy2: Update to 3.5.3
5e3e4bebuild/pkgs/r/spkg-configure.m4: Remove depcheck

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Changed commit from 5e3e4be to 9887c7e

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

54c0b55build/pkgs/rpy2/patches/716.patch: Remove (upstreamed)
9887c7ebuild/pkgs/rpy2/patches/setup-no-pytest.patch: Remove, obsolete

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 3, 2022

Author: Matthias Koeppe

@mkoeppe mkoeppe changed the title Reduce R to a dummy package, upgrade rpy2 Reduce R to a dummy package, upgrade rpy2 to 3.5.3 Aug 3, 2022
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Changed commit from 9887c7e to e54b60c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

e54b60cbuild/pkgs/r/spkg-configure.m4: Bump required r version for rpy2

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title Reduce R to a dummy package, upgrade rpy2 to 3.5.3 Reduce R to a dummy package, upgrade rpy2 to 3.4.5 Aug 3, 2022
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

83a751abuild/pkgs/rpy2: Downgrade to 3.4.5

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 3, 2022

Changed commit from e54b60c to 83a751a

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe removed this from the sage-9.7 milestone Aug 3, 2022
@jhpalmieri
Copy link
Member

comment:46

Right, and of course it doesn't matter whether rpy2 has been built, the same message appears, because this branch installs version 3.4.5 of rpy2, and that does not satisfy rpy2<3.4,>=3.3.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 22, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

7ab9370build/pkgs/rpy2/install-requires.txt: Remove upper version bound

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 22, 2022

Changed commit from 83a751a to 7ab9370

@jhpalmieri
Copy link
Member

comment:48

./configure says

    notice: the following SPKGs did not find equivalent system packages:

        rpy2   4ti2 _recommended cbc coxeter3 ffmpeg gp2c igraph libsemigroups lrslib pandoc pdf2svg perl_mongodb perl_term_readline_gnu polymake

Do you know why there seems to be extra space after rpy2?

@jhpalmieri
Copy link
Member

comment:49

With ./configure --with-system-r=no, rpy2 is not built and I see lots of warnings in docbuilding:

pkg_resources.DistributionNotFound: The 'rpy2>=3.3' distribution was not found and is required by sagemath-standard

The scipy log file says

sagemath-standard 9.7b8 requires networkx<3.0,>=2.4, which is not installed.
sagemath-standard 9.7b8 requires rpy2>=3.3, which is not installed.

(networkx-2.8.4 had not yet finished installing at this point.)

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 22, 2022

comment:50

Replying to @jhpalmieri:

./configure says

    notice: the following SPKGs did not find equivalent system packages:

        rpy2   4ti2 _recommended cbc coxeter3 ffmpeg gp2c igraph libsemigroups lrslib pandoc pdf2svg perl_mongodb perl_term_readline_gnu polymake

Do you know why there seems to be extra space after rpy2?

I think I put this space there to separate standard packages from optional packages

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 22, 2022

Changed commit from 7ab9370 to 5d66432

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 22, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

5d66432src/setup.cfg.m4: Move rpy2 from install-requires to extras-require

@jhpalmieri
Copy link
Member

comment:52

Looks okay to me. Passes tests with and without using the system installation of R.

@jhpalmieri
Copy link
Member

Reviewer: John Palmieri

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 23, 2022

comment:53

Thank you!

@jhpalmieri
Copy link
Member

comment:54

Replying to @mkoeppe:

Replying to @jhpalmieri:

Since the downloading timeouts can take a while, is there any way to tell Sage to skip the standard mirrors and just jump straight to the option given by --enable-download-from-upstream-url?)

You can edit the file upstream/mirror_list to remove most mirrors

Would it be useful to be able to add $UPSTREAM (or something like that) to the mirror list, which would have the effect of turning on --enable-download-from-upstream-url?

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 23, 2022

comment:55

I think it would make sense to limit the number of mirrors it tries to some small number (5?) before it tries the upstream.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 23, 2022

comment:56

I've opened #34411 for this

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 23, 2022

comment:57

Also see #32390

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 26, 2022

Changed dependencies from #34193, #32074 to #34193

@vbraun
Copy link
Member

vbraun commented Sep 27, 2022

comment:59

Merge failure on top of:

024b81f Trac #33812: Refactor distributions sagemath-{objects,categories} through sagemath-{environment,repl}

e4d3004 Trac #33805: use Homebrew's primecount

5076cd5 Trac #34110: numpy 1.23.x

025fdd4 Trac #34532: modernize super in manifolds/

f9129b1 Trac #34531: some details in LS paths crystals

7f7088d Trac #34529: remove deprecated method spring_layout_fast_split from src/sage/graphs/generic_graph_pyx.pyx

12890b6 Trac #34520: Remove randomly failing doctest in src/sage/graphs/generators/random.py

c8511ab Trac #34512: compute list CRT via tree

3f4e544 Trac #34508: Improve documentation of JoinFeature

cb5e1af Trac #34493: Make TrivialFamily.map return a TrivialFamily

c036ccc Trac #34486: VectorFieldModule: Faster fast path for tensor_module, exterior_power, dual_exterior_power

89b4155 Trac #34469: modern super in matrix_space

4f3a9b0 Trac #34468: fix W605 in all pyx files inside matroids/

bfa6342 Trac #34465: Invalid escape sequence in special.py

cd65d44 Trac #34462: Uniformize the headline: finite rings

7736a49 Trac #34435: Add method to trim trailing zeros from IntegerVector

154baa5 Trac #34432: Upgrade: jupyter-packaging 0.12.3

bfc2ccf Trac #34409: remove experimental warning for composite elliptic-curve isogenies

89b0d28 Trac #34375: Replace sage.algebras.yangian.GeneratorIndexingSet with cartesian_product

ce82f81 Trac #34358: pycodestyle cleanup in src/sage/graphs/generic_graph.py (part 4)

c8c541f Trac #34578: standard error messages in pbori

721c4c1 Trac #34573: Remove binary_function from ginac's code in sage

5fc16f5 Trac #34571: fix typo in docstring

b836c6c Trac #34562: refactor multiple zeta values

1366a0d Trac #34528: Installation guide: Improve section on prerequisites/recommendations

ad97e1b Trac #34413: implement derivatives of lazy series

a802d07 Trac #31664: Add package msolve 0.4.4 (multivariate polynomial system solver)

4541564 Updated SageMath version to 9.8.beta0

merge was not clean: conflicts in build/make/Makefile.in

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 30, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

091e0afMerge tag '9.8.beta0' into t/34268/reduce_r_to_a_dummy_package__upgrade_rpy2
a50460eMerge tag '9.8.beta1' into t/34268/reduce_r_to_a_dummy_package__upgrade_rpy2

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 30, 2022

Changed commit from 5d66432 to a50460e

@vbraun
Copy link
Member

vbraun commented Oct 11, 2022

Changed branch from u/mkoeppe/reduce_r_to_a_dummy_package__upgrade_rpy2 to a50460e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants