summaryrefslogtreecommitdiff
path: root/sci-mathematics/plfit
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/plfit')
-rw-r--r--sci-mathematics/plfit/Manifest3
-rw-r--r--sci-mathematics/plfit/files/plfit-0.9.4-underlinking.patch37
-rw-r--r--sci-mathematics/plfit/plfit-0.9.4.ebuild37
3 files changed, 77 insertions, 0 deletions
diff --git a/sci-mathematics/plfit/Manifest b/sci-mathematics/plfit/Manifest
index 1dd98e50d94e..3029f347fac1 100644
--- a/sci-mathematics/plfit/Manifest
+++ b/sci-mathematics/plfit/Manifest
@@ -1,3 +1,6 @@
+AUX plfit-0.9.4-underlinking.patch 1374 BLAKE2B 817174f4f5ce79bc9d82c19177860a2e5e6bcd9bd27812454fbbe021c6be192fa4a9a7a2f5da65998732cfa65c625b4a777a6c66ca607e80cef2fed76247eecc SHA512 ec5c231741bb9bef5aaa1eb7d6207235713a22382a53e6f734f509f5dec9d5c183694c3e7ebe9d1bb41f3f6d62280ec19db80892bbca9140880cb63d2067752a
DIST plfit-0.9.3.tar.gz 178880 BLAKE2B 611c4d30fa39cb05f8324670c484fd504abf2b1638602f5fede31438bf831f8aa3d7f3a5c6f2edbab377c99bf5f67763149f288581778fdd2fe9a1596a0d4a23 SHA512 6ca0fab75f607b27801576ff6752002079e11c736d0c3f6a669f20bb2869a254aa3ba124a5f6df1ad1daed25c59c8b0952838478cd42570e6d399958f0796e84
+DIST plfit-0.9.4.tar.gz 180432 BLAKE2B 9e7c7f6c4aaf014d9fbe7e2319e4294ec96753c10d9463436a191e7c17910b7bfd7a701b13c179b6125cb7f398f73951277272a4e40ca2ed841aed07c30b8cc1 SHA512 39cb644de20645b35b8ce6f95bb074276314f5fdc755e0d7eba8e69d1f0d65b784cd755b7a4481e933f8863c30f6b2957e7dba45fc9a695cef14ad4fef729885
EBUILD plfit-0.9.3.ebuild 945 BLAKE2B 667b9ada00dd45ac97be8dbd7f06b95148e1c4f444d9b60a0506157fc42d0a16fe5541dfe127d94ce85836bc05be65abb92fc8b0e59c26202f652604dd8e7a25 SHA512 3594af47d96dae49061705f9f6db287093279b522290c9dfcd98bf1719fba365418de74b6e23c0dea9c8547da8c3de1d073c7d443e146d171d8bcc1fa17f5bad
+EBUILD plfit-0.9.4.ebuild 999 BLAKE2B b09a5934bb72166440d04a52fcad6f700bd3047c5a927875f080c5a320813622a9fea261abc476df13dbbd30b2afc3e949974b9fcfb1a9eaaa4fb523135d5630 SHA512 ae9438a11ecd41b9bde73081a3e84ad2672f5198e0ccc25d41571b0b4ecf7d9754387714c318811e034ecd46b633935fc5dfb132cf4dc49b87c3cb3274ec15ba
MISC metadata.xml 392 BLAKE2B ed6840c2dcf1c2f20ff69f94c0926a82b7aef46af87cfe1161a59a85da16d7c304704e0dd8ba10dda031f8b7618fffa9b6f45ecd6af898b47e3c3abe06494b3f SHA512 dc2f5c8b458bb59b6f602507272aca5bb160f89f400b0cc9a77ae5b93b2c6e141eb2a4bcdb6a2162d1f994d21e31eb90367b129e1b019f4860658eb62647b1db
diff --git a/sci-mathematics/plfit/files/plfit-0.9.4-underlinking.patch b/sci-mathematics/plfit/files/plfit-0.9.4-underlinking.patch
new file mode 100644
index 000000000000..5574756e35f4
--- /dev/null
+++ b/sci-mathematics/plfit/files/plfit-0.9.4-underlinking.patch
@@ -0,0 +1,37 @@
+From 0559e4683ec72d7608560414d8d6797f83c74ea7 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 8 Mar 2024 17:17:45 -0500
+Subject: [PATCH] src/CMakeLists.txt: link libplfit against $MATH_LIBRARY
+
+The libplfit library makes use of several math functions (exp, log,
+...) , and so should be linked to libm directly when libm is required
+for those functions. If it is not, then compilation may succeed
+leaving the resulting library underlinked. This can lead to errors
+like,
+
+ test_discrete: symbol lookup error: .../src/libplfit.so.0: undefined
+ symbol: log
+
+when linking with lld and LDFLAGS="Wl,--as-needed". (The error above
+comes from plfit's own test suite.)
+
+Gentoo-bug: https://bugs.gentoo.org/926433
+---
+ src/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index fbfb3e8..3dd50fb 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -13,6 +13,7 @@ set(PLFIT_CORE_SRCS error.c gss.c kolmogorov.c lbfgs.c mt.c platform.c plfit.c o
+ add_library(plfit ${PLFIT_CORE_SRCS})
+ target_include_directories(plfit PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ set_target_properties(plfit PROPERTIES SOVERSION 0)
++target_link_libraries(plfit ${MATH_LIBRARY})
+
+ if(PLFIT_USE_OPENMP AND OPENMP_FOUND)
+ target_link_libraries(plfit OpenMP::OpenMP_C)
+--
+2.43.0
+
diff --git a/sci-mathematics/plfit/plfit-0.9.4.ebuild b/sci-mathematics/plfit/plfit-0.9.4.ebuild
new file mode 100644
index 000000000000..a01a4159554a
--- /dev/null
+++ b/sci-mathematics/plfit/plfit-0.9.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fit power-law distributions to empirical data"
+HOMEPAGE="https://github.com/ntamas/plfit"
+SRC_URI="https://github.com/ntamas/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+# plfit is gpl-2 and its source headers say "or later." The upstream
+# doc/ directory contains MIT and BSD licenses for two components.
+LICENSE="BSD GPL-2+ MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2"
+
+PATCHES=(
+ "${FILESDIR}/${P}-underlinking.patch"
+)
+
+DOCS=( CHANGELOG.md README.rst doc/THANKS )
+
+src_configure() {
+ local mycmakeargs=(
+ -DPLFIT_COMPILE_PYTHON_MODULE=OFF
+ -DPLFIT_USE_SSE=OFF
+ -DPLFIT_USE_OPENMP=OFF
+ )
+ if use cpu_flags_x86_sse || use cpu_flags_x86_sse2; then
+ # plfit chooses which to use at compile time based on the
+ # constants __SSE__ and __SSE2__.
+ mycmakeargs+=( -DPLFIT_USE_SSE=ON )
+ fi
+ cmake_src_configure
+}