summaryrefslogtreecommitdiff
path: root/dev-libs/igraph
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/igraph')
-rw-r--r--dev-libs/igraph/Manifest6
-rw-r--r--dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch35
-rw-r--r--dev-libs/igraph/igraph-0.10.10.ebuild (renamed from dev-libs/igraph/igraph-0.10.4.ebuild)13
-rw-r--r--dev-libs/igraph/igraph-0.10.4-r1.ebuild10
4 files changed, 56 insertions, 8 deletions
diff --git a/dev-libs/igraph/Manifest b/dev-libs/igraph/Manifest
index 47a21d684251..ebe8a43f8fc4 100644
--- a/dev-libs/igraph/Manifest
+++ b/dev-libs/igraph/Manifest
@@ -1,4 +1,6 @@
+AUX 808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch 1420 BLAKE2B c351b9f764dd7b33e153528aab123bf47a36032784d3626d56abc8f9eae7509acebde5641b6ceaadb75e8fad802d749fc120484bf11203d2d5b23b2736aea6a5 SHA512 a6bbd6a99eaa93b835fb3e15a6a77d6e1dd9d098c7e0728fbe2be77a56bf9fff0ea9e551c5e5d0d90c0b79292699997bd709416931f05191097524a55d9be551
+DIST igraph-0.10.10.tar.gz 4336247 BLAKE2B cef87afe544d09446c999894c44e1d56120cac74b6af5d749835fbf60e5ae0f1676d6754e084f167d23718c6ce9f7b8cee159d3d670d1d5f1f495775c7b0d2f0 SHA512 d4b8d29f9c39f8390c442877183e64c442fccbc6a02b3aed5c1d8871ca5998d1a168f392f8dde26a8c3593ed6c09a66a200ac1155fbde87d368b101011bb122c
DIST igraph-0.10.4.tar.gz 4279321 BLAKE2B 4e1fc8e8d6dd38cdb24ec564f51f2924e457376c258497b51d7dd4cec88d2226d5b202cdcfa69560e43fdb3cbd49656511178acd2ed705b4af26b1947a92f1ab SHA512 71bcec5f0ba100aae7614753f9232a4221580b822b4dc120e3a80eab59d70c42aedddb00728eb13faf7e522332c514c2e030314c416ded8a70e5de990ea8039b
-EBUILD igraph-0.10.4-r1.ebuild 1021 BLAKE2B b01cbda2c2cb2c94f27f5461b188416c17b659dce90905730c56da1b85248ee3ac5690ca78ff7cec393772986c2aa5e01f6fbc271e9d3fc7d1be71964955590b SHA512 dd7171f2f249f267efd5739824efa056079247babd6f5fb7c8874d7029cdd29205ca3e59fae701f2efba13e396038bb678968cfb6136ca6839b4e03d79ab55e2
-EBUILD igraph-0.10.4.ebuild 1030 BLAKE2B 5b235af8c10ad6adfb0525db31253d93b6dddc49d2b8684128892b8ffa9ddec5fad7dcd17687c7940bacfe150fe92df78803030767dd3358fbc52e8da8e162af SHA512 00c22cc88e5b5024adee3caef0df9a9d42569eff965de6cb5a334408802b7f57daed4ab8b1e38055f35805fc64802c8620bd29d22f203584dc9510c147f57c5c
+EBUILD igraph-0.10.10.ebuild 1134 BLAKE2B e6882d968a857612b02691a61b61b6fd23d3669b7fb96e4fae04e714b807d61fb5254a575ecdc7318c7698224b05d25464112d2efe93a2eb441402f807c69c60 SHA512 7db52d205e3baed5c4d484e5241860c4609d4ed3288ff24f329ca78c8673cd22e8ae95c9fce12133ec1f3e9ed9d436273767ae70d48dacdce5971fe5d904225f
+EBUILD igraph-0.10.4-r1.ebuild 1145 BLAKE2B 7e0ed002bd427552556de34a7dfdb1744a6bad829640940c9f355f9d0ecc4568d962b54bcc80a1d73adbf08fc8f114cd74c27dae4ba47350f1ee18fd44db0040 SHA512 b28e0fe0ac888f2a9c4becb0f9cd91137cf31b6287ca3a88f4fd849da6d3668e6343e713a51bcf90636af9aa50c28461703790dd4b9e55b4d18bde6c588de293
MISC metadata.xml 758 BLAKE2B 90df5f127db20d8d486a195a6c10d1e2159d2ca8ba1706adfec85c5317ef9b831ddf3595ab0f157cb30627db863fdeb72ce05d14bcd07291ec4735fd73a5e6b0 SHA512 3a5a7afe9387658aa41d587588af41b3cfae0c269e7da4badae23180b18c9854964942c292849321bc2c76feadcd4098223642f56736ca7a21a009d673446801
diff --git a/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch b/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
new file mode 100644
index 000000000000..4bf0f2c6c3a9
--- /dev/null
+++ b/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
@@ -0,0 +1,35 @@
+From 808c083fbe661207ee8f0fcd3be5096b5dc17d0d Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 5 Mar 2024 14:54:46 +0100
+Subject: [PATCH] Fix `-Wstrict-aliasing`
+
+* Casting a `uint64_t*` to `double*` invokes undefined behavior, since
+ it violates the strict aliasing rules of ISO C. Instead of casting
+ pointers, let's read through a union which is supported by C and
+ yields the same performant assembly code.
+
+Closes: https://bugs.gentoo.org/924864
+---
+ src/random/random.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/random/random.c b/src/random/random.c
+index 8f2d0898aa..b5b44451ae 100644
+--- a/src/random/random.c
++++ b/src/random/random.c
+@@ -681,8 +681,13 @@ igraph_real_t igraph_rng_get_unif01(igraph_rng_t *rng) {
+ * Then we subtract 1 to arrive at the [0; 1) interval. This is fast
+ * but we lose one bit of precision as there are 2^53 possible doubles
+ * between 0 and 1. */
+- uint64_t r = (igraph_i_rng_get_random_bits_uint64(rng, 52) & 0xFFFFFFFFFFFFFull) | 0x3FF0000000000000ull;
+- return *(double *)(&r) - 1.0;
++ union {
++ uint64_t as_uint64_t;
++ double as_double;
++ } value;
++ value.as_uint64_t =
++ (igraph_i_rng_get_random_bits_uint64(rng, 52) & 0xFFFFFFFFFFFFFull) | 0x3FF0000000000000ull;
++ return value.as_double - 1.0;
+ }
+ }
+
diff --git a/dev-libs/igraph/igraph-0.10.4.ebuild b/dev-libs/igraph/igraph-0.10.10.ebuild
index bdefdfb07f82..f270109ee806 100644
--- a/dev-libs/igraph/igraph-0.10.4.ebuild
+++ b/dev-libs/igraph/igraph-0.10.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/0"
-KEYWORDS="amd64 x86"
+KEYWORDS="~amd64 ~x86"
IUSE="debug test threads"
RESTRICT="!test? ( test )"
@@ -21,10 +21,16 @@ RDEPEND="
dev-libs/libxml2
sci-libs/arpack
sci-mathematics/glpk:=
+ sci-mathematics/plfit
virtual/blas
virtual/lapack"
DEPEND="${RDEPEND}"
+PATCHES=(
+ # backport fix for strict-aliasing
+ "${FILESDIR}"/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
+)
+
src_configure() {
local mycmakeargs=(
-DUSE_CCACHE=OFF
@@ -35,8 +41,7 @@ src_configure() {
-DIGRAPH_USE_INTERNAL_GLPK=OFF
-DIGRAPH_USE_INTERNAL_GMP=OFF
-DIGRAPH_USE_INTERNAL_LAPACK=OFF
- # Not packaged in ::gentoo atm
- -DIGRAPH_USE_INTERNAL_PLFIT=ON
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
-DIGRAPH_ENABLE_TLS=$(usex threads)
-DBUILD_TESTING=$(usex test)
)
diff --git a/dev-libs/igraph/igraph-0.10.4-r1.ebuild b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
index 0020face7f80..fd9d1d6f77ec 100644
--- a/dev-libs/igraph/igraph-0.10.4-r1.ebuild
+++ b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
DESCRIPTION="Creating and manipulating undirected and directed graphs"
HOMEPAGE="https://igraph.org/"
@@ -27,6 +27,12 @@ RDEPEND="
DEPEND="${RDEPEND}"
src_configure() {
+ # -Werror=strict-aliasing
+ #
+ # Fixed in upstream git master.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
local mycmakeargs=(
-DUSE_CCACHE=OFF
-DIGRAPH_GLPK_SUPPORT=ON