aboutsummaryrefslogtreecommitdiffstats
path: root/community/cmus
diff options
context:
space:
mode:
authorinfo@mobile-stream.com <info@mobile-stream.com>2018-11-28 07:01:20 +0000
committerLeonardo Arena <rnalrd@alpinelinux.org>2018-11-30 12:52:52 +0000
commitf068acfb28c773361e7353e0a0d64cc3b8772a9f (patch)
tree9d223151218ee44e85bdb6a8f0840c14f170c195 /community/cmus
parent6de784e835e267c4eb4b0c1e995fb27e213241b3 (diff)
community/cmus: fix build on mips{el} (-latomic)
This adds generic -latomic check so likely covers all architectures without 64-bit atomic built-ins (e.g. armel too).
Diffstat (limited to 'community/cmus')
-rw-r--r--community/cmus/APKBUILD9
-rw-r--r--community/cmus/c11-atomics-check.patch57
2 files changed, 63 insertions, 3 deletions
diff --git a/community/cmus/APKBUILD b/community/cmus/APKBUILD
index 03c927ee01e..e52ce290d57 100644
--- a/community/cmus/APKBUILD
+++ b/community/cmus/APKBUILD
@@ -4,7 +4,7 @@
pkgname=cmus
pkgver=2.8.0_rc0
_pkgver=${pkgver/_rc/-rc}
-pkgrel=0
+pkgrel=1
pkgdesc="A very feature-rich ncurses-based music player"
url="https://cmus.github.io/"
arch="all"
@@ -15,7 +15,9 @@ makedepends="alsa-lib-dev faad2-dev flac-dev libmad-dev opusfile-dev
linux-headers"
subpackages="$pkgname-doc $pkgname-zsh-completion:zshcomp:noarch
$pkgname-bash-completion:bashcomp:noarch"
-source="$pkgname-$_pkgver.tar.gz::https://github.com/cmus/cmus/archive/v$_pkgver.tar.gz"
+source="$pkgname-$_pkgver.tar.gz::https://github.com/cmus/cmus/archive/v$_pkgver.tar.gz
+ c11-atomics-check.patch
+ "
builddir="$srcdir"/$pkgname-$_pkgver
build() {
@@ -51,4 +53,5 @@ zshcomp() {
"$subpkgdir"/usr/share/zsh/site-functions/_$pkgname
}
-sha512sums="0379f18497d6510fad35a2d905c932d12f2726a5694d3ab272ce139e9ea4520cb4dd1cf3fafe890f6ada8a64285f8c04ef7571647a66c2d44df17e2dca80f869 cmus-2.8.0-rc0.tar.gz"
+sha512sums="0379f18497d6510fad35a2d905c932d12f2726a5694d3ab272ce139e9ea4520cb4dd1cf3fafe890f6ada8a64285f8c04ef7571647a66c2d44df17e2dca80f869 cmus-2.8.0-rc0.tar.gz
+97cb5e7340a9baf1d662cd965a169bf63aca28ae165bc0ca1ed81cabfd44b3d3215abbd8e8c42ecdeeaede5ca03271eccb722048d61a894b55f3c7d353e4044e c11-atomics-check.patch"
diff --git a/community/cmus/c11-atomics-check.patch b/community/cmus/c11-atomics-check.patch
new file mode 100644
index 00000000000..b5c22e9be8e
--- /dev/null
+++ b/community/cmus/c11-atomics-check.patch
@@ -0,0 +1,57 @@
+--- a/Makefile
++++ b/Makefile
+@@ -21,7 +21,7 @@
+ FFMPEG_CFLAGS += $(shell pkg-config --cflags libswresample)
+ FFMPEG_LIBS += $(shell pkg-config --libs libswresample)
+
+-CMUS_LIBS = $(PTHREAD_LIBS) $(NCURSES_LIBS) $(ICONV_LIBS) $(DL_LIBS) $(DISCID_LIBS) \
++CMUS_LIBS = $(ATOMIC_LIBS) $(PTHREAD_LIBS) $(NCURSES_LIBS) $(ICONV_LIBS) $(DL_LIBS) $(DISCID_LIBS) \
+ -lm $(COMPAT_LIBS) $(LIBSYSTEMD_LIBS)
+
+ input.o main.o ui_curses.o op/pulse.lo: .version
+--- a/configure
++++ b/configure
+@@ -39,7 +39,35 @@
+ return 1
+ }
+
++readonly atomic_code="
++#include <stdatomic.h>
+
++int main(int argc, char *argv[])
++{
++ static atomic_llong x = ATOMIC_VAR_INIT(1);
++ return atomic_fetch_add_explicit(&x, argc, memory_order_relaxed) == 2;
++}
++"
++
++check_atomic()
++{
++ msg_checking "if -latomic is needed for C11 atomics"
++ if try_compile_link "$atomic_code"
++ then
++ msg_result "no"
++ ATOMIC_LIBS=
++ elif try_compile_link "$atomic_code" -latomic
++ then
++ msg_result "yes"
++ ATOMIC_LIBS=-latomic
++ else
++ msg_result "no C11 atomics?!"
++ return 1
++ fi
++ makefile_vars ATOMIC_LIBS
++ return 0
++}
++
+ check_compat()
+ {
+ COMPAT_LIBS=
+@@ -517,6 +545,7 @@
+ check check_cflags
+ check check_cc_depgen
+ check check_endianness
++check check_atomic
+ check check_compat
+ check check_dl
+ check check_pthread