Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 1 addition & 27 deletions build/pkgs/gap_packages/SPKG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -173,33 +173,7 @@ Adriaan de Graaf)
repsn - The package provides GAP functions for computing characteristic
zero matrix representations of finite groups. (Author: Vahid Dabbaghian)

Semigroups - This is a GAP package for semigroups, and monoids. There are
particularly efficient methods for finitely presented semigroups and monoids,
and for semigroups and monoids consisting of transformations, partial
permutations, bipartitions, partitioned binary relations, subsemigroups of
regular Rees 0-matrix semigroups, and matrices of various semirings including
boolean matrices, matrices over finite fields, and certain tropical matrices.
Semigroups contains efficient methods for creating semigroups, monoids, and
inverse semigroups and monoids, calculating their Green's structure, ideals,
size, elements, group of units, small generating sets, testing membership,
finding the inverses of a regular element, factorizing elements over the
generators, and so on. It is possible to test if a semigroup satisfies a
particular property, such as if it is regular, simple, inverse, completely
regular, and a large number of further properties. There are methods for
finding presentations for a semigroup, the congruences of a semigroup, the
maximal subsemigroups of a finite semigroup, smaller degree partial
permutation representations, and the character tables of inverse semigroups.
There are functions for producing pictures of the Green's structure of a
semigroup, and for drawing graphical representations of certain types of
elements. (Authors: James Mitchell, Marina Anagnostopoulou-Merkouri,
Thomas Breuer, Stuart Burrell, Reinis Cirpons, Tom Conti-Leslie,
Joseph Edwards, Attila Egri-Nagy, Luke Elliott, Fernando Flores Brito,
Tillman Froehlich, Nick Ham, Robert Hancock, Max Horn, Christopher Jefferson,
Julius Jonusas, Chinmaya Nagpal, Olexandr Konovalov, Artemis Konstantinidi,
Hyeokjun Kwon, Dima V. Pasechnik, Markus Pfeiffer, Christopher Russell,
Jack Schmidt, Sergio Siccha, Finn Smith, Ben Spiers, Nicolas Thiéry,
Maria Tsalakou, Chris Wensley, Murray Whyte, Wilf A. Wilson, Tianrun Yang,
Michael Young and Fabian Zickgraf)
Semigroups - split out as a separate optional spkg

sla - a package for doing computations with simple Lie algebras (Author:
Willem Adriaan de Graaf)
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/gap_packages/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
gap libsemigroups planarity | $(SAGERUNTIME)
gap planarity | $(SAGERUNTIME)

----------
All lines of this file are ignored except the first.
5 changes: 2 additions & 3 deletions build/pkgs/gap_packages/spkg-install.in
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,12 @@ done
#
# nq : none
# io : none
# semigroups needs to use external libsemigroups
# digraphs needs to use external planarity
pararr=( " " " " "--with-external-planarity" "--with-external-libsemigroups" )
pararr=( " " " " "--with-external-planarity" )
##############################################################################

parind=0
for pkg in nq io digraphs semigroups
for pkg in nq io digraphs
do
echo "Building GAP package $pkg"
cd "$PKG_SRC_DIR/$pkg"
Expand Down
4 changes: 2 additions & 2 deletions build/pkgs/libsemigroups/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=libsemigroups-VERSION.tar.gz
sha1=9c8e73b18a4964135b63e03b2f36b874742edd62
sha256=d4d88a11651c7d7d497f847fea97e3ff60a39b25b851c1d0d7ccf41e052612be
sha1=e3856b817638d64016ff53c84cb2c895676ae7c8
sha256=a2d7a1e5b41360a89af0ea836cfddb4669a30516b35d4b9ff73422624ed1aa12
upstream_url=https://github.com/libsemigroups/libsemigroups/releases/download/vVERSION/libsemigroups-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/libsemigroups/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7.3
2.7.4
61 changes: 61 additions & 0 deletions build/pkgs/semigroups/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
semigroups: An optional GAP package
===================================

Description
-----------

Installing this SPKG will install the corresponding GAP package, but
before you can use them in Sage, they still have to be loaded into
either the GAP interface or libgap::

sage: gap.eval('LoadPackage("semigroups")') # optional - semigroups
'true'
sage: libgap.LoadPackage("semigroups") # optional - semigroups
true

Those correspond to::

gap> LoadPackage("semigroups");

within the GAP interface and libgap, respectively.

Upstream Contact
----------------

See https://semigroups.github.io/Semigroups/

Dependencies
------------

- GAP (a standard spkg), gap_packages and libsemigroups (optional packages)

