Opened 6 years ago

Last modified 6 years ago

#20107 closed enhancement

Add optional gap3_jm package — at Version 21

Reported by: stumpc5 Owned by:
Priority: major Milestone: sage-7.2
Component: packages: experimental Keywords: gap3, experimental package
Cc: saliola, tscrim, jmichel, SimonKing Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: u/stumpc5/20107 (Commits, GitHub, GitLab) Commit: 5483a58699784651d5fd47a633a68aed04f71cf1
Dependencies: Stopgaps:

Status badges

Description (last modified by stumpc5)

We have been trying to have an optional GAP3 package for a while now. Instead of the official GAP3, we instead use a forked package gap3_jm which has regularly been updated.

Previously, this was made a Sage package (#8906) but it contained binaries, so it was removed again (#19164).

I removed all binaries, and prepared a new tarball at ​https://drive.google.com/file/d/0B1POEh8bhq1fLXdfTEZkZjVLOGs/view?usp=sharing.

Change History (21)

comment:1 Changed 6 years ago by stumpc5

How do I actually find all binaries? Such as

gap3_test$ grep -r -m 1 "^"  . | grep "^Binary file"
Binary file ./pkg/monoid/doc/manual.dvi matches
Binary file ./pkg/anusq/bin/Sq matches
Binary file ./pkg/anusq/doc/sq94.dvi matches
Binary file ./pkg/anusq/doc/sqn92.dvi matches
Binary file ./pkg/nq/bin/nq matches
Binary file ./pkg/cryst/doc/paper.dvi matches
Binary file ./pkg/meataxe/tests/m11.2 matches
Binary file ./pkg/meataxe/tests/Mat9 matches
Binary file ./pkg/meataxe/tests/a2 matches
Binary file ./pkg/meataxe/tests/a1 matches
Binary file ./pkg/meataxe/tests/Mat256 matches
Binary file ./pkg/meataxe/tests/Perm2 matches
Binary file ./pkg/meataxe/tests/Mat25 matches
Binary file ./pkg/meataxe/tests/Mat125 matches
Binary file ./pkg/meataxe/tests/ac.2 matches
Binary file ./pkg/meataxe/tests/Mat67 matches
Binary file ./pkg/meataxe/tests/Perm1 matches
Binary file ./pkg/meataxe/tests/Mat5 matches
Binary file ./pkg/meataxe/tests/C0.2 matches
Binary file ./pkg/meataxe/tests/C0.1 matches
Binary file ./pkg/meataxe/tests/Mat2 matches
Binary file ./pkg/meataxe/tests/ac.1 matches
Binary file ./pkg/meataxe/tests/m11.1 matches
Binary file ./pkg/sisyphos/bin/sis-i586-unknown-linux matches
Binary file ./pkg/sisyphos/doc/sisman.0.8.3.dvi matches
Binary file ./pkg/ve/examples/meout.pb matches
Binary file ./pkg/ve/bin/qme matches
Binary file ./pkg/ve/bin/me matches
Binary file ./pkg/ve/docs/nme.dvi matches
Binary file ./pkg/arep/bin/leonin matches
Binary file ./pkg/arep/bin/desauto matches
Binary file ./pkg/arep/bin/leonout matches
Binary file ./pkg/arep/src/leon/doc/manual.dvi matches
Binary file ./manual.pdf matches
Binary file ./bin/gapdjg.exe matches
Binary file ./bin/gap.mac matches
Binary file ./bin/gap.x86linux64 matches
Binary file ./bin/gapcyg.exe matches
Binary file ./bin/gap.macx86 matches
Binary file ./bin/gap.x86linux matches
Binary file ./bin/gapdjg.pif matches
Binary file ./bin/cygwin1.dll matches

Are any of these okay to keep, such as the dvi files?

comment:2 in reply to: ↑ description ; follow-up: Changed 6 years ago by jdemeyer

Replying to stumpc5:

I think this is the problem: it doesn't seem to be the "official" GAP3 package, just some random repackaging of GAP3.

comment:3 in reply to: ↑ 2 ; follow-up: Changed 6 years ago by stumpc5

Replying to jdemeyer:

I think this is the problem: it doesn't seem to be the "official" GAP3 package, just some random repackaging of GAP3.

The development of GAP3 has stopped a long time ago. But there are several GAP3 packages that have never been ported to GAP4, and which are still developed.

From that webpage:

To help people who are just interested in GAP3 because they need a package
which has not been ported to GAP4, I have prepared an easy-to install
minimal GAP3 distribution containing an up-to-date versions of the packages.

So this is the only place where we can find up-to-date versions of the GAP3 package *chevie* to work with unitary reflection groups and their representation theory.

I fail to see what might be wrong with adding support for those packages using that "random repackaging" since I and several others need them.

I install the packages myself and then use them from within Sage, but since several things inside Sage are about to depend on that package - see #11187, #11010, #10819 - I think it is worth providing the option for others to automatically install that version of GAP3 with the newest *chevie* package.

comment:4 in reply to: ↑ 3 Changed 6 years ago by jdemeyer

Replying to stumpc5:

Replying to jdemeyer:

I think this is the problem: it doesn't seem to be the "official" GAP3 package, just some random repackaging of GAP3.

The development of GAP3 has stopped a long time ago. But there are several GAP3 packages that have never been ported to GAP4, and which are still developed.

From that webpage:

To help people who are just interested in GAP3 because they need a package
which has not been ported to GAP4, I have prepared an easy-to install
minimal GAP3 distribution containing an up-to-date versions of the packages.

All the above doesn't explain why you use the repackaged version and not the official GAP 3 release from http://www.gap-system.org/Gap3/Download3/download.html

So this is the only place where we can find up-to-date versions of the GAP3 package *chevie* to work with unitary reflection groups and their representation theory.

No, the official gap3r4p4 release also contains chevie.

I fail to see what might be wrong with adding support for those packages using that "random repackaging" since I and several others need them.

Because the repackaging seems to made in a messy way, see #19164.

comment:5 follow-up: Changed 6 years ago by jdemeyer

Frank Lübeck's page How to get CHEVIE also says to download the official GAP3 release and doesn't talk about the "repackaged" version.

comment:6 in reply to: ↑ 5 Changed 6 years ago by stumpc5

  • Cc jmichel added

Replying to jdemeyer:

Frank Lübeck's page How to get CHEVIE also says to download the official GAP3 release and doesn't talk about the "repackaged" version.

Neither this nor the above is up-to-date. Afaik, Jean Michel is the only person still actively developing *chevie* and his website is the only place where these new versions can be found. E.g., I found a small bug in chevie last month (so years after the release of gap3r4p4) through my Sage usage -- Jean fixed it within a few hours and posted the new version on his website.

Using any other version of gap3 and chevie will result in running into old mistakes that will slow down my understanding of research problems I compute!

comment:7 Changed 6 years ago by jdemeyer

Jean fixed it within a few hours and posted the new version on his website.

With "new version", I guess you mean a new version of the repackaged GAP3?

It should be possible to just get the up-to-date chevie sources without all the extra clutter.

comment:8 Changed 6 years ago by stumpc5

From my email discussion with Jean Michel:

>> These  days I sometimes change files in other places than Chevie, so indeed
>> each  time I change something one must take the whole distribution (however
>> I  almost  never  change  the  C  sources).

> Is the stuff that you change in other places needed for chevie to run?

Well,  yes. There were  patches to the  library loaded when loading Chevie.
Since  I maintain the whole distribution, I  decided it makes more sense to
*do*  these  patches  to  the  library  once  and  for  all (this could fix
undiscovered  bugs in other  packages). So the  correct behaviour of Chevie
depends on having my version of gap3/lib.

@Jeroen, what do you think how to proceed from here?

comment:9 Changed 6 years ago by jdemeyer

First of all, thanks for the clarifications!

I think that somebody (either Jean Michel himself or somebody on this Sage ticket) needs to package a source-only repackaged GAP3.

Further questions to be asked to Jean Michel:

  1. Could he state more clearly on his website that his version is not just a repackaged GAP3, it's really a fork of GAP3 with additional fixes which are not in GAP3 proper.
  1. Can he provide a clean source-only repackaged GAP3?
  1. If no to the previous question: is he willing to host such a source-only repackaged GAP3 on his website, if it is created by some Sage contributor?

comment:10 Changed 6 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from Add again optional GAP3 package to Add optional gap3_jm package

comment:11 follow-up: Changed 6 years ago by stumpc5

Replying to jdemeyer:

I think that somebody (either Jean Michel himself or somebody on this Sage ticket) needs to package a source-only repackaged GAP3.

I don't understand how this differs from my initial suggestion on this ticket.

comment:12 in reply to: ↑ 11 Changed 6 years ago by jdemeyer

Replying to stumpc5:

I don't understand how this differs from my initial suggestion on this ticket.

It does not differ. It's just that the situation has been clarified, making sure that your initial suggestion is the right thing to do.

comment:13 Changed 6 years ago by jdemeyer

  • Description modified (diff)

comment:14 follow-up: Changed 6 years ago by stumpc5

Dear Christian, I cannot post directly on sage-trac so I reply to you.

Further questions to be asked to Jean Michel:

  1. Could he state more clearly on his website that his version is not

just a repackaged GAP3, it's really a fork of GAP3 with additional fixes which are not in GAP3 proper.

OK, I will try to be clear on my webpages. The fact is I do not distribute a complete GAP3 distribution (all packages, all libraries) to save space. Perhaps I should distribute a complete distribution and this would obsolete the St Andrews distribution -- it would go from 15MB to 70MB.

  1. Can he provide a clean source-only repackaged GAP3?

I could try if I understand exactly what this means. But this should certainly not be the default distribution since my distribution contains Mac and Windows executables (and executables for some packages which have executables separate from the gap3 executable). We thus have to agree to a name for this for-Sage distribution which I will keep separate from the default distribution.

  1. If no to the previous question: is he willing to host such a source-

only repackaged GAP3 on his website, if it is created by some Sage contributor?

Yes.

comment:15 Changed 6 years ago by jdemeyer

  • Description modified (diff)

comment:16 in reply to: ↑ 14 ; follow-up: Changed 6 years ago by jdemeyer

Replying to stumpc5:

I could try if I understand exactly what this means.

It means: delete all binaries (i.e. system-specific) from the package. Make sure that the package has a build system such that it can be built/installed in a standard Unix environment.

We thus have to agree to a name for this for-Sage distribution which I will keep separate from the default distribution.

Well, I wouldn't call it a "for-Sage distribution". Call it a "source distribution". The actual filename doesn't matter much, most likely we will rename it for Sage anyway.

comment:17 in reply to: ↑ 16 Changed 6 years ago by stumpc5

Replying to jdemeyer:

It means: delete all binaries (i.e. system-specific) from the package. Make sure that the package has a build system such that it can be built/installed in a standard Unix environment.

I will try to do that.

comment:18 Changed 6 years ago by jdemeyer

Also (this is mostly a comment for Jean Michel): ideally the binary distribution would be made from the source distribution, not the other way around.

comment:19 Changed 6 years ago by stumpc5

  • Branch set to u/stumpc5/20107

comment:20 Changed 6 years ago by stumpc5

  • Commit set to 5483a58699784651d5fd47a633a68aed04f71cf1

I prepared a first version by

  1. taking the tarball from 2016-02-01 from Jean Michel's website
  2. deleting all binaries that were listed using grep -r -m 1 "^" . | grep "Binary file"
  3. putting the result into a new tarball with the name gap3-jm5-2015-02-01.tar.gz, this can be downloaded at https://drive.google.com/file/d/0B1POEh8bhq1fLXdfTEZkZjVLOGs/view?usp=sharing
  4. preparing an optional package using this upstream tarball. This was basically a blind trip through the documentation for creating packages + looking at the old optional package patch #8906.

@jdemeyer and @tscrim: I would very much appreciate if you could have a look!

If the linked tarball is okay, I would discuss with Jean Michel whether he could provide such a source distribution directly on his website.


New commits:

5483a58first working version, wandering in the darkness though

comment:21 Changed 6 years ago by stumpc5

  • Description modified (diff)
Note: See TracTickets for help on using tickets.