SHA256
1
0
forked from pool/gap
gap/gap.spec
Jan Engelhardt 45eb74791b Accepting request 1007562 from home:StefanBruens:branches:science
- Update to new upstream release 4.12.0
  * Added the missing perfect groups of order up to two million
  * Initial support for make install available
  * For details, see
    https://github.com/gap-system/gap/blob/stable-4.12/CHANGES.md
- Update to new upstream release 4.11.0
  * Removed ability to return objects from many error break loops
  * GAP now contains some C++ code
  * HPC-GAP: The ward tool has been decommissioned
  * Syntax trees: Functions were added which allow converting a
    GAP function object into an abstract syntax tree which can
    be parsed and modified from within GAP code
- Clean up spec file

OBS-URL: https://build.opensuse.org/request/show/1007562
OBS-URL: https://build.opensuse.org/package/show/science/gap?expand=0&rev=78
2022-10-02 17:36:21 +00:00

312 lines
11 KiB
RPMSpec

#
# spec file for package gap
#
# Copyright (c) 2022 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
Name: gap
Version: 4.12.0
Release: 0
Summary: System for Computational Discrete Algebra
License: GPL-2.0-or-later
Group: Productivity/Scientific/Math
URL: https://gap-system.org/
Source: https://github.com/gap-system/gap/releases/download/v%{version}/gap-%{version}-core.tar.gz
Source2: macros.gap
Source3: %name-rpmlintrc
BuildRequires: gcc-c++
%if 0%{?suse_version}
BuildRequires: fdupes
%endif
BuildRequires: gmp-devel
BuildRequires: libtool
BuildRequires: readline-devel
BuildRequires: unzip
BuildRequires: zlib-devel
Obsoletes: gap-core < %version
Provides: gap-core = %version
Obsoletes: gap-data < %version
Provides: gap-data = %version
Requires: gap-gapdoc >= 1.5.1
%define lname libgap8
%global gap_sitearch %_libdir/gap/pkg
%global gap_sitelib %_datadir/gap/pkg
%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.
%package -n %lname
Summary: Kernel for the GAP computation algebra system
Group: System/Libraries
%description -n %lname
This package contains the GAP kernel in a C library that can be
linked to.
%package devel
Summary: Development environment for GAP
Group: Development/Tools/Other
Requires: %lname = %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 rpm-devel
Summary: RPM macros for building GAP packages
# Not noarch: contains arch-specific paths in RPM macros
Group: Development/Tools/Other
%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 trivial
GAP modules that itself do not require the presence of GAP.
%package full
Summary: Metapackage to cause installation of the GAP Distribution
Group: Productivity/Scientific/Math
BuildArch: noarch
# C extensions suffer from broken gac
# [https://github.com/gap-system/gap/issues/3001] and mediocre header files
# [https://github.com/gap-system/gap/issues/3003]
Requires: gap >= %version
Requires: gap-4ti2interface >= 2018.07.06
Requires: gap-ace >= 5.2
Requires: gap-aclib >= 1.3.1
Requires: gap-alnuth >= 3.1.0
#nolicense#Requires: gap-anupq >= 3.2
Requires: gap-atlasrep >= 1.5.1
Requires: gap-autodoc >= 2018.09.20
Requires: gap-automata >= 1.14
Requires: gap-automgrp >= 1.3.1
Requires: gap-autpgrp >= 1.9
#gac#Requires: gap-browse >= 1.8.8
#gap-io#Requires: gap-cap >= 2018.08.31
#unfinished#Requires: gap-carat >= 2.2.2
Requires: gap-circle >= 1.6.1
Requires: gap-cohomolo >= 1.6.7
Requires: gap-congruence >= 1.2.2
Requires: gap-convex >= 2015.11.06
Requires: gap-corelg >= 1.20
Requires: gap-crime >= 1.5
Requires: gap-crisp >= 1.4.4
Requires: gap-crypting >= 0.9
Requires: gap-cryst >= 4.1.18
Requires: gap-crystcat >= 1.1.8
Requires: gap-ctbllib >= 1.2.2
Requires: gap-cubefree >= 1.17
#gac#Requires: gap-curlinterface >= 2.1.1
#gac#Requires: gap-cvec >= 2.6.1
#gac#Requires: gap-datastructures >= 0.2.2
#gac#Requires: gap-deepthought >= 1.0.1
Requires: gap-design >= 1.6
#gac#Requires: gap-digraphs >= 0.13.0
#gac#Requires: gap-edim >= 1.3.3
Requires: gap-example >= 3.5.1
Requires: gap-examplesforhomalg >= 2018.05.29
Requires: gap-factint >= 1.6.2
Requires: gap-fga >= 1.4.0
#gap-cvec#Requires: gap-fining >= 1.4
#gac#Requires: gap-float >= 0.7.6
Requires: gap-format >= 1.4a
Requires: gap-forms >= 1.2.5
Requires: gap-fplsa >= 1.2.2
Requires: gap-fr >= 2.4.5
Requires: gap-francy >= 1.0.4
Requires: gap-fwtree >= 1.1
Requires: gap-gapdoc >= 1.6.2
#gac#Requires: gap-gauss >= 2018.09.08
#gap-gauss#Requires: gap-gaussforhomalg >= 2018.06.01
Requires: gap-gbnp >= 1.0.3
Requires: gap-generalizedmorphismsforcap >= 2018.06.15
Requires: gap-genss >= 1.6.5
Requires: gap-gradedmodules >= 2018.02.04
Requires: gap-gradedringforhomalg >= 2018.02.04
Requires: gap-grape >= 4.8.1
Requires: gap-groupoids >= 1.63
Requires: gap-grpconst >= 2.6.1
Requires: gap-guarana >= 0.96.1
Requires: gap-guava >= 3.14
Requires: gap-hap >= 1.15
# depends on polymake (not ready)
#Requires: gap-hapcryst >= 0.1.11
Requires: gap-hecke >= 1.5
Requires: gap-help >= 3.3
Requires: gap-homalg >= 2017.10.26
#gap-io#Requires: gap-homalgtocas >= 2018.06.15
Requires: gap-idrel >= 2.42
Requires: gap-intpic >= 0.2.3
#gac#Requires: gap-io >= 4.5.4
#gap-io#Requires: gap-io_forhomalg >= 2017.09.02
Requires: gap-irredsol >= 1.4
# gap-itc-1.4 has no license attached: cannot ship that
#Requires: gap-itc >= 1.5
#gac#Requires: gap-json >= 2.0.0
#notready#Requires: gap-jupyterkernel >= 1.0
#notready#Requires: gap-jupyterviz >= 1.2.0
Requires: gap-kan >= 1.28
Requires: gap-kbmag >= 1.5.6
Requires: gap-laguna >= 3.9.0
Requires: gap-liealgdb >= 2.2
Requires: gap-liepring >= 1.9.2
Requires: gap-liering >= 2.3
#gap-cap#Requires: gap-linearalgebraforcap >= 2018.02.07
Requires: gap-localizeringforhomalg >= 2018.02.04
Requires: gap-loops >= 3.4.0
Requires: gap-lpres >= 1.0.0
Requires: gap-mapclass >= 1.4.3
Requires: gap-matgrp >= 0.51
Requires: gap-matricesforhomalg >= 2018.08.25
# gap-modisom-2.3.2 not OSI compliant: cannot ship:
# permits distribution and use, but not modification.
#Requires: gap-modisom >= 2.4.0
# gap-modulepresentationsforcap requires a non-existent gap-complexesandfilteredobjectsforgap
#Requires: gap-modulepresentationsforcap >= 2018.02.02
Requires: gap-modules >= 2018.08.24
Requires: gap-nilmat >= 1.3
Requires: gap-normalizinterface >= 1.0.2
Requires: gap-nq >= 2.5.3
Requires: gap-numericalsgps >= 1.1.8
Requires: gap-openmath >= 11.4.2
#gac#Requires: gap-orb >= 4.8.1
#Needs separate gap-core built with openmpi and update-alternatives
#Requires: gap-pargap >= 1.4.0
Requires: gap-patternclass >= 2.4.2
Requires: gap-permut >= 2.0.3
Requires: gap-polenta >= 1.3.8
Requires: gap-polycyclic >= 2.14
# polymake not ready
#Requires: gap-polymakeinterface >= 2018.09.25
#Requires: gap-polymaking >= 0.8.1
Requires: gap-primgrp >= 3.3.2
# gap-profiling-1.3.0: no license on "first-party" code (bundled thirdparty code is ok tho..)
#Requires: gap-profiling >= 2.0.1
Requires: gap-qaos >= 1.6
Requires: gap-qpa >= 1.27
Requires: gap-quagroup >= 1.8
Requires: gap-radiroot >= 2.7
Requires: gap-rcwa >= 4.6.0
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.7.0
Requires: gap-ringsforhomalg >= 2018.01.07
Requires: gap-sco >= 2017.09.10
Requires: gap-scscp >= 2.2.3
Requires: gap-semigroups >= 2.8.0
# gap-sglppow-2.0 not OSI compliant: cannot ship
# permits distribution, but not use (how stupid), nor modification
#Requires: gap-sglppow >= 2.0
Requires: gap-sgpviz >= 0.999.1
Requires: gap-simpcomp >= 2.1.7
# gap-singular-12.04.28 has no license attached: cannot ship
#Requires: gap-singular >= 12.04.28
Requires: gap-sla >= 1.2
Requires: gap-smallsemi >= 0.6.11
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.6 has no license attached: cannot ship
#Requires: gap-tomlib >= 1.2.6
Requires: gap-toolsforhomalg >= 2017.11.05
Requires: gap-toric >= 1.9.4
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.3.0
Requires: gap-utils >= 0.49
Requires: gap-wedderga >= 4.9.1
# gap-xgap-4.24 has no license attached: cannot ship
#Requires: gap-xgap >= 4.26
Requires: gap-xmod >= 2.64
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 optional packages of the GAP distribution.
%prep
%setup -q
%build
%configure
%make_build
%install
# Can not use "install" target, as that includes the "install-doc" target
%{__make} DESTDIR=%{?buildroot} INSTALL="%{__install} -p" \
install-bin install-gaproot install-sysinfo install-headers install-libgap
# Fixup
rm -fv "%buildroot/%_libdir"/*.la
chmod +x %{buildroot}/%{_datadir}/gap/etc/convert.pl
# openSUSE-specific extras for RPMs
install -D -m 0644 -t "%{buildroot}/%_prefix/lib/rpm/macros.d/" "%_sourcedir/macros.gap"
cat >> "%{buildroot}/%_prefix/lib/rpm/macros.d/macros.gapdirs" <<-EOF
# Directory for modules extending the core
%%gap_sitelib %gap_sitelib
%%gap_sitearch %gap_sitearch
%%gap_sitelib_anchor %_datadir
%%gap_sitearch_anchor %_libdir
%%gapdir %_libdir/gap
EOF
%if 0%{?fdupes:1}
%fdupes %buildroot/%_prefix
%endif
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files
%_bindir/gap*
%dir %_libdir/gap/
%_libdir/gap/gap
%_datadir/gap/
%files -n %lname
%_libdir/libgap.so.8*
%files devel
%_bindir/gac*
%_includedir/gap/
%_libdir/libgap.so
%dir %_libdir/gap
%_libdir/gap/sysinfo.gap*
%files rpm-devel
%_prefix/lib/rpm/
%changelog