diff --git a/srcpkgs/nss/patches/ppc64-no-vsx.patch b/srcpkgs/nss/patches/ppc64-no-vsx.patch deleted file mode 100644 index 0f03b7c5e61..00000000000 --- a/srcpkgs/nss/patches/ppc64-no-vsx.patch +++ /dev/null @@ -1,14 +0,0 @@ -The header contains vectors of long long, which are only available with the -VSX instruction set. We don't compile with VSX on big endian systems. - ---- nss/lib/freebl/gcm.h -+++ nss/lib/freebl/gcm.h -@@ -30,7 +30,7 @@ - #include - #endif - --#ifdef __powerpc64__ -+#if defined(__powerpc64__) && defined(__VSX__) - #include "altivec-types.h" - - /* The ghash freebl test tries to use this in C++, and gcc defines conflict. */ diff --git a/srcpkgs/nss/template b/srcpkgs/nss/template index dbd7480d603..0a131e09785 100644 --- a/srcpkgs/nss/template +++ b/srcpkgs/nss/template @@ -1,9 +1,9 @@ # Template file for 'nss' -_nsprver=4.24 +_nsprver=4.25 pkgname=nss -version=3.49.2 +version=3.50 revision=1 hostmakedepends="perl" makedepends="nspr-devel sqlite-devel zlib-devel" @@ -13,9 +13,11 @@ maintainer="Doan Tran Cong Danh " license="MPL-2.0" homepage="https://www.mozilla.org/projects/security/pki/nss" distfiles="${MOZILLA_SITE}/security/nss/releases/NSS_${version//\./_}_RTM/src/nss-${version}.tar.gz" -checksum=faa7502c3ce9240d4be2aa88f63d88cf7d1cc512060e63ef21a7813c236160b2 +checksum=185df319775243f5f5daa9d49b7f9cc5f2b389435be3247c3376579bee063ba7 do_build() { + local _native_use64 _target_use64 + # Respect LDFLAGS vsed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' \ -i nss/coreconf/rules.mk @@ -29,8 +31,17 @@ do_build() { export NATIVE_CC="$BUILD_CC" export NATIVE_FLAGS="$BUILD_CFLAGS" - case "$XBPS_MACHINE" in - aarch64*|x86_64*|ppc64*) _native_use64="USE_64=1";; + if [ "$XBPS_WORDSIZE" = "64" ]; then + _native_use64="USE_64=1" + fi + if [ "$XBPS_TARGET_WORDSIZE" = "64" ]; then + _target_use64="USE_64=1" + fi + + # it's actually VSX, so disable on all BE ppc + case "$XBPS_TARGET_MACHINE" in + ppc64le*) ;; + ppc*) export NSS_DISABLE_ALTIVEC=1 ;; esac cd nss @@ -39,24 +50,20 @@ do_build() { if [ "$CROSS_BUILD" ]; then case "$XBPS_TARGET_MACHINE" in - aarch64*) - _ARCH="aarch64" - _target_use64="USE_64=1" - CFLAGS+=" -DNS_PTR_GT_32" - ;; - ppc64*) - _ARCH="ppc64" - _target_use64="USE_64=1" + aarch64*|ppc64*) + _ARCH="${XBPS_TARGET_MACHINE%-*}" CFLAGS+=" -DNS_PTR_GT_32" ;; armv7*) _ARCH="arm" + # gcm-arm32-neon.c use mfpu=neon, + # force mfpu=neon for everything else. CFLAGS+=" -mfpu=neon" CXXFLAGS+=" -mfpu=neon" ;; arm*) _ARCH="arm";; mips*) _ARCH="mips";; - ppc|ppc-musl) _ARCH="ppc";; + ppc*) _ARCH="ppc";; *) msg_error "$pkgver: unknown target machine\n";; esac # ... and then copy it to $wrksrc. @@ -83,6 +90,7 @@ do_build() { } do_check() { + local _use_64 export LIBRUNPATH= export BUILD_OPT=1 export NSS_USE_SYSTEM_SQLITE=1 @@ -95,9 +103,9 @@ do_check() { export NSPR_INCLUDE_DIR=/usr/include/nspr export NSPR_LIB_DIR=/usr/lib export XCFLAGS="${CFLAGS}" - case "$XBPS_MACHINE" in - aarch64*|x86_64*|ppc64*) _use_64="USE_64=1";; - esac + if [ "$XBPS_WORDSIZE" = "64" ]; then + _use_64="USE_64=1" + fi cd nss/tests env $_use_64 HOST=localhost DOMSUF=localdomain ./all.sh }