%global pkgname hapcryst
%global upname HAPcryst
Name: gap-pkg-%{pkgname}
Version: 0.1.11
Release: 8%{?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
# Fix documentation bugs
Patch0: %{name}-doc.patch
# Adapt to newer polymake versions that do not support DIMS
Patch1: %{name}-dims.patch
BuildArch: noarch
BuildRequires: gap-devel
BuildRequires: GAPDoc-latex
BuildRequires: gap-pkg-carat
BuildRequires: gap-pkg-hap
BuildRequires: gap-pkg-nq
BuildRequires: gap-pkg-polymaking-doc
Requires: gap-pkg-hap
Requires: gap-pkg-polymaking
Recommends: gap-pkg-carat
%description
This package is an add-on for Graham Ellis' HAP package. HAPcryst
implements some functions for crystallographic groups (namely
OrbitStabilizer-type methods). It is also capable of calculating free
resolutions for Bieberbach groups.
%package doc
Summary: HAPcryst documentation
Requires: %{name} = %{version}-%{release}
Requires: gap-online-help
%description doc
This package contains documentation for gap-pkg-%{pkgname}.
%prep
%autosetup -p0 -n %{upname}
%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{\\\\([^}]*\\\\)}|<url>\\\\1</url>|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
%install
mkdir -p %{buildroot}%{_gap_dir}/pkg
cp -a ../%{upname} %{buildroot}%{_gap_dir}/pkg
find -O3 %{buildroot}%{_gap_dir}/pkg/%{upname} -name \*~ -exec rm {} +
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}
%check
# NOTE: Many tests currently fail due to polymake not understanding DIMS anymore
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
%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}/
%changelog
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 2 2019 Jerry James <loganjerry@gmail.com> - 0.1.11-7
- Rebuild for gap 4.10.0
- Add -doc subpackage
- Add -dims patch due to changes in polymake
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Sep 16 2016 Jerry James <loganjerry@gmail.com> - 0.1.11-1
- Initial RPM