aboutsummaryrefslogtreecommitdiffstats
path: root/community/rhash
diff options
context:
space:
mode:
authorPrzemyslaw Pawelczyk <przemoc@zoho.com>2016-11-21 14:38:30 +0100
committerTimo Teräs <timo.teras@iki.fi>2016-11-21 15:48:09 +0200
commit8b2a8b1a32ded529a034ba70033dcf90aaf3f194 (patch)
treefac7292ddda00bf05e072e744ecb4632345404a3 /community/rhash
parenteff24145e92ae8c015cb86c2fd808311821f1d55 (diff)
downloadaports-8b2a8b1a32ded529a034ba70033dcf90aaf3f194.tar.bz2
aports-8b2a8b1a32ded529a034ba70033dcf90aaf3f194.tar.xz
community/rhash: moved from testing
Diffstat (limited to 'community/rhash')
-rw-r--r--community/rhash/APKBUILD37
-rw-r--r--community/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch50
2 files changed, 87 insertions, 0 deletions
diff --git a/community/rhash/APKBUILD b/community/rhash/APKBUILD
new file mode 100644
index 0000000000..e90f6c7345
--- /dev/null
+++ b/community/rhash/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Przemyslaw Pawelczyk <przemoc@zoho.com>
+pkgname=rhash
+pkgver=1.3.4
+pkgrel=1
+pkgdesc="Utility for calculation and verification of hash sums and magnet links"
+url="http://rhash.anz.ru/"
+arch="all"
+license="custom"
+depends=
+depends_dev=""
+makedepends="$depends_dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-src.tar.gz
+ librhash-byte_order.h-Consult-also-compiler-s-predef.patch"
+
+builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$builddir"
+ make \
+ || return 1
+}
+
+package() {
+ cd "$builddir"
+ make install \
+ DESTDIR="$pkgdir" \
+ PREFIX=/usr \
+ || return 1
+}
+
+md5sums="0b51010604659e9e99f6307b053ba13b rhash-1.3.4.tar.gz
+59a1c0a0d04a7b4356a8b893dce7c266 librhash-byte_order.h-Consult-also-compiler-s-predef.patch"
+sha256sums="406662c4703bd4cb1caae26f32700951a5e12adf39f141d3f40e0b461b1e9e49 rhash-1.3.4.tar.gz
+19561529fdd2ccb1aaf54b0459962f969b7eadccd4119d8e4c94dadd8ed24589 librhash-byte_order.h-Consult-also-compiler-s-predef.patch"
+sha512sums="a78be309011798d5e55023eb93f898c10254a42270288fa5ec68ad446b5f3d001e8c6f893683e5171e3858c86d45ce2ce16eefde1173209e1925420c27a7ff7a rhash-1.3.4.tar.gz
+5d14156b42d41f976f605d0e07fe9ae5cf5cb2266f65e2ab09690b2bb992d348317c0e115c81015ff645eb25ff556e628d1ebc268ced816c5f192c0cc83e3ed1 librhash-byte_order.h-Consult-also-compiler-s-predef.patch"
diff --git a/community/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch b/community/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch
new file mode 100644
index 0000000000..ddaefadaf0
--- /dev/null
+++ b/community/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch
@@ -0,0 +1,50 @@
+From cf3c9003487cbf8cc594dbb77e333e1609a1786e Mon Sep 17 00:00:00 2001
+From: Przemyslaw Pawelczyk <przemoc@gmail.com>
+Date: Thu, 17 Nov 2016 15:57:19 +0100
+Subject: [PATCH] librhash/byte_order.h: Consult also compiler's predefined
+ macros.
+
+byte_order.h includes <endian.h> only if glibc is used (i.e. __GLIBC__
+is defined), but there are other libc implementation that also provide
+endian.h, like musl libc for instance. Generally it's much better and
+cleaner to check feature test macros than check for particular
+implementation (and that is also why musl libc doesn't define __MUSL__).
+Unfortunately I am not aware of feature test macro guaranteeing endian.h
+availability.
+
+The simple solution is to add checking for compiler's pre-defined macros
+(__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_LITTLE_ENDIAN__) after
+checking macros coming from system headers, i.e. <endian.h> in this case
+(__BYTE_ORDER, __BIG_ENDIAN, __LITTLE_ENDIAN).
+
+That way we can better support new architectures w/o hardcoding their
+endianness, which is especially useful if they support both.
+---
+ librhash/byte_order.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/librhash/byte_order.h b/librhash/byte_order.h
+index 77b8bb9..5cb081e 100644
+--- a/librhash/byte_order.h
++++ b/librhash/byte_order.h
+@@ -38,6 +38,8 @@ extern "C" {
+ /* detect CPU endianness */
+ #if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \
+ __BYTE_ORDER == __LITTLE_ENDIAN) || \
++ (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \
++ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || \
+ defined(CPU_IA32) || defined(CPU_X64) || \
+ defined(__ia64) || defined(__ia64__) || defined(__alpha__) || defined(_M_ALPHA) || \
+ defined(vax) || defined(MIPSEL) || defined(_ARM_) || defined(__arm__)
+@@ -46,6 +48,8 @@ extern "C" {
+ # define IS_LITTLE_ENDIAN 1
+ #elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && \
+ __BYTE_ORDER == __BIG_ENDIAN) || \
++ (defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && \
++ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) || \
+ defined(__sparc) || defined(__sparc__) || defined(sparc) || \
+ defined(_ARCH_PPC) || defined(_ARCH_PPC64) || defined(_POWER) || \
+ defined(__POWERPC__) || defined(POWERPC) || defined(__powerpc) || \
+--
+2.8.3
+