commit:     9d44e2b5c7af59aad6c12653466d0e0b2c36c031
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  6 21:33:52 2022 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Wed Apr  6 21:35:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d44e2b5

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 <AT> gentoo.org>

 app-shells/fish/files/fish-3.4.1-atomic.patch | 65 +++++++++++++++++++++++++++
 app-shells/fish/fish-3.4.1.ebuild             |  5 +++
 2 files changed, 70 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+---
+ 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 <[email protected]>
+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 <[email protected]>
+---
+ 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}]"

Reply via email to