6 Commits

Author SHA256 Message Date
a328da9f23 gap-semigroups 5.5.4 2025-09-01 15:19:12 +02:00
a1d0f38432 gap-semigroups 5.5.3 2025-07-21 21:47:51 +02:00
44427c22bd gap-semigroups 5.5.1 2025-06-19 13:19:12 +02:00
2943f7111f POSIX sh compatibility 2025-02-28 00:01:31 +01:00
1031b650ed gap-semigroups 5.5.0 2025-02-22 01:46:46 +01:00
bcaeeef0f6 gap-semigroup 5.4.0 2024-10-20 17:51:08 +02:00
5 changed files with 145 additions and 12 deletions

62
bundled-paths.patch Normal file
View File

@@ -0,0 +1,62 @@
From 6f2259f81b9de5ad14e4019cc31a03f6b09b61e8 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 21 Jul 2025 20:38:57 +0200
Subject: [PATCH] build: override bundled libsemigroups install paths
References: https://github.com/semigroups/Semigroups/pull/1074
---
GNUmakefile.in | 11 ++++++++---
configure.ac | 4 ----
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/GNUmakefile.in b/GNUmakefile.in
index d55c7e4e..421d928c 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -1,6 +1,11 @@
#
# Makefile rules for the semigroups package
#
+abs_top_builddir = @abs_top_builddir@
+top_builddir = @top_builddir@
+abs_builddir = @abs_builddir@
+builddir = @builddir@
+
KEXT_NAME = semigroups
KEXT_CXXFLAGS = @LIBSEMIGROUPS_CFLAGS@ -std=gnu++14 -O3
@@ -84,13 +89,13 @@ $(KEXT_OBJS): bin/include/libsemigroups/libsemigroups.hpp
# the following is only run if BUILT_SOURCES is wound up
bin/include/libsemigroups/libsemigroups.hpp:
- $(MAKE) -C libsemigroups install
+ $(MAKE) -C libsemigroups install prefix='${abs_builddir}/bin' includedir='${abs_builddir}/bin/include' libdir='${abs_builddir}/bin/lib'
# Cygwin only looks for DLLs in the same directory as the executable
# resides in. The following achieves that assuming that the GAP
# being used was self-compiled by the user. This supports
# both older GAPs with libtool (first) and GAP without libtool (second)
- if test -f bin/bin/cygsemigroups*.dll ; then if test -d $(GAPPATH)/.libs; then cp bin/bin/cygsemigroups*.dll $(GAPPATH)/.libs/ ; fi ; fi
- if test -f bin/bin/cygsemigroups*.dll ; then cp bin/bin/cygsemigroups*.dll $(GAPPATH)/ ; fi
+ if test -f bin/lib/cygsemigroups*.dll ; then if test -d $(GAPPATH)/.libs; then cp bin/lib/cygsemigroups*.dll $(GAPPATH)/.libs/ ; fi ; fi
+ if test -f bin/lib/cygsemigroups*.dll ; then cp bin/lib/cygsemigroups*.dll $(GAPPATH)/ ; fi
endif
diff --git a/configure.ac b/configure.ac
index 80237dce..51cca67f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,10 +16,6 @@ AC_CONFIG_MACRO_DIR([m4])
AX_PREFIX_CONFIG_H([src/semigroups-config.hpp],[semigroups],[gen/pkgconfig.h])
-dnl ## abs_top_builddir seems to hold the top build dir for the subpackage
-dnl ## libsemigroups which is why this contains ../
-AC_PREFIX_DEFAULT('${abs_top_builddir}/../bin/')
-
dnl ##
dnl ## Set the language
dnl ##
--
2.50.1

View File

