diff options
Diffstat (limited to 'testing/portablexdr')
3 files changed, 147 insertions, 0 deletions
diff --git a/testing/portablexdr/APKBUILD b/testing/portablexdr/APKBUILD new file mode 100644 index 0000000000..4aaa5e00ea --- /dev/null +++ b/testing/portablexdr/APKBUILD @@ -0,0 +1,62 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=portablexdr +pkgver=4.9.1 +pkgrel=0 +pkgdesc="external data representation (XDR) library" +url="http://people.redhat.com/~rjones/portablexdr/" +arch="all" +license="GPLv2+" +depends="" +depends_dev="" +makedepends="$depends_dev libtool" +install="" +subpackages="$pkgname-dev rpcgen" +source="http://people.redhat.com/~rjones/portablexdr/files/portablexdr-$pkgver.tar.gz + portablexdr-4.9.1-no-config-h.patch + portablexdr-build-use-intptr_t-and-uintptr_t-to-cast-ptr-to-int.patch +" + +_builddir="$srcdir"/portablexdr-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + # rename byteswap.h so it does not gets pulled in by uclibc headers + mv byteswap.h _byteswap.h + sed -i -e 's/byteswap\.h/_byteswap.h/g' \ + Makefile.in *.c +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/usr/lib/*.la + ln -s portable-rpcgen "$pkgdir"/usr/bin/rpcgen +} + +rpcgen() { + pkgdesc="Portable rpcgen" + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ +} + +md5sums="949e6dc9815590e5688f18bfdd2a98f9 portablexdr-4.9.1.tar.gz +e5e44853226f8e756aa499299404d505 portablexdr-4.9.1-no-config-h.patch +6d8528d20edd2db618fad96f2afcd926 portablexdr-build-use-intptr_t-and-uintptr_t-to-cast-ptr-to-int.patch" diff --git a/testing/portablexdr/portablexdr-4.9.1-no-config-h.patch b/testing/portablexdr/portablexdr-4.9.1-no-config-h.patch new file mode 100644 index 0000000000..5307966a5b --- /dev/null +++ b/testing/portablexdr/portablexdr-4.9.1-no-config-h.patch @@ -0,0 +1,6 @@ +--- portablexdr-4.9.1/rpc/rpc.h.old 2011-07-05 14:36:57.938389205 +0100 ++++ portablexdr-4.9.1/rpc/rpc.h 2011-07-05 14:37:04.213519063 +0100 +@@ -1,3 +1,2 @@ +-#include "config.h" + #include <rpc/types.h> + #include <rpc/xdr.h> diff --git a/testing/portablexdr/portablexdr-build-use-intptr_t-and-uintptr_t-to-cast-ptr-to-int.patch b/testing/portablexdr/portablexdr-build-use-intptr_t-and-uintptr_t-to-cast-ptr-to-int.patch new file mode 100644 index 0000000000..847ca15910 --- /dev/null +++ b/testing/portablexdr/portablexdr-build-use-intptr_t-and-uintptr_t-to-cast-ptr-to-int.patch @@ -0,0 +1,79 @@ +From a7461e1430fcc26b02457f7b8f53dc423c062e1e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com> +Date: Mon, 23 Jan 2012 19:31:10 +0100 +Subject: [PATCH] build: use intptr_t and uintptr_t to cast ptr to int + +--- + xdr_mem.c | 2 +- + xdr_rec.c | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/xdr_mem.c b/xdr_mem.c +index 701cad2..f8a2d3a 100644 +--- a/xdr_mem.c ++++ b/xdr_mem.c +@@ -169,7 +169,7 @@ xdrmem_setpos(xdrs, pos) + register caddr_t newaddr = xdrs->x_base + pos; + register caddr_t lastaddr = xdrs->x_private + xdrs->x_handy; + +- if ((long)newaddr > (long)lastaddr) ++ if ((intptr_t)newaddr > (intptr_t)lastaddr) + return (FALSE); + xdrs->x_private = newaddr; + xdrs->x_handy = lastaddr - newaddr; +diff --git a/xdr_rec.c b/xdr_rec.c +index 6859c42..a0d34c6 100644 +--- a/xdr_rec.c ++++ b/xdr_rec.c +@@ -173,7 +173,7 @@ xdrrec_create(xdrs, sendsize, recvsize, tcp_handle, readit, writeit) + return; + } + for (rstrm->out_base = rstrm->the_buffer; +- (long) rstrm->out_base % BYTES_PER_XDR_UNIT != 0; ++ (intptr_t) rstrm->out_base % BYTES_PER_XDR_UNIT != 0; + rstrm->out_base++); + rstrm->in_base = rstrm->out_base + sendsize; + /* +@@ -472,12 +472,12 @@ xdrrec_endofrecord(xdrs, sendnow) + register u_long len; /* fragment length */ + + if (sendnow || rstrm->frag_sent || +- ((u_long)rstrm->out_finger + sizeof(u_long) >= +- (u_long)rstrm->out_boundry)) { ++ ((uintptr_t)rstrm->out_finger + sizeof(u_long) >= ++ (uintptr_t)rstrm->out_boundry)) { + rstrm->frag_sent = FALSE; + return (flush_out(rstrm, TRUE)); + } +- len = (u_long)(rstrm->out_finger) - (u_long)(rstrm->frag_header) - ++ len = (uintptr_t)(rstrm->out_finger) - (uintptr_t)(rstrm->frag_header) - + sizeof(u_long); + *(rstrm->frag_header) = htonl((u_long)len | LAST_FRAG); + rstrm->frag_header = (u_long *)rstrm->out_finger; +@@ -495,11 +495,11 @@ flush_out(rstrm, eor) + bool_t eor; + { + register u_long eormask = (eor == TRUE) ? LAST_FRAG : 0; +- register u_long len = (u_long)(rstrm->out_finger) - +- (u_long)(rstrm->frag_header) - sizeof(u_long); ++ register u_long len = (uintptr_t)(rstrm->out_finger) - ++ (uintptr_t)(rstrm->frag_header) - sizeof(u_long); + + *(rstrm->frag_header) = htonl(len | eormask); +- len = (u_long)(rstrm->out_finger) - (u_long)(rstrm->out_base); ++ len = (uintptr_t)(rstrm->out_finger) - (uintptr_t)(rstrm->out_base); + if ((*(rstrm->writeit))(rstrm->tcp_handle, rstrm->out_base, (int)len) + != (int)len) + return (FALSE); +@@ -517,7 +517,7 @@ fill_input_buf(rstrm) + register int len; + + where = rstrm->in_base; +- i = (long) rstrm->in_boundry % BYTES_PER_XDR_UNIT; ++ i = (intptr_t) rstrm->in_boundry % BYTES_PER_XDR_UNIT; + where += i; + len = rstrm->in_size - i; + if ((len = (*(rstrm->readit))(rstrm->tcp_handle, where, len)) == -1) +-- +1.7.7.5 + |