Notes
-----------
This is a GAP package for semigroups, and monoids. There are
particularly efficient methods for finitely presented semigroups and monoids,
and for semigroups and monoids consisting of transformations, partial
permutations, bipartitions, partitioned binary relations, subsemigroups of
regular Rees 0-matrix semigroups, and matrices of various semirings including
boolean matrices, matrices over finite fields, and certain tropical matrices.
Semigroups contains efficient methods for creating semigroups, monoids, and
inverse semigroups and monoids, calculating their Green's structure, ideals,
size, elements, group of units, small generating sets, testing membership,
finding the inverses of a regular element, factorizing elements over the
generators, and so on. It is possible to test if a semigroup satisfies a
particular property, such as if it is regular, simple, inverse, completely
regular, and a large number of further properties. There are methods for
finding presentations for a semigroup, the congruences of a semigroup, the
maximal subsemigroups of a finite semigroup, smaller degree partial
permutation representations, and the character tables of inverse semigroups.
There are functions for producing pictures of the Green's structure of a
semigroup, and for drawing graphical representations of certain types of
elements.
(Authors: James Mitchell, Marina Anagnostopoulou-Merkouri,
Thomas Breuer, Stuart Burrell, Reinis Cirpons, Tom Conti-Leslie,
Joseph Edwards, Attila Egri-Nagy, Luke Elliott, Fernando Flores Brito,
Tillman Froehlich, Nick Ham, Robert Hancock, Max Horn, Christopher Jefferson,
Julius Jonusas, Chinmaya Nagpal, Olexandr Konovalov, Artemis Konstantinidi,
Hyeokjun Kwon, Dima V. Pasechnik, Markus Pfeiffer, Christopher Russell,
Jack Schmidt, Sergio Siccha, Finn Smith, Ben Spiers, Nicolas Thiéry,
Maria Tsalakou, Chris Wensley, Murray Whyte, Wilf A. Wilson, Tianrun Yang,
Michael Young and Fabian Zickgraf)
4 changes: 4 additions & 0 deletions build/pkgs/semigroups/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tarball=semigroups-VERSION.tar.gz
sha1=9bd365a9691b489989d9c652f67ed5ac011c936a
sha256=c237dd642668fd9aa5ebd7a7346467ab4261116892359d4480f0a265a91ed8d3
upstream_url=https://github.com/semigroups/Semigroups/releases/download/vVERSION/semigroups-VERSION.tar.gz
4 changes: 4 additions & 0 deletions build/pkgs/semigroups/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
gap gap_packages libsemigroups | $(SAGERUNTIME)

----------
All lines of this file are ignored except the first.
1 change: 1 addition & 0 deletions build/pkgs/semigroups/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
gap
27 changes: 27 additions & 0 deletions build/pkgs/semigroups/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
gap-pkg-cohomolo
gap-pkg-corelg
gap-pkg-crime
gap-pkg-cryst
gap-pkg-ctbllib
gap-pkg-design
gap-pkg-factint
GAPDoc
gap-pkg-gbnp
gap-pkg-grape
gap-pkg-guava
gap-pkg-hap
gap-pkg-hapcryst
gap-pkg-hecke
gap-pkg-laguna
gap-pkg-liealgdb
gap-pkg-liepring
gap-pkg-liering
gap-pkg-loops
gap-pkg-mapclass
gap-pkg-polymaking
gap-pkg-qpa
gap-pkg-quagroup
gap-pkg-repsn
gap-pkg-sla
gap-pkg-sonata
gap-pkg-toric
1 change: 1 addition & 0 deletions build/pkgs/semigroups/distros/gentoo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dev-gap/semigroups
1 change: 1 addition & 0 deletions build/pkgs/semigroups/distros/repology.txt
Original file line number Diff line number Diff line change
@@ -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

Empty file added build/pkgs/semigroups/math
Empty file.
1 change: 1 addition & 0 deletions build/pkgs/semigroups/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5.5.3
47 changes: 47 additions & 0 deletions build/pkgs/semigroups/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Ask GAP for the directory where sysinfo.gap lives. This is to
# support system GAP installations. This root-path gathering
# command is borrowed from gap's spkg-configure.m4 and modified
# to separate the paths with spaces.
GAPRUN="gap -r -q --bare --nointeract -c"
_cmd='Display(JoinStringsWithSeparator(GAPInfo.RootPaths," "));'
GAP_ROOT_PATHS=$(${GAPRUN} "${_cmd}")

# Loop though GAP_ROOT_PATHS looking for sysinfo.gap
GAP_ROOT=""
for grp in $GAP_ROOT_PATHS; do
if [ -f "${grp}/sysinfo.gap" ]; then
GAP_ROOT=$grp
echo "found GAP root $GAP_ROOT"
break
fi
done

# Try the old sage default if nothing else worked.
if [ -z "$GAP_ROOT" ]; then
GAP_ROOT="$SAGE_LOCAL/lib/gap"
echo "falling back to GAP root $GAP_ROOT"
fi

# And finally, throw an error ASAP if the build is going to fail anyway.
if [ ! -f "${GAP_ROOT}/sysinfo.gap" ]; then
sdh_die "no sysinfo.gap in your gap root"
fi

# Where to install these packages
PKG_DIR="$SAGE_LOCAL/lib/gap/pkg"

install_compiled_pkg()
{
local pkg="$1"
# Install the bin/ dir (where compiled modules should end up)
# under <prefix>/lib/gap; we then symlink to it later
sdh_install * "$SAGE_LOCAL/lib/gap/pkg/$pkg"
}

# Build and install

cd src
echo "Building GAP package semigroups"
sdh_configure --with-gaproot="$GAP_ROOT" --with-external-libsemigroups
sdh_make
install_compiled_pkg semigroups
1 change: 1 addition & 0 deletions build/pkgs/semigroups/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
Loading