summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/exiv2/0000-pthread-init-fix.patch29
-rw-r--r--user/exiv2/0001-Amend-fix-for-9-to-apply-to-other-Unix-systems.patch36
-rw-r--r--user/exiv2/APKBUILD41
3 files changed, 106 insertions, 0 deletions
diff --git a/user/exiv2/0000-pthread-init-fix.patch b/user/exiv2/0000-pthread-init-fix.patch
new file mode 100644
index 000000000..ac69b14c1
--- /dev/null
+++ b/user/exiv2/0000-pthread-init-fix.patch
@@ -0,0 +1,29 @@
+From 620ef04e96f4c0d0894d976fc361588b6526a116 Mon Sep 17 00:00:00 2001
+From: clanmills <robin@clanmills.com>
+Date: Tue, 20 Jun 2017 20:41:30 +0100
+Subject: [PATCH] https://github.com/Exiv2/exiv2/issues/9 Fix submitted.
+
+---
+ src/actions.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/actions.cpp b/src/actions.cpp
+index 0ebe8505..17444c5b 100644
+--- a/src/actions.cpp
++++ b/src/actions.cpp
+@@ -2045,9 +2045,13 @@ namespace {
+ #else
+ /* Unix/Linux/Cygwin/MacOSX */
+ #include <pthread.h>
++ /* This is the critical section object (statically allocated). */
+ #if defined(__APPLE__)
+- /* This is the critical section object (statically allocated). */
+- static pthread_mutex_t cs = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
++ #if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
++ static pthread_mutex_t cs = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
++ #else
++ static pthread_mutex_t cs = PTHREAD_MUTEX_INITIALIZER;
++ #endif
+ #else
+ static pthread_mutex_t cs = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ #endif
diff --git a/user/exiv2/0001-Amend-fix-for-9-to-apply-to-other-Unix-systems.patch b/user/exiv2/0001-Amend-fix-for-9-to-apply-to-other-Unix-systems.patch
new file mode 100644
index 000000000..86412532d
--- /dev/null
+++ b/user/exiv2/0001-Amend-fix-for-9-to-apply-to-other-Unix-systems.patch
@@ -0,0 +1,36 @@
+From d775683f579543c35463ab2a8d9425da10d2f016 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Wed, 4 Oct 2017 00:15:30 -0500
+Subject: [PATCH] Amend fix for #9 to apply to other Unix systems
+
+At least the musl libc on Linux has the same issue as Mac OS X: the
+PTHREAD_RECURSIVE_* static initialiser does not exist. This is a
+documented and purposeful omission:
+
+http://www.openwall.com/lists/musl/2017/02/20/3
+
+This commit uses similar logic to the Apple test on other Unixes.
+---
+ src/actions.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/actions.cpp b/src/actions.cpp
+index fe14de4..aa15ec7 100644
+--- a/src/actions.cpp
++++ b/src/actions.cpp
+@@ -2051,7 +2051,11 @@ namespace {
+ static pthread_mutex_t cs = PTHREAD_MUTEX_INITIALIZER;
+ #endif
+ #else
+- static pthread_mutex_t cs = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
++ #if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
++ static pthread_mutex_t cs = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
++ #else
++ static pthread_mutex_t cs = PTHREAD_MUTEX_INITIALIZER;
++ #endif
+ #endif
+ #endif
+
+--
+2.10.0
+
diff --git a/user/exiv2/APKBUILD b/user/exiv2/APKBUILD
new file mode 100644
index 000000000..d9ced3064
--- /dev/null
+++ b/user/exiv2/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=exiv2
+pkgver=0.26
+pkgrel=1
+pkgdesc="Exif, IPTC and XMP metadata library and tools"
+url="http://www.exiv2.org"
+arch="all"
+options="!check" # No test suite.
+license="GPL-2.0+"
+depends=""
+depends_dev="expat-dev zlib-dev"
+makedepends="$depends_dev bash"
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://www.exiv2.org/builds/exiv2-$pkgver-trunk.tar.gz
+ 0000-pthread-init-fix.patch
+ 0001-Amend-fix-for-9-to-apply-to-other-Unix-systems.patch
+ "
+builddir="$srcdir"/exiv2-trunk
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ update_config_sub
+}
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="d1e9cab886e279b045768dd9ec781f07d2d36d573119403d0b76dc571442173aae6972f86ec55c3ea53fb3ee9ca3571eb8fd63a2a6643a970852813e88634a86 exiv2-0.26-trunk.tar.gz
+9721d359708c385be7c86a8f8a63de43b05b2578a29b4339861e82873aa81a98a7ee7252847b6c55529341187d40f552c488589b416fd9d1e27418925929c018 0000-pthread-init-fix.patch
+485bd340169f69a3ce356e59e9138250cc14592f4477bb73827c799fe465535954469634fc58a1856f690f0e0b4171cba6fdd3391d43c0efc5e89652b93eb3ce 0001-Amend-fix-for-9-to-apply-to-other-Unix-systems.patch"