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

Update pari optional packages #32641

Merged
merged 9 commits into from Nov 9, 2021
Merged

Conversation

tornaria
Copy link
Contributor

@tornaria tornaria commented Aug 23, 2021

  • update pari-elldata
  • new pari package pari-nflistdata
  • fix license
  • change homepage and use https for downloads
  • rename distfiles to include version in name
  • keep the mtime from files in source
  • compress files for installed-size savings
  • drop depends of packages on pari, add checkdepends of pari to packages (cf pari: add to checkdepends and common/shlibs #29159, [RFC] deal with cyclic checkdepends #32614)
  • add a much smaller subpkg seadata-small as in upstream
  • add update file for all packages
  • skip slow post-install hooks for pari-galpol (14681 data files)

I'm also considering adding packages pari-elldata-small and pari-galpol-small with small versions of the databases that should be good for testing and small computations.

@tornaria
Copy link
Contributor Author

From #32638:

XBPS_USE_BUILD_MTIME=no

I don't think it's good style to poke at such bits. It's not xbps-src "API".

I removed it. No other changes.

@tornaria
Copy link
Contributor Author

I'm also considering adding packages pari-elldata-small and pari-galpol-small with small versions of the databases that should be good for testing and small computations.

RFC on *-small packages: is it worth it?

What I propose is that for the larger databases (elldata, galpol, seadata) we have a small subset that is good for moderate sizes, and enough for testing. As an example:

  • pari-elldata: full database for conductors up to 500k is 57M installed size. A reasonable small subset is conductors up to 20k which would take 1.8M of installed size.
  • pari-galpol: full database for group orders up to 143 is 73M installed size. The subset for orders up to 64 would take 12M installed size.
  • pari-seadata: normal database for primes up to 750 bits is 19M. The small database for primes up to 350 bits would be 668K. In this case there's also a "-big" version for primes up to 1100 bits which takes about 120M installed size.

The pari-seadata-small is suggested by upstream and it's already in this PR. The other two are easy to do.

The complete installation of pari with small databases would shrink from ~175M to ~40M of installed size (right now this is ~300M, we already save ~125M just by installing gzipped files which pari reads fine).

All databases would be incremental, e.g. pari-elldata-small installs small subset, pari-elldata contains the rest and depends on pari-elldata-small, etc. so this makes no difference for existing installations.

@motorto @dkwo: what do you think?

@dkwo
Copy link
Contributor

dkwo commented Aug 25, 2021

Seems like a good idea.
With the fix for checkdeps, does it run all tests now, including using the databases?

@dkwo
Copy link
Contributor

dkwo commented Aug 25, 2021

In particular, I'm in for optimizations with small databases and gzipped files.

@tornaria
Copy link
Contributor Author

With the fix for checkdeps, does it run all tests now, including using the databases?

Yes, all tests pass using the small databases.

@motorto
Copy link
Contributor

motorto commented Sep 4, 2021

Sorry for not responding, wasn't using void as my distro. But I am back, if any help is needed you can count with me.

@tornaria
Copy link
Contributor Author

tornaria commented Sep 4, 2021

Sorry for not responding, wasn't using void as my distro. But I am back, if any help is needed you can count with me.

@motorto: since 5 of these are your packages, can you review and approve (or suggest changes) so it can be merged?

Alternatively, if you are not using void and you want to orphan, I don''t mind adopting. I use pari for my work so I need it to be up to date, and I won't be leaving void any time soon.

@motorto
Copy link
Contributor

motorto commented Sep 4, 2021 via email

@tornaria
Copy link
Contributor Author

tornaria commented Sep 4, 2021

Force-push to a2dd3ac: change of maintainer agreed by motorto. No other changes.

IMO ready to merge.

@dkwo
Copy link
Contributor

dkwo commented Sep 6, 2021

LGTM

Also:
- fix license
- change homepage and use https for downloads
- rename distfiles to include version in name
- compress files (installed-size: 157M -> 57M)
- drop depends on pari so pari can checkdepends on this (cf void-linux#29159, void-linux#32614)
- split a reasonable small subset as pari-elldata-small (1.8M vs 57M)
- add update file
- change of maintainer agreed by motorto
- fix license
- change homepage
- rename distfiles to include version in name
- drop depends on pari so pari can checkdepends on this (cf void-linux#29159, void-linux#32614)
- add update file
- change of maintainer agreed by motorto
- fix license
- change homepage and use https for downloads
- rename distfiles to include version in name
- compress files (installed-size: 80M -> 73M)
- drop depends on pari so pari can checkdepends on this (cf void-linux#29159, void-linux#32614)
- skip slow post-install hooks since pkg contains 14681 data files
- split a small subset as pari-galpol-small (12M vs 73M)
- add update file
- change of maintainer agreed by motorto
- fix license
- change homepage and use https for downloads
- rename distfiles to include version in name
- compress files (installed-size: 40M -> 19M)
- drop depends on pari so pari can checkdepends on this (cf void-linux#29159, void-linux#32614)
- add a smaller subpkg pari-seadata-small as in upstream (668k vs 19M)
- add update file
- change of maintainer agreed by motorto
- fix license
- change homepage to https
- rename distfiles to include version in name
- drop depends on pari so pari can checkdepends on this (cf void-linux#29159, void-linux#32614)
- add update file
- change of maintainer agreed by motorto
@tornaria
Copy link
Contributor Author

Rebased on top of latest pari update (#33777).

@tornaria
Copy link
Contributor Author

@ericonr: thanks for merging #29997. What about this one next? It's an itch I have, since I use pari-gp a lot (literally daily, for my work).

I know this includes several changes, but there are 6 different optional data packages and all templates follow the same structure. Each change is documented in the respective commit as a bullet list.

Besides pari-elldata update and adding two new packages (always with the same template structure), the only thing that changes in the installed files is that datafiles are compressed when it makes sense (for files larger than 4k) saving a lot of installed-size. For large packages a <PKG>-small package is split out which contains a reasonable minimal portion of the database (e.g. enough to pass tests) but installing <PKG> after this is equivalent to installing <PKG> before this.

Note that @dkwo and @motorto already reviewed this PR and gave 👍 above. Nothing changed here since then other than rebasing for pari updates.

@ericonr
Copy link
Member

ericonr commented Oct 30, 2021

I am interested in merging more, but this will wait a bit. Am done with reviewing packages today :P

@dkwo dkwo mentioned this pull request Nov 9, 2021
@leahneukirchen leahneukirchen merged commit 18f5d74 into void-linux:master Nov 9, 2021
@tornaria tornaria deleted the pari branch November 15, 2021 00:54
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants