summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakov Smolić <jsmolic@gentoo.org>2022-04-06 23:33:52 +0200
committerJakov Smolić <jsmolic@gentoo.org>2022-04-06 23:35:33 +0200
commit9d44e2b5c7af59aad6c12653466d0e0b2c36c031 (patch)
tree068850dfdf098615bd2e06e6f1bf4e034a59d990 /app-shells/fish
parentdev-python/reedsolomon: Remove old (diff)
downloadgentoo-9d44e2b5c7af59aad6c12653466d0e0b2c36c031.tar.gz
gentoo-9d44e2b5c7af59aad6c12653466d0e0b2c36c031.tar.bz2
gentoo-9d44e2b5c7af59aad6c12653466d0e0b2c36c031.zip
app-shells/fish: Fix linking with libatomic
Patch is already upstreamed, drop on next version bump. Closes: https://bugs.gentoo.org/836951 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
Diffstat (limited to 'app-shells/fish')
-rw-r--r--app-shells/fish/files/fish-3.4.1-atomic.patch65
-rw-r--r--app-shells/fish/fish-3.4.1.ebuild5
2 files changed, 70 insertions, 0 deletions
diff --git a/app-shells/fish/files/fish-3.4.1-atomic.patch b/app-shells/fish/files/fish-3.4.1-atomic.patch
new file mode 100644
index 000000000000..a12e069a7433
--- /dev/null
+++ b/app-shells/fish/files/fish-3.4.1-atomic.patch
@@ -0,0 +1,65 @@
+https://bugs.gentoo.org/836951
+Taken from https://github.com/fish-shell/fish-shell/pull/8851
+
+From a3eb41ca882cc390b656515dd668a6816f745121 Mon Sep 17 00:00:00 2001
+From: Raymond Wong <infiwang@pm.me>
+Date: Mon, 4 Apr 2022 01:14:26 +0800
+Subject: [PATCH 1/2] cmake: alter check for 64-bit atomic operation
+
+Signed-off-by: Raymond Wong <infiwang@pm.me>
+---
+ cmake/ConfigureChecks.cmake | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake
+index bc190de054f..924aea1015a 100644
+--- a/cmake/ConfigureChecks.cmake
++++ b/cmake/ConfigureChecks.cmake
+@@ -255,10 +255,10 @@ int main () {
+ check_cxx_source_compiles("
+ #include <atomic>
+ #include <cstdint>
+-std::atomic<uint64_t> x (0);
++std::atomic<uint64_t> n64 (0);
+ int main() {
+-uint64_t i = x.load(std::memory_order_relaxed);
+-return std::atomic_is_lock_free(&x);
++uint64_t i = n64.load(std::memory_order_relaxed);
++return std::atomic_is_lock_free(&n64);
+ }"
+ LIBATOMIC_NOT_NEEDED)
+ IF (NOT LIBATOMIC_NOT_NEEDED)
+
+From 2fe9bfe0a6c1a821dabbf52af35c8eb2cd6e029b Mon Sep 17 00:00:00 2001
+From: Raymond Wong <infiwang@pm.me>
+Date: Sun, 3 Apr 2022 14:01:15 +0800
+Subject: [PATCH 2/2] cmake: check for 8-bit atomic operation
+
+Fix building on RISC-V.
+Closes #8850.
+
+Signed-off-by: Raymond Wong <infiwang@pm.me>
+---
+ cmake/ConfigureChecks.cmake | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake
+index 924aea1015a..6562d324f45 100644
+--- a/cmake/ConfigureChecks.cmake
++++ b/cmake/ConfigureChecks.cmake
+@@ -255,10 +255,13 @@ int main () {
+ check_cxx_source_compiles("
+ #include <atomic>
+ #include <cstdint>
++std::atomic<uint8_t> n8 (0);
+ std::atomic<uint64_t> n64 (0);
+ int main() {
+-uint64_t i = n64.load(std::memory_order_relaxed);
+-return std::atomic_is_lock_free(&n64);
++uint8_t i = n8.load(std::memory_order_relaxed);
++uint64_t j = n64.load(std::memory_order_relaxed);
++return std::atomic_is_lock_free(&n8)
++ & std::atomic_is_lock_free(&n64);
+ }"
+ LIBATOMIC_NOT_NEEDED)
+ IF (NOT LIBATOMIC_NOT_NEEDED)
diff --git a/app-shells/fish/fish-3.4.1.ebuild b/app-shells/fish/fish-3.4.1.ebuild
index 45bc18a52822..9e86384466cc 100644
--- a/app-shells/fish/fish-3.4.1.ebuild
+++ b/app-shells/fish/fish-3.4.1.ebuild
@@ -49,6 +49,11 @@ BDEPEND="
S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ # bug 836951, drop on next version bump
+ "${FILESDIR}"/${PN}-3.4.1-atomic.patch
+)
+
python_check_deps() {
use test || return 0
has_version -d "dev-python/pexpect[${PYTHON_USEDEP}]"