@@ -1,3 +1,42 @@
-------------------------------------------------------------------
Mon Sep 1 13:16:32 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 5.5.4
* A technical change for compatibility with gap-digraphs 1.11.0.
* Removed the use of the SmallGroup package in the test suite.
-------------------------------------------------------------------
Fri Jul 18 09:42:27 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 5.5.3
* Internal API rework: Replace custom type GVarFunc
with GAP's ObjFunc
- Add bundled-paths.patch
-------------------------------------------------------------------
Thu Jun 19 11:19:02 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 5.5.1
* Fix unspecified issue in TikzString
-------------------------------------------------------------------
Thu Feb 27 23:00:16 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Make specfile conform to POSIX sh
-------------------------------------------------------------------
Sat Feb 22 00:46:16 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 5.5.0
* Better inverses
-------------------------------------------------------------------
Sun Oct 20 15:50:46 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 5.4.0
* improved IsIsomorphicSemigroup method
* fixed a ChooseHashFunction rank issue
-------------------------------------------------------------------
Thu May 16 13:22:29 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package gap-semigroups
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: gap-semigroups
Version: 5.3.7
Version: 5.5.4
Release: 0
Summary: GAP: Computing with Semigroups of Transformations and Partial Permutations
License: GPL-2.0-or-later
@@ -26,16 +26,22 @@ URL: https://semigroups.github.io/Semigroups/
#Git-Clone: https://github.com/semigroups/Semigroups
Source: https://github.com/semigroups/Semigroups/releases/download/v%version/semigroups-%version.tar.gz
Patch1: no-avx.patch
Patch2: bundled-paths.patch
BuildRequires: automake
BuildRequires: c++_compiler
BuildRequires: chrpath
BuildRequires: fdupes
BuildRequires: gap-devel >= 4.12
BuildRequires: gap-devel >= 4.12.1
BuildRequires: gap-rpm-devel
BuildRequires: gmp-devel
BuildRequires: pkgconfig(eigen3)
BuildRequires: pkgconfig(fmt) >= 10.1
BuildRequires: libtool
BuildRequires: xz
BuildRequires: pkgconfig(libsemigroups)
Requires: gap-core >= 4.12
Provides: bundled(libsemigroups) = 2.7.4
Provides: bundled(magic_enum)
Provides: bundled(rx-ranges)
Requires: gap-core >= 4.12.1
Requires: gap-datastructures >= 0.2.5
Requires: gap-digraphs >= 1.6.2
Requires: gap-genss >= 1.6.5
@@ -59,24 +65,50 @@ possible to test if a semigroup satisfies a particular property, such
as if it is regular, simple, inverse, completely regular, and a
variety of further properties.
%package -n libsemigroups2
Summary: Library with algorithms for computing finite and finitely presented semigroups
Group: System/Libraries
%description -n libsemigroups2
A C++14 library containing implementations of several algorithms for
computing finite and finitely presented semigroups.
%prep
%autosetup -n semigroups-%version
%build
autoreconf -fi
%configure --with-gaproot="%gapdir" --with-external-libsemigroups
# gap-semigroup use of a just-built bundled libsemigroups is fragile
%set_build_flags
export CFLAGS="$CFLAGS $(pkg-config eigen3 --cflags)"
export CXXFLAGS="$CXXFLAGS $(pkg-config eigen3 --cflags)"
# hpcombi requires AVX-256, which is not guaranteed to exist everywhere
%configure --disable-static --disable-hpcombi \
--enable-eigen --with-external-eigen \
--enable-fmt --with-external-fmt \
--with-gaproot="%gapdir"
%make_build
%install
rm -Rf libsemigroups
b="%buildroot"
mkdir -pv "$b/%_libdir"
rm -Rfv libsemigroups bin/include bin/lib/*.la bin/lib/*.so bin/lib/pkgconfig
mv -v bin/lib/* "$b/%_libdir/"
find . -name semigroups.so -exec chrpath -d "{}" "+"
%gappkg_simple_install
pushd "%buildroot/$fmoddir/"
cd "%buildroot/$fmoddir/"
rm -Rfv Makefile* configure* config.* cnf/ src/ gapbind14/src/ gapbind14/include/ autom4te.cache
popd
find "%buildroot" "(" -name "*.orig" -o -name .gitignore -o \
-name .dirstamp -o -name .clang-format -o -name .ccls ")" -print -delete
%fdupes %buildroot/%_prefix
%ldconfig_scriptlets -n libsemigroups2
%files -f %name.files
%files -n libsemigroups2
%_libdir/libsemigroups.so.*
%changelog

BIN
semigroups-5.3.7.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
semigroups-5.5.4.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.