Blob Blame History Raw
%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