# # 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