Skip to content

Commit

Permalink
Trac #30787: package modular_resolution: Split out from p_group_cohom…
Browse files Browse the repository at this point in the history
…ology

As discussed in https://trac.sagemath.org/ticket/28711#comment:64:

We split the current `p_group_cohomology` spkg:

In this ticket, we create the package `modular_resolution`, depending on
meataxe-the-C-library, that installs:
 - a standalone C library `libmodres.so` in `$SAGE_LOCAL/lib`
 - some executables in `$SAGE_LOCAL/bin`, linked against `libmodres`
 - database of cohomology rings

This also fixes the build problems of `p_group_cohomology`.

Fixing the doctest failures of `p_group_cohomology` is outside of the
scope of this ticket. That's #34333.

New upstream:
- https://github.com/sagemath/modular_resolution

URL: https://trac.sagemath.org/30787
Reported by: mkoeppe
Ticket author(s): Matthias Koeppe, Dima Pasechnik, John Palmieri
Reviewer(s): John Palmieri, Matthias Koeppe, Dima Pasechnik, Travis
Scrimshaw
  • Loading branch information
Release Manager committed Aug 28, 2022
2 parents a5bf710 + c7108e9 commit 758ce2c
Show file tree
Hide file tree
Showing 16 changed files with 165 additions and 31 deletions.
115 changes: 115 additions & 0 deletions build/pkgs/modular_resolution/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
p_group_cohomology: Modular cohomology rings of finite groups
=============================================================

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

Modular Cohomology Rings of Finite Groups

The package is located at http://users.fmi.uni-jena.de/cohomology/,
that's to say the tarball p_group_cohomology-x.y.tar.xz can be found
there and the documentation of the package is provided at
http://users.fmi.uni-jena.de/cohomology/documentation/

License
-------

Copyright (C) 2018 Simon A. King <simon.king@uni-jena.de> Copyright (C)
2011 Simon A. King <simon.king@uni-jena.de> Copyright (C) 2009 Simon A.
King <simon.king@nuigalway.ie> and

David J. Green <david.green@uni-jena.de>

Distributed under the terms of the GNU General Public License (GPL),
version 2 or later (at your choice).

This code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

The full text of the GPL is available at:

http://www.gnu.org/licenses/

The package includes a data base of cohomology rings of the groups of
order 64 and provides access to a data base of cohomology rings of the
groups of order 128 and 243, located at

http://cohomology.uni-jena.de/db/

These data bases are distributed under the Creative Commons
Attribution-Share Alike 3.0 License. The full text of this licence is
available at

http://creativecommons.org/licenses/by-sa/3.0/


SPKG Maintainers
----------------

Simon A. King <simon.king@uni-jena.de>


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

Simon A. King <simon.king@uni-jena.de> David J. Green
<david.green@uni-jena.de>

Acknowledgements
----------------

The development of the initial version of this SPKG was funded by the
German Science Foundation, DFG project GR 1585/4.1, and was accomplished
at the Friedrich Schiller University Jena.

Since version 1.0.1, the further work on this SPKG was funded by Marie
Curie grant MTKD-CT-2006-042685 and was pursued at the National
University of Ireland, Galway. Since Novermber 2010, it is moved back to
Jena.

We thank William Stein for giving us access to various computers on
which we could build test the SPKG and on which some huge computations
could be completed, and acknowledge the support by National Science
Foundation Grant No. DMS-0821725.

We thank Mathieu Dutour Sikirić for hints on how to use GAP more
efficiently.

We owe Peter Symonds the idea of using the Poincaré series in a rather
efficient completeness criterion.

We are greatful to John Palmieri for his help on making
p_group_cohomology work with python-3.

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

- The SharedMeatAxe needs to be installed, as a build time dependency.

This can be met by installing the meataxe spkg

Testing
-------

Our package provides a very short test suite for David Green's routines
for the computation of minimal projective resolutions. The majority of
this package's tests is formed by doc tests in the Cython code. In fact,
any class, method and function is covered by tests.

