From bdb41e26594fc34e2dd18a2ba64e0bc9faa36741 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Tue, 31 Dec 2024 12:23:09 +0800 Subject: nspr: upgrade 4.35 -> 4.36 * Refresh patches. * Drop 0001-Fix-Wincompatible-function-pointer-types.patch as the issue has been fixed upstream. Signed-off-by: Yi Zhao Signed-off-by: Khem Raj --- ...-Fix-Wincompatible-function-pointer-types.patch | 39 ---- ...-config-nspr-config.in-don-t-pass-LDFLAGS.patch | 30 ---- .../nspr/nspr/0001-md-Fix-build-with-musl.patch | 28 --- .../nspr/nspr/0001-remove-rpath-from-tests.patch | 35 ++++ .../nspr/nspr/0002-Add-nios2-support.patch | 89 --------- .../nspr/0002-Fix-build-failure-on-x86_64.patch | 58 ++++++ .../nspr/nspr/0003-Add-nios2-support.patch | 96 ++++++++++ .../nspr/nspr/0004-md-Fix-build-with-musl.patch | 31 ++++ ...e.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch | 103 +++++++++++ ...-config-nspr-config.in-don-t-pass-LDFLAGS.patch | 30 ++++ ...e.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch | 103 ----------- .../nspr/nspr/fix-build-on-x86_64.patch | 52 ------ .../nspr/nspr/remove-rpath-from-tests.patch | 26 --- meta-oe/recipes-support/nspr/nspr_4.35.bb | 199 --------------------- meta-oe/recipes-support/nspr/nspr_4.36.bb | 198 ++++++++++++++++++++ 15 files changed, 551 insertions(+), 566 deletions(-) delete mode 100644 meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch create mode 100644 meta-oe/recipes-support/nspr/nspr/0001-remove-rpath-from-tests.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch create mode 100644 meta-oe/recipes-support/nspr/nspr/0002-Fix-build-failure-on-x86_64.patch create mode 100644 meta-oe/recipes-support/nspr/nspr/0003-Add-nios2-support.patch create mode 100644 meta-oe/recipes-support/nspr/nspr/0004-md-Fix-build-with-musl.patch create mode 100644 meta-oe/recipes-support/nspr/nspr/0005-Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch create mode 100644 meta-oe/recipes-support/nspr/nspr/0006-config-nspr-config.in-don-t-pass-LDFLAGS.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch delete mode 100644 meta-oe/recipes-support/nspr/nspr_4.35.bb create mode 100644 meta-oe/recipes-support/nspr/nspr_4.36.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch b/meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch deleted file mode 100644 index 8515075fe0..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d24dc9bebaefbd8abf32707bad5efc0c811c0cd4 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Jan 2023 13:04:56 -0800 -Subject: [PATCH] Fix -Wincompatible-function-pointer-types - -Fixes warnings with clang16 -testfile.c:576:31: error: incompatible function pointer types passing 'PRInt32 (void *)' (aka 'int (void *)') to parameter of type 'void (*)(void *)' [-Wincompatible-function-pointe r-types] - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - pr/tests/testfile.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/pr/tests/testfile.c b/pr/tests/testfile.c -index 79d8a05..42aa6a7 100644 ---- a/pr/tests/testfile.c -+++ b/pr/tests/testfile.c -@@ -123,7 +123,7 @@ PRThread* create_new_thread(PRThreadType type, - if (native_thread) { - #if defined(_PR_PTHREADS) - pthread_t tid; -- if (!pthread_create(&tid, NULL, start, arg)) { -+ if (!pthread_create(&tid, NULL, (void*(*)(void*))start, arg)) { - return((PRThread *) tid); - } - else { -@@ -573,7 +573,7 @@ static PRInt32 RunDirTest(void) - - thrarg.done= 0; - t = create_new_thread(PR_USER_THREAD, -- DirTest, &thrarg, -+ (void (*)(void *))DirTest, &thrarg, - PR_PRIORITY_NORMAL, - PR_LOCAL_THREAD, - PR_UNJOINABLE_THREAD, --- -2.39.1 - diff --git a/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch b/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch deleted file mode 100644 index 6ebc9c4ae6..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 13e9d66c24d1dce5179805ae5e1bf940409b4914 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Wed, 10 Aug 2022 15:21:07 +0800 -Subject: [PATCH] config/nspr-config.in: don't pass LDFLAGS - -Don't pass LDFLAGS to avoid exposing the build env info. - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Mingli Yu ---- - config/nspr-config.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/nspr-config.in b/config/nspr-config.in -index 2cb62a0..2bec715 100755 ---- a/config/nspr-config.in -+++ b/config/nspr-config.in -@@ -136,7 +136,7 @@ if test "$echo_libs" = "yes"; then - if test -n "$lib_nspr"; then - libdirs="$libdirs -lnspr${major_version}" - fi -- os_ldflags="@LDFLAGS@" -+ os_ldflags="LDFLAGS" - for i in $os_ldflags ; do - if echo $i | grep \^-L >/dev/null; then - libdirs="$libdirs $i" --- -2.25.1 - diff --git a/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch b/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch deleted file mode 100644 index 09855a03dc..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5f6fcaeb0b7a319c8afd32ddb48b3515b63a6c0c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 18 Sep 2017 17:22:43 -0700 -Subject: [PATCH] md: Fix build with musl - -The MIPS specific header is not provided by musl -linux kernel headers provide which has same definitions - -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- - pr/include/md/_linux.cfg | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg -index aa3af78..899826f 100644 ---- a/pr/include/md/_linux.cfg -+++ b/pr/include/md/_linux.cfg -@@ -511,7 +511,7 @@ - #error "Unknown MIPS endianness." - #endif - --#if _MIPS_SIM == _ABI64 -+#if _MIPS_SIM == _MIPS_SIM_ABI64 - - #define IS_64 - diff --git a/meta-oe/recipes-support/nspr/nspr/0001-remove-rpath-from-tests.patch b/meta-oe/recipes-support/nspr/nspr/0001-remove-rpath-from-tests.patch new file mode 100644 index 0000000000..5cb14b5781 --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr/0001-remove-rpath-from-tests.patch @@ -0,0 +1,35 @@ +From 63eb483f7feb05917402731d8f21b396630ef202 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Thu, 9 Feb 2012 00:03:38 +0200 +Subject: [PATCH] remove rpath from tests + +Avoid QA warnings by removing hardcoded rpath from binaries. + +[...] +WARNING: QA Issue: package nspr contains bad RPATH {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/nspr-4.8.9/mozilla/nsprpub/pr/tests/../../dist/lib +in file {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/packages-split/nspr/usr/lib/nspr/tests/multiwait +[...] + +Upstream-Status: Pending + +Signed-off-by: Andrei Gherzan +--- + pr/tests/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pr/tests/Makefile.in b/pr/tests/Makefile.in +index 20e2f99..56c73e1 100644 +--- a/pr/tests/Makefile.in ++++ b/pr/tests/Makefile.in +@@ -260,7 +260,7 @@ ifeq ($(OS_ARCH), SunOS) + endif # SunOS + + ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH))) +- LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR) ++ LDOPTS += -Xlinker + ifeq ($(USE_PTHREADS),1) + EXTRA_LIBS = -lpthread + endif +-- +2.25.1 + diff --git a/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch b/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch deleted file mode 100644 index dab2a4e291..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 4760065a58153e4dae24e4e437a5136592c624bc Mon Sep 17 00:00:00 2001 -From: Marek Vasut -Date: Sat, 30 Jan 2016 07:18:02 +0100 -Subject: [PATCH] Add nios2 support - -Add support for the nios2 CPU. - -Signed-off-by: Marek Vasut -Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=1244421 ] - ---- - pr/include/md/_linux.cfg | 45 +++++++++++++++++++++++++++++++++++ - pr/include/md/_linux.h | 4 +++- - 2 files changed, 48 insertions(+), 1 deletion(-) - ---- a/pr/include/md/_linux.cfg -+++ b/pr/include/md/_linux.cfg -@@ -975,6 +975,51 @@ - #define PR_BYTES_PER_WORD_LOG2 2 - #define PR_BYTES_PER_DWORD_LOG2 3 - -+#elif defined(__nios2__) -+ -+#define IS_LITTLE_ENDIAN 1 -+#undef IS_BIG_ENDIAN -+ -+#define PR_BYTES_PER_BYTE 1 -+#define PR_BYTES_PER_SHORT 2 -+#define PR_BYTES_PER_INT 4 -+#define PR_BYTES_PER_INT64 8 -+#define PR_BYTES_PER_LONG 4 -+#define PR_BYTES_PER_FLOAT 4 -+#define PR_BYTES_PER_DOUBLE 8 -+#define PR_BYTES_PER_WORD 4 -+#define PR_BYTES_PER_DWORD 8 -+ -+#define PR_BITS_PER_BYTE 8 -+#define PR_BITS_PER_SHORT 16 -+#define PR_BITS_PER_INT 32 -+#define PR_BITS_PER_INT64 64 -+#define PR_BITS_PER_LONG 32 -+#define PR_BITS_PER_FLOAT 32 -+#define PR_BITS_PER_DOUBLE 64 -+#define PR_BITS_PER_WORD 32 -+ -+#define PR_BITS_PER_BYTE_LOG2 3 -+#define PR_BITS_PER_SHORT_LOG2 4 -+#define PR_BITS_PER_INT_LOG2 5 -+#define PR_BITS_PER_INT64_LOG2 6 -+#define PR_BITS_PER_LONG_LOG2 5 -+#define PR_BITS_PER_FLOAT_LOG2 5 -+#define PR_BITS_PER_DOUBLE_LOG2 6 -+#define PR_BITS_PER_WORD_LOG2 5 -+ -+#define PR_ALIGN_OF_SHORT 2 -+#define PR_ALIGN_OF_INT 4 -+#define PR_ALIGN_OF_LONG 4 -+#define PR_ALIGN_OF_INT64 4 -+#define PR_ALIGN_OF_FLOAT 4 -+#define PR_ALIGN_OF_DOUBLE 4 -+#define PR_ALIGN_OF_POINTER 4 -+#define PR_ALIGN_OF_WORD 4 -+ -+#define PR_BYTES_PER_WORD_LOG2 2 -+#define PR_BYTES_PER_DWORD_LOG2 3 -+ - #elif defined(__or1k__) - - #undef IS_LITTLE_ENDIAN ---- a/pr/include/md/_linux.h -+++ b/pr/include/md/_linux.h -@@ -55,6 +55,8 @@ - #define _PR_SI_ARCHITECTURE "avr32" - #elif defined(__m32r__) - #define _PR_SI_ARCHITECTURE "m32r" -+#elif defined(__nios2__) -+#define _PR_SI_ARCHITECTURE "nios2" - #elif defined(__or1k__) - #define _PR_SI_ARCHITECTURE "or1k" - #elif defined(__riscv) && (__riscv_xlen == 32) -@@ -143,7 +145,7 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRIn - #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet - #endif - --#if defined(__loongarch__) -+#if defined(__loongarch__) || defined(__nios2__) - #if defined(__GNUC__) - /* Use GCC built-in functions */ - #define _PR_HAVE_ATOMIC_OPS diff --git a/meta-oe/recipes-support/nspr/nspr/0002-Fix-build-failure-on-x86_64.patch b/meta-oe/recipes-support/nspr/nspr/0002-Fix-build-failure-on-x86_64.patch new file mode 100644 index 0000000000..9e1928e376 --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr/0002-Fix-build-failure-on-x86_64.patch @@ -0,0 +1,58 @@ +From f68f2535e98231ab362b6bbbe7cc4718b2c72aa9 Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Tue, 31 Dec 2024 10:25:15 +0800 +Subject: [PATCH] Fix build failure on x86_64 + +When the target_cpu is x86_64, we should assume that the pkg uses 64bit, +only if USE_N32 is set, we can assume that the pkg uses 32bit. It used a +opposite logic before. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang +--- + configure.in | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +diff --git a/configure.in b/configure.in +index 1a3e489..04419d9 100644 +--- a/configure.in ++++ b/configure.in +@@ -1590,28 +1590,24 @@ tools are selected during the Xcode/Developer Tools installation.]) + PR_MD_ASFILES=os_Linux_ia64.s + ;; + x86_64) +- if test -n "$USE_64"; then +- PR_MD_ASFILES=os_Linux_x86_64.s +- elif test -n "$USE_X32"; then ++ if test -n "$USE_X32"; then ++ AC_DEFINE(i386) + PR_MD_ASFILES=os_Linux_x86_64.s + CC="$CC -mx32" + CXX="$CXX -mx32" + else +- AC_DEFINE(i386) +- PR_MD_ASFILES=os_Linux_x86.s +- CC="$CC -m32" +- CXX="$CXX -m32" ++ PR_MD_ASFILES=os_Linux_x86_64.s + fi + ;; + ppc|powerpc) + PR_MD_ASFILES=os_Linux_ppc.s + ;; + powerpc64) +- if test -n "$USE_64"; then ++ if test -n "$USE_N32"; then ++ PR_MD_ASFILES=os_Linux_ppc.s ++ else + CC="$CC -m64" + CXX="$CXX -m64" +- else +- PR_MD_ASFILES=os_Linux_ppc.s + fi + ;; + esac +-- +2.25.1 + diff --git a/meta-oe/recipes-support/nspr/nspr/0003-Add-nios2-support.patch b/meta-oe/recipes-support/nspr/nspr/0003-Add-nios2-support.patch new file mode 100644 index 0000000000..3d1bbd31a7 --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr/0003-Add-nios2-support.patch @@ -0,0 +1,96 @@ +From 09a67d3945f1fde8372532ef2e19af20db2112cd Mon Sep 17 00:00:00 2001 +From: Marek Vasut +Date: Sat, 30 Jan 2016 07:18:02 +0100 +Subject: [PATCH] Add nios2 support + +Add support for the nios2 CPU. + +Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=1244421 ] + +Signed-off-by: Marek Vasut +--- + pr/include/md/_linux.cfg | 45 ++++++++++++++++++++++++++++++++++++++++ + pr/include/md/_linux.h | 4 +++- + 2 files changed, 48 insertions(+), 1 deletion(-) + +diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg +index 009d5e5..77c13df 100644 +--- a/pr/include/md/_linux.cfg ++++ b/pr/include/md/_linux.cfg +@@ -979,6 +979,51 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 + ++#elif defined(__nios2__) ++ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 4 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 4 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #elif defined(__or1k__) + + #undef IS_LITTLE_ENDIAN +diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h +index ad57d08..45a2231 100644 +--- a/pr/include/md/_linux.h ++++ b/pr/include/md/_linux.h +@@ -55,6 +55,8 @@ + #define _PR_SI_ARCHITECTURE "avr32" + #elif defined(__m32r__) + #define _PR_SI_ARCHITECTURE "m32r" ++#elif defined(__nios2__) ++#define _PR_SI_ARCHITECTURE "nios2" + #elif defined(__or1k__) + #define _PR_SI_ARCHITECTURE "or1k" + #elif defined(__riscv) && (__riscv_xlen == 32) +@@ -143,7 +145,7 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet + #endif + +-#if defined(__loongarch__) ++#if defined(__loongarch__) || defined(__nios2__) + #if defined(__GNUC__) + /* Use GCC built-in functions */ + #define _PR_HAVE_ATOMIC_OPS +-- +2.25.1 + diff --git a/meta-oe/recipes-support/nspr/nspr/0004-md-Fix-build-with-musl.patch b/meta-oe/recipes-support/nspr/nspr/0004-md-Fix-build-with-musl.patch new file mode 100644 index 0000000000..75d184bb3b --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr/0004-md-Fix-build-with-musl.patch @@ -0,0 +1,31 @@ +From e8cab35851949cd4b7498d56978c5e7907841f32 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 18 Sep 2017 17:22:43 -0700 +Subject: [PATCH] md: Fix build with musl + +The MIPS specific header is not provided by musl +linux kernel headers provide which has same definitions + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + pr/include/md/_linux.cfg | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg +index 77c13df..3eb2faf 100644 +--- a/pr/include/md/_linux.cfg ++++ b/pr/include/md/_linux.cfg +@@ -515,7 +515,7 @@ + #error "Unknown MIPS endianness." + #endif + +-#if _MIPS_SIM == _ABI64 ++#if _MIPS_SIM == _MIPS_SIM_ABI64 + + #define IS_64 + +-- +2.25.1 + diff --git a/meta-oe/recipes-support/nspr/nspr/0005-Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch b/meta-oe/recipes-support/nspr/nspr/0005-Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch new file mode 100644 index 0000000000..470ada591a --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr/0005-Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch @@ -0,0 +1,103 @@ +From 161c955f32dd350413de076b7cad588fa4bdc4de Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Fri, 16 Nov 2018 13:52:49 +0800 +Subject: [PATCH] Makefile.in: remove _BUILD_STRING and _BUILD_TIME + +Remove _BUILD_STRING and _BUILD_TIME to avoid +adding timestamp to _pl_bld.h which can result +in adding timestamp in library file such as +libnspr4.so. + $ readelf --wide --decompress --hex-dump=.rodata libnspr4.so + [snip] + 0x00004000 32303138 2d31312d 31352030 353a3439 2018-11-15 05:49 + [snip] + +Upstream-Status: Pending + +Signed-off-by: Mingli Yu +--- + lib/ds/Makefile.in | 8 +------- + lib/libc/src/Makefile.in | 8 +------- + lib/prstreams/Makefile.in | 8 +------- + pr/src/Makefile.in | 8 +------- + 4 files changed, 4 insertions(+), 28 deletions(-) + +diff --git a/lib/ds/Makefile.in b/lib/ds/Makefile.in +index fa8c783..74b4bdd 100644 +--- a/lib/ds/Makefile.in ++++ b/lib/ds/Makefile.in +@@ -104,13 +104,7 @@ GARBAGE += $(TINC) + + $(TINC): + @$(MAKE_OBJDIR) +- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) +- @if test ! -z "$(SH_NOW)"; then \ +- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ +- else \ +- true; \ +- fi +- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) ++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) + + + $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) +diff --git a/lib/libc/src/Makefile.in b/lib/libc/src/Makefile.in +index 9ef2007..21abd6f 100644 +--- a/lib/libc/src/Makefile.in ++++ b/lib/libc/src/Makefile.in +@@ -106,13 +106,7 @@ GARBAGE += $(TINC) + + $(TINC): + @$(MAKE_OBJDIR) +- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) +- @if test ! -z "$(SH_NOW)"; then \ +- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ +- else \ +- true; \ +- fi +- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) ++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) + + + $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) +diff --git a/lib/prstreams/Makefile.in b/lib/prstreams/Makefile.in +index 5865ab8..a00d20c 100644 +--- a/lib/prstreams/Makefile.in ++++ b/lib/prstreams/Makefile.in +@@ -102,13 +102,7 @@ endif + + $(TINC): + @$(MAKE_OBJDIR) +- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) +- @if test ! -z "$(SH_NOW)"; then \ +- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ +- else \ +- true; \ +- fi +- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) ++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) + + + $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) +diff --git a/pr/src/Makefile.in b/pr/src/Makefile.in +index a9e86f5..bbcbb67 100644 +--- a/pr/src/Makefile.in ++++ b/pr/src/Makefile.in +@@ -291,13 +291,7 @@ GARBAGE += $(TINC) + + $(TINC): + @$(MAKE_OBJDIR) +- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) +- @if test ! -z "$(SH_NOW)"; then \ +- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ +- else \ +- true; \ +- fi +- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) ++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) + + + $(OBJDIR)/prvrsion.$(OBJ_SUFFIX): prvrsion.c $(TINC) +-- +2.25.1 + diff --git a/meta-oe/recipes-support/nspr/nspr/0006-config-nspr-config.in-don-t-pass-LDFLAGS.patch b/meta-oe/recipes-support/nspr/nspr/0006-config-nspr-config.in-don-t-pass-LDFLAGS.patch new file mode 100644 index 0000000000..fa7dbcc474 --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr/0006-config-nspr-config.in-don-t-pass-LDFLAGS.patch @@ -0,0 +1,30 @@ +From 88bf2abc07ae56ed1bcc9e915add0b3d9ed66c7b Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Wed, 10 Aug 2022 15:21:07 +0800 +Subject: [PATCH] config/nspr-config.in: don't pass LDFLAGS + +Don't pass LDFLAGS to avoid exposing the build env info. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu +--- + config/nspr-config.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/nspr-config.in b/config/nspr-config.in +index 2cb62a0..2bec715 100755 +--- a/config/nspr-config.in ++++ b/config/nspr-config.in +@@ -136,7 +136,7 @@ if test "$echo_libs" = "yes"; then + if test -n "$lib_nspr"; then + libdirs="$libdirs -lnspr${major_version}" + fi +- os_ldflags="@LDFLAGS@" ++ os_ldflags="LDFLAGS" + for i in $os_ldflags ; do + if echo $i | grep \^-L >/dev/null; then + libdirs="$libdirs $i" +-- +2.25.1 + diff --git a/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch b/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch deleted file mode 100644 index 90fe45f34d..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 8a592e4ead4ed6befe6044da3dd2dc7523c33905 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Fri, 16 Nov 2018 13:52:49 +0800 -Subject: [PATCH] Makefile.in: remove _BUILD_STRING and _BUILD_TIME - -Remove _BUILD_STRING and _BUILD_TIME to avoid -adding timestamp to _pl_bld.h which can result -in adding timestamp in library file such as -libnspr4.so. - $ readelf --wide --decompress --hex-dump=.rodata libnspr4.so - [snip] - 0x00004000 32303138 2d31312d 31352030 353a3439 2018-11-15 05:49 - [snip] - -Upstream-Status: Pending - -Signed-off-by: Mingli Yu ---- - lib/ds/Makefile.in | 8 +------- - lib/libc/src/Makefile.in | 8 +------- - lib/prstreams/Makefile.in | 8 +------- - pr/src/Makefile.in | 8 +------- - 4 files changed, 4 insertions(+), 28 deletions(-) - -diff --git a/lib/ds/Makefile.in b/lib/ds/Makefile.in -index e737791..b578476 100644 ---- a/lib/ds/Makefile.in -+++ b/lib/ds/Makefile.in -@@ -114,13 +114,7 @@ GARBAGE += $(TINC) - - $(TINC): - @$(MAKE_OBJDIR) -- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) -- @if test ! -z "$(SH_NOW)"; then \ -- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ -- else \ -- true; \ -- fi -- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) -+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) - - - $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) -diff --git a/lib/libc/src/Makefile.in b/lib/libc/src/Makefile.in -index e8a6d9f..978ed28 100644 ---- a/lib/libc/src/Makefile.in -+++ b/lib/libc/src/Makefile.in -@@ -116,13 +116,7 @@ GARBAGE += $(TINC) - - $(TINC): - @$(MAKE_OBJDIR) -- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) -- @if test ! -z "$(SH_NOW)"; then \ -- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ -- else \ -- true; \ -- fi -- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) -+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) - - - $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) -diff --git a/lib/prstreams/Makefile.in b/lib/prstreams/Makefile.in -index aeb2944..f318097 100644 ---- a/lib/prstreams/Makefile.in -+++ b/lib/prstreams/Makefile.in -@@ -116,13 +116,7 @@ endif - - $(TINC): - @$(MAKE_OBJDIR) -- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) -- @if test ! -z "$(SH_NOW)"; then \ -- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ -- else \ -- true; \ -- fi -- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) -+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) - - - $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) -diff --git a/pr/src/Makefile.in b/pr/src/Makefile.in -index 19c5a69..b4ac31c 100644 ---- a/pr/src/Makefile.in -+++ b/pr/src/Makefile.in -@@ -326,13 +326,7 @@ GARBAGE += $(TINC) - - $(TINC): - @$(MAKE_OBJDIR) -- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) -- @if test ! -z "$(SH_NOW)"; then \ -- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ -- else \ -- true; \ -- fi -- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) -+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) - - - $(OBJDIR)/prvrsion.$(OBJ_SUFFIX): prvrsion.c $(TINC) --- -2.7.4 - diff --git a/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch b/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch deleted file mode 100644 index f12acc8548..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix build failure on x86_64 - -When the target_cpu is x86_64, we should assume that the pkg uses 64bit, -only if USE_N32 is set, we can assume that the pkg uses 32bit. It used a -opposite logic before. - -Signed-off-by: Robert Yang - -Upstream-Status: Pending ---- - configure.in | 12 ++++++------ - 1 files changed, 6 insertions(+), 6 deletions(-) - -Index: nspr/configure.in -=================================================================== ---- nspr.orig/configure.in -+++ nspr/configure.in -@@ -1875,28 +1875,24 @@ tools are selected during the Xcode/Deve - PR_MD_ASFILES=os_Linux_ia64.s - ;; - x86_64) -- if test -n "$USE_64"; then -- PR_MD_ASFILES=os_Linux_x86_64.s -- elif test -n "$USE_X32"; then -+ if test -n "$USE_X32"; then -+ AC_DEFINE(i386) - PR_MD_ASFILES=os_Linux_x86_64.s - CC="$CC -mx32" - CXX="$CXX -mx32" - else -- AC_DEFINE(i386) -- PR_MD_ASFILES=os_Linux_x86.s -- CC="$CC -m32" -- CXX="$CXX -m32" -+ PR_MD_ASFILES=os_Linux_x86_64.s - fi - ;; - ppc|powerpc) - PR_MD_ASFILES=os_Linux_ppc.s - ;; - powerpc64) -- if test -n "$USE_64"; then -+ if test -n "$USE_N32"; then -+ PR_MD_ASFILES=os_Linux_ppc.s -+ else - CC="$CC -m64" - CXX="$CXX -m64" -- else -- PR_MD_ASFILES=os_Linux_ppc.s - fi - ;; - esac diff --git a/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch b/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch deleted file mode 100644 index 7ba59ed644..0000000000 --- a/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch +++ /dev/null @@ -1,26 +0,0 @@ -Author: Andrei Gherzan -Date: Thu Feb 9 00:03:38 2012 +0200 - -Avoid QA warnings by removing hardcoded rpath from binaries. - -[...] -WARNING: QA Issue: package nspr contains bad RPATH {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/nspr-4.8.9/mozilla/nsprpub/pr/tests/../../dist/lib -in file {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/packages-split/nspr/usr/lib/nspr/tests/multiwait -[...] - -Signed-off-by: Andrei Gherzan -Upstream-Status: Pending - -Index: nspr/pr/tests/Makefile.in -=================================================================== ---- nspr.orig/pr/tests/Makefile.in -+++ nspr/pr/tests/Makefile.in -@@ -316,7 +316,7 @@ ifeq ($(OS_ARCH), SunOS) - endif # SunOS - - ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH))) -- LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR) -+ LDOPTS += -Xlinker - ifeq ($(USE_PTHREADS),1) - EXTRA_LIBS = -lpthread - endif diff --git a/meta-oe/recipes-support/nspr/nspr_4.35.bb b/meta-oe/recipes-support/nspr/nspr_4.35.bb deleted file mode 100644 index abd750b138..0000000000 --- a/meta-oe/recipes-support/nspr/nspr_4.35.bb +++ /dev/null @@ -1,199 +0,0 @@ -SUMMARY = "Netscape Portable Runtime Library" -HOMEPAGE = "http://www.mozilla.org/projects/nspr/" -LICENSE = "GPL-2.0-only | MPL-2.0 | LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=6;md5=90c2fdee38e45d6302abcfe475c8b5c5 \ - file://Makefile.in;beginline=4;endline=38;md5=beda1dbb98a515f557d3e58ef06bca99" -SECTION = "libs/network" - -SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \ - file://remove-rpath-from-tests.patch \ - file://fix-build-on-x86_64.patch \ - file://0002-Add-nios2-support.patch \ - file://0001-md-Fix-build-with-musl.patch \ - file://Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \ - file://0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch \ - file://0001-Fix-Wincompatible-function-pointer-types.patch \ - file://nspr.pc.in \ - " - -CACHED_CONFIGUREVARS:append:libc-musl = " CFLAGS='${CFLAGS} -D_PR_POLL_AVAILABLE \ - -D_PR_HAVE_LARGE_OFF_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP \ - -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO \ - -D_PR_INET6_PROBE -DNO_DLOPEN_NULL'" - -UPSTREAM_CHECK_URI = "http://ftp.mozilla.org/pub/nspr/releases/" -UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)/" - -SRC_URI[sha256sum] = "7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f" - -CVE_PRODUCT = "netscape_portable_runtime" - -S = "${WORKDIR}/nspr-${PV}/nspr" - -RDEPENDS:${PN}-dev += "perl" -TARGET_CC_ARCH += "${LDFLAGS}" - -TESTS = " \ - accept \ - acceptread \ - acceptreademu \ - affinity \ - alarm \ - anonfm \ - atomic \ - attach \ - bigfile \ - cleanup \ - cltsrv \ - concur \ - cvar \ - cvar2 \ - dlltest \ - dtoa \ - errcodes \ - exit \ - fdcach \ - fileio \ - foreign \ - formattm \ - fsync \ - gethost \ - getproto \ - i2l \ - initclk \ - inrval \ - instrumt \ - intrio \ - intrupt \ - io_timeout \ - ioconthr \ - join \ - joinkk \ - joinku \ - joinuk \ - joinuu \ - layer \ - lazyinit \ - libfilename \ - lltest \ - lock \ - lockfile \ - logfile \ - logger \ - many_cv \ - multiwait \ - nameshm1 \ - nblayer \ - nonblock \ - ntioto \ - ntoh \ - op_2long \ - op_excl \ - op_filnf \ - op_filok \ - op_nofil \ - parent \ - parsetm \ - peek \ - perf \ - pipeping \ - pipeping2 \ - pipeself \ - poll_nm \ - poll_to \ - pollable \ - prftest \ - primblok \ - provider \ - prpollml \ - ranfile \ - randseed \ - reinit \ - rwlocktest \ - sel_spd \ - selct_er \ - selct_nm \ - selct_to \ - selintr \ - sema \ - semaerr \ - semaping \ - sendzlf \ - server_test \ - servr_kk \ - servr_uk \ - servr_ku \ - servr_uu \ - short_thread \ - sigpipe \ - socket \ - sockopt \ - sockping \ - sprintf \ - stack \ - stdio \ - str2addr \ - strod \ - switch \ - system \ - testbit \ - testfile \ - threads \ - timemac \ - timetest \ - tpd \ - udpsrv \ - vercheck \ - version \ - writev \ - xnotify \ - zerolen" - -inherit autotools multilib_script - -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/nspr-config" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -# Do not install nspr in usr/include, but in usr/include/nspr, the -# preferred path upstream. -EXTRA_OECONF += "--includedir=${includedir}/nspr" - -EXTRA_OEMAKE:append:class-native = " EXTRA_LIBS='-lpthread -lrt -ldl'" - -do_compile:prepend() { - oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export -} - -do_compile:append() { - oe_runmake -C pr/tests -} - -do_install:append() { - install -D ${UNPACKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc - sed -i \ - -e 's:NSPRVERSION:${PV}:g' \ - -e 's:OEPREFIX:${prefix}:g' \ - -e 's:OELIBDIR:${libdir}:g' \ - -e 's:OEINCDIR:${includedir}:g' \ - -e 's:OEEXECPREFIX:${exec_prefix}:g' \ - ${D}${libdir}/pkgconfig/nspr.pc - - mkdir -p ${D}${libdir}/nspr/tests - install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests - install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests - cd ${B}/pr/tests - install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests - - # delete compile-et.pl and perr.properties from ${bindir} because these are - # only used to generate prerr.c and prerr.h files from prerr.et at compile - # time - rm ${D}${bindir}/compile-et.pl ${D}${bindir}/prerr.properties -} - -FILES:${PN} = "${libdir}/lib*.so" -FILES:${PN}-dev = "${bindir}/* ${libdir}/nspr/tests/* ${libdir}/pkgconfig \ - ${includedir}/* ${datadir}/aclocal/* " - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/nspr/nspr_4.36.bb b/meta-oe/recipes-support/nspr/nspr_4.36.bb new file mode 100644 index 0000000000..a717520666 --- /dev/null +++ b/meta-oe/recipes-support/nspr/nspr_4.36.bb @@ -0,0 +1,198 @@ +SUMMARY = "Netscape Portable Runtime Library" +HOMEPAGE = "http://www.mozilla.org/projects/nspr/" +LICENSE = "GPL-2.0-only | MPL-2.0 | LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=6;md5=90c2fdee38e45d6302abcfe475c8b5c5 \ + file://Makefile.in;beginline=4;endline=38;md5=beda1dbb98a515f557d3e58ef06bca99" +SECTION = "libs/network" + +SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \ + file://0001-remove-rpath-from-tests.patch \ + file://0002-Fix-build-failure-on-x86_64.patch \ + file://0003-Add-nios2-support.patch \ + file://0004-md-Fix-build-with-musl.patch \ + file://0005-Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \ + file://0006-config-nspr-config.in-don-t-pass-LDFLAGS.patch \ + file://nspr.pc.in \ + " + +CACHED_CONFIGUREVARS:append:libc-musl = " CFLAGS='${CFLAGS} -D_PR_POLL_AVAILABLE \ + -D_PR_HAVE_LARGE_OFF_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP \ + -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO \ + -D_PR_INET6_PROBE -DNO_DLOPEN_NULL'" + +UPSTREAM_CHECK_URI = "http://ftp.mozilla.org/pub/nspr/releases/" +UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)/" + +SRC_URI[sha256sum] = "55dec317f1401cd2e5dba844d340b930ab7547f818179a4002bce62e6f1c6895" + +CVE_PRODUCT = "netscape_portable_runtime" + +S = "${WORKDIR}/nspr-${PV}/nspr" + +RDEPENDS:${PN}-dev += "perl" +TARGET_CC_ARCH += "${LDFLAGS}" + +TESTS = " \ + accept \ + acceptread \ + acceptreademu \ + affinity \ + alarm \ + anonfm \ + atomic \ + attach \ + bigfile \ + cleanup \ + cltsrv \ + concur \ + cvar \ + cvar2 \ + dlltest \ + dtoa \ + errcodes \ + exit \ + fdcach \ + fileio \ + foreign \ + formattm \ + fsync \ + gethost \ + getproto \ + i2l \ + initclk \ + inrval \ + instrumt \ + intrio \ + intrupt \ + io_timeout \ + ioconthr \ + join \ + joinkk \ + joinku \ + joinuk \ + joinuu \ + layer \ + lazyinit \ + libfilename \ + lltest \ + lock \ + lockfile \ + logfile \ + logger \ + many_cv \ + multiwait \ + nameshm1 \ + nblayer \ + nonblock \ + ntioto \ + ntoh \ + op_2long \ + op_excl \ + op_filnf \ + op_filok \ + op_nofil \ + parent \ + parsetm \ + peek \ + perf \ + pipeping \ + pipeping2 \ + pipeself \ + poll_nm \ + poll_to \ + pollable \ + prftest \ + primblok \ + provider \ + prpollml \ + ranfile \ + randseed \ + reinit \ + rwlocktest \ + sel_spd \ + selct_er \ + selct_nm \ + selct_to \ + selintr \ + sema \ + semaerr \ + semaping \ + sendzlf \ + server_test \ + servr_kk \ + servr_uk \ + servr_ku \ + servr_uu \ + short_thread \ + sigpipe \ + socket \ + sockopt \ + sockping \ + sprintf \ + stack \ + stdio \ + str2addr \ + strod \ + switch \ + system \ + testbit \ + testfile \ + threads \ + timemac \ + timetest \ + tpd \ + udpsrv \ + vercheck \ + version \ + writev \ + xnotify \ + zerolen" + +inherit autotools multilib_script + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/nspr-config" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +# Do not install nspr in usr/include, but in usr/include/nspr, the +# preferred path upstream. +EXTRA_OECONF += "--includedir=${includedir}/nspr" + +EXTRA_OEMAKE:append:class-native = " EXTRA_LIBS='-lpthread -lrt -ldl'" + +do_compile:prepend() { + oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export +} + +do_compile:append() { + oe_runmake -C pr/tests +} + +do_install:append() { + install -D ${UNPACKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc + sed -i \ + -e 's:NSPRVERSION:${PV}:g' \ + -e 's:OEPREFIX:${prefix}:g' \ + -e 's:OELIBDIR:${libdir}:g' \ + -e 's:OEINCDIR:${includedir}:g' \ + -e 's:OEEXECPREFIX:${exec_prefix}:g' \ + ${D}${libdir}/pkgconfig/nspr.pc + + mkdir -p ${D}${libdir}/nspr/tests + install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests + install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests + cd ${B}/pr/tests + install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests + + # delete compile-et.pl and perr.properties from ${bindir} because these are + # only used to generate prerr.c and prerr.h files from prerr.et at compile + # time + rm ${D}${bindir}/compile-et.pl ${D}${bindir}/prerr.properties +} + +FILES:${PN} = "${libdir}/lib*.so" +FILES:${PN}-dev = "${bindir}/* ${libdir}/nspr/tests/* ${libdir}/pkgconfig \ + ${includedir}/* ${datadir}/aclocal/* " + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf