%global pkgname HAPcryst
Name: gap-pkg-hapcryst
Version: 0.1.11
Release: 1%{?dist}
Summary: Integral cohomology computations of Bieberbach groups
%global upver %(tr . _ <<< %{version})
License: GPLv2+
URL: http://csserver.evansville.edu/~mroeder/HAPcryst.html
Source0: http://csserver.evansville.edu/~mroeder/HAPcryst/%{pkgname}%{upver}.tar.bz2
BuildArch: noarch
BuildRequires: gap-devel
BuildRequires: GAPDoc-latex
BuildRequires: gap-pkg-aclib
BuildRequires: gap-pkg-carat
BuildRequires: gap-pkg-cryst
BuildRequires: gap-pkg-crystcat
BuildRequires: gap-pkg-hap
BuildRequires: gap-pkg-polycyclic
BuildRequires: gap-pkg-polymaking
Requires: gap-core
Requires: gap-pkg-aclib
Requires: gap-pkg-cryst
Requires: gap-pkg-crystcat
Requires: gap-pkg-hap
Requires: gap-pkg-polycyclic
Requires: gap-pkg-polymaking
Recommends: gap-pkg-carat
Recommends: gap-pkg-crystcat
%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.
%prep
%setup -q -n %{pkgname}
%build
export LC_ALL=C.UTF-8
# Link to main GAP documentation
ln -s %{_gap_dir}/doc ../../doc
mkdir ../pkg
ln -s ../%{pkgname} ../pkg/
gap -l "$PWD/..;%{_gap_dir}" << EOF
WriteBibXMLextFile("doc/HAPcryst_bib.xml", ParseBibFiles("doc/HAPcryst.bib") );
Exec("sed -i 's|\\\\url{http:\\([a-zA-Z0-9/\\.~]*\\)}|<URL>http:\\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" );
GAPDocManualLab( "resolutionAccess" );
EOF
popd
rm -fr ../../doc ../pkg
%install
mkdir -p %{buildroot}%{_gap_dir}/pkg
cp -a ../%{pkgname} %{buildroot}%{_gap_dir}/pkg
find -O3 %{buildroot}%{_gap_dir}/pkg/%{pkgname} -name \*~ -exec rm {} +
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}/{.DS_Store,CHANGES.HAPcryst,LICENSE.txt,README.HAPcryst}
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex,toc}
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}/lib/datatypes/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex,toc}
%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 2>&1 | tee log
LoadPackage( "HAPcryst" );
Test( "HAPcryst.tst", rec( compareFunction := "uptowhitespace" ) : noassert );
EOF
grep -Fvq fail log
rm -f log
%files
%doc CHANGES.HAPcryst README.HAPcryst
%license LICENSE.txt
%docdir %{_gap_dir}/pkg/%{pkgname}/doc
%docdir %{_gap_dir}/pkg/%{pkgname}/examples
%docdir %{_gap_dir}/pkg/%{pkgname}/htm
%docdir %{_gap_dir}/pkg/%{pkgname}/lib/datatypes/doc
%{_gap_dir}/pkg/%{pkgname}/
%changelog
* Fri Sep 16 2016 Jerry James <loganjerry@gmail.com> - 0.1.11-1
- Initial RPM