Note that internet access is required for these tests, as it is
attempted to download cohomology rings from a public data base in the
web.

The script ``spkg-check`` calls ``sage -t --force_lib`` on the files
in ``pGroupCohomology``.

Documentation
-------------

The documentation of this package is automatically built, if the
environment variable SAGE_SPKG_INSTALL_DOCS is yes (do "export
SAGE_SPKG_INSTALL_DOCS=yes" on the command line before installation).
The documents are put into
SAGE_ROOT/local/share/doc/p_group_cohomology/.
5 changes: 5 additions & 0 deletions build/pkgs/modular_resolution/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tarball=modular_resolution-VERSION.tar.gz
sha1=09ee61b1f9a33fb3e9bf0b658f81d3ede5748328
md5=0e59e69a46014b8935c5e081d3bfc57a
cksum=2981185519
upstream_url=https://github.com/sagemath/modular_resolution/releases/download/VERSION/modular_resolution-VERSION.tar.gz
1 change: 1 addition & 0 deletions build/pkgs/modular_resolution/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
singular meataxe
1 change: 1 addition & 0 deletions build/pkgs/modular_resolution/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.1
3 changes: 3 additions & 0 deletions build/pkgs/modular_resolution/spkg-check.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cd src

$MAKE check || sdh_die "Error testing modular_resolution"
5 changes: 5 additions & 0 deletions build/pkgs/modular_resolution/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cd src

# build and install modular_resolution
sdh_configure
sdh_make_install
1 change: 1 addition & 0 deletions build/pkgs/modular_resolution/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
6 changes: 3 additions & 3 deletions build/pkgs/p_group_cohomology/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=p_group_cohomology-VERSION.tar.xz
sha1=110a6dbe26ae6d7aa1227e1ff2338d7c8b38daa9
md5=d4fad2cde21c275aed753ccbd467616a
cksum=1676569830
sha1=d1d9a54f212a6de7d6a7e3afff80ffc3475264ad
md5=9a57cd7dd045dfd5e014473d543060c2
cksum=2489285741
upstream_url=https://github.com/sagemath/p_group_cohomology/releases/download/vVERSION/p_group_cohomology-VERSION.tar.xz
2 changes: 1 addition & 1 deletion build/pkgs/p_group_cohomology/dependencies
Original file line number Diff line number Diff line change
@@ -1 +1 @@
$(PYTHON) cython cysignals singular meataxe $(SAGE_SRC)/sage/matrix/matrix_gfpn_dense.pxd $(SAGE_SRC)/sage/structure/element.pxd $(SAGE_SRC)/sage/matrix/matrix_gfpn_dense.pxd $(SAGE_SRC)/sage/matrix/matrix0.pxd $(SAGE_SRC)/sage/libs/meataxe.pxd $(SAGE_SRC)/sage/rings/morphism.pxd | $(PYTHON_TOOLCHAIN) matplotlib gap xz $(SAGERUNTIME) ipywidgets
$(PYTHON) cython cysignals singular meataxe modular_resolution $(SAGE_SRC)/sage/matrix/matrix_gfpn_dense.pxd $(SAGE_SRC)/sage/structure/element.pxd $(SAGE_SRC)/sage/matrix/matrix_gfpn_dense.pxd $(SAGE_SRC)/sage/matrix/matrix0.pxd $(SAGE_SRC)/sage/libs/meataxe.pxd $(SAGE_SRC)/sage/rings/morphism.pxd | $(PYTHON_TOOLCHAIN) matplotlib gap xz $(SAGERUNTIME) ipywidgets
2 changes: 1 addition & 1 deletion build/pkgs/p_group_cohomology/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.2
3.3.3.p1
23 changes: 23 additions & 0 deletions build/pkgs/p_group_cohomology/patches/7.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
From dde5d18ff0a0b8d1f9e88806bb9bb4b694b4666c Mon Sep 17 00:00:00 2001
From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
Date: Tue, 9 Aug 2022 10:09:22 -0700
Subject: [PATCH] pGroupCohomology-3.3.3/pGroupCohomology/cohomology.pyx: Update import of
instancedoc for Sage 9.7

---
pGroupCohomology-3.3.3/pGroupCohomology/cohomology.pyx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pGroupCohomology-3.3.3/pGroupCohomology/cohomology.pyx b/pGroupCohomology-3.3.3/pGroupCohomology/cohomology.pyx
index 3a7dc77..ae1458d 100644
--- a/pGroupCohomology-3.3.3/pGroupCohomology/cohomology.pyx
+++ b/pGroupCohomology-3.3.3/pGroupCohomology/cohomology.pyx
@@ -68,7 +68,7 @@ from sage.all import mul
from sage.env import DOT_SAGE, SAGE_ROOT
from sage.misc.sageinspect import sage_getargspec
from sage.misc.lazy_attribute import lazy_attribute
-from sage.docs.instancedoc import instancedoc
+from sage.misc.instancedoc import instancedoc
from sage.structure.richcmp import richcmp, richcmp_method, op_LT, op_NE, op_GT

# Sage rings etc.
6 changes: 0 additions & 6 deletions build/pkgs/p_group_cohomology/spkg-check.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
cd src

# testing modular_resolution-1.1
cd `ls -d modular_resolution*`
$MAKE check || sdh_die "Error testing modular_resolution-1.1"
cd ..

# testing pGroupCohomology
sage -tp 0 --long --force_lib --warn-long 80 --timeout=0 `ls -d pGroupCohomology*`/pGroupCohomology/ || sdh_die "Error testing pGroupCohomology"
18 changes: 1 addition & 17 deletions build/pkgs/p_group_cohomology/spkg-install.in
Original file line number Diff line number Diff line change
@@ -1,19 +1,3 @@
# Check if meataxe was properly installed
sage -c "import sage.libs.meataxe" || sdh_die "sage.libs.meataxe cannot be imported. To solve this, it is enough to retry installation of p_group_cohomology"

cd src

# build and install modular_resolution
cd `ls -d modular_resolution*`
sdh_configure || sdh_die "Error configuring modular_resolution"
# sdh_make install got broken by trac ticket #24106
$MAKE install || sdh_die "Error installing modular_resolution"
cd ..

# install helper modules
sdh_install gap_helper "$SAGE_SHARE/gap/pkg/p_group_cohomology_helper" || sdh_die "Error installing GAP helper module"
sdh_install singular_helper/dickson.lib "$SAGE_SHARE/singular/LIB/" || sdh_die "Error installing Singular helper module"

# building pGroupCohomology
cd `ls -d pGroupCohomology*`
cd `ls -d src/pGroupCohomology*`
sdh_pip_install .
4 changes: 3 additions & 1 deletion build/pkgs/p_group_cohomology/spkg-postinst.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
cd src

# building pGroupCohomology's documentation

if [ "x$SAGE_SPKG_INSTALL_DOCS" = xyes ] ; then
cd `ls -d src/pGroupCohomology*/doc`
cd `ls -d pGroupCohomology*/doc`
$MAKE html || sdh_die "Error building documentation"
sdh_install build/html/* "$SAGE_SHARE/doc/p_group_cohomology/" || sdh_die "Error moving documentation to $SAGE_SHARE/doc/p_group_cohomology"
fi
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/p_group_cohomology/type
Original file line number Diff line number Diff line change
@@ -1 +1 @@
experimental
optional
2 changes: 1 addition & 1 deletion src/sage/tests/modular_group_cohomology.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
sage: H.essential_ideal() # optional - p_group_cohomology
a_1_0*a_1_1,
a_1_1*a_3_1
sage: ascii_art(H.bar_code('LowerCentralSeries')[2])# optional - p_group_cohomology
sage: ascii_art(H.bar_code('LowerCentralSeries')[2]) # known bug (possibly, the output might be correct) # optional - p_group_cohomology
*
*-*
*-*
Expand Down

0 comments on commit 758ce2c

Please sign in to comment.