Skip to content

Add libsemigroups v3.4.0#13203

Open
jfjameslee wants to merge 5 commits intoJuliaPackaging:masterfrom
jfjameslee:add-libsemigroups
Open

Add libsemigroups v3.4.0#13203
jfjameslee wants to merge 5 commits intoJuliaPackaging:masterfrom
jfjameslee:add-libsemigroups

Conversation

@jfjameslee
Copy link

@jfjameslee jfjameslee commented Feb 25, 2026

New package: libsemigroups C++ library for semigroups and monoids.

@jfjameslee
Copy link
Author

@james-d-mitchell @jswent

@jfjameslee
Copy link
Author

NB: Libsemigroups version 3.5.0 was released two days ago. I will get the CI pipeline passing for 3.4 first 👍

@jswent
Copy link

jswent commented Feb 25, 2026

@josh-dev-things I think the macos x86-64 is failing because its minimum deployment target is 10.10, whereas libc++ gates std::visit to >= 10.14.

The easiest way to solve this is to just force the deployment target, something like:

if [[ "${target}" == x86_64-apple-darwin* ]]; then
    export MACOSX_DEPLOYMENT_TARGET=10.14
fi

EDIT: you might need to set CFLAGS, CXXFLAGS, and LDFLAGS to match the minimum macosx version as well

@fingolfin
Copy link
Member

Just to mention, we are also building libsemigroups as part of /GAP_pkg/GAP_pkg_semigroups/build_tarballs.jl (just in case it contains anything useful for you)

Copy link

@jswent jswent left a comment

Choose a reason for hiding this comment

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

powerpc one is a quick fix, not sure what happened with the macos x86 build

caused by: RequestError: HTTP/2 302 (Operation too slow. Less than 1 bytes/sec transferred the last 20 seconds) while requesting https://us-east.pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/fc36095514bf775d0c5c44b8d51f85d310fca2dd

could just be a one-off, we'll see the next time it builds.

Co-authored-by: Jake Swent <94636565+jswent@users.noreply.github.com>
@jswent
Copy link

jswent commented Feb 26, 2026

@jfjameslee this is great, thanks!

@imciner2
Copy link
Member

imciner2 commented Mar 2, 2026

Just to mention, we are also building libsemigroups as part of /GAP_pkg/GAP_pkg_semigroups/build_tarballs.jl (just in case it contains anything useful for you)

@fingolfin is there any scope to unify/consolidate things between the two builds, or is GAP specialized enough that it needs to keep its own copy of the library?

@lgoettgens
Copy link
Collaborator

Just to mention, we are also building libsemigroups as part of /GAP_pkg/GAP_pkg_semigroups/build_tarballs.jl (just in case it contains anything useful for you)

@fingolfin is there any scope to unify/consolidate things between the two builds, or is GAP specialized enough that it needs to keep its own copy of the library?

Once this here is merged, we (@fingolfin and I) will experiment in how far it is possible to make use of it in GAP_pkg_semigroups. In theory, it should be easily possible (see https://github.com/semigroups/Semigroups/blob/c35452110aefa91d0dfefad105fc056b3a2b6d75/README.md?plain=1#L76-80), but whether cross-compilation with all of Yggdrasil's targets actually works is hard to tell before attempting it.

@imciner2
Copy link
Member

imciner2 commented Mar 2, 2026

Great. Looks good to me now. @jswent, anymore comments or is this good to merge?

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