[poky] [PATCH 1/2] nspr: add nspr to pass LSB library test

Kang Kai kai.kang at windriver.com
Mon Apr 11 01:01:55 PDT 2011


From: Kang Kai <kai.kang at windriver.com>

LSB library test will check libnspr4.so which nspr provides.
Import from OE, rev 6fe7cef27069415f2eba36bc640cf59013d4979b
Update to 4.8.7, drop 99_configure.dpatch, and adjust files for nspr.
Update LICENSE and patches' source info.

Signed-off-by: Kang Kai <kai.kang at windriver.com>
---
 .../mozilla/nspr-4.8.7/30_config_64bits.dpatch     |   45 ++++
 .../mozilla/nspr-4.8.7/30_pkgconfig.dpatch         |   37 +++
 .../mozilla/nspr-4.8.7/81_sonames.dpatch           |  233 ++++++++++++++++++++
 .../mozilla/nspr-4.8.7/unbreak-build.diff          |   50 +++++
 .../recipes-extended/mozilla/nspr-tools-native.inc |   29 +++
 .../mozilla/nspr-tools-native_4.8.7.bb             |   16 ++
 meta/recipes-extended/mozilla/nspr.inc             |   44 ++++
 meta/recipes-extended/mozilla/nspr_4.8.7.bb        |   17 ++
 8 files changed, 471 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-extended/mozilla/nspr-4.8.7/30_config_64bits.dpatch
 create mode 100644 meta/recipes-extended/mozilla/nspr-4.8.7/30_pkgconfig.dpatch
 create mode 100644 meta/recipes-extended/mozilla/nspr-4.8.7/81_sonames.dpatch
 create mode 100644 meta/recipes-extended/mozilla/nspr-4.8.7/unbreak-build.diff
 create mode 100644 meta/recipes-extended/mozilla/nspr-tools-native.inc
 create mode 100644 meta/recipes-extended/mozilla/nspr-tools-native_4.8.7.bb
 create mode 100644 meta/recipes-extended/mozilla/nspr.inc
 create mode 100644 meta/recipes-extended/mozilla/nspr_4.8.7.bb

