1*4882a593SmuzhiyunSUMMARY = "Netscape Portable Runtime Library" 2*4882a593SmuzhiyunHOMEPAGE = "http://www.mozilla.org/projects/nspr/" 3*4882a593SmuzhiyunLICENSE = "GPL-2.0-only | MPL-2.0 | LGPL-2.1-only" 4*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=6;md5=90c2fdee38e45d6302abcfe475c8b5c5 \ 5*4882a593Smuzhiyun file://Makefile.in;beginline=4;endline=38;md5=beda1dbb98a515f557d3e58ef06bca99" 6*4882a593SmuzhiyunSECTION = "libs/network" 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \ 9*4882a593Smuzhiyun file://remove-rpath-from-tests.patch \ 10*4882a593Smuzhiyun file://fix-build-on-x86_64.patch \ 11*4882a593Smuzhiyun file://remove-srcdir-from-configure-in.patch \ 12*4882a593Smuzhiyun file://0002-Add-nios2-support.patch \ 13*4882a593Smuzhiyun file://0001-md-Fix-build-with-musl.patch \ 14*4882a593Smuzhiyun file://Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \ 15*4882a593Smuzhiyun file://nspr.pc.in \ 16*4882a593Smuzhiyun" 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunCACHED_CONFIGUREVARS:append:libc-musl = " CFLAGS='${CFLAGS} -D_PR_POLL_AVAILABLE \ 19*4882a593Smuzhiyun -D_PR_HAVE_OFF64_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP \ 20*4882a593Smuzhiyun -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO \ 21*4882a593Smuzhiyun -D_PR_INET6_PROBE -DNO_DLOPEN_NULL'" 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "http://ftp.mozilla.org/pub/nspr/releases/" 24*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+)/" 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunSRC_URI[md5sum] = "a546926d3c8e887be02c668c1293da92" 27*4882a593SmuzhiyunSRC_URI[sha256sum] = "22286bdb8059d74632cc7c2865c139e63953ecfb33bf4362ab58827e86e92582" 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunCVE_PRODUCT = "netscape_portable_runtime" 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunS = "${WORKDIR}/nspr-${PV}/nspr" 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunRDEPENDS:${PN}-dev += "perl" 34*4882a593SmuzhiyunTARGET_CC_ARCH += "${LDFLAGS}" 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunTESTS = " \ 37*4882a593Smuzhiyun accept \ 38*4882a593Smuzhiyun acceptread \ 39*4882a593Smuzhiyun acceptreademu \ 40*4882a593Smuzhiyun affinity \ 41*4882a593Smuzhiyun alarm \ 42*4882a593Smuzhiyun anonfm \ 43*4882a593Smuzhiyun atomic \ 44*4882a593Smuzhiyun attach \ 45*4882a593Smuzhiyun bigfile \ 46*4882a593Smuzhiyun cleanup \ 47*4882a593Smuzhiyun cltsrv \ 48*4882a593Smuzhiyun concur \ 49*4882a593Smuzhiyun cvar \ 50*4882a593Smuzhiyun cvar2 \ 51*4882a593Smuzhiyun dlltest \ 52*4882a593Smuzhiyun dtoa \ 53*4882a593Smuzhiyun errcodes \ 54*4882a593Smuzhiyun exit \ 55*4882a593Smuzhiyun fdcach \ 56*4882a593Smuzhiyun fileio \ 57*4882a593Smuzhiyun foreign \ 58*4882a593Smuzhiyun formattm \ 59*4882a593Smuzhiyun fsync \ 60*4882a593Smuzhiyun gethost \ 61*4882a593Smuzhiyun getproto \ 62*4882a593Smuzhiyun i2l \ 63*4882a593Smuzhiyun initclk \ 64*4882a593Smuzhiyun inrval \ 65*4882a593Smuzhiyun instrumt \ 66*4882a593Smuzhiyun intrio \ 67*4882a593Smuzhiyun intrupt \ 68*4882a593Smuzhiyun io_timeout \ 69*4882a593Smuzhiyun ioconthr \ 70*4882a593Smuzhiyun join \ 71*4882a593Smuzhiyun joinkk \ 72*4882a593Smuzhiyun joinku \ 73*4882a593Smuzhiyun joinuk \ 74*4882a593Smuzhiyun joinuu \ 75*4882a593Smuzhiyun layer \ 76*4882a593Smuzhiyun lazyinit \ 77*4882a593Smuzhiyun libfilename \ 78*4882a593Smuzhiyun lltest \ 79*4882a593Smuzhiyun lock \ 80*4882a593Smuzhiyun lockfile \ 81*4882a593Smuzhiyun logfile \ 82*4882a593Smuzhiyun logger \ 83*4882a593Smuzhiyun many_cv \ 84*4882a593Smuzhiyun multiwait \ 85*4882a593Smuzhiyun nameshm1 \ 86*4882a593Smuzhiyun nblayer \ 87*4882a593Smuzhiyun nonblock \ 88*4882a593Smuzhiyun ntioto \ 89*4882a593Smuzhiyun ntoh \ 90*4882a593Smuzhiyun op_2long \ 91*4882a593Smuzhiyun op_excl \ 92*4882a593Smuzhiyun op_filnf \ 93*4882a593Smuzhiyun op_filok \ 94*4882a593Smuzhiyun op_nofil \ 95*4882a593Smuzhiyun parent \ 96*4882a593Smuzhiyun parsetm \ 97*4882a593Smuzhiyun peek \ 98*4882a593Smuzhiyun perf \ 99*4882a593Smuzhiyun pipeping \ 100*4882a593Smuzhiyun pipeping2 \ 101*4882a593Smuzhiyun pipeself \ 102*4882a593Smuzhiyun poll_nm \ 103*4882a593Smuzhiyun poll_to \ 104*4882a593Smuzhiyun pollable \ 105*4882a593Smuzhiyun prftest \ 106*4882a593Smuzhiyun primblok \ 107*4882a593Smuzhiyun provider \ 108*4882a593Smuzhiyun prpollml \ 109*4882a593Smuzhiyun ranfile \ 110*4882a593Smuzhiyun randseed \ 111*4882a593Smuzhiyun reinit \ 112*4882a593Smuzhiyun rwlocktest \ 113*4882a593Smuzhiyun sel_spd \ 114*4882a593Smuzhiyun selct_er \ 115*4882a593Smuzhiyun selct_nm \ 116*4882a593Smuzhiyun selct_to \ 117*4882a593Smuzhiyun selintr \ 118*4882a593Smuzhiyun sema \ 119*4882a593Smuzhiyun semaerr \ 120*4882a593Smuzhiyun semaping \ 121*4882a593Smuzhiyun sendzlf \ 122*4882a593Smuzhiyun server_test \ 123*4882a593Smuzhiyun servr_kk \ 124*4882a593Smuzhiyun servr_uk \ 125*4882a593Smuzhiyun servr_ku \ 126*4882a593Smuzhiyun servr_uu \ 127*4882a593Smuzhiyun short_thread \ 128*4882a593Smuzhiyun sigpipe \ 129*4882a593Smuzhiyun socket \ 130*4882a593Smuzhiyun sockopt \ 131*4882a593Smuzhiyun sockping \ 132*4882a593Smuzhiyun sprintf \ 133*4882a593Smuzhiyun stack \ 134*4882a593Smuzhiyun stdio \ 135*4882a593Smuzhiyun str2addr \ 136*4882a593Smuzhiyun strod \ 137*4882a593Smuzhiyun switch \ 138*4882a593Smuzhiyun system \ 139*4882a593Smuzhiyun testbit \ 140*4882a593Smuzhiyun testfile \ 141*4882a593Smuzhiyun threads \ 142*4882a593Smuzhiyun timemac \ 143*4882a593Smuzhiyun timetest \ 144*4882a593Smuzhiyun tpd \ 145*4882a593Smuzhiyun udpsrv \ 146*4882a593Smuzhiyun vercheck \ 147*4882a593Smuzhiyun version \ 148*4882a593Smuzhiyun writev \ 149*4882a593Smuzhiyun xnotify \ 150*4882a593Smuzhiyun zerolen" 151*4882a593Smuzhiyun 152*4882a593Smuzhiyuninherit autotools multilib_script 153*4882a593Smuzhiyun 154*4882a593SmuzhiyunMULTILIB_SCRIPTS = "${PN}-dev:${bindir}/nspr-config" 155*4882a593Smuzhiyun 156*4882a593SmuzhiyunPACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 157*4882a593SmuzhiyunPACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun# Do not install nspr in usr/include, but in usr/include/nspr, the 160*4882a593Smuzhiyun# preferred path upstream. 161*4882a593SmuzhiyunEXTRA_OECONF += "--includedir=${includedir}/nspr" 162*4882a593Smuzhiyun 163*4882a593SmuzhiyunEXTRA_OEMAKE:append:class-native = " EXTRA_LIBS='-lpthread -lrt -ldl'" 164*4882a593Smuzhiyun 165*4882a593Smuzhiyundo_compile:prepend() { 166*4882a593Smuzhiyun oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export 167*4882a593Smuzhiyun} 168*4882a593Smuzhiyun 169*4882a593Smuzhiyundo_compile:append() { 170*4882a593Smuzhiyun oe_runmake -C pr/tests 171*4882a593Smuzhiyun} 172*4882a593Smuzhiyun 173*4882a593Smuzhiyundo_install:append() { 174*4882a593Smuzhiyun install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc 175*4882a593Smuzhiyun sed -i \ 176*4882a593Smuzhiyun -e 's:NSPRVERSION:${PV}:g' \ 177*4882a593Smuzhiyun -e 's:OEPREFIX:${prefix}:g' \ 178*4882a593Smuzhiyun -e 's:OELIBDIR:${libdir}:g' \ 179*4882a593Smuzhiyun -e 's:OEINCDIR:${includedir}:g' \ 180*4882a593Smuzhiyun -e 's:OEEXECPREFIX:${exec_prefix}:g' \ 181*4882a593Smuzhiyun ${D}${libdir}/pkgconfig/nspr.pc 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun mkdir -p ${D}${libdir}/nspr/tests 184*4882a593Smuzhiyun install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests 185*4882a593Smuzhiyun install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests 186*4882a593Smuzhiyun cd ${B}/pr/tests 187*4882a593Smuzhiyun install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun # delete compile-et.pl and perr.properties from ${bindir} because these are 190*4882a593Smuzhiyun # only used to generate prerr.c and prerr.h files from prerr.et at compile 191*4882a593Smuzhiyun # time 192*4882a593Smuzhiyun rm ${D}${bindir}/compile-et.pl ${D}${bindir}/prerr.properties 193*4882a593Smuzhiyun} 194*4882a593Smuzhiyun 195*4882a593SmuzhiyunFILES:${PN} = "${libdir}/lib*.so" 196*4882a593SmuzhiyunFILES:${PN}-dev = "${bindir}/* ${libdir}/nspr/tests/* ${libdir}/pkgconfig \ 197*4882a593Smuzhiyun ${includedir}/* ${datadir}/aclocal/* " 198*4882a593Smuzhiyun 199*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 200