diff options
Diffstat (limited to 'yocto-poky/meta/recipes-support/nspr')
5 files changed, 284 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-support/nspr/nspr/fix-build-on-x86_64.patch b/yocto-poky/meta/recipes-support/nspr/nspr/fix-build-on-x86_64.patch new file mode 100644 index 000000000..c2b7258e5 --- /dev/null +++ b/yocto-poky/meta/recipes-support/nspr/nspr/fix-build-on-x86_64.patch @@ -0,0 +1,52 @@ +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 <liezhi.yang@windriver.com> + +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 + ;; + m68k) diff --git a/yocto-poky/meta/recipes-support/nspr/nspr/nspr.pc.in b/yocto-poky/meta/recipes-support/nspr/nspr/nspr.pc.in new file mode 100644 index 000000000..c37d0bcbd --- /dev/null +++ b/yocto-poky/meta/recipes-support/nspr/nspr/nspr.pc.in @@ -0,0 +1,11 @@ +os_libs=-lpthread -ldl +prefix=OEPREFIX +exec_prefix=OEEXECPREFIX +libdir=OELIBDIR +includedir=OEINCDIR + +Name: NSPR +Description: The Netscape Portable Runtime +Version: 4.9.5 +Libs: -L${libdir} -lplds4 -lplc4 -lnspr4 -lpthread -ldl +Cflags: diff --git a/yocto-poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch b/yocto-poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch new file mode 100644 index 000000000..a7e7853de --- /dev/null +++ b/yocto-poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch @@ -0,0 +1,26 @@ +Author: Andrei Gherzan <andrei@gherzan.ro> +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 <andrei@gherzan.ro> +Upstream-Status: Pending + +Index: nspr-4.8.9/mozilla/nsprpub/pr/tests/Makefile.in +=================================================================== +--- nsprpub.orig/pr/tests/Makefile.in 2012-02-11 00:01:10.476220505 +0200 ++++ nsprpub/pr/tests/Makefile.in 2012-02-10 23:57:40.000000000 +0200 +@@ -379,7 +379,7 @@ + endif + + 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/yocto-poky/meta/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch b/yocto-poky/meta/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch new file mode 100644 index 000000000..bde715c5d --- /dev/null +++ b/yocto-poky/meta/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch @@ -0,0 +1,19 @@ +the $srcdir is not defined at the time of gnu-configurize. + +Upstream-Status: Inappropriate [OE-Core specific] + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Index: nspr/configure.in +=================================================================== +--- nspr.orig/configure.in ++++ nspr/configure.in +@@ -8,7 +8,7 @@ AC_PREREQ(2.61) + AC_INIT + AC_CONFIG_SRCDIR([pr/include/nspr.h]) + +-AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) ++AC_CONFIG_AUX_DIR(build/autoconf) + AC_CANONICAL_TARGET + + dnl ======================================================== diff --git a/yocto-poky/meta/recipes-support/nspr/nspr_4.10.8.bb b/yocto-poky/meta/recipes-support/nspr/nspr_4.10.8.bb new file mode 100644 index 000000000..944994e17 --- /dev/null +++ b/yocto-poky/meta/recipes-support/nspr/nspr_4.10.8.bb @@ -0,0 +1,176 @@ +SUMMARY = "Netscape Portable Runtime Library" +HOMEPAGE = "http://www.mozilla.org/projects/nspr/" +LICENSE = "GPL-2.0 | MPL-2.0 | LGPL-2.1" +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 = "ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \ + file://remove-rpath-from-tests.patch \ + file://fix-build-on-x86_64.patch \ + file://remove-srcdir-from-configure-in.patch \ + " + +SRC_URI += "file://nspr.pc.in" + +SRC_URI[md5sum] = "8d7c5bd0a5b0a7d0e705be66479030a0" +SRC_URI[sha256sum] = "507ea57c525c0c524dae4857a642b4ef5c9d795518754c7f83422d22fe544a15" + +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" + +PR = "r1" + +inherit autotools + +do_compile_prepend() { + oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX" LDFLAGS="" CC=gcc -C config export +} + +do_compile_append() { + oe_runmake -C pr/tests +} + +do_install_append() { + install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc + sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nspr.pc + sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nspr.pc + sed -i s:OEINCDIR:${includedir}:g ${D}${libdir}/pkgconfig/nspr.pc + sed -i 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/* " +FILES_${PN}-dbg += "${libdir}/nspr/tests/.debug/*" + +BBCLASSEXTEND = "native nativesdk" |