nspr: upgraded package to upstream

Upgraded dev-libs/nspr to version 4.26 on amd64

BUG=chromium:1117644
TEST=cros_run_unit_tests --board=hatch,arm-generic

Change-Id: I3cf5d010d2822609e4aa8e1e07b79ddf4394b80c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2405364
Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
Tested-by: Kyra Moed <kmoed@google.com>
Commit-Queue: Kyra Moed <kmoed@google.com>
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
index 2272dbc..fe018ca 100644
--- a/dev-libs/nspr/Manifest
+++ b/dev-libs/nspr/Manifest
@@ -1 +1 @@
-DIST nspr-4.19.tar.gz 1139967 SHA256 2ed95917fa2277910d1d1cf36030607dccc0ba522bba08e2af13c113dcd8f729 SHA512 45a48111d0f89db0649a5e1356719868ff81881f9cf48c22c1d13b0831978b103f19e9840d6a5359fcdc90d763c0a60f0a29f7840d756a5efbd53ce1afd36844 WHIRLPOOL 0ca4624c20f23954f72b72f90350799b113c51b084873eb0d1248c37d47b82d4ce773c2a79238d49b7df206e82c86770ce9fd011f35756774411c09ea70f80f7
+DIST nspr-4.26.tar.gz 1079778 BLAKE2B db83afa5e3ab2e0ef92aa236db6d9f25e963b77df7c71400e691dc3e882ec6d63cbf13996eb1ae1a03a294def419e1669e38fe42990c66efedce03f121087e6c SHA512 d6632cde3570ee386ee1459257eba99f91dd62fa905fd82679222c83d63c185b76d8dca0422d4349de2dfce603472ae52bc0dcced0f142acb733374c74155d3c
diff --git a/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch b/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
new file mode 100644
index 0000000..2c8ebd4
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
@@ -0,0 +1,53 @@
+From 8c57451f44d7ceb37bfb4ae6e457fc70b1f58d0a Mon Sep 17 00:00:00 2001
+From: Moritz Kick <gentoo@blackphoenix.de>
+Date: Wed, 20 Mar 2019 13:36:06 -0500
+Subject: [PATCH] Added IPv6 compatibility for musl libc
+
+Signed-off-by: Moritz Kick <gentoo@blackphoenix.de>
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ pr/include/md/_linux.h | 13 +------------
+ 1 file changed, 1 insertion(+), 12 deletions(-)
+
+diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h
+index 2370ab8..612184c 100644
+--- a/pr/include/md/_linux.h
++++ b/pr/include/md/_linux.h
+@@ -289,33 +289,22 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv)
+ #endif /* __arm__ */
+ 
+ #define USE_SETJMP
+-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID)
+ #define _PR_POLL_AVAILABLE
+-#endif
+ #undef _PR_USE_POLL
+ #define _PR_STAT_HAS_ONLY_ST_ATIME
+ #if defined(__alpha) || defined(__ia64__)
+ #define _PR_HAVE_LARGE_OFF_T
+-#elif (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
+-    || defined(ANDROID)
+-#define _PR_HAVE_OFF64_T
+ #else
+-#define _PR_NO_LARGE_FILES
++#define _PR_HAVE_OFF64_T
+ #endif
+-#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
+-    || defined(ANDROID)
+ #define _PR_INET6
+ #define _PR_HAVE_INET_NTOP
+ #define _PR_HAVE_GETHOSTBYNAME2
+ #define _PR_HAVE_GETADDRINFO
+ #define _PR_INET6_PROBE
+-#endif
+ #ifndef ANDROID
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
+-#endif
+-/* Android has gethostbyname_r but not gethostbyaddr_r or gethostbyname2_r. */
+-#if (__GLIBC__ >= 2) && defined(_PR_PTHREADS)
+ #define _PR_HAVE_GETHOST_R
+ #define _PR_HAVE_GETHOST_R_INT
+ #endif
+-- 
+2.21.0
+
diff --git a/dev-libs/nspr/files/nspr-4.23-prtime.patch b/dev-libs/nspr/files/nspr-4.23-prtime.patch
new file mode 100644
index 0000000..087e427
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.23-prtime.patch
@@ -0,0 +1,26 @@
+--- a/pr/src/misc/prtime.c
++++ b/pr/src/misc/prtime.c
+@@ -1621,7 +1621,7 @@
+             case TT_EET: zone_offset =  2 * 60; break;
+             case TT_JST: zone_offset =  9 * 60; break;
+             default:
+-                PR_ASSERT (0);
++                return PR_FAILURE;
+                 break;
+         }
+     }
+@@ -1677,11 +1677,12 @@
+         struct tm localTime;
+         time_t secs;
+ 
+-        PR_ASSERT(result->tm_month > -1 &&
++        if (!(result->tm_month > -1 &&
+                   result->tm_mday > 0 &&
+                   result->tm_hour > -1 &&
+                   result->tm_min > -1 &&
+-                  result->tm_sec > -1);
++                  result->tm_sec > -1))
++                 return PR_FAILURE;
+ 
+         /*
+          * To obtain time_t from a tm structure representing the local
diff --git a/dev-libs/nspr/files/nspr-4.7.0-prtime.patch b/dev-libs/nspr/files/nspr-4.7.0-prtime.patch
deleted file mode 100644
index 2de3ba3..0000000
--- a/dev-libs/nspr/files/nspr-4.7.0-prtime.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/pr/src/misc/prtime.c
-+++ b/pr/src/misc/prtime.c
-@@ -1536,7 +1536,7 @@
-                 case TT_EET: zone_offset =  2 * 60; break;
-                 case TT_JST: zone_offset =  9 * 60; break;
-                 default:
--                  PR_ASSERT (0);
-+                  return PR_FAILURE;
-                   break;
-                 }
-         }
-@@ -1578,11 +1578,12 @@
-           struct tm localTime;
-           time_t secs;
- 
--          PR_ASSERT(result->tm_month > -1 &&
-+          if (!(result->tm_month > -1 &&
-                     result->tm_mday > 0 &&
-                     result->tm_hour > -1 &&
-                     result->tm_min > -1 &&
--                    result->tm_sec > -1);
-+                    result->tm_sec > -1))
-+		    return PR_FAILURE;
- 
-             /*
-              * To obtain time_t from a tm structure representing the local
diff --git a/dev-libs/nspr/nspr-4.19.ebuild b/dev-libs/nspr/nspr-4.26.ebuild
similarity index 86%
rename from dev-libs/nspr/nspr-4.19.ebuild
rename to dev-libs/nspr/nspr-4.26.ebuild
index 774255d..512f7e5 100644
--- a/dev-libs/nspr/nspr-4.19.ebuild
+++ b/dev-libs/nspr/nspr-4.26.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
-inherit autotools eutils multilib toolchain-funcs versionator multilib-minimal
+inherit autotools toolchain-funcs multilib-minimal
 
-MIN_PV="$(get_version_component_range 2)"
+MIN_PV="$(ver_cut 2)"
 
 DESCRIPTION="Netscape Portable Runtime"
 HOMEPAGE="http://www.mozilla.org/projects/nspr/"
@@ -14,14 +14,14 @@
 LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
 SLOT="0"
 KEYWORDS="*"
-IUSE="debug"
+IUSE="debug elibc_musl"
 
 MULTILIB_CHOST_TOOLS=(
 	/usr/bin/nspr-config
 )
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-4.7.0-prtime.patch
+	"${FILESDIR}"/${PN}-4.23-prtime.patch
 	"${FILESDIR}"/${PN}-4.7.1-solaris.patch
 	"${FILESDIR}"/${PN}-4.10.6-solaris.patch
 	"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
@@ -35,10 +35,14 @@
 
 	default
 
+	use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
+
 	# rename configure.in to configure.ac for new autotools compatibility
 	if [[ -e "${S}"/nspr/configure.in ]] ; then
 		einfo "Renaming configure.in to configure.ac"
 		mv "${S}"/nspr/configure.{in,ac} || die
+	else
+		elog "configure.in rename logic can be removed from ebuild."
 	fi
 
 	# We must run eautoconf to regenerate configure
@@ -103,16 +107,16 @@
 	emake DESTDIR="${D}" install
 
 	einfo "removing static libraries as upstream has requested!"
-	rm "${ED%/}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
+	rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
 
 	# install nspr-config
 	dobin config/nspr-config
 
 	# Remove stupid files in /usr/bin
-	rm "${ED%/}"/usr/bin/prerr.properties || die
+	rm "${ED}"/usr/bin/prerr.properties || die
 
 	# This is used only to generate prerr.c and prerr.h at build time.
 	# No other projects use it, and we don't want to depend on perl.
 	# Talked to upstream and they agreed w/punting.
-	rm "${ED%/}"/usr/bin/compile-et.pl || die
+	rm "${ED}"/usr/bin/compile-et.pl || die
 }
diff --git a/metadata/md5-cache/dev-libs/nspr-4.19 b/metadata/md5-cache/dev-libs/nspr-4.19
deleted file mode 100644
index e82ddf6..0000000
--- a/metadata/md5-cache/dev-libs/nspr-4.19
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Netscape Portable Runtime
-EAPI=6
-HOMEPAGE=http://www.mozilla.org/projects/nspr/
-IUSE=debug abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
-SLOT=0
-SRC_URI=https://archive.mozilla.org/pub/nspr/releases/v4.19/src/nspr-4.19.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	estack	43ddf5aaffa7a8d0482df54d25a66a1f	eutils	06133990e861be0fe60c2b428fd025d9	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=ea7182fbe0fa6ff247df88076a0d2390
diff --git a/metadata/md5-cache/dev-libs/nspr-4.26 b/metadata/md5-cache/dev-libs/nspr-4.26
new file mode 100644
index 0000000..45e8da1
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/nspr-4.26
@@ -0,0 +1,13 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=!<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Netscape Portable Runtime
+EAPI=7
+HOMEPAGE=http://www.mozilla.org/projects/nspr/
+IUSE=debug elibc_musl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
+SLOT=0
+SRC_URI=https://archive.mozilla.org/pub/nspr/releases/v4.26/src/nspr-4.26.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb
+_md5_=d5f64ba1e3c7bdc4273e0035a5ced150