diff options
author | Przemyslaw Pawelczyk <przemoc@zoho.com> | 2016-11-21 14:38:30 +0100 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2016-11-21 15:48:09 +0200 |
commit | 8b2a8b1a32ded529a034ba70033dcf90aaf3f194 (patch) | |
tree | fac7292ddda00bf05e072e744ecb4632345404a3 /community/rhash | |
parent | eff24145e92ae8c015cb86c2fd808311821f1d55 (diff) | |
download | aports-8b2a8b1a32ded529a034ba70033dcf90aaf3f194.tar.bz2 aports-8b2a8b1a32ded529a034ba70033dcf90aaf3f194.tar.xz |
community/rhash: moved from testing
Diffstat (limited to 'community/rhash')
-rw-r--r-- | community/rhash/APKBUILD | 37 | ||||
-rw-r--r-- | community/rhash/librhash-byte_order.h-Consult-also-compiler-s-predef.patch | 50 |
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 + |