commit:     bee3a8d385667f50753d725e6fa94e45a0dec7f7
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 03:38:33 2017 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 03:38:33 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bee3a8d3

net-libs/libtirpc: Add libtirpc-1.0.2

Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>
Package-Manager: Portage-2.3.6, Repoman-2.3.3

 net-libs/libtirpc/Manifest                         |  1 +
 .../files/libtirpc-1.0.2-bcopy-to-memmove.patch    | 49 +++++++++++++++++
 .../files/libtirpc-1.0.2-bzero-to-memset.patch     | 36 +++++++++++++
 net-libs/libtirpc/libtirpc-1.0.2.ebuild            | 62 ++++++++++++++++++++++
 4 files changed, 148 insertions(+)

diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
index 9d6a7415611..6c67c47e523 100644
--- a/net-libs/libtirpc/Manifest
+++ b/net-libs/libtirpc/Manifest
@@ -2,4 +2,5 @@ DIST libtirpc-0.2.4.tar.bz2 458544 SHA256 
45c3e21dfc23a5ba501f9dfc6671678316fdfd
 DIST libtirpc-0.2.5.tar.bz2 459094 SHA256 
62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db SHA512 
9f8afa1acb04a2c2c558018f2528f8caaa79994a2af2abeed947f914145872ef72988b241e11925c799db0de9ec51fd9baecd2b08150240b22f91e2e55a45194
 WHIRLPOOL 
a2b4f1c4825f2b774c2290cccd9d552bb7566ec9eb5988d3ab619d7870a907600f67e7af39fbc3e245606db8534f114c990145789c383206d3a9cf96cf043d8c
 DIST libtirpc-0.3.1.tar.bz2 479721 SHA256 
a8838fe180deb8a6f6e491ee665325a28dee4100ec6b1f0b86d611dbfe3a2bb8 SHA512 
31b0a00a5390e418ab909e02fb67cbe31bef3326ee0105b2d9dc3ed93270a86e30d4cd618335af01be6b4da4bea215c111b9bead0d8d3e225c2e1d1b2f1e76a3
 WHIRLPOOL 
183f8ef45c381287e33f50c183c5fdb02ccf6e58dc69a80bbf31c46fcf990c422f3971ce40c9f6607a6be0daf015e412633b9e49ff77be41e6b804a21d6fc72c
 DIST libtirpc-1.0.1.tar.bz2 495125 SHA256 
5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e SHA512 
c9b449e737bc2bd3d56e31e8352f312e89a7ec2a11b73b5ac314e7d82d3b644c611e422b623912453b67b668f86a6de7bb7f18c9495dd15de8e2798ec2ff41c8
 WHIRLPOOL 
cce6a4e69bd634b40d66594a81c23d2044b63eec16d6c96d6fcfaa7f2ca41fb9af99c8e2b964ec12be82682afa4090b218d7e14399fdfc9b32df6c2234bc3c9e
+DIST libtirpc-1.0.2.tar.bz2 509601 SHA256 
723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5 SHA512 
6c819019a8e81d8263d3c509b2eee59ba1ef092222c5a0a8d28f004c711afa252097eca7e6b0b919b2d780883dfd9ee7a363df4cee7fd2c9159a065257637cec
 WHIRLPOOL 
59306a645df28cfcfc1bf9e5215c59f0af7b8a01375ccef66c2ded4863e7183afd4b3ae0e7694f3eff78cc88f3978a4fd0c1b3375698fb90b59a08989021ebdc
 DIST libtirpc-glibc-nfs.tar.xz 8948 SHA256 
2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83 SHA512 
90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba
 WHIRLPOOL 
