summaryrefslogtreecommitdiff
path: root/dev-libs/libatomic_ops
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libatomic_ops
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libatomic_ops')
-rw-r--r--dev-libs/libatomic_ops/Manifest4
-rw-r--r--dev-libs/libatomic_ops/files/libatomic_ops-7.6.4-gcc7.patch40
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.6.4.ebuild26
-rw-r--r--dev-libs/libatomic_ops/metadata.xml11
4 files changed, 81 insertions, 0 deletions
diff --git a/dev-libs/libatomic_ops/Manifest b/dev-libs/libatomic_ops/Manifest
new file mode 100644
index 000000000000..9db0b606f722
--- /dev/null
+++ b/dev-libs/libatomic_ops/Manifest
@@ -0,0 +1,4 @@
+AUX libatomic_ops-7.6.4-gcc7.patch 1669 BLAKE2B b37d7940e2a793fcda7f20d509e326fd002260294ae90726a7c23262e97d2f27cf985ce3f2a7e0038441b1d6e2fa39202d800d774d44b8dd69662acc8a35aa7b SHA512 a7e2efa8feb5c8e9f4468f6a74a4191c1e95112a5f646dd9635e76790899504242f94500a1599fa72b781159166b61c39e88da6c01e7febab91afad6f099bcf8
+DIST libatomic_ops-7.6.4.tar.gz 497571 BLAKE2B 151cd518a346dcf2540c2e8229c2309aa83a7cecc3d66e3e8bab3d09c8688d725e26b27c836c0a3a3a46cde40fedfe26b0cca53cf2b2017f67e72d4a4993371f SHA512 2e6ef0bfd4b77e9260383feb2865c96388fb1ebed9d37605eeb83ac87e3b6a565495d588808129ac7b3ee5f6a58a37440da7784b680cc6590842b09c2625983b
+EBUILD libatomic_ops-7.6.4.ebuild 777 BLAKE2B 0f1a533dd9fe6603a0b8b4b02263d67830c3751aa31e4b12fcee2eb9c0f93af9f0cad132d2ae7705ccee3645c333ee893f9763aa6f949dbcc3a3a14c0c4b4c26 SHA512 a5ce9721e64aaeb642587edcb6219f0f4ef64448bd995c96b90bd69e75ef390b462ae58f773fc808068797416693ec81bc0e758fd36b79006ef4d6ae15c9c0be
+MISC metadata.xml 347 BLAKE2B c8fa80a777d85e172d52bd7eae6523981b9fcc79fa8d6cb7378960adda45dd6489def86930704bb845e64437ff33b39f5401cda0d11ed021342235c7020759e5 SHA512 7a4acee1ccb58c4694e9100d556046c55f508050f6e09dc3d4dd509db9eb747b94eca152e1e98c2ebacd8b8c9c75c362426ad9545cac490f959ec16464f809e5
diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-7.6.4-gcc7.patch b/dev-libs/libatomic_ops/files/libatomic_ops-7.6.4-gcc7.patch
new file mode 100644
index 000000000000..66cabfa55821
--- /dev/null
+++ b/dev-libs/libatomic_ops/files/libatomic_ops-7.6.4-gcc7.patch
@@ -0,0 +1,40 @@
+Upstream commit: https://github.com/ivmai/libatomic_ops/commit/759fa976432e4f09b4a436774fff7119da050042
+
+From 759fa976432e4f09b4a436774fff7119da050042 Mon Sep 17 00:00:00 2001
+From: Ivan Maidanski <ivmai@mail.ru>
+Date: Thu, 29 Mar 2018 01:42:38 +0300
+Subject: [PATCH] Fix 'undefined reference to __atomic_load/store/cas_16' error
+ (gcc-7/x64)
+
+Issue #34 (libatomic_ops).
+
+* src/atomic_ops/sysdeps/gcc/x86.h [!AO_DISABLE_GCC_ATOMICS
+&& !__APPLE_CC__ && !__clang__ && AO_GNUC_PREREQ(7, 0)
+&& !AO_PREFER_BUILTIN_ATOMICS && !AO_THREAD_SANITIZER
+&& !__MINGW32__] (AO_SKIPATOMIC_double_compare_and_swap_ANY,
+AO_SKIPATOMIC_DOUBLE_LOAD_STORE_ANY): Define macro; add comment.
+---
+ src/atomic_ops/sysdeps/gcc/x86.h | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/atomic_ops/sysdeps/gcc/x86.h b/src/atomic_ops/sysdeps/gcc/x86.h
+index d7c06c5..b4ca39f 100644
+--- a/src/atomic_ops/sysdeps/gcc/x86.h
++++ b/src/atomic_ops/sysdeps/gcc/x86.h
+@@ -67,7 +67,15 @@
+ # define AO_SKIPATOMIC_DOUBLE_LOAD_STORE_ANY
+ # endif
+ # endif /* __x86_64__ */
+-# endif /* __clang__ */
++
++# elif AO_GNUC_PREREQ(7, 0) && !defined(AO_PREFER_BUILTIN_ATOMICS) \
++ && !defined(AO_THREAD_SANITIZER) && !defined(__MINGW32__)
++ /* gcc-7.x/x64 (gcc-7.2, at least) requires -latomic flag in case */
++ /* of double-word atomic operations use (but not in case of TSan). */
++ /* TODO: Revise it for the future gcc-7 releases. */
++# define AO_SKIPATOMIC_double_compare_and_swap_ANY
++# define AO_SKIPATOMIC_DOUBLE_LOAD_STORE_ANY
++# endif /* __GNUC__ && !__clang__ */
+
+ # ifdef AO_SKIPATOMIC_DOUBLE_LOAD_STORE_ANY
+ # define AO_SKIPATOMIC_double_load
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.6.4.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.6.4.ebuild
new file mode 100644
index 000000000000..7dba50603caf
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.6.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit multilib-minimal
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="https://github.com/ivmai/libatomic_ops/"
+SRC_URI="https://github.com/ivmai/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+PATCHES=( "${FILESDIR}"/${P}-gcc7.patch )
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} econf
+}
+
+multilib_src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libatomic_ops/metadata.xml b/dev-libs/libatomic_ops/metadata.xml
new file mode 100644
index 000000000000..057006f4df1d
--- /dev/null
+++ b/dev-libs/libatomic_ops/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ivmai/libatomic_ops</remote-id>
+ </upstream>
+</pkgmetadata>