commit: 0dd4467cb67ec77e17c909cdb51f1d6bd9455c0d Author: Alexander Puck Neuwirth <apn-pucky <AT> gentoo <DOT> org> AuthorDate: Thu Oct 16 15:17:31 2025 +0000 Commit: Alexander Puck Neuwirth <apn-pucky <AT> gentoo <DOT> org> CommitDate: Fri Oct 17 14:12:26 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dd4467c
sci-physics/looptools: add 2.15-r1, 2.16 - EAPI 7 -> 8 - filter_lto - patch away findprog which mixes clang and gnu toolchains. Instead use toolchain-funcs eclass - also symlink solib without version specifier since programs look for that more often Closes: https://bugs.gentoo.org/889070 Closes: https://bugs.gentoo.org/770838 Part-of: https://github.com/gentoo/gentoo/pull/44201 Closes: https://github.com/gentoo/gentoo/pull/44201 Signed-off-by: Alexander Puck Neuwirth <apn-pucky <AT> gentoo.org> sci-physics/looptools/Manifest | 1 + .../looptools/files/looptools-2.15-configure.patch | 17 ++++ .../looptools/files/looptools-2.16-configure.patch | 17 ++++ .../looptools/files/looptools-2.16-makefile.patch | 105 +++++++++++++++++++++ sci-physics/looptools/looptools-2.15-r1.ebuild | 50 ++++++++++ sci-physics/looptools/looptools-2.16.ebuild | 50 ++++++++++ 6 files changed, 240 insertions(+) diff --git a/sci-physics/looptools/Manifest b/sci-physics/looptools/Manifest index 5475b7499ae8..7d30ca4b6afb 100644 --- a/sci-physics/looptools/Manifest +++ b/sci-physics/looptools/Manifest @@ -1 +1,2 @@ DIST LoopTools-2.15.tar.gz 552635 BLAKE2B e93d2fccaaa920727d34ee98788bcc0c4b5ca646ca8e4361ed67e1a94095d576370b356d1dfe289d492dbe3c9af6ce7c6b89ec27bad45c947b7a30473cd0611a SHA512 77173cd9cc69ba3b999493ebfa51965610fe3d45dd5f6f85e1ca04d1374419f8687a0d41f8263abd6974790bb71e7800eb002199dffea37f546e56ed4f83751a +DIST LoopTools-2.16.tar.gz 537527 BLAKE2B c443468c112eb29c915c08b3b36756787a8d96261581e11bd93a6e5c0406b33f61242aea09911454d4690b9a41f8dad537fd83e8d518577a7a729eacc2734a92 SHA512 42109e29480e0260a50d1f66f26d28abbb7561df1a0f71bbc4f579af7304c182e8f612f46e2fa77d2371d35cd416eb3c3efacf3f344be1c279fd582da797124b diff --git a/sci-physics/looptools/files/looptools-2.15-configure.patch b/sci-physics/looptools/files/looptools-2.15-configure.patch new file mode 100644 index 000000000000..dad050dabc2f --- /dev/null +++ b/sci-physics/looptools/files/looptools-2.15-configure.patch @@ -0,0 +1,17 @@ +--- a/configure 2025-10-16 16:41:27.321793786 +0200 ++++ b/configure 2025-10-16 16:41:37.465121596 +0200 +@@ -132,11 +132,11 @@ + } + + +-findprog gcc CC clang gcc || exit 1 ++#findprog gcc CC clang gcc || exit 1 + +-findprog g++ CXX clang++ g++ || exit 1 ++#findprog g++ CXX clang++ g++ || exit 1 + +-findprog fortran FC ${CONF_REAL10:+gfortran} ${CONF_QUAD:+ifort gfortran xlf} ifort pgf90 xlf gfortran g95 f90 || exit 1 ++#findprog fortran FC ${CONF_REAL10:+gfortran} ${CONF_QUAD:+ifort gfortran xlf} ifort pgf90 xlf gfortran g95 f90 || exit 1 + + CONF_DEF="-D" + diff --git a/sci-physics/looptools/files/looptools-2.16-configure.patch b/sci-physics/looptools/files/looptools-2.16-configure.patch new file mode 100644 index 000000000000..29c47052b558 --- /dev/null +++ b/sci-physics/looptools/files/looptools-2.16-configure.patch @@ -0,0 +1,17 @@ +--- a/configure 2025-10-16 17:14:09.657394288 +0200 ++++ b/configure 2025-10-16 17:14:23.127386983 +0200 +@@ -132,11 +132,11 @@ + } + + +-findprog gcc CC gcc clang || exit 1 ++#findprog gcc CC gcc clang || exit 1 + +-findprog g++ CXX g++ clang++ || exit 1 ++#findprog g++ CXX g++ clang++ || exit 1 + +-findprog fortran FC ${CONF_REAL10:+gfortran} ${CONF_QUAD:+ifort gfortran xlf} ifort pgf90 xlf gfortran g95 f90 || exit 1 ++#findprog fortran FC ${CONF_REAL10:+gfortran} ${CONF_QUAD:+ifort gfortran xlf} ifort pgf90 xlf gfortran g95 f90 || exit 1 + + CONF_DEF="-D" + diff --git a/sci-physics/looptools/files/looptools-2.16-makefile.patch b/sci-physics/looptools/files/looptools-2.16-makefile.patch new file mode 100644 index 000000000000..49d1ef64f98e --- /dev/null +++ b/sci-physics/looptools/files/looptools-2.16-makefile.patch @@ -0,0 +1,105 @@ +diff -Naru LoopTools-2.16.orig/makefile.in LoopTools-2.16/makefile.in +--- LoopTools-2.16.orig/makefile.in 2022-04-12 11:04:39.286039581 +0200 ++++ LoopTools-2.16/makefile.in 2022-04-12 11:07:50.023602000 +0200 +@@ -1,8 +1,8 @@ + BLD = build$(QUADSUFFIX) + +-LIBDIR = $(PREFIX)/lib$(LIBDIRSUFFIX) +-INCLUDEDIR = $(PREFIX)/include +-BINDIR = $(PREFIX)/bin ++LIBDIR = $(DESTDIR)/$(PREFIX)/lib$(LIBDIRSUFFIX) ++INCLUDEDIR = $(DESTDIR)/$(PREFIX)/include ++BINDIR = $(DESTDIR)/$(PREFIX)/bin + + LIB = libooptools$(QUADSUFFIX).a + FE = lt$(QUADSUFFIX)$(EXE) +@@ -11,6 +11,10 @@ + FXX = f++$(QUADSUFFIX) + INCLUDE = $(BLD)/looptools.h $(BLD)/clooptools.h + ++LIBRARY=libooptools.so ++REALNAME=$(LIBRARY) ++ ++ + ARGS = $(PARALLEL) \ + LIB="$(LIB)" \ + FE="$(FE)" \ +@@ -20,14 +24,14 @@ + EXE="$(EXE)" \ + DEF="$(DEF)" \ + NOUNDERSCORE="$(NOUNDERSCORE)" \ +- XFC="$(FC) $(FFLAGS) -I." \ ++ XFC="$(FC) $(FFLAGS) -I. -fPIC" \ + F90="$(F90)" \ + CDEFS="$(CDEFS)" \ + MCDEFS="$(MCDEFS)" \ + CC="$(CC)" \ +- CFLAGS="$(CFLAGS)" \ ++ CFLAGS="$(CFLAGS) -fPIC" \ + CXX="$(CXX)" \ +- CXXFLAGS="$(CXXFLAGS)" \ ++ CXXFLAGS="$(CXXFLAGS) -fPIC" \ + ML="$(ML)" \ + MCC="$(MCC)" \ + MCFLAGS="$(MCFLAGS)" \ +@@ -37,24 +41,23 @@ + NM="$(NM)" \ + DLLTOOL="$(DLLTOOL)" \ + LDFLAGS="$(LDFLAGS)" \ +- LIBPATH="$(LIBPATH)" ++ LIBPATH="$(LIBPATH)" \ ++ REALNAME="$(REALNAME)" + + +-default all lib frontend mma: force ++default all lib solib frontend mma: force + cd $(BLD) && $(MAKE) $(ARGS) $@ + +-install: lib frontend +- -mkdir $(PREFIX) ++install: lib solib frontend ++ -mkdir $(DESTDIR)/$(PREFIX) + -mkdir $(LIBDIR) $(BINDIR) $(INCLUDEDIR) + cp -p $(BLD)/$(LIB) $(LIBDIR) + cp -p $(INCLUDE) $(INCLUDEDIR) +- strip $(BLD)/$(FE) + cp -p $(BLD)/$(FCC) $(BLD)/$(FE) $(BINDIR) + rm -f $(BINDIR)/$(FXX) + ln -s $(FCC) $(BINDIR)/$(FXX) + test ! -f $(BLD)/$(MFE) || { \ + test -z "$(EXE)" || ldd $(BLD)/$(MFE) | awk '/\/usr\/bin\/cyg/ { system("cp -p " $$3 " $(BINDIR)/"); }' ; \ +- strip $(BLD)/$(MFE) ; \ + cp -p $(BLD)/$(MFE) $(BINDIR); \ + } + +diff -Naru LoopTools-2.16.orig/src/makefile LoopTools-2.16/src/makefile +--- LoopTools-2.16.orig/src/makefile 2022-04-12 11:04:39.287039595 +0200 ++++ LoopTools-2.16/src/makefile 2022-04-12 11:09:14.079731941 +0200 +@@ -1,6 +1,6 @@ +-default: frontend mma$(ML) ++default: frontend mma$(ML) solib + +-all: frontend mma1 ++all: frontend mma1 solib + + frontend: lib $(FE) + +@@ -8,6 +8,8 @@ + + mma0 lib: $(LIB) clooptools.h $(FCC) + ++solib: $(REALNAME) fcc ++ + + .SUFFIXES: + +@@ -240,6 +242,9 @@ + $(AR) $(ARFLAGS) $(LIB) $? + -$(RANLIB) $(LIB) + ++$(REALNAME): $(OBJS) ++ $(XFC) $(LDFLAGS) -shared -Wl,--soname,$(REALNAME) -o $@ $? ++ + + $(FE): lt.F $(LTINC) $(LIB) + $(XFC) -o $(FE) lt.F $(LIB) $(LDFLAGS) diff --git a/sci-physics/looptools/looptools-2.15-r1.ebuild b/sci-physics/looptools/looptools-2.15-r1.ebuild new file mode 100644 index 000000000000..bdfdf06bbed3 --- /dev/null +++ b/sci-physics/looptools/looptools-2.15-r1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fortran-2 toolchain-funcs flag-o-matic + +MY_P=LoopTools-${PV} + +DESCRIPTION="Tools for evaluation of scalar and tensor one-loop integrals" +HOMEPAGE="http://www.feynarts.de/looptools" +SRC_URI="http://www.feynarts.de/looptools/${MY_P}.tar.gz" + +LICENSE="LGPL-3" + +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc" + +PATCHES=( + "${FILESDIR}"/${P}-makefile.patch + "${FILESDIR}"/${P}-configure.patch +) + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + + export VER="${PV}" + # necessary fix for prefix + sed -i "s/lib\$(LIBDIRSUFFIX)/$(get_libdir)/" makefile.in || die +} + +src_configure() { + # fortran C bindings are not LTO compatible + filter-lto + econf CONF_CC=$(tc-getCC) CONF_CXX=$(tc-getCXX) CONF_FC=$(tc-getFC) +} + +src_install() { + default + + dolib.so build/libooptools.so.2.15 + # The name used for requesting this library varies + dosym libooptools.so.2.15 /usr/$(get_libdir)/libooptools.so + + rm "${ED}"/usr/$(get_libdir)/libooptools.a || die + use doc && dodoc manual/*.pdf +} diff --git a/sci-physics/looptools/looptools-2.16.ebuild b/sci-physics/looptools/looptools-2.16.ebuild new file mode 100644 index 000000000000..f6c4fc6fab0b --- /dev/null +++ b/sci-physics/looptools/looptools-2.16.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fortran-2 toolchain-funcs flag-o-matic + +MY_P=LoopTools-${PV} + +DESCRIPTION="Tools for evaluation of scalar and tensor one-loop integrals" +HOMEPAGE="http://www.feynarts.de/looptools" +SRC_URI="http://www.feynarts.de/looptools/${MY_P}.tar.gz" + +LICENSE="LGPL-3" + +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc" + +PATCHES=( + "${FILESDIR}"/${P}-makefile.patch + "${FILESDIR}"/${P}-configure.patch +) + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + + export VER="${PV}" + # necessary fix for prefix + sed -i "s/lib\$(LIBDIRSUFFIX)/$(get_libdir)/" makefile.in || die +} + +src_configure() { + # fortran C bindings are not LTO compatible + filter-lto + econf CONF_CC=$(tc-getCC) CONF_CXX=$(tc-getCXX) CONF_FC=$(tc-getFC) +} + +src_install() { + default + + dolib.so build/libooptools.so + # The name used for requesting this library varies + dosym libooptools.so /usr/$(get_libdir)/libooptools.so.2.16 + + rm "${ED}"/usr/$(get_libdir)/libooptools.a || die + use doc && dodoc manual/*.pdf +}
