summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-03-08 17:25:13 -0500
committerMichael Orlitzky <mjo@gentoo.org>2024-03-08 17:26:17 -0500
commitda7bb1db5f5363a8688798e854f4dd181d6b4fa2 (patch)
tree4c4d38843a78351632c187af33b87beff4f2303f /sci-mathematics/plfit
parentdev-lang/boogie: bump to 3.1.2 (diff)
downloadgentoo-da7bb1db5f5363a8688798e854f4dd181d6b4fa2.tar.gz
gentoo-da7bb1db5f5363a8688798e854f4dd181d6b4fa2.tar.bz2
gentoo-da7bb1db5f5363a8688798e854f4dd181d6b4fa2.zip
sci-mathematics/plfit: add 0.9.4 to fix underlinking issue
Closes: https://bugs.gentoo.org/926433 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics/plfit')
-rw-r--r--sci-mathematics/plfit/Manifest1
-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, 75 insertions, 0 deletions
diff --git a/sci-mathematics/plfit/Manifest b/sci-mathematics/plfit/Manifest
index 03611001ad5e..25316f83bbe3 100644
--- a/sci-mathematics/plfit/Manifest
+++ b/sci-mathematics/plfit/Manifest
@@ -1 +1,2 @@
DIST plfit-0.9.3.tar.gz 178880 BLAKE2B 611c4d30fa39cb05f8324670c484fd504abf2b1638602f5fede31438bf831f8aa3d7f3a5c6f2edbab377c99bf5f67763149f288581778fdd2fe9a1596a0d4a23 SHA512 6ca0fab75f607b27801576ff6752002079e11c736d0c3f6a669f20bb2869a254aa3ba124a5f6df1ad1daed25c59c8b0952838478cd42570e6d399958f0796e84
+DIST plfit-0.9.4.tar.gz 180432 BLAKE2B 9e7c7f6c4aaf014d9fbe7e2319e4294ec96753c10d9463436a191e7c17910b7bfd7a701b13c179b6125cb7f398f73951277272a4e40ca2ed841aed07c30b8cc1 SHA512 39cb644de20645b35b8ce6f95bb074276314f5fdc755e0d7eba8e69d1f0d65b784cd755b7a4481e933f8863c30f6b2957e7dba45fc9a695cef14ad4fef729885
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
+}