Skip to content

split Semigroups into a separate spkg, bump versions #40509

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

Merged
merged 3 commits into from
Aug 2, 2025

Conversation

dimpase
Copy link
Member

@dimpase dimpase commented Jul 29, 2025

this will allow more flexibilitity w.r.t. GAP's (lib)semigroups packages, so they can be updated independently, without extensive patchquilts

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

⌛ Dependencies

@enriqueartal
Copy link
Contributor

Besides the previous comment, I find it fine. As your point out the (lib)semigroups patches of #40501 should go. This PR could also be merged with #40501.

@dimpase
Copy link
Member Author

dimpase commented Jul 29, 2025

would be good if this is checked on the latest macOS/XCode

@GMS103
Copy link
Member

GMS103 commented Jul 30, 2025

On macOS 15.5, the answer is

  • partially "yes": gap_packagesand libsemigroups get installed;
  • partially "no": qhull and symengine do not.

More later.

@dimpase
Copy link
Member Author

dimpase commented Jul 30, 2025

this PR does not touch qhull and symengine.

@dimpase
Copy link
Member Author

dimpase commented Jul 30, 2025

also note that Semigroups is no longer installed by gap_packages, so to install it you need to ./configure --enable-semigroups followed by make

@@ -0,0 +1 @@
gap
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

repology has a specific gap-semigroups category. Please add arch too: the package name is gap-packages

@enriqueartal
Copy link
Contributor

I passed a full test, two minor issues. A failed test in src/sage/rings/number_field/number_field_element_quadratic.pyx; it passes when testing only the file. And a failed test in src/doc/en/reference/spkg/semigroups.rst:

Failed example:
    libgap.LoadPackage("semigroups")       # optional - semigroups
Expected:
    true
Got:
    #I  ReadPackage could not read <digraphs>/gap/doc.g
    <BLANKLINE>
    true

Running interactive:

sage: libgap.LoadPackage("semigroups")
#I  ReadPackage could not read <digraphs>/gap/doc.g

true
sage: libgap.LoadPackage("semigroups")
true

@GMS103
Copy link
Member

GMS103 commented Jul 30, 2025

Please see #40512.
And feel free to sort things out.

@dimpase
Copy link
Member Author

dimpase commented Jul 30, 2025

I passed a full test, two minor issues. A failed test in src/sage/rings/number_field/number_field_element_quadratic.pyx; it passes when testing only the file.

this is something unrelated, I think.

And a failed test in src/doc/en/reference/spkg/semigroups.rst:

Failed example:
    libgap.LoadPackage("semigroups")       # optional - semigroups
Expected:
    true
Got:
    #I  ReadPackage could not read <digraphs>/gap/doc.g
    <BLANKLINE>
    true

Running interactive:

sage: libgap.LoadPackage("semigroups")
#I  ReadPackage could not read <digraphs>/gap/doc.g

true
sage: libgap.LoadPackage("semigroups")
true

I cannot reproduce this, for me it just works.
This should not be different from the old setup, with semigroups GAP package built as a part of gap_packages.

@dimpase
Copy link
Member Author

dimpase commented Jul 31, 2025

care to give this a positive review?

@GMS103
Copy link
Member

GMS103 commented Jul 31, 2025

care to give this a positive review?

Enrique gave a positive review 2 days ago, I think.
In any case, positive review from me too.

@vbraun vbraun merged commit 1e5e8e6 into sagemath:develop Aug 2, 2025
30 of 33 checks passed
@jeriedel24
Copy link

I see the same doctest failure that Enrique mentioned in his comment on 30th July:

File "src/doc/en/reference/spkg/semigroups.rst", line 15, in doc.en.reference.spkg.semigroups
Failed example:
    libgap.LoadPackage("semigroups")       # optional - semigroups
Expected:
    true
Got:
    #I  ReadPackage could not read <digraphs>/gap/doc.g
    <BLANKLINE>
    true

The file src/doc/en/reference/spkg/semigroups.rst is generated by the bootstrap script, but the doctest can be corrected in build/pkgs/semigroups/SPKG.rst (line 13ff).

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

Successfully merging this pull request may close these issues.

6 participants