diff --git a/meta/recipes-extended/mozilla/nspr-4.8.7/30_config_64bits.dpatch b/meta/recipes-extended/mozilla/nspr-4.8.7/30_config_64bits.dpatch
new file mode 100644
index 0000000..44810b6
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr-4.8.7/30_config_64bits.dpatch
@@ -0,0 +1,45 @@
+import from oe, rev 199effd4c7b1b62bc133a577e42d7043ee7202e7
+
+Signed-off-by: Kang Kai <kai.kang at windriver.com>
+
+--- nsprpub/configure.in
++++ nsprpub/configure.in
+@@ -57,7 +57,7 @@
+ USE_USER_PTHREADS=
+ USE_NSPR_THREADS=
+ USE_N32=
+-USE_64=
++USE_64=maybe
+ USE_CPLUS=
+ USE_IPV6=
+ USE_MDUPDATE=
+@@ -222,11 +222,26 @@
+     fi ])
+ 
+ AC_ARG_ENABLE(64bit,
+-    [  --enable-64bit          Enable 64-bit support (on certain platforms)],
+-    [ if test "$enableval" = "yes"; then
+-	    USE_64=1
++    [  --disable-64bit         Disable 64-bit support (on 64-bit platforms)],
++    [ if test "$enableval" = "no"; then
++	    USE_64=
++      else
++	    USE_64=1
+       fi ])
+ 
++if test "${USE_64}"; then
++    AC_MSG_CHECKING(for 64-bit OS)
++    AC_TRY_COMPILE([],[int assert[(sizeof(long) == 8) ? 1: -1]],
++        result="yes", result="no")
++    AC_MSG_RESULT("$result")
++    if test "$result" = "no" && test "$USE_64" = 1; then
++        AC_MSG_ERROR([Can't --enable-64bit on non 64-bit platforms])
++    fi
++    if test "$result" = "yes"; then
++        USE_64=1
++    fi
++fi
++
+ AC_ARG_ENABLE(mdupdate,
+     [  --enable-mdupdate       Enable use of certain compilers' mdupdate feature],
+     [ if test "$enableval" = "yes"; then
diff --git a/meta/recipes-extended/mozilla/nspr-4.8.7/30_pkgconfig.dpatch b/meta/recipes-extended/mozilla/nspr-4.8.7/30_pkgconfig.dpatch
new file mode 100644
index 0000000..9df8080
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr-4.8.7/30_pkgconfig.dpatch
@@ -0,0 +1,37 @@
+import from oe, rev 199effd4c7b1b62bc133a577e42d7043ee7202e7
+
+Signed-off-by: Kang Kai <kai.kang at windriver.com>
+
+--- nsprpub/config/Makefile.in
++++ nsprpub/config/Makefile.in
+@@ -158,3 +158,7 @@
+ install:: nspr.m4
+ 	$(NSINSTALL) -D $(DESTDIR)$(datadir)/aclocal
+ 	$(NSINSTALL) -t -m 0644 $< $(DESTDIR)$(datadir)/aclocal
++
++install:: nspr.pc
++	$(NSINSTALL) -D $(DESTDIR)$(libdir)/pkgconfig
++	$(NSINSTALL) -t -m 0644 $< $(DESTDIR)$(libdir)/pkgconfig
+--- nsprpub/config/nspr.pc.in
++++ nsprpub/config/nspr.pc.in
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSPR
++Description: The Netscape Portable Runtime
++Version: @MOD_MAJOR_VERSION at .@MOD_MINOR_VERSION at .@MOD_PATCH_VERSION@
++Libs: -L at libdir@ -lplds at MOD_MAJOR_VERSION@ -lplc at MOD_MAJOR_VERSION@ -lnspr at MOD_MAJOR_VERSION@ @OS_LIBS@
++Cflags: -I at includedir@
+--- nsprpub/configure.in
++++ nsprpub/configure.in
+@@ -2766,6 +2766,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile 
+ lib/ds/Makefile 
+ lib/libc/Makefile 
diff --git a/meta/recipes-extended/mozilla/nspr-4.8.7/81_sonames.dpatch b/meta/recipes-extended/mozilla/nspr-4.8.7/81_sonames.dpatch
new file mode 100644
index 0000000..c2c495b
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr-4.8.7/81_sonames.dpatch
@@ -0,0 +1,233 @@
+import from oe, rev 199effd4c7b1b62bc133a577e42d7043ee7202e7
+
+Signed-off-by: Kang Kai <kai.kang at windriver.com>
+
+--- nsprpub/config/rules.mk
++++ nsprpub/config/rules.mk
+@@ -129,12 +129,35 @@
+ else
+ ifdef MKSHLIB
+ SHARED_LIBRARY	= $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
++SONAME		= $(notdir $(SHARED_LIBRARY))
++
++ifdef SO_VERSION
++ifneq (,$(findstring $(SONAME),$(MKSHLIB)))
++SO_VERSION_MAJOR	:= $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\1/')
++SO_VERSION_MINOR	:= $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\2/')
++SO_VERSION_MICRO	:= $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\3/')
++
++SHARED_LIBRARY_LINKS	:= $(SONAME)
++ifdef SO_VERSION_MINOR
++SHARED_LIBRARY_LINKS	+= $(SONAME).$(SO_VERSION_MAJOR)
+ endif
++ifdef SO_VERSION_MICRO
++SHARED_LIBRARY_LINKS	+= $(SHARED_LIBRARY).$(SO_VERSION_MAJOR)$(SO_VERSION_MINOR)
+ endif
+ 
++SONAME			:= $(SONAME).$(SO_VERSION_MAJOR)
++SHARED_LIBRARY		:= $(SHARED_LIBRARY).$(SO_VERSION)
++
++MKSHLINKS		= (cd $(1) && for link in $(SHARED_LIBRARY_LINKS); do rm -f $$link; ln -s $(notdir $(SHARED_LIBRARY)) $$link; done)
+ endif
+ endif
+ 
++endif
++endif
++
++endif
++endif
++
+ ifndef TARGETS
+ ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
+ TARGETS		= $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
+@@ -166,7 +189,7 @@
+ endif
+ 
+ ALL_TRASH		= $(TARGETS) $(OBJS) $(RES) $(filter-out . .., $(OBJDIR)) LOGS TAGS $(GARBAGE) \
+-			  $(NOSUCHFILE) \
++			  $(SHARED_LIBRARY_LINKS) $(NOSUCHFILE) \
+ 			  so_locations
+ 
+ ifeq ($(OS_ARCH),OpenVMS)
+@@ -232,6 +255,7 @@
+ endif
+ ifdef RELEASE_LIBS
+ 	$(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
++	$(call MKSHLINKS,$(DESTDIR)$(libdir)/$(lib_subdir))
+ endif
+ 	+$(LOOP_OVER_DIRS)
+ 
+@@ -325,6 +349,8 @@
+ 	$(IMPLIB) $@ $(MAPFILE)
+ endif
+ 
++$(SHARED_LIBRARY_LINKS): %: $(SHARED_LIBRARY)
++
+ $(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE)
+ 	@$(MAKE_OBJDIR)
+ 	rm -f $@
+--- nsprpub/configure.in
++++ nsprpub/configure.in
+@@ -892,7 +892,7 @@
+         AC_DEFINE(_PR_STAT_HAS_ST_ATIMESPEC)
+         MKSHLIB='$(CC) -o $@ $(DSO_LDOPTS)'
+         DSO_CFLAGS=-fPIC
+-        DSO_LDOPTS='-shared -Wl,-soname,$(@:$(OBJDIR)/%.so=%.so)'
++        DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
+         STRIP="$STRIP -d"
+         case "$target_os" in
+         bsdi4.2* | bsdi4.3* | bsdi5.*)
+@@ -1042,7 +1042,7 @@
+     fi
+     MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
+     MDCPUCFG_H=_freebsd.cfg
+     PR_MD_CSRCS=freebsd.c
+     ;;
+@@ -1059,7 +1059,7 @@
+     # workaround this problem.
+     AC_DEFINE(_PR_POLL_WITH_SELECT)
+     AC_DEFINE(_USE_BIG_FDS)
+-    DSO_LDOPTS='-b +h $(notdir $@)'
++    DSO_LDOPTS='-b +h $(SONAME)'
+     PR_MD_CSRCS=hpux.c
+     if test "$OS_TEST" = "ia64"; then
+         DLL_SUFFIX=so
+@@ -1304,7 +1304,7 @@
+     PR_MD_CSRCS=linux.c
+     MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
+     _OPTIMIZE_FLAGS=-O2
+     _DEBUG_FLAGS="-g -fno-inline"  # most people on linux use gcc/gdb, and that
+                                    # combo is not yet good at debugging inlined
+@@ -1561,7 +1561,7 @@
+         else
+             OBJECT_FMT=ELF
+             DLL_SUFFIX=so
+-            DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
++            DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
+         fi
+     fi
+ 
+@@ -1607,7 +1607,7 @@
+     AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
+     MDCPUCFG_H=_nto.cfg
+     PR_MD_CSRCS=nto.c
+-    MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(notdir $@) -o $@'
++    MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(SONAME) -o $@'
+     DSO_CFLAGS=-fPIC
+     DSO_LDOPTS=-shared
+     OS_LIBS="$OS_LIBS -lsocket"
+@@ -1685,7 +1685,7 @@
+     if echo $OS_RELEASE | grep -c V4.0 >/dev/null; then
+         AC_DEFINE(OSF1V4_MAP_PRIVATE_BUG)
+     fi
+-    DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(notdir $@)'
++    DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(SONAME)'
+     MDCPUCFG_H=_osf1.cfg
+     PR_MD_CSRCS=osf1.c
+     ;;
+@@ -1751,7 +1751,7 @@
+         _OPTIMIZE_FLAGS='-O -F Olimit,4000'
+     fi
+ 
+-    DSO_LDOPTS='-G -z defs -h $(@:$(OBJDIR)/%.so=%.so)'
++    DSO_LDOPTS='-G -z defs -h $(SONAME)'
+ 
+     if test "$OS_RELEASE" = "5.43"; then
+         AC_DEFINE(IP_MULTICAST)
+@@ -2200,13 +2200,13 @@
+         if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
+             GCC_USE_GNU_LD=1
+         fi
+-        DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore' 
++        DSO_LDOPTS='-shared -Wl,-h,$(SONAME),-z,combreloc,-z,defs,-z,ignore'
+         if test -n "$USE_B_DIRECT"; then
+             DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
+         fi
+     else
+         DSO_CFLAGS=-KPIC
+-        DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
++        DSO_LDOPTS='-G -h $(SONAME) -z combreloc -z defs -z ignore'
+         if test -n "$USE_B_DIRECT"; then
+             DSO_LDOPTS="$DSO_LDOPTS -Bdirect"
+         fi
+--- nsprpub/lib/ds/Makefile.in
++++ nsprpub/lib/ds/Makefile.in
+@@ -127,6 +127,7 @@
+ 
+ LIBRARY_NAME	= plds
+ LIBRARY_VERSION	= $(MOD_MAJOR_VERSION)
++SO_VERSION	= 0d
+ 
+ RELEASE_HEADERS = $(HEADERS)
+ RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
+@@ -185,12 +186,14 @@
+ export:: $(TARGETS)
+ 	$(INSTALL) -m 444 $(HEADERS) $(dist_includedir)
+ 	$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
++	$(call MKSHLINKS,$(dist_libdir))
+ ifdef SHARED_LIBRARY
+ ifeq ($(OS_ARCH),HP-UX)
+ 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
+ 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
+ else
+ 	$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
++	$(call MKSHLINKS,$(dist_bindir))
+ endif
+ endif
+ ifeq ($(MOZ_BITS),16)
+--- nsprpub/lib/libc/src/Makefile.in
++++ nsprpub/lib/libc/src/Makefile.in
+@@ -69,6 +69,7 @@
+ 
+ LIBRARY_NAME	= plc
+ LIBRARY_VERSION	= $(MOD_MAJOR_VERSION)
++SO_VERSION	= 0d
+ 
+ RELEASE_LIBS = $(TARGETS)
+ 
+@@ -187,12 +188,14 @@
+ 
+ export:: $(TARGETS)
+ 	$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
++	$(call MKSHLINKS,$(dist_libdir))
+ ifdef SHARED_LIBRARY
+ ifeq ($(OS_ARCH),HP-UX)
+ 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
+ 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
+ else
+ 	$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
++	$(call MKSHLINKS,$(dist_bindir))
+ endif
+ endif
+ ifeq ($(MOZ_BITS),16)
+--- nsprpub/pr/src/Makefile.in
++++ sprpub/pr/src/Makefile.in
+@@ -332,6 +332,7 @@
+ 
+ LIBRARY_NAME = nspr
+ LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
++SO_VERSION = 0d
+ 
+ RELEASE_LIBS = $(TARGETS)
+ 
+@@ -402,12 +403,14 @@
+ 
+ export:: $(TARGETS)
+ 	$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
++	$(call MKSHLINKS,$(dist_libdir))
+ ifdef SHARED_LIBRARY
+ ifeq ($(OS_ARCH),HP-UX)
+ 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
+ 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
+ else
+ 	$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
++	$(call MKSHLINKS,$(dist_bindir))
+ endif
+ endif
+ ifeq ($(MOZ_BITS),16)
diff --git a/meta/recipes-extended/mozilla/nspr-4.8.7/unbreak-build.diff b/meta/recipes-extended/mozilla/nspr-4.8.7/unbreak-build.diff
new file mode 100644
index 0000000..fd15f07
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr-4.8.7/unbreak-build.diff
@@ -0,0 +1,50 @@
+import from oe, rev 199effd4c7b1b62bc133a577e42d7043ee7202e7
+
+Signed-off-by: Kang Kai <kai.kang at windriver.com>
+
+Index: nsprpub/configure.in
+===================================================================
+--- nsprpub.orig/configure.in	2008-07-23 14:38:19.000000000 +0200
++++ nsprpub/configure.in	2008-07-23 15:14:45.000000000 +0200
+@@ -42,7 +42,7 @@
+ AC_PREREQ(2.12)
+ AC_INIT(config/libc_r.h)
+ 
+-AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
++AC_CONFIG_AUX_DIR(build/autoconf)
+ AC_CANONICAL_SYSTEM
+ 
+ dnl ========================================================
+@@ -442,7 +442,8 @@
+ 
+     AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works])
+     AC_TRY_COMPILE([], [return(0);], 
+-        [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])],
++        [ac_cv_prog_host_cc_works=1
++				AC_MSG_RESULT([yes])],
+         AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) )
+ 
+     CC=$_SAVE_CC
+@@ -2266,9 +2267,8 @@
+ *-darwin*|*-beos*)
+     ;;
+ *)
+-    AC_CHECK_LIB(dl, dlopen,
+-        AC_CHECK_HEADER(dlfcn.h,
+-            OS_LIBS="-ldl $OS_LIBS"))
++    AC_CHECK_HEADER([dlfcn.h])
++    AC_CHECK_LIB(dl, dlopen, [OS_LIBS="-ldl $OS_LIBS"])
+     ;;
+ esac
+ 
+@@ -2366,8 +2366,8 @@
+ dnl using it
+ dnl
+ dnl MOZ_CHECK_PTHREADS(lib, success, failure)
+-AC_DEFUN(MOZ_CHECK_PTHREADS,
+-[
++AC_DEFUN([MOZ_CHECK_PTHREADS],
++[AC_PREREQ([2.57])dnl
+ AC_MSG_CHECKING([for pthread_create in -l$1])
+ echo "
+     #include <pthread.h> 
diff --git a/meta/recipes-extended/mozilla/nspr-tools-native.inc b/meta/recipes-extended/mozilla/nspr-tools-native.inc
new file mode 100644
index 0000000..0476794
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr-tools-native.inc
@@ -0,0 +1,29 @@
+SUMMARY = "Netscape Portable Runtime"
+
+DESCRIPTION = "\
+NSPR provides platform independence for non-GUI operating system \
+facilities. These facilities include threads, thread synchronization, \
+normal file and network I/O, interval timing and calendar time, basic \
+memory management (malloc and free) and shared library linking."
+
+HOMEPAGE = "https://www.mozilla.org/projects/nspr"
+LICENSE = "MPL1.1 | GPLv2+ | LGPLv2.1+" 
+
+S = "${WORKDIR}/nspr-${PV}/mozilla/nsprpub"
+
+inherit native autotools
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/nspr-${PV}"
+
+do_compile() {
+	# Build 'now' and 'nsinstall' only.
+	oe_runmake -C config now nsinstall
+}
+
+NATIVE_INSTALL_WORKS = "1"
+
+do_install() {
+	install -d ${D}${bindir}/nspr-${PV}
+	install -m 0755 config/now ${D}${bindir}/nspr-${PV}
+	install -m 0755 config/nsinstall ${D}${bindir}/nspr-${PV}
+}
diff --git a/meta/recipes-extended/mozilla/nspr-tools-native_4.8.7.bb b/meta/recipes-extended/mozilla/nspr-tools-native_4.8.7.bb
new file mode 100644
index 0000000..0cfadcb
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr-tools-native_4.8.7.bb
@@ -0,0 +1,16 @@
+require nspr-tools-native.inc
+
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://${S}/pkg/solaris/common_files/copyright;md5=555c634e9953bed3492dd5e6d90cd973"
+
+SRC_URI = "\
+	http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz;name=archive \
+	file://30_config_64bits.dpatch;apply=yes \
+	file://30_pkgconfig.dpatch;apply=yes \
+	file://81_sonames.dpatch;apply=yes \
+	file://unbreak-build.diff \
+	"
+
+SRC_URI[archive.md5sum] = "97e30989a56ab813453b71261849c200"
+SRC_URI[archive.sha256sum] = "eb9459c31d43d1000fb1304f1e0cedab0bdac3c54c71988259c1ac10c1fe16a3"
diff --git a/meta/recipes-extended/mozilla/nspr.inc b/meta/recipes-extended/mozilla/nspr.inc
new file mode 100644
index 0000000..e1e76e5
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr.inc
@@ -0,0 +1,44 @@
+SUMMARY = "Netscape Portable Runtime"
+
+DESCRIPTION = "\
+NSPR provides platform independence for non-GUI operating system \
+facilities. These facilities include threads, thread synchronization, \
+normal file and network I/O, interval timing and calendar time, basic \
+memory management (malloc and free) and shared library linking."
+
+HOMEPAGE = "https://www.mozilla.org/projects/nspr"
+LICENSE = "MPL1.1 | GPLv2+ | LGPLv2.1+" 
+
+PR = "r0"
+
+DEPENDS = "nspr-tools-native"
+
+S = "${WORKDIR}/${P}/mozilla/nsprpub"
+
+inherit autotools
+
+EXTRA_OECONF = "\
+	--enable-ipv6 \
+	--with-mozilla \
+	--includedir=${includedir}/mozilla/nspr \
+	"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_compile_prepend() {
+    cp ${STAGING_BINDIR_NATIVE}/${P}/now config/now
+    touch config/now
+
+    cp ${STAGING_BINDIR_NATIVE}/${P}/nsinstall config/nsinstall
+    touch config/nsinstall
+}
+
+do_install_prepend() {
+    cp ${STAGING_BINDIR_NATIVE}/${P}/now config/now
+    touch config/now
+
+    cp ${STAGING_BINDIR_NATIVE}/${P}/nsinstall config/nsinstall
+    touch config/nsinstall
+}
+
+LEAD_SONAME = "libnspr4.so"
diff --git a/meta/recipes-extended/mozilla/nspr_4.8.7.bb b/meta/recipes-extended/mozilla/nspr_4.8.7.bb
new file mode 100644
index 0000000..7fb005f
--- /dev/null
+++ b/meta/recipes-extended/mozilla/nspr_4.8.7.bb
@@ -0,0 +1,17 @@
+require nspr.inc
+
+LIC_FILES_CHKSUM = "file://${S}/pkg/solaris/common_files/copyright;md5=555c634e9953bed3492dd5e6d90cd973"
+
+SRC_URI = "\
+	http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz;name=archive \
+	file://30_config_64bits.dpatch;apply=yes \
+	file://30_pkgconfig.dpatch;apply=yes \
+	file://81_sonames.dpatch;apply=yes \
+	file://unbreak-build.diff \
+	"
+
+SRC_URI[archive.md5sum] = "7c6e75a0867ce2b9ec62e399a908b5ac"
+SRC_URI[archive.sha256sum] = "58782b11423359f2a247f0217aab6fe041f32984aac1f411da6d43bd34cfd0db"
+
+FILES_${PN} = "${libdir}/lib*"
+FILES_${PN}-dev += "${bindir}/nspr-config"
-- 
1.7.1




More information about the poky mailing list