Jan Engelhardt
2769ed8519
OBS-URL: https://build.opensuse.org/package/show/science/gap?expand=0&rev=28
535 lines
17 KiB
RPMSpec
535 lines
17 KiB
RPMSpec
#
|
|
# spec file for package gap
|
|
#
|
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: gap
|
|
Version: 4.8.4
|
|
Release: 0
|
|
Summary: System for Computational Discrete Algebra
|
|
License: GPL-2.0+
|
|
Group: Productivity/Scientific/Math
|
|
Url: http://gap-system.org/
|
|
|
|
Source: ftp://ftp.gap-system.org/pub/gap/gap4core/gap4r8p4_nopackages.zip
|
|
Source2: %name-rpmlintrc
|
|
Source9: gap_retained_specfiles.tar.xz
|
|
Patch1: gap-final-dir.diff
|
|
Patch2: gap-multiarch.diff
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%if 0%{?suse_version}
|
|
BuildRequires: fdupes
|
|
%endif
|
|
BuildRequires: gmp-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: readline-devel
|
|
BuildRequires: unzip
|
|
%if 0%{?suse_version}
|
|
BuildRequires: fastjar
|
|
%endif
|
|
Requires: gap-core
|
|
Requires: gap-devel
|
|
Requires: gap-doc
|
|
|
|
%define gap_sitelib_anchor %_datadir/%name
|
|
%define gap_sitearch_anchor %_libexecdir/%name
|
|
%define gapdir %gap_sitearch_anchor
|
|
%define gapdatadir %gap_sitelib_anchor
|
|
|
|
%description
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory. GAP provides a programming
|
|
language, a library of thousands of functions implementing algebraic
|
|
algorithms written in the GAP language as well as large data
|
|
libraries of algebraic objects. GAP is used in research and teaching
|
|
for studying groups and their representations, rings, vector spaces,
|
|
algebras, combinatorial structures, and more.
|
|
|
|
This package is for a medium GAP installation: core, documentation
|
|
and development. See gap-full if you want everything of the GAP
|
|
distribution.
|
|
|
|
%package core
|
|
Summary: Runtime for GAP (System for Computational Discrete Algebra)
|
|
Group: Productivity/Scientific/Math
|
|
Requires: gap-data = %version
|
|
Requires: gap-gapdoc >= 1.5.1
|
|
|
|
%description core
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory. GAP provides a programming
|
|
language, a library of thousands of functions implementing algebraic
|
|
algorithms written in the GAP language as well as large data
|
|
libraries of algebraic objects. GAP is used in research and teaching
|
|
for studying groups and their representations, rings, vector spaces,
|
|
algebras, combinatorial structures, and more.
|
|
|
|
This package only pulls in the GAP core.
|
|
|
|
%package data
|
|
Summary: Data files for GAP (System for Computational Discrete Algebra)
|
|
Group: Productivity/Scientific/Math
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description data
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage contains arch-independent supplementary data for GAP.
|
|
|
|
%package devel
|
|
Summary: Development environment for GAP
|
|
Group: Development/Tools/Other
|
|
Requires: gap-core = %version
|
|
|
|
%description devel
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This package will pull in the current version of the GAP compiler and
|
|
utilities required to build GAP packages that need compilation.
|
|
|
|
%package doc
|
|
Summary: Documentation for GAP
|
|
Group: Documentation/Other
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description doc
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage contains the documentation to GAP.
|
|
|
|
%package full
|
|
Summary: Metapackage to cause installation of the GAP Distribution
|
|
Group: Productivity/Scientific/Math
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
Requires: gap >= %version
|
|
Requires: gap-4ti2interface >= 2015.11.06
|
|
Requires: gap-ace >= 5.2
|
|
# gap-aclib-1.2 has no license attached: cannot ship that
|
|
#Requires: gap-aclib >= 1.2
|
|
Requires: gap-alnuth >= 3.0.0
|
|
# gap-anupq-3.1.4 has no license attached: cannot ship that
|
|
#Requires: gap-anupq >= 3.1.4
|
|
Requires: gap-atlasrep >= 1.5.1
|
|
Requires: gap-autodoc >= 2016.03.08
|
|
Requires: gap-automata >= 1.13
|
|
Requires: gap-automgrp >= 1.3
|
|
# gap-autpgrp-1.6 has no license attached: cannot ship that
|
|
#Requires: gap-autpgrp >= 1.6
|
|
Requires: gap-browse >= 1.8.6
|
|
# gap-cap-2016.02.19 has no license attached: cannot ship that
|
|
#Requires: gap-cap >= 2016.02.19
|
|
Requires: gap-carat >= 2.1.6
|
|
Requires: gap-circle >= 1.5.4
|
|
Requires: gap-cohomolo >= 1.6.4
|
|
Requires: gap-congruence >= 1.1.1
|
|
Requires: gap-convex >= 2013.12.05
|
|
Requires: gap-corelg >= 1.20
|
|
Requires: gap-crime >= 1.4
|
|
Requires: gap-crisp >= 1.4.4
|
|
Requires: gap-cryst >= 4.1.12
|
|
Requires: gap-crystcat >= 1.1.6
|
|
Requires: gap-ctbllib >= 1.2.2
|
|
Requires: gap-cubefree >= 1.15
|
|
Requires: gap-cvec >= 2.5.5
|
|
Requires: gap-design >= 1.6
|
|
Requires: gap-digraphs >= 0.5
|
|
Requires: gap-edim >= 1.3.2
|
|
Requires: gap-example >= 3.4.5
|
|
Requires: gap-examplesforhomalg >= 2015.11.06
|
|
Requires: gap-factint >= 1.5.3
|
|
Requires: gap-fga >= 1.3.1
|
|
Requires: gap-fining >= 1.3.3
|
|
Requires: gap-float >= 0.7.3
|
|
# gap-format-1.3 has no license attached: cannot ship that
|
|
#Requires: gap-format >= 1.3
|
|
Requires: gap-forms >= 1.2.3
|
|
# gap-fplsa-1.1 has no license attached: cannot ship that
|
|
#Requires: gap-fplsa >= 1.1
|
|
Requires: gap-fr >= 2.3.6
|
|
# gap-fwtree-1.0 has no license attached: cannot ship that
|
|
#Requires: gap-fwtree >= 1.0
|
|
Requires: gap-gapdoc >= 1.5.1
|
|
Requires: gap-gauss >= 2015.11.06
|
|
Requires: gap-gaussforhomalg >= 2015.11.06
|
|
Requires: gap-gbnp >= 1.0.3
|
|
# gap-generalizedmorphismsforcap-2015.12.09 has no license attached: cannot ship that
|
|
#Requires: gap-generalizedmorphismsforcap >= 2015.12.09
|
|
Requires: gap-genss >= 1.6.4
|
|
Requires: gap-gpd >= 1.43
|
|
Requires: gap-gradedmodules >= 2015.12.04
|
|
Requires: gap-gradedringforhomalg >= 2015.12.04
|
|
# gap-grape-4.7: contains nauty: Knuth's/nauty license is not OSI-compatible
|
|
#Requires: gap-grape >= 4.7
|
|
# gap-grpconst-2.5 has no license attached: cannot ship that
|
|
#Requires: gap-grpconst >= 2.5
|
|
Requires: gap-guarana >= 0.94
|
|
Requires: gap-guava >= 3.13
|
|
Requires: gap-hap >= 1.11.13
|
|
Requires: gap-hapcryst >= 0.1.11
|
|
Requires: gap-happrime >= 0.6
|
|
Requires: gap-hecke >= 1.4
|
|
Requires: gap-help >= 3.0
|
|
Requires: gap-homalg >= 2015.11.05
|
|
Requires: gap-homalgtocas >= 2015.12.08
|
|
Requires: gap-idrel >= 2.31
|
|
Requires: gap-intpic >= 0.2.1
|
|
Requires: gap-io >= 4.4.6
|
|
Requires: gap-io_forhomalg >= 2015.11.06
|
|
Requires: gap-irredsol >= 1.3.1
|
|
# gap-itc-1.4 has no license attached: cannot ship that
|
|
#Requires: gap-itc >= 1.4
|
|
Requires: gap-json >= 1.0.1
|
|
Requires: gap-kan >= 1.25
|
|
Requires: gap-kbmag >= 1.5.3
|
|
Requires: gap-laguna >= 3.7.0
|
|
# gap-liealgdb-2.1 has no license attached: cannot ship that
|
|
#Requires: gap-liealgdb >= 2.1
|
|
Requires: gap-liepring >= 1.8
|
|
Requires: gap-liering >= 2.2
|
|
Requires: gap-linboxing >= 0.5.2
|
|
# gap-linearalgebraforcap-2015.12.03: no license attached; cannot ship
|
|
#Requires: gap-linearalgebraforcap >= 2015.12.03
|
|
Requires: gap-localizeringforhomalg >= 2015.11.06
|
|
Requires: gap-loops >= 3.1.0
|
|
Requires: gap-mapclass >= 1.2
|
|
Requires: gap-matgrp >= 0.4
|
|
Requires: gap-matricesforhomalg >= 2015.11.06
|
|
# gap-modisom-2.3.2 not OSI compliant: cannot ship:
|
|
# permits distribution and use, but not modification.
|
|
#Requires: gap-modisom >= 2.3.3
|
|
# gap-modulepresentationforcap: no license attached; cannot ship
|
|
#Requires: gap-modulepresentationforcap >= 2015.12.09
|
|
Requires: gap-modules >= 2016.01.20
|
|
Requires: gap-nilmat >= 1.2
|
|
Requires: gap-normalizinterface >= 0.9.8
|
|
Requires: gap-nq >= 2.5.3
|
|
Requires: gap-numericalsgps >= 1.0.1
|
|
Requires: gap-openmath >= 11.3.1
|
|
Requires: gap-orb >= 4.7.6
|
|
#Needs separate gap-core built with openmpi and update-alternatives
|
|
#Requires: gap-pargap >= 1.4.0
|
|
# gap-patternclass-2.1 has no license attached: cannot ship that
|
|
#Requires: gap-patternclass >= 2.1
|
|
Requires: gap-permut >= 1.03
|
|
Requires: gap-polenta >= 1.3.6
|
|
Requires: gap-polycyclic >= 2.11
|
|
Requires: gap-polymakeinterface >= 2015.01.26
|
|
Requires: gap-polymaking >= 0.8.1
|
|
# gap-profiling-0.5.0: no license on first-party code attached
|
|
#Requires: gap-profiling >= 0.5.1
|
|
Requires: gap-qaos >= 1.2
|
|
Requires: gap-qpa >= 1.24
|
|
# gap-quagroup-1.8 has no license attached: cannot ship that
|
|
#Requires: gap-quagroup >= 1.8
|
|
Requires: gap-radiroot >= 2.7
|
|
Requires: gap-rcwa >= 4.4.1
|
|
Requires: gap-rds >= 1.6
|
|
Requires: gap-recog >= 1.2.5
|
|
Requires: gap-recogbase >= 1.2.5
|
|
# gap-repsn-3.2 has no license attached: cannot ship that
|
|
#Requires: gap-repsn >= 3.0.2
|
|
Requires: gap-resclasses >= 4.5.0
|
|
Requires: gap-ringsforhomalg >= 2016.01.20
|
|
Requires: gap-sco >= 2015.11.06
|
|
Requires: gap-scscp >= 2.1.4
|
|
Requires: gap-semigroups >= 2.8.0
|
|
# gap-sglppow-1.1 not OSI compliant: cannot ship
|
|
# permits distribution, but not use (how stupid), nor modification
|
|
#Requires: gap-sglppow >= 1.1
|
|
Requires: gap-sgpviz >= 0.998
|
|
Requires: gap-simpcomp >= 2.1.6
|
|
# gap-singular-12.04.28 has no license attached: cannot ship
|
|
#Requires: gap-singular >= 12.04.28
|
|
Requires: gap-sla >= 1.1
|
|
Requires: gap-smallsemi >= 0.6.10
|
|
Requires: gap-sonata >= 2.8
|
|
# gap-sophus-1.23 has no license attached: cannot ship
|
|
#Requires: gap-sophus >= 1.23
|
|
Requires: gap-spinsym >= 1.5
|
|
Requires: gap-symbcompcc >= 1.2
|
|
# gap-tomlib-1.2.5 has no license attached: cannot ship
|
|
#Requires: gap-tomlib >= 1.2.5
|
|
Requires: gap-toolsforhomalg >= 2016.02.17
|
|
Requires: gap-toric >= 1.8
|
|
Requires: gap-toricvarieties >= 2012.12.22
|
|
# gap-unipot-1.2 has no license attached: cannot ship
|
|
#Requires: gap-unipot >= 1.2
|
|
Requires: gap-unitlib >= 3.2.0
|
|
Requires: gap-utils >= 0.40kd
|
|
Requires: gap-wedderga >= 4.7.3
|
|
# gap-xgap-4.24 has no license attached: cannot ship
|
|
#Requires: gap-xgap >= 4.24
|
|
Requires: gap-xmod >= 2.56
|
|
Requires: gap-xmodalg >= 1.12
|
|
|
|
%description full
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage will pull in all contributed packages of the GAP
|
|
distribution.
|
|
|
|
%package prim-groups
|
|
Summary: GAP: Database of primitive groups
|
|
Group: Productivity/Scientific/Math
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description prim-groups
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage contains the database of primitive groups.
|
|
|
|
%package rpm-devel
|
|
Summary: RPM macros for building GAP packages
|
|
Group: Development/Tools/Other
|
|
# Not noarch: contains arch-specific paths in RPM macros
|
|
|
|
%description rpm-devel
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage provides RPM macros for use with packaging simple GAP
|
|
modules that do not require the presence of GAP itself.
|
|
|
|
%package small-groups
|
|
Summary: GAP: Database of small groups
|
|
Group: Productivity/Scientific/Math
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description small-groups
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage contains the database of small groups.
|
|
|
|
%package trans-groups
|
|
Summary: GAP: Database of transitive groups
|
|
Group: Productivity/Scientific/Math
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description trans-groups
|
|
GAP is a system for computational discrete algebra, with particular
|
|
emphasis on Computational Group Theory.
|
|
|
|
This subpackage contains the database of transitive groups.
|
|
|
|
%prep
|
|
%setup -qn gap4r8
|
|
%patch -P 1 -P 2 -p1
|
|
|
|
%build
|
|
rm -f bin/*.bat
|
|
pushd extern/
|
|
find . -type f ! -name "Makefile*" -print -delete
|
|
popd
|
|
pushd cnf/
|
|
make
|
|
popd
|
|
|
|
%if 0%{?suse_version} == 1110
|
|
# odd breakage:
|
|
# checking for trunc... no
|
|
# ./configure: line 10014: syntax error near unexpected token `fi'
|
|
# ./configure: line 10014: `fi'
|
|
# make: *** [bin/i686-suse-linux-gnu-gcc-default32/config.status] Error 2
|
|
autoreconf -fi
|
|
%endif
|
|
|
|
#
|
|
# Having $GAParch (for example with <gapdir>/bin/$GAParch) is practically useless,
|
|
# because <gapdir>/sysinfo.gap is already arch-specific and needs to reside in an
|
|
# arch-specific directory.
|
|
#
|
|
%configure --with-gmp=system --target="%_host" --with-gapdir="%gapdir" \
|
|
COPTS="%optflags"
|
|
|
|
#
|
|
# See what fancy tuple they brought us and rerun configure so we can tell it
|
|
# the _real_ path of gapbindir. (Using $PWD/`pwd` in configure is absolutely
|
|
# hostile to distros.)
|
|
#
|
|
cat sysinfo.gap;
|
|
. ./sysinfo.gap;
|
|
%configure --with-gmp=system --target="%_host" --with-gapdir="%gapdir" \
|
|
--with-gapbindir="%gapdir/bin/$GAParch" COPTS="%optflags"
|
|
|
|
# And now, another configure run.
|
|
make config;
|
|
|
|
# Actual compile
|
|
make %{?_smp_mflags} compile
|
|
|
|
# Someone screwed up permissions bigtime.
|
|
# Resolve rpmlint: W: spurious-executable-perm
|
|
# Resolve rpmlint: W: script-without-shebang
|
|
find . -type f "(" \
|
|
-name "*.c" -o -name "*.fp" -o -name "*.g" -o -name "*.gd" -o \
|
|
-name "*.gi" -o -name "*.grp" -o -name "*.ind" -o -name "*.tex" -o \
|
|
-name "*.tst" -o -name "*.xml" \
|
|
")" -exec chmod a-x "{}" "+";
|
|
# Do not let these be installed.
|
|
find . -type f -name "*.orig" -print -delete
|
|
|
|
%install
|
|
b="%buildroot"
|
|
|
|
# Move doc into FHS
|
|
mkdir -p "$b/%_docdir";
|
|
mv doc "$b/%_docdir/%name";
|
|
ln -s "%_docdir/%name" "doc";
|
|
|
|
# Move data into FHS
|
|
rm -f tst/remake.sh doc/test/re;
|
|
mkdir -p "$b/%gapdatadir/pkg" "$b/%gapdir/pkg";
|
|
dirs="grp lib prim small trans tst";
|
|
mv $dirs "$b/%gapdatadir";
|
|
for i in $dirs; do
|
|
ln -s "%gapdatadir/$i" "$i";
|
|
done;
|
|
|
|
# Populate FHS bindir
|
|
. ./sysinfo.gap
|
|
mkdir -p "$b/%_bindir"
|
|
cp -aH bin/gap.sh "$b/%_bindir/gap-%version"
|
|
rm -f bin/gap*.sh
|
|
ln -s "%gapdir/bin/$GAParch/gac" "$b/%_bindir/gac-%version"
|
|
ln -s "gap-%version" "$b/%_bindir/gap"
|
|
ln -s "gac-%version" "$b/%_bindir/gac"
|
|
|
|
# Move compiled things into place (lack of a `make install` target).
|
|
# Throw out autogenerated objects, but keep source (3rd-party pkgs make use of it).
|
|
mkdir -p "$b/%gapdir";
|
|
cp -a . "$b/%gapdir";
|
|
rm -Rf "$b/%gapdir"/{autom4*,cnf,configu*,.hgignore,.travis.yml}
|
|
|
|
# RPM extras
|
|
mkdir -p "$b/%_sysconfdir/rpm"
|
|
cp "%_sourcedir/macros.gap" "$b/%_sysconfdir/rpm/"
|
|
cat >>"$b/%_sysconfdir/rpm/macros.gap" <<-EOF
|
|
# Anchor directory for %%files list
|
|
%%gap_sitelib_anchor %gap_sitelib_anchor
|
|
%%gap_sitearch_anchor %gap_sitearch_anchor
|
|
# The GAP runtime directory (GAPPATH)
|
|
%%gapdir %gapdir
|
|
# Directory for modules extending the core
|
|
%%gap_sitelib %gapdatadir/pkg
|
|
%%gap_sitearch %%gapdir/pkg
|
|
EOF
|
|
%if 0%{?fdupes:1}
|
|
%fdupes %buildroot/%_prefix
|
|
%endif
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
# Dummy entry
|
|
%dir %gap_sitelib_anchor/
|
|
|
|
%files core
|
|
%defattr(-,root,root)
|
|
%_bindir/gap
|
|
%_bindir/gap-*
|
|
%dir %gapdir/
|
|
%gapdir/CITATION
|
|
%dir %gapdir/bin/
|
|
%gapdir/bin/cygwin.ver
|
|
%gapdir/bin/gapicon*
|
|
%gapdir/bin/gaprxvt*
|
|
%dir %gapdir/bin/%_host-*/
|
|
%gapdir/bin/%_host-*/gap
|
|
%gapdir/doc
|
|
%gapdir/etc/
|
|
%gapdir/gap.ini
|
|
%gapdir/gap.shi
|
|
%gapdir/grp
|
|
%gapdir/lib
|
|
%gapdir/pkg/
|
|
%gapdir/prim
|
|
%gapdir/small
|
|
%gapdir/sysinfo*
|
|
%gapdir/trans
|
|
%gapdir/tst
|
|
|
|
%files data
|
|
%defattr(-,root,root)
|
|
%dir %gap_sitelib_anchor/
|
|
%gapdatadir/lib/
|
|
%gapdatadir/grp/
|
|
%gapdatadir/pkg/
|
|
%gapdatadir/tst/
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%_bindir/gac
|
|
%_bindir/gac-*
|
|
%dir %gapdir/
|
|
%gapdir/*.md
|
|
%gapdir/LICENSE
|
|
%gapdir/Makefile*
|
|
%dir %gapdir/bin/
|
|
%gapdir/bin/%_host-*
|
|
%gapdir/bin/BuildPackages.sh
|
|
%exclude %gapdir/bin/%_host-*/gap
|
|
%gapdir/config*
|
|
%gapdir/extern/
|
|
%gapdir/src/
|
|
|
|
%files doc
|
|
%defattr(-,root,root)
|
|
%_docdir/%name/
|
|
|
|
%files full
|
|
%defattr(-,root,root)
|
|
# Dummy entry
|
|
%dir %gap_sitelib_anchor/
|
|
|
|
%files prim-groups
|
|
%defattr(-,root,root)
|
|
%dir %gap_sitelib_anchor/
|
|
%gapdatadir/prim/
|
|
|
|
%files rpm-devel
|
|
%defattr(-,root,root)
|
|
%config %_sysconfdir/rpm/
|
|
|
|
%files small-groups
|
|
%defattr(-,root,root)
|
|
%dir %gap_sitelib_anchor/
|
|
%gapdatadir/small/
|
|
|
|
%files trans-groups
|
|
%defattr(-,root,root)
|
|
%dir %gap_sitelib_anchor/
|
|
%gapdatadir/trans/
|
|
|
|
%changelog
|