summaryrefslogtreecommitdiff
path: root/system/attr
diff options
context:
space:
mode:
Diffstat (limited to 'system/attr')
-rw-r--r--system/attr/APKBUILD75
-rw-r--r--system/attr/fix-decls.patch35
-rw-r--r--system/attr/fix-throw.patch33
-rw-r--r--system/attr/test-runner-musl.patch11
-rw-r--r--system/attr/test-runner-perl.patch11
5 files changed, 165 insertions, 0 deletions
diff --git a/system/attr/APKBUILD b/system/attr/APKBUILD
new file mode 100644
index 000000000..1a05e8d7b
--- /dev/null
+++ b/system/attr/APKBUILD
@@ -0,0 +1,75 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=attr
+pkgver=2.4.47
+pkgrel=7
+pkgdesc="Utilities for managing filesystem extended attributes"
+url="https://savannah.nongnu.org/projects/attr"
+arch="all"
+license="GPL2+ LGPL2+"
+depends=""
+options="!checkroot"
+makedepends="libtool autoconf automake bash gzip"
+checkdepends="perl"
+subpackages="$pkgname-dev $pkgname-doc libattr"
+source="http://download.savannah.nongnu.org/releases/attr/attr-$pkgver.src.tar.gz
+ fix-decls.patch
+ fix-throw.patch
+ test-runner-musl.patch
+ test-runner-perl.patch
+ "
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ update_config_sub
+
+ sed -i -e '/HAVE_ZIPPED_MANPAGES/s:=.*:=false:' \
+ include/builddefs.in
+}
+
+build() {
+ cd "$builddir"
+
+ OPTIMIZER="${CFLAGS}" DEBUG=-DNDEBUG INSTALL_USER=root INSTALL_GROUP=root ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/ \
+ --exec-prefix=/ \
+ --sbindir=/bin \
+ --bindir=/usr/bin \
+ --libdir=/lib \
+ --libexecdir=/usr/lib \
+ --includedir=/usr/include \
+ --mandir=/usr/share/man \
+ --datadir=/usr/share \
+ --disable-gettext
+ make
+}
+
+check() {
+ cd "$builddir"
+ make tests
+}
+
+package() {
+ cd "$builddir"
+ make -j1 DESTDIR="$pkgdir" \
+ install install-lib install-dev
+
+ # provided by man-pages
+ rm -r "$pkgdir"/usr/share/man/man2 \
+ "$pkgdir"/usr/share/man/man5/attr.5
+}
+
+libattr() {
+ pkgdesc="Dynamic library for extended attribute support"
+ replaces="attr"
+ mkdir -p "$subpkgdir"/lib
+ mv "$pkgdir"/lib/lib*.so.* "$subpkgdir"/lib/
+}
+
+sha512sums="2a333f63655758298650cf8f89c175efdc0112dcc4013e8d023e2a9a69f177e4bcb1f1d10b6666d6f2027dca4dec0833d54749952ab153d28367e1a72e6e2831 attr-2.4.47.src.tar.gz
+fa7925f63c611e39b28adbf8fa3838bd91c245e4694957c1a8e212cb8f289eb62e04f50806227f6c1947d432ddf7633a471c13dd08d513d1e2b8a9ac1906cb33 fix-decls.patch
+d758b864bac9bdbc3360df2e7a3bc7d04e06789975cf539b8e2b98b1d874744b55c80f0502e283f7233d6ec41f8a39624fe07b512a7fdc6af8d19dd3af5f9f5a fix-throw.patch
+da4b903ae0ba1c72bae60405745c1135d1c3c1cefd7525fca296f8dc7dac1e60e48eeba0ba80fddb035b24b847b00c5a9926d0d586c5d7989d0428e458d977d3 test-runner-musl.patch
+d10821cc73751171c6b9cc4172cf4c85be9b6e154782090a262a16fd69172a291c5d5c94587aebcf5b5d1e02c27769245d88f0aa86478193cf1a277ac7f4f18e test-runner-perl.patch"
diff --git a/system/attr/fix-decls.patch b/system/attr/fix-decls.patch
new file mode 100644
index 000000000..0de70a93d
--- /dev/null
+++ b/system/attr/fix-decls.patch
@@ -0,0 +1,35 @@
+From 667137acaffb8d0cc62b47821a67a52ba0637d5c Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 10 Jan 2014 13:56:37 +0000
+Subject: avoid glibc-specific DECLS defines
+
+This matches what we do in all the other headers.
+---
+diff --git a/include/xattr.h b/include/xattr.h
+index 70a84be..070d7c5 100644
+--- a/include/xattr.h
++++ b/include/xattr.h
+@@ -30,8 +30,9 @@
+ #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */
+ #define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */
+
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ extern int setxattr (const char *__path, const char *__name,
+ const void *__value, size_t __size, int __flags) __THROW;
+@@ -58,6 +59,8 @@ extern int removexattr (const char *__path, const char *__name) __THROW;
+ extern int lremovexattr (const char *__path, const char *__name) __THROW;
+ extern int fremovexattr (int __filedes, const char *__name) __THROW;
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* __XATTR_H__ */
+--
+cgit v0.9.0.2
diff --git a/system/attr/fix-throw.patch b/system/attr/fix-throw.patch
new file mode 100644
index 000000000..220e3ad28
--- /dev/null
+++ b/system/attr/fix-throw.patch
@@ -0,0 +1,33 @@
+From 92247401984dd9a80d9d0c8c030692323f980678 Mon Sep 17 00:00:00 2001
+From: Emmanuel Dreyfus <manu@netbsd.org>
+Date: Mon, 30 Jun 2014 13:06:05 +0000
+Subject: Portability fixes
+
+- <features.h> is Linux specific
+- Define __THROW for non glibc based systems
+---
+diff --git a/include/xattr.h b/include/xattr.h
+index 070d7c5..fd1f268 100644
+--- a/include/xattr.h
++++ b/include/xattr.h
+@@ -20,7 +20,18 @@
+ #ifndef __XATTR_H__
+ #define __XATTR_H__
+
++#if defined(linux)
+ #include <features.h>
++#endif
++
++/* Portability non glibc c++ build systems */
++#ifndef __THROW
++# if defined __cplusplus
++# define __THROW throw ()
++# else
++# define __THROW
++# endif
++#endif
+
+ #include <errno.h>
+ #ifndef ENOATTR
+--
+cgit v0.9.0.2
diff --git a/system/attr/test-runner-musl.patch b/system/attr/test-runner-musl.patch
new file mode 100644
index 000000000..082217477
--- /dev/null
+++ b/system/attr/test-runner-musl.patch
@@ -0,0 +1,11 @@
+--- attr-2.4.47/test/attr.test.old 2013-05-19 04:53:54.000000000 +0000
++++ attr-2.4.47/test/attr.test 2017-07-01 22:44:23.620785074 +0000
+@@ -11,7 +11,7 @@
+
+ $ touch f
+ $ setfattr -n user -v value f
+- > setfattr: f: Operation not supported
++ > setfattr: f: Not supported
+
+ $ setfattr -n user. -v value f
+ > setfattr: f: Invalid argument
diff --git a/system/attr/test-runner-perl.patch b/system/attr/test-runner-perl.patch
new file mode 100644
index 000000000..67e117034
--- /dev/null
+++ b/system/attr/test-runner-perl.patch
@@ -0,0 +1,11 @@
+--- attr-2.4.47/test/run.old 2013-05-19 04:53:54.000000000 +0000
++++ attr-2.4.47/test/run 2017-07-01 22:43:09.541515814 +0000
+@@ -84,7 +84,7 @@
+ if (defined $line) {
+ # Substitute %VAR and %{VAR} with environment variables.
+ $line =~ s[%(\w+)][$ENV{$1}]eg;
+- $line =~ s[%{(\w+)}][$ENV{$1}]eg;
++ $line =~ s[%\{(\w+)\}][$ENV{$1}]eg;
+ }
+ if (defined $line) {
+ if ($line =~ s/^\s*< ?//) {