summaryrefslogtreecommitdiff
path: root/sci-libs/m4ri
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/m4ri')
-rw-r--r--sci-libs/m4ri/Manifest3
-rw-r--r--sci-libs/m4ri/files/m4ri-20240729-pkgconfig.patch33
-rw-r--r--sci-libs/m4ri/m4ri-20240729.ebuild57
3 files changed, 93 insertions, 0 deletions
diff --git a/sci-libs/m4ri/Manifest b/sci-libs/m4ri/Manifest
index d7713c8a9edc..4709b5b9de8a 100644
--- a/sci-libs/m4ri/Manifest
+++ b/sci-libs/m4ri/Manifest
@@ -1,4 +1,7 @@
AUX m4ri-20200125-testfix.patch 1199 BLAKE2B 07759b0dcff67b1f454738ba4320ca23f19875b62e5414a6dfb3a84db805072c8d8e3901248a0c41d6c13c2837ebbbdc392f89beb398abb4e8050249354fb1b5 SHA512 85a5eec07776b5a5baafdf80c2d249583754dc25baff5b22031f7758e3d3119961444fa0a7c320a44b36cff7da67cfa9ceb7c2a0773bc9f5127c0a761898dabf
+AUX m4ri-20240729-pkgconfig.patch 1231 BLAKE2B 0b209b9ed0656ec7e0c0c99726fde8bb625248024f37529734d7e7c975885d3f396ee11488f6634cff973828097266b8274cc1a8dbfb5144e980e64e9d966787 SHA512 aded91b0d4368ed22fc001093010c9669ed1f8054903711a8426d28b15602fda508b70a86512f378161cca40a112dc53ce4ea99ace92456e2c3183ea05f3ea97
DIST m4ri-20200125.tar.gz 511132 BLAKE2B 637dbf7f17b84dc5fc91c9d8f501fa223cfacd687cb953ce3b9c4716e9a6d39318ef168c2ec8a4b5eeb469a4b46abbcd8802aaf694991d82deb20c832843c3ab SHA512 212ea58a93b792c1901f62411b06cd1a2ee60b3506c987e45ded73c146f2fa6baf5461b1dcabf31a5771ab5a44eab050d64714f7a5fca3df2d141d0d80c6c51a
+DIST release-20240729.tar.gz 178851 BLAKE2B 7a8bee1417da56d561add3b2e7d79f005f03ebf825a150a105d14caeb64b75ba4e30658b616a03cedc49d4e5c1b1a70393c6d5c6231bb1ba35abf20aaf93fb2e SHA512 afd74b0f9a1e3f16b313dca9a73fde85bd08aa431f0ad7064f09600434f27d6cabddc117cf99396dc8d83d245f81b7ed4185e305caad56dad79ecfefc11cf817
EBUILD m4ri-20200125.ebuild 1321 BLAKE2B 335a40f7e0b586ab38fbc0034a78309845b9a7459a0f9c2c7f98fc17cacbf85c13afa99efccfa90bfb9a046567f687088929297e90438588f3915b1589a19b8d SHA512 d9fc94bb55f61b9004a43dc04c9687b90bdcdbbc00614b591caa3ab68801f33ec0d4ccc2e7a0ea869dce5897d15d7a50869db1ca961dacdf8fabdf045117f06e
+EBUILD m4ri-20240729.ebuild 1330 BLAKE2B b63bb587a58a2998aa7004d52c21411ecba59949b1fe7894718a4b68cfa1493f46969575ddb07bdd869a61a03163ae7ff686e9ee1987530897e299be2bf02cf9 SHA512 ec715f7ad442e5c21e887f24c9cf9812049602c694237dc8bf4b66607083624185d129c8ebd5fe00e376ab122d9acbf56a78477be4d61bc8ddbb603a10b0ef76
MISC metadata.xml 1187 BLAKE2B b5428f60e018c6503ec91f9a13949c6e3571c94474d234317e416fa81e2370d473db9ecb5a1c73306e071673c27b02d57feae552b12f9ce791b426d7a8a488a4 SHA512 a984f783b8bb1971663a75ac655aba7e0a4ddbdb8db6d01105bb6a75711d8e83c9b598076207e1a9619198cca0ed901a5aef64a5443b6efe89a28c2571cdfa71
diff --git a/sci-libs/m4ri/files/m4ri-20240729-pkgconfig.patch b/sci-libs/m4ri/files/m4ri-20240729-pkgconfig.patch
new file mode 100644
index 000000000000..469b08e6dadb
--- /dev/null
+++ b/sci-libs/m4ri/files/m4ri-20240729-pkgconfig.patch
@@ -0,0 +1,33 @@
+From 132130a5e74dac9beeb42333a551d76714190f40 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 20 Jan 2025 23:11:30 -0500
+Subject: [PATCH] m4ri.pc.in: various compiler/linker flag improvements
+
+ 1. libpng moved from Requires to Requires.private. Programs using m4ri
+ don't need to pass -lpng unless they are statically linking.
+
+ 2. Move $OPENMP_CFLAGS to Libs.private. This belongs in Libs.private
+ (rather than Libs) for the same reason -lpng does, but it also does
+ NOT belong in Cflags, because we don't want to accidentally enable
+ OpenMP at compile time in every project that uses m4ri.
+---
+ m4ri.pc.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/m4ri.pc.in b/m4ri.pc.in
+index 0257aa6..ff1b3ce 100644
+--- a/m4ri.pc.in
++++ b/m4ri.pc.in
+@@ -6,6 +6,7 @@ includedir=@includedir@
+ Name: M4RI
+ Description: Dense linear algebra over GF(2).
+ Version: @PACKAGE_VERSION@
+-Requires: @M4RI_USE_PNG_PC@
++Requires.private: @M4RI_USE_PNG_PC@
+ Libs: -L${libdir} -lm4ri @RAW_LIBPNG@ @LIBM@ @LIBPNG_LIBADD@
+-Cflags: -I${includedir} @SIMD_CFLAGS@ @OPENMP_CFLAGS@ @LIBPNG_CFLAGS@
++Libs.private: @OPENMP_CFLAGS@
++Cflags: -I${includedir} @LIBPNG_CFLAGS@
+--
+2.45.2
+
diff --git a/sci-libs/m4ri/m4ri-20240729.ebuild b/sci-libs/m4ri/m4ri-20240729.ebuild
new file mode 100644
index 000000000000..04e50795ca67
--- /dev/null
+++ b/sci-libs/m4ri/m4ri-20240729.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Method of four russian for inversion (M4RI)"
+HOMEPAGE="https://github.com/malb/m4ri"
+SRC_URI="https://github.com/malb/${PN}/archive/refs/tags/release-${PV}.tar.gz"
+
+S="${WORKDIR}/${PN}-release-${PV}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug openmp cpu_flags_x86_sse2 png"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="png? ( media-libs/libpng:= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-pkgconfig.patch" )
+
+# NEWS and ChangeLog are empty as of 2025-01-20.
+DOCS=( AUTHORS README.md )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # when using openmp and -O0 the testsuite fails
+ # https://github.com/cschwan/sage-on-gentoo/issues/475
+ # Still current as of 20200115
+ use openmp && replace-flags -O0 -O1
+
+ econf \
+ $(use_enable debug) \
+ $(use_enable openmp) \
+ $(use_enable png) \
+ $(use_enable cpu_flags_x86_sse2 sse2)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}