From c31f575f39c1e387f18f630fb01d3a89c2339fdf Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 5 Feb 2024 17:43:10 +0000 Subject: gentoo auto-resync : 05:02:2024 - 17:43:10 --- sci-mathematics/gap/Manifest | 3 +- .../gap/files/gap-4.12.2-cc-and-cxx-for-gac.patch | 42 ++++++ sci-mathematics/gap/gap-4.12.2-r3.ebuild | 142 -------------------- sci-mathematics/gap/gap-4.12.2-r4.ebuild | 144 +++++++++++++++++++++ 4 files changed, 188 insertions(+), 143 deletions(-) create mode 100644 sci-mathematics/gap/files/gap-4.12.2-cc-and-cxx-for-gac.patch delete mode 100644 sci-mathematics/gap/gap-4.12.2-r3.ebuild create mode 100644 sci-mathematics/gap/gap-4.12.2-r4.ebuild (limited to 'sci-mathematics/gap') diff --git a/sci-mathematics/gap/Manifest b/sci-mathematics/gap/Manifest index 21b9346c0594..4959caba2d86 100644 --- a/sci-mathematics/gap/Manifest +++ b/sci-mathematics/gap/Manifest @@ -1,3 +1,4 @@ +AUX gap-4.12.2-cc-and-cxx-for-gac.patch 1677 BLAKE2B 4a6a4b0d8b62b7ffdb0da2ba683439dde1ed80d3a3e74f92f5a46098619a13f755bd5b7d024a14541d2cc0f65ccb3677f18719c14972741ea347a7ce35c9ac42 SHA512 f8a48975777db8e09d31350a2688eb621cd27869c61c52fd99b6b6991f7a695e3e43b80277ebb6b4466dbf6de7b0bc05b3dfa8497aaba114763b4315c5d99414 DIST gap-4.12.2-core.tar.gz 37671069 BLAKE2B 7e2c35f0bb232fc5478ff09e98b9c4d021ee5df775f2ff4934b27f871c18a3781386c24b94f1255517c4193c1eb9ff6396ea70e8d6cf72ccbb5480ca837ef8eb SHA512 d16af2648b0a655df7ce28cf8e2c6b3d0e33eda806674844a9813b4cb5068b137005225c02b8651a25b608e9b76a184f54f2e291a957a4675c38a7883ef83a38 -EBUILD gap-4.12.2-r3.ebuild 4237 BLAKE2B a5742d700d7aa5ac217e240160deb77323f0da79e4399b86cbe6cde3d9e2c040f040430947b647422bd9c0ce3ec8d9ae9bd70aec5331629dcc5a8a2c5484b340 SHA512 42a6f2ab3a0f2f833b8a2cb6efaef8a477d2ff40bf7781d4bbca3719461e366e250654b4ad865853d69d287791ac376ccae1fa1a4044ce8a947a911c05d1aa33 +EBUILD gap-4.12.2-r4.ebuild 4294 BLAKE2B 4e5783b052809638768188569f5236ec96832bba1dc009937a61a8b8c53fb16264079bf717a3ddcd6ae42ba4e4d09a9ad36a8ec80ef7f2c7526e96cef967da7a SHA512 0f593ff8c3bec90982048d879738bc6d08a833f938ac4cd4476bb193ebf68a8e07b752958e14d093b13225978a8e29bf164d98d16d58045cdc3daa818e352811 MISC metadata.xml 1582 BLAKE2B 9151244f139b0d675e327731c336c41d5d69c25856286c182944d57255fbb6d7b1f023195b3a01c829ff6f3ea1d5e6eb6edbcc796a30120deacde82b90b5f39c SHA512 f4490e9b13cee6604f14df39ea048d7578e080a8faa97b0bb22191a7dce56904416870ed64c289f91526087009f7488e8baed4e531c78f50a5b917e9e1684ce2 diff --git a/sci-mathematics/gap/files/gap-4.12.2-cc-and-cxx-for-gac.patch b/sci-mathematics/gap/files/gap-4.12.2-cc-and-cxx-for-gac.patch new file mode 100644 index 000000000000..cfdfb4ac8a11 --- /dev/null +++ b/sci-mathematics/gap/files/gap-4.12.2-cc-and-cxx-for-gac.patch @@ -0,0 +1,42 @@ +From 2933af2d8a986430a4fcf2ab4d577e5bb049662a Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky +Date: Fri, 2 Feb 2024 18:14:59 -0500 +Subject: [PATCH] cnf/gac.in: respect $CC and $CXX if they're non-null + +This allows the user to override the stored C and C++ compilers +(typically obtained from sysinfo.gap) if desired. This is especially +useful on rolling release and/or source-based distributions where the +"current" compiler can change frequently and without user interaction. + +Closes: https://github.com/gap-system/gap/issues/5606 +--- + cnf/gac.in | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/cnf/gac.in b/cnf/gac.in +index 1faafba820..3a9fc6eb16 100644 +--- a/cnf/gac.in ++++ b/cnf/gac.in +@@ -63,6 +63,22 @@ GAP_CFLAGS="${GAP_CFLAGS} ${GAC_CFLAGS}" + GAP_CXXFLAGS="${GAP_CXXFLAGS} ${GAC_CFLAGS}" + GAP_LDFLAGS="${GAP_LDFLAGS} ${GAC_LDFLAGS}" + ++# Using the stored C/C++ compilers from sysinfo.gap is sometimes ++# undesirable. For example, if the compiler suite is upgraded or ++# downgraded, the particular executable used to build GAP itself may ++# no longer exist. The CC and CXX environment variables provide a ++# somewhat standard way for the user to indicate which compilers he ++# would like to use. So if those are set, we prefer them to the stored ++# values. This allows people who know what they are doing to override ++# the default behavior, while keeping the defaults safe for normal ++# people. ++if test -n "${CC}"; then ++ c_compiler="${CC}" ++ c_dyn_linker="${CC}" ++fi ++if test -n "${CXX}"; then ++ cxx_compiler="${CXX}" ++fi + + # is output going to a terminal? + if test -t 1 && command -v tput >/dev/null 2>&1 ; then diff --git a/sci-mathematics/gap/gap-4.12.2-r3.ebuild b/sci-mathematics/gap/gap-4.12.2-r3.ebuild deleted file mode 100644 index d44da14dfd8a..000000000000 --- a/sci-mathematics/gap/gap-4.12.2-r3.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="System for computational discrete algebra. Core functionality." -HOMEPAGE="https://www.gap-system.org/" -SRC_URI="https://github.com/gap-system/gap/releases/download/v${PV}/${P}-core.tar.gz" - -LICENSE="GPL-2+" -SLOT="0/8" -KEYWORDS="~amd64" -IUSE="cpu_flags_x86_popcnt debug memcheck minimal readline test valgrind" -REQUIRED_USE="?? ( memcheck valgrind )" -RESTRICT="!test? ( test )" - -# The minimum set of packages needed for basic GAP operation. You can -# actually start gap without these by passing "--bare" to it on the CLI, -# but don't expect anything to work. -REQUIRED_PKGS=" - dev-gap/gapdoc - dev-gap/primgrp - dev-gap/smallgrp - dev-gap/transgrp" - -# The packages aren't really required, but GAP tries to load them -# automatically, and will complain to the user if they fail to load. -# The list of automatically-loaded packages is a user preference, called -# AutoloadPackages, and the upstream default can be found in -# lib/package.gi within the GAP source tree. Passing "-A" to GAP on the -# CLI (or setting that user preference) will suppress the autoload -# behavior and allow GAP to start without these, which is why we allow -# the user to skip them with USE=minimal if he knows what he is doing. -AUTOLOADED_PKGS=" - dev-gap/autpgrp - dev-gap/alnuth - dev-gap/crisp - dev-gap/ctbllib - dev-gap/factint - dev-gap/fga - dev-gap/irredsol - dev-gap/laguna - dev-gap/polenta - dev-gap/polycyclic - dev-gap/resclasses - dev-gap/sophus - dev-gap/tomlib" - -# The test suite will fail without the "required" subset. -BDEPEND="test? ( ${REQUIRED_PKGS} )" - -DEPEND="dev-libs/gmp:= - sys-libs/zlib - valgrind? ( dev-debug/valgrind ) - readline? ( sys-libs/readline:= )" - -RDEPEND="${DEPEND}" - -# If you _really_ want to install GAP without the set of required -# packages, use package.provided. -PDEPEND="${REQUIRED_PKGS} !minimal? ( ${AUTOLOADED_PKGS} )" - -pkg_setup() { - if use valgrind; then - elog "If you enable the use of valgrind during building" - elog "be sure that you have enabled the proper flags" - elog "in gcc to support it:" - elog "https://wiki.gentoo.org/wiki/Debugging#Valgrind" - fi -} - -src_prepare() { - # Remove these to be extra sure we don't use bundled libraries. - rm -r extern || die - rm -r hpcgap/extern || die - - # The Makefile just tells you to run ./configure, which then - # produces a GNUmakefile. - rm Makefile || die - - # Prepend AC_CONFIG_MACRO_DIRS to configure.ac so that eautoreconf - # recreates aclocal.m4 correctly. Upstream bundles libtool-2.4.6, - # and Gentoo uses 2.4.7, so we need to regenerate aclocal.m4. BUT, - # upstream also uses m4_include directives in aclocal.m4 rather than - # AC_CONFIG_MACRO_DIRS in configure.ac. Without AC_CONFIG_MACRO_DIRS - # eautoreconf will omit all of the macros in cnf/m4. - sed -e '1s;^;AC_CONFIG_MACRO_DIRS([cnf/m4])\n;' -i configure.ac || die - - default - - # Fix feature detection with pathological CFLAGS - eautoreconf -} - -src_configure() { - # We unset $ABI because GAP uses it internally for something else. - # --without-gmp and --without-zlib both trigger an AC_MSG_ERROR - local myeconfargs=( - ABI="" - --with-gmp - --with-zlib - $(use_enable cpu_flags_x86_popcnt popcnt) - $(use_enable memcheck memory-checking) - $(use_enable valgrind) - $(use_with readline) - $(use_enable debug) - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - # Without this, the default is a quiet build. - emake V=1 -} - -src_test() { - # We need to specify additional root paths because otherwise the - # recently-built GAP doesn't know where to look for the "required" - # packages (which must already be installed). The two paths we - # append to $S are where those packages wind up. - local gaproots="${S}/;" - gaproots+="${EPREFIX}/usr/$(get_libdir)/gap/;" - gaproots+="${EPREFIX}/usr/share/gap/" - - # GAPARGS is a Makefile variable that exists for this purpose. We - # use "-A" to hide the warnings about missing autoloaded-but-not- - # required packages. - emake GAPARGS="-A -l '${gaproots}'" check -} - -src_install() { - default - - # Manually install Makefile.gappkg - insinto usr/share/gap/etc - doins etc/Makefile.gappkg - - # la files removal - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sci-mathematics/gap/gap-4.12.2-r4.ebuild b/sci-mathematics/gap/gap-4.12.2-r4.ebuild new file mode 100644 index 000000000000..f9f41bafaaab --- /dev/null +++ b/sci-mathematics/gap/gap-4.12.2-r4.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="System for computational discrete algebra. Core functionality." +HOMEPAGE="https://www.gap-system.org/" +SRC_URI="https://github.com/gap-system/gap/releases/download/v${PV}/${P}-core.tar.gz" + +LICENSE="GPL-2+" +SLOT="0/8" +KEYWORDS="~amd64" +IUSE="cpu_flags_x86_popcnt debug memcheck minimal readline test valgrind" +REQUIRED_USE="?? ( memcheck valgrind )" +RESTRICT="!test? ( test )" + +# The minimum set of packages needed for basic GAP operation. You can +# actually start gap without these by passing "--bare" to it on the CLI, +# but don't expect anything to work. +REQUIRED_PKGS=" + dev-gap/gapdoc + dev-gap/primgrp + dev-gap/smallgrp + dev-gap/transgrp" + +# The packages aren't really required, but GAP tries to load them +# automatically, and will complain to the user if they fail to load. +# The list of automatically-loaded packages is a user preference, called +# AutoloadPackages, and the upstream default can be found in +# lib/package.gi within the GAP source tree. Passing "-A" to GAP on the +# CLI (or setting that user preference) will suppress the autoload +# behavior and allow GAP to start without these, which is why we allow +# the user to skip them with USE=minimal if he knows what he is doing. +AUTOLOADED_PKGS=" + dev-gap/autpgrp + dev-gap/alnuth + dev-gap/crisp + dev-gap/ctbllib + dev-gap/factint + dev-gap/fga + dev-gap/irredsol + dev-gap/laguna + dev-gap/polenta + dev-gap/polycyclic + dev-gap/resclasses + dev-gap/sophus + dev-gap/tomlib" + +# The test suite will fail without the "required" subset. +BDEPEND="test? ( ${REQUIRED_PKGS} )" + +DEPEND="dev-libs/gmp:= + sys-libs/zlib + valgrind? ( dev-debug/valgrind ) + readline? ( sys-libs/readline:= )" + +RDEPEND="${DEPEND}" + +# If you _really_ want to install GAP without the set of required +# packages, use package.provided. +PDEPEND="${REQUIRED_PKGS} !minimal? ( ${AUTOLOADED_PKGS} )" + +PATCHES=( "${FILESDIR}/${P}-cc-and-cxx-for-gac.patch" ) + +pkg_setup() { + if use valgrind; then + elog "If you enable the use of valgrind during building" + elog "be sure that you have enabled the proper flags" + elog "in gcc to support it:" + elog "https://wiki.gentoo.org/wiki/Debugging#Valgrind" + fi +} + +src_prepare() { + # Remove these to be extra sure we don't use bundled libraries. + rm -r extern || die + rm -r hpcgap/extern || die + + # The Makefile just tells you to run ./configure, which then + # produces a GNUmakefile. + rm Makefile || die + + # Prepend AC_CONFIG_MACRO_DIRS to configure.ac so that eautoreconf + # recreates aclocal.m4 correctly. Upstream bundles libtool-2.4.6, + # and Gentoo uses 2.4.7, so we need to regenerate aclocal.m4. BUT, + # upstream also uses m4_include directives in aclocal.m4 rather than + # AC_CONFIG_MACRO_DIRS in configure.ac. Without AC_CONFIG_MACRO_DIRS + # eautoreconf will omit all of the macros in cnf/m4. + sed -e '1s;^;AC_CONFIG_MACRO_DIRS([cnf/m4])\n;' -i configure.ac || die + + default + + # Fix feature detection with pathological CFLAGS + eautoreconf +} + +src_configure() { + # We unset $ABI because GAP uses it internally for something else. + # --without-gmp and --without-zlib both trigger an AC_MSG_ERROR + local myeconfargs=( + ABI="" + --with-gmp + --with-zlib + $(use_enable cpu_flags_x86_popcnt popcnt) + $(use_enable memcheck memory-checking) + $(use_enable valgrind) + $(use_with readline) + $(use_enable debug) + ) + econf "${myeconfargs[@]}" +} + +src_compile() { + # Without this, the default is a quiet build. + emake V=1 +} + +src_test() { + # We need to specify additional root paths because otherwise the + # recently-built GAP doesn't know where to look for the "required" + # packages (which must already be installed). The two paths we + # append to $S are where those packages wind up. + local gaproots="${S}/;" + gaproots+="${EPREFIX}/usr/$(get_libdir)/gap/;" + gaproots+="${EPREFIX}/usr/share/gap/" + + # GAPARGS is a Makefile variable that exists for this purpose. We + # use "-A" to hide the warnings about missing autoloaded-but-not- + # required packages. + emake GAPARGS="-A -l '${gaproots}'" check +} + +src_install() { + default + + # Manually install Makefile.gappkg + insinto usr/share/gap/etc + doins etc/Makefile.gappkg + + # la files removal + find "${ED}" -type f -name '*.la' -delete || die +} -- cgit v1.2.3