diff --git a/.gitignore b/.gitignore index 909a6b9..03fb359 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /HAPcryst0_1_11.tar.bz2 +/hapcryst-*.tar.gz diff --git a/gap-pkg-hapcryst-carat.patch b/gap-pkg-hapcryst-carat.patch index a29b9c1..2df0192 100644 --- a/gap-pkg-hapcryst-carat.patch +++ b/gap-pkg-hapcryst-carat.patch @@ -1,5 +1,5 @@ ---- doc/intro.xml.orig 2013-10-27 11:31:20.000000000 -0600 -+++ doc/intro.xml 2019-12-31 14:28:49.375301481 -0700 +--- doc/intro.xml.orig 2020-02-02 05:09:45.000000000 -0700 ++++ doc/intro.xml 2020-02-02 08:48:00.624233367 -0700 @@ -81,7 +81,7 @@ The following &GAP; packages are require The following &GAP; packages are not required but highly recommended: @@ -9,14 +9,14 @@ CrystCat GAPDoc is needed to display the online manual ---- PackageInfo.g.orig 2013-10-27 11:31:20.000000000 -0600 -+++ PackageInfo.g 2019-12-31 14:28:05.295403414 -0700 -@@ -235,7 +235,7 @@ Dependencies := rec( +--- PackageInfo.g.orig 2020-02-02 08:48:00.625233365 -0700 ++++ PackageInfo.g 2020-02-02 08:48:50.373123965 -0700 +@@ -74,7 +74,7 @@ Dependencies := rec( + ["polymaking",">=0.7.9"], ], - # without these the package will issue a warning while loading SuggestedOtherPackages := [ - [ "Carat", ">=1.1" ], -+ ["CaratInterface", ">=1.1" ], - ["CrystCat",">=1.1.2"], ++ [ "CaratInterface", ">=1.1" ], + ["CrystCat",">=1.1.2"], ["GAPDoc", ">= 0.99"] ], diff --git a/gap-pkg-hapcryst-dims.patch b/gap-pkg-hapcryst-dims.patch deleted file mode 100644 index 511a5ce..0000000 --- a/gap-pkg-hapcryst-dims.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- lib/FaceLatticeAndBoundaryBieberbachGroup.gi.orig 2013-10-27 11:31:20.000000000 -0600 -+++ lib/FaceLatticeAndBoundaryBieberbachGroup.gi 2019-02-05 15:41:50.063228063 -0700 -@@ -247,26 +247,23 @@ InstallMethod(FaceLatticeAndBoundaryBieb - ######## patch for next genertion polymake ### - ## first part - polymakeFaceLattice:=function(polygon) -- local faces,dimlist, dim, lattice, i; -+ local faces, map, dim, lattice, i; - - faces:=Polymake(polygon,"FACES"); -- dimlist:=Polymake(polygon,"DIMS"); -- dim := Length(dimlist); -+ map:=Polymake(polygon,"INVERSE_RANK_MAP"); -+ dim := Length(map)-1; - lattice:=EmptyPlist(dim); - -- ## walk through the face list from top to bottom -- # the dim list contains the maximal index of a face in the -- # respective dimension. The top face containing all vertices -- # has no entry in the dimlist, so we add it beforehand. -- ## -- lattice[dim] := [StructuralCopy(faces[Length(faces)])]; -- for i in [1..dim-1] do -- lattice[i] := StructuralCopy(faces{[dimlist[i]+1..dimlist[i+1]]}); -+ ## walk through the inverse rank map from top to bottom -+ # the inverse rank map contains the index of each face in the -+ # respective dimension. -+ for i in [1..dim] do -+ lattice[i] := StructuralCopy(faces{map[i]}); - od; - - ## The reverse probably runs every time - ## panic-coding? I don't know, let's keep it... -- if Length(lattice[1][1]) = 1 then -+ if Length(lattice[dim][1]) <> 1 then - lattice := Reversed(lattice); - fi; - -@@ -455,7 +452,7 @@ InstallMethod(FaceLatticeAndBoundaryBieb - ## patch for next generation polymake: - # second part. If you have the old polymake version, - # use "FACE_LATTICE" instead of "FACES DIMS" but keep the VERTICES! -- Polymake(poly,"FACES DIMS VERTICES"); -+ Polymake(poly,"FACES INVERSE_RANK_MAP VERTICES"); - vertices:=Polymake(poly,"VERTICES"); - MakeImmutable(vertices); - if not dim=Size(vertices[1]-1) diff --git a/gap-pkg-hapcryst-doc.patch b/gap-pkg-hapcryst-doc.patch index d6f84fd..3f5e917 100644 --- a/gap-pkg-hapcryst-doc.patch +++ b/gap-pkg-hapcryst-doc.patch @@ -1,21 +1,10 @@ ---- doc/geometry.xml.orig 2013-10-27 11:31:20.000000000 -0600 -+++ doc/geometry.xml 2019-01-31 11:06:21.925772163 -0700 -@@ -80,7 +80,7 @@ gap> List([0..3],Dimension(R)); - - - This representation is compatible with the representation of free -- \Z G modules in Hap and this method essentially -+ ZG modules in Hap and this method essentially - calculates a free resolution of group. If the value of - is 2 or more, additional information about - the number of faces in every codimension, the number of orbits of the group ---- doc/HAPcryst.bib.orig 2013-10-27 11:31:20.000000000 -0600 -+++ doc/HAPcryst.bib 2019-01-31 11:29:28.118968014 -0700 +--- doc/HAPcryst.bib.orig 2020-02-02 05:09:45.000000000 -0700 ++++ doc/HAPcryst.bib 2020-02-03 09:36:21.466993090 -0700 @@ -1,14 +1,14 @@ @Misc{polymake, author = "Ewgenij Gawrilow and Michael Joswig", title = {polymake}, -- howpublished = {\URL{http://www.math.tu-berlin.de/polymake/}} +- howpublished = {{http://www.math.tu-berlin.de/polymake/}} + howpublished = {\url{http://www.math.tu-berlin.de/polymake/}} } @@ -23,7 +12,7 @@ @Misc{polyhedral, author = {Dutour Sikiric, Mathieu}, title = {Polyhedral}, -- howpublished = {\URL{http://www.liga.ens.fr/~dutour/Polyhedral/index.html}} +- howpublished = {{http://www.liga.ens.fr/~dutour/Polyhedral/index.html}} + howpublished = {\url{http://www.liga.ens.fr/~dutour/Polyhedral/index.html}} } @@ -32,16 +21,34 @@ @Misc{hap, author = {Graham Ellis}, title = {HAP}, -- howpublished = {\URL{http://hamilton.nuigalway.ie/Hap/www/}} +- howpublished = {{http://hamilton.nuigalway.ie/Hap/www/}} + howpublished = {\url{http://hamilton.nuigalway.ie/Hap/www/}} } @Misc{cryst, -- author = "Bettina Eick and Franz G\"ahler and Werner Nickel", -+ author = "Bettina Eick and Franz G{\"a}hler and Werner Nickel", + author = "Bettina Eick and Franz Gahler and Werner Nickel", title = {cryst}, -- howpublished = {\URL{http://www.gap-system.org/Packages/cryst.html}} +- howpublished = {{http://www.gap-system.org/Packages/cryst.html}} + howpublished = {\url{http://www.gap-system.org/Packages/cryst.html}} } +--- lib/datatypes/doc/makedoc.gap.orig 2020-02-02 05:09:45.000000000 -0700 ++++ lib/datatypes/doc/makedoc.gap 2020-02-03 09:39:16.778639321 -0700 +@@ -12,7 +12,7 @@ stdout:=OutputTextString(files,false); + stdin:=InputTextNone();; + Process( libdir, lscommand , stdin, stdout, [] ); + files:=Set(SplitString(files,"\n")); +-SubtractSet(files,Filtered(files,f->'~' in f)); ++SubtractSet(files,["doc"]); + Apply(files,f->Concatenation([docdir2libdir,f])); + + MakeGAPDocDoc(docdir,main,files,bookname); +--- makedoc.g.orig 2020-02-02 05:09:45.000000000 -0700 ++++ makedoc.g 2020-02-03 09:38:19.258755390 -0700 +@@ -7,4 +7,5 @@ if fail = LoadPackage("AutoDoc", ">= 201 + Error("AutoDoc 2016.01.21 or newer is required"); + fi; + ++HELP_ADD_BOOK( "HAPprog", "An experimental framework for objectifying the data structures of Hap", Directory( "./lib/datatypes/doc" ) ); + AutoDoc(rec( scaffold := rec( MainPage := false ))); diff --git a/gap-pkg-hapcryst-test.patch b/gap-pkg-hapcryst-test.patch new file mode 100644 index 0000000..90a0649 --- /dev/null +++ b/gap-pkg-hapcryst-test.patch @@ -0,0 +1,7 @@ +--- tst/testall.g.orig 2020-02-02 05:09:45.000000000 -0700 ++++ tst/testall.g 2020-02-02 09:58:09.075254960 -0700 +@@ -1,3 +1,3 @@ + LoadPackage("hapcryst"); +-TestDirectory(DirectoriesPackageLibrary("hapcryst", "tst"), rec(exitGAP := true)); ++TestDirectory(DirectoriesPackageLibrary("hapcryst", "tst"), rec(exitGAP := true, testOptions := rec(compareFunction := "uptowhitespace"))); + FORCE_QUIT_GAP(1); diff --git a/gap-pkg-hapcryst.rpmlintrc b/gap-pkg-hapcryst.rpmlintrc new file mode 100644 index 0000000..dbe513e --- /dev/null +++ b/gap-pkg-hapcryst.rpmlintrc @@ -0,0 +1,14 @@ +# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# The dictionary is missing some technical terms +addFilter(r'W: spelling-error .* cohomology') + +# This package has no binary bits +addFilter(r'W: only-non-binary-in-usr-lib') + +# The explicit lib dependency detector is not very bright +addFilter(r'E: explicit-lib-dependency gap-pkg-aclib') + +# The documentation subpackage is the documentation +addFilter(r'gap-pkg-hapcryst-doc\.noarch: W: no-documentation') diff --git a/gap-pkg-hapcryst.spec b/gap-pkg-hapcryst.spec index 6f387f7..01e6f07 100644 --- a/gap-pkg-hapcryst.spec +++ b/gap-pkg-hapcryst.spec @@ -1,35 +1,40 @@ %global pkgname hapcryst -%global upname HAPcryst Name: gap-pkg-%{pkgname} -Version: 0.1.11 -Release: 10%{?dist} +Version: 0.1.12 +Release: 1%{?dist} Summary: Integral cohomology computations of Bieberbach groups -%global upver %(tr . _ <<< %{version}) - License: GPLv2+ -URL: http://csserver.evansville.edu/~mroeder/%{upname}.html -Source0: http://csserver.evansville.edu/~mroeder/%{upname}/%{upname}%{upver}.tar.bz2 +URL: https://gap-packages.github.io/hapcryst/ +Source0: https://github.com/gap-packages/hapcryst/releases/download/v%{version}/%{pkgname}-%{version}.tar.gz # Fix documentation bugs Patch0: %{name}-doc.patch -# Adapt to newer polymake versions that do not support DIMS -Patch1: %{name}-dims.patch # Adapt to Carat -> CaratInterface name change -Patch2: %{name}-carat.patch +Patch1: %{name}-carat.patch +# Ignore whitespace differences in test output +Patch2: %{name}-test.patch BuildArch: noarch BuildRequires: gap-devel -BuildRequires: GAPDoc-latex +BuildRequires: gap-pkg-aclib +BuildRequires: gap-pkg-autodoc BuildRequires: gap-pkg-caratinterface +BuildRequires: gap-pkg-cryst +BuildRequires: gap-pkg-crystcat BuildRequires: gap-pkg-hap BuildRequires: gap-pkg-nq +BuildRequires: gap-pkg-polycyclic BuildRequires: gap-pkg-polymaking-doc +Requires: gap-pkg-aclib +Requires: gap-pkg-cryst Requires: gap-pkg-hap +Requires: gap-pkg-polycyclic Requires: gap-pkg-polymaking Recommends: gap-pkg-caratinterface +Recommends: gap-pkg-crystcat %description This package is an add-on for Graham Ellis' HAP package. HAPcryst @@ -46,67 +51,63 @@ Requires: gap-online-help This package contains documentation for gap-pkg-%{pkgname}. %prep -%autosetup -p0 -n %{upname} +%autosetup -p0 -n %{pkgname}-%{version} + +# Fix a documentation build failure +sed -i 's/Filtered(.*f)/["doc"]/' lib/datatypes/doc/makedoc.gap %build export LC_ALL=C.UTF-8 -# Create version.ver, which the doc files expect to exist -echo %{version} > ../version.ver - -# Link to main GAP documentation -ln -s %{_gap_dir}/doc ../../doc -mkdir ../pkg -ln -s ../%{upname} ../pkg -ln -s %{_gap_dir}/pkg/polymaking ../pkg -gap -l "$PWD/..;%{_gap_dir}" << EOF -WriteBibXMLextFile("doc/HAPcryst_bib.xml", ParseBibFiles("doc/HAPcryst.bib") ); -Exec("sed -i 's|\\\\\\\\url{\\\\([^}]*\\\\)}|\\\\1|g' doc/HAPcryst_bib.xml"); -LoadPackage("HAPcryst");; -MakeGAPDocDoc( "doc", "HAPcryst.xml", [], "HAPcryst", "../../..", "MathJax" ); -CopyHTMLStyleFiles( "doc" ); -GAPDocManualLab( "HAPcryst" ); -EOF -pushd lib/datatypes -gap -l "$PWD/../../..;%{_gap_dir}" << EOF -LoadPackage("HAPcryst");; -MakeGAPDocDoc( "doc", "resolutionAccess.xml", [], "resolutionAccess", "../../../../..", "MathJax" ); -CopyHTMLStyleFiles( "doc" ); -EOF -popd -rm -fr ../version.ver ../../doc ../pkg +# Build the HAPprog book first +cd lib/datatypes/doc +gap < makedoc.gap +cd - + +# Build the main documentation second +gap < makedoc.g + +# Fix up broken HTML links between the two books +sed -i "s,\./lib,.&,g" doc/*.html %install mkdir -p %{buildroot}%{_gap_dir}/pkg -cp -a ../%{upname} %{buildroot}%{_gap_dir}/pkg -find -O3 %{buildroot}%{_gap_dir}/pkg/%{upname} -name \*~ -delete -rm -f %{buildroot}%{_gap_dir}/pkg/%{upname}/{.DS_Store,CHANGES.HAPcryst,LICENSE.txt,README.HAPcryst} -rm -f %{buildroot}%{_gap_dir}/pkg/%{upname}/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex} -rm -f %{buildroot}%{_gap_dir}/pkg/%{upname}/lib/datatypes/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex} +cp -a ../%{pkgname}-%{version} %{buildroot}%{_gap_dir}/pkg +rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/{CHANGES,LICENSE,README,doc/clean} +rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex} +rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/lib/datatypes/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex} %check export LC_ALL=C.UTF-8 -cd tst # Produce less chatter while running the test polymake --reconfigure - <<< exit; -# Run the actual test; "noassert" prevents an infinite loop -gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" << EOF -LoadPackage( "HAPcryst" ); -GAP_EXIT_CODE(Test( "HAPcryst.tst", rec( compareFunction := "uptowhitespace" ) : noassert )); -EOF +# Run the actual tests +gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g %files -%doc CHANGES.HAPcryst README.HAPcryst -%license LICENSE.txt -%docdir %{_gap_dir}/pkg/%{upname}/doc -%docdir %{_gap_dir}/pkg/%{upname}/examples -%docdir %{_gap_dir}/pkg/%{upname}/htm -%docdir %{_gap_dir}/pkg/%{upname}/lib/datatypes/doc -%{_gap_dir}/pkg/%{upname}/ +%doc CHANGES README +%license LICENSE +%{_gap_dir}/pkg/%{pkgname}-%{version}/ +%exclude %{_gap_dir}/pkg/%{pkgname}-%{version}/doc/ +%exclude %{_gap_dir}/pkg/%{pkgname}-%{version}/examples/ +%exclude %{_gap_dir}/pkg/%{pkgname}-%{version}/lib/datatypes/doc/ + +%files doc +%docdir %{_gap_dir}/pkg/%{pkgname}-%{version}/doc/ +%docdir %{_gap_dir}/pkg/%{pkgname}-%{version}/examples/ +%docdir %{_gap_dir}/pkg/%{pkgname}-%{version}/lib/datatypes/doc/ +%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/ +%{_gap_dir}/pkg/%{pkgname}-%{version}/examples/ +%{_gap_dir}/pkg/%{pkgname}-%{version}/lib/datatypes/doc/ %changelog +* Mon Feb 3 2020 Jerry James - 0.1.12-1 +- Version 0.1.12 +- Drop upstreamed -dims patch +- Actually put some files into the -doc subpackage + * Tue Jan 28 2020 Fedora Release Engineering - 0.1.11-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 5a8f1a9..1e7552b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dbca567919ac40224bdbddfd6560b66f HAPcryst0_1_11.tar.bz2 +SHA512 (hapcryst-0.1.12.tar.gz) = df0b63994ee6edc123e7e1e302506dc6be4565e741e9a2ce2299f73548b1147dd29d85e72246b0bc92a273c24ffb31685c0e29b131f98e7480a1f93079c3ac0c