Subject: Re: devel/nss and Linux
To: Matthew Luckie <mjl@luckie.org.nz>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 08/12/2005 12:14:25
On Thu, 7 Jul 2005, Matthew Luckie wrote:
> the patch below *should* fix this, but I'm unable to test and confirm it.
> can you review/check? It doesn't seem to break anything on my NetBSD
> system.
I did it a little different. First my comments here and then my patch
below.
> +NSS_OBJ_DIR= ${OPSYS}
> +NSS_OBJ_DIR+= ${SED} -e 's/^\([[:digit:]]\.[[:digit:]]\)\..*$/\1/'
The sed is not ran but added to this line. Also each component of this is
separated by a space.
> +.if ${MACHINE_ARCH} == "i386"
> +NSS_OBJ_DIR+= _x86
Also separated by a space.
...
> +NSS_OBJ_DIR+= _glibc_PTH_OPT.OBJ
Missing /lib at end.
So I did it this way:
+.if ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD"
+NSS_OBJ_DIR= ${OPSYS}${OS_VERSION}_OPT.OBJ
+.elif ${OPSYS} == "Linux"
+_NSS_SHORT_OS_VERSION!= echo ${OS_VERSION} | ${SED} -e
's/^\([[:digit:]]\.[[:digit:]]\)\..*$$/\1/'
+.if ${MACHINE_ARCH} == "i386"
+_NSS_MACHINE_ARCH= _x86
+.elif ${MACHINE_ARCH} == "parisc" || ${MACHINE_ARCH} == "parisc64"
+_NSS_MACHINE_ARCH= _hppa
+.elif ${MACHINE_ARCH} == "sparc64"
+_NSS_MACHINE_ARCH= _sparc
+.else
+_NSS_MACHINE_ARCH= _${MACHINE_ARCH}
+.endif
+NSS_OBJ_DIR= ${OPSYS}${_NSS_SHORT_OS_VERSION}${_NSS_MACHINE_ARCH}_glibc_PTH_OPT.OBJ
+.endif
+
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/include/nss
${INSTALL_DATA_DIR} ${PREFIX}/lib/nss
(cd ${DIST}/public && ${PAX} -Lrwpe . ${PREFIX}/include/nss/ )
- (cd ${DIST}/${OPSYS}${OS_VERSION}_OPT.OBJ/lib && \
+ (cd ${DIST}/${NSS_OBJ_DIR}/lib && \
${PAX} -Lrwpe *.${SO_SUFFIX} ${PREFIX}/lib/nss/ )
Also I changed the build to get rid of the BSD_LDOPTS to just define
LD_LIBS instead:
-MAKE_ENV= BSD_LDOPTS="-L${BUILDLINK_PREFIX.nspr}/lib/nspr ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.nspr}/lib/nspr ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib/nss"
+MAKE_ENV= LD_LIBS="-L${BUILDLINK_PREFIX.nspr}/lib/nspr ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.nspr}/lib/nspr ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib/nss"
And the patch-af using BSD_LDOPTS can be removed.
I haven't tested this with DragonFly yet (for the PR #30711), but did some
testing with NetBSD 2.0.2 and Linux 2.6.x.
Jeremy C. Reed
BSD News, BSD tutorials, BSD links
http://www.bsdnewsletter.com/