aboutsummaryrefslogtreecommitdiffstats
path: root/main/rhash
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2017-04-12 15:54:14 +0200
committerJakub Jirutka <jakub@jirutka.cz>2017-04-12 15:54:14 +0200
commite77e6d16efecb4c179efa741c543ff9facf52c5a (patch)
treed5b3b218f98a885b7f06f2eacce982da7d5b8265 /main/rhash
parent25e6e0f5d1a2033824cea870d713c072b430c23a (diff)
downloadaports-e77e6d16efecb4c179efa741c543ff9facf52c5a.tar.bz2
aports-e77e6d16efecb4c179efa741c543ff9facf52c5a.tar.xz
main/rhash: move from community (need for cmake)
Diffstat (limited to 'main/rhash')
-rw-r--r--main/rhash/APKBUILD29
-rw-r--r--main/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch50
2 files changed, 79 insertions, 0 deletions
diff --git a/main/rhash/APKBUILD b/main/rhash/APKBUILD
new file mode 100644
index 0000000000..8eb99c7518
--- /dev/null
+++ b/main/rhash/APKBUILD
@@ -0,0 +1,29 @@
+# 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"
+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
+}
+
+package() {
+ cd "$builddir"
+ make install DESTDIR="$pkgdir" PREFIX=/usr
+}
+
+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/main/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch b/main/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch
new file mode 100644
index 0000000000..ddaefadaf0
--- /dev/null
+++ b/main/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
+