06bcf3fd4e424a86071e5c4ddeb89aa571c862e765aae9382d9f9a55ab72cd1c623490555c1a9bd3380a2d04ecb10fb47a75a7dddf449d4368a1a01617226858

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch 
b/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch
new file mode 100644
index 00000000000..91619b7ac9f
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch
@@ -0,0 +1,49 @@
+diff -Naurp libtirpc-1.0.2.orig/src/auth_time.c libtirpc-1.0.2/src/auth_time.c
+--- libtirpc-1.0.2.orig/src/auth_time.c        2017-07-05 11:02:23.000000000 
-0400
++++ libtirpc-1.0.2/src/auth_time.c     2017-07-30 17:48:31.361420071 -0400
+@@ -104,7 +104,7 @@ static int uaddr_to_sockaddr(uaddr, sin)
+       p_bytes[1] = (unsigned char)a[5] & 0x000000FF;
+ 
+       sin->sin_family = AF_INET; /* always */
+-      bcopy((char *)&p_bytes, (char *)&sin->sin_port, 2);
++      memmove((char *)&sin->sin_port, (char *)&p_bytes, 2);
+ 
+       return (0);
+ }
+diff -Naurp libtirpc-1.0.2.orig/src/crypt_client.c 
libtirpc-1.0.2/src/crypt_client.c
+--- libtirpc-1.0.2.orig/src/crypt_client.c     2017-07-05 11:02:23.000000000 
-0400
++++ libtirpc-1.0.2/src/crypt_client.c  2017-07-30 17:49:57.911419445 -0400
+@@ -75,8 +75,8 @@ _des_crypt_call(buf, len, dparms)
+       des_crypt_1_arg.desbuf.desbuf_val = buf;
+       des_crypt_1_arg.des_dir = dparms->des_dir;
+       des_crypt_1_arg.des_mode = dparms->des_mode;
+-      bcopy(dparms->des_ivec, des_crypt_1_arg.des_ivec, 8);
+-      bcopy(dparms->des_key, des_crypt_1_arg.des_key, 8);
++      memmove(des_crypt_1_arg.des_ivec, dparms->des_ivec, 8);
++      memmove(des_crypt_1_arg.des_key, dparms->des_key, 8);
+ 
+       result_1 = des_crypt_1(&des_crypt_1_arg, clnt);
+       if (result_1 == (desresp *) NULL) {
+@@ -88,8 +88,8 @@ _des_crypt_call(buf, len, dparms)
+ 
+       if (result_1->stat == DESERR_NONE ||
+           result_1->stat == DESERR_NOHWDEVICE) {
+-              bcopy(result_1->desbuf.desbuf_val, buf, len);
+-              bcopy(result_1->des_ivec, dparms->des_ivec, 8);
++              memmove(buf, result_1->desbuf.desbuf_val, len);
++              memmove(dparms->des_ivec, result_1->des_ivec, 8);
+       }
+ 
+       clnt_freeres(clnt, (xdrproc_t)xdr_desresp, result_1);
+diff -Naurp libtirpc-1.0.2.orig/src/svc_auth_des.c 
libtirpc-1.0.2/src/svc_auth_des.c
+--- libtirpc-1.0.2.orig/src/svc_auth_des.c     2017-07-05 11:02:23.000000000 
-0400
++++ libtirpc-1.0.2/src/svc_auth_des.c  2017-07-30 17:50:36.591419165 -0400
+@@ -145,7 +145,7 @@ _svcauth_des(rqst, msg)
+                       return (AUTH_BADCRED);
+               }
+               cred->adc_fullname.name = area->area_netname;
+-              bcopy((char *)ixdr, cred->adc_fullname.name, 
++              memmove(cred->adc_fullname.name, (char *)ixdr,
+                       (u_int)namelen);
+               cred->adc_fullname.name[namelen] = 0;
+               ixdr += (RNDUP(namelen) / BYTES_PER_XDR_UNIT);

diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch 
b/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch
new file mode 100644
index 00000000000..64b516ed826
--- /dev/null
+++ b/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch
@@ -0,0 +1,36 @@
+diff -Naurp libtirpc-1.0.2.orig/src/auth_time.c libtirpc-1.0.2/src/auth_time.c
+--- libtirpc-1.0.2.orig/src/auth_time.c        2017-07-05 11:02:23.000000000 
-0400
++++ libtirpc-1.0.2/src/auth_time.c     2017-07-30 17:46:39.481420880 -0400
+@@ -317,7 +317,7 @@ __rpc_get_time_offset(td, srv, thost, ua
+       sprintf(ipuaddr, "%d.%d.%d.%d.0.111", a1, a2, a3, a4);
+       useua = &ipuaddr[0];
+ 
+-      bzero((char *)&sin, sizeof(sin));
++      memset((char *)&sin, 0, sizeof(sin));
+       if (uaddr_to_sockaddr(useua, &sin)) {
+               msg("unable to translate uaddr to sockaddr.");
+               if (needfree)
+diff -Naurp libtirpc-1.0.2.orig/src/des_impl.c libtirpc-1.0.2/src/des_impl.c
+--- libtirpc-1.0.2.orig/src/des_impl.c 2017-07-05 11:02:23.000000000 -0400
++++ libtirpc-1.0.2/src/des_impl.c      2017-07-30 17:46:49.581420807 -0400
+@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, str
+     }
+   tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
+   tbuf[0] = tbuf[1] = 0;
+-  __bzero (schedule, sizeof (schedule));
++  memset (schedule, 0, sizeof (schedule));
+ 
+   return (1);
+ }
+diff -Naurp libtirpc-1.0.2.orig/src/svc_auth_des.c 
libtirpc-1.0.2/src/svc_auth_des.c
+--- libtirpc-1.0.2.orig/src/svc_auth_des.c     2017-07-05 11:02:23.000000000 
-0400
++++ libtirpc-1.0.2/src/svc_auth_des.c  2017-07-30 17:46:58.771420741 -0400
+@@ -356,7 +356,7 @@ cache_init()
+ 
+       authdes_cache = (struct cache_entry *)
+               mem_alloc(sizeof(struct cache_entry) * AUTHDES_CACHESZ);        
+-      bzero((char *)authdes_cache, 
++      memset((char *)authdes_cache, 0,
+               sizeof(struct cache_entry) * AUTHDES_CACHESZ);
+ 
+       authdes_lru = (short *)mem_alloc(sizeof(short) * AUTHDES_CACHESZ);

diff --git a/net-libs/libtirpc/libtirpc-1.0.2.ebuild 
b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
new file mode 100644
index 00000000000..8aa9a82f54c
--- /dev/null
+++ b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools multilib-minimal toolchain-funcs eutils
+
+DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
+HOMEPAGE="http://libtirpc.sourceforge.net/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+       mirror://gentoo/${PN}-glibc-nfs.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/3" # subslot matches SONAME major
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+       app-arch/xz-utils
+       >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.0.2-bcopy-to-memmove.patch"
+       "${FILESDIR}/${PN}-1.0.2-bzero-to-memset.patch"
+)
+
+src_prepare() {
+       cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+       epatch "${PATCHES[@]}"
+       epatch_user
+       eautoreconf
+}
+
+multilib_src_configure() {
+       ECONF_SOURCE=${S} \
+       econf \
+               $(use_enable ipv6) \
+               $(use_enable kerberos gssapi) \
+               $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+       default
+
+       # libtirpc replaces rpc support in glibc, so we need it in /
+       gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       insinto /etc
+       doins doc/netconfig
+
+       insinto /usr/include/tirpc
+       doins -r "${WORKDIR}"/tirpc/*
+
+       # makes sure that the linking order for nfs-utils is proper, as
+       # libtool would inject a libgssglue dependency in the list.
+       use static-libs || prune_libtool_files
+}

Reply via email to