Subject: Re: devel/nss and Linux
To: Jeremy C. Reed <reed@reedmedia.net>
From: Matthew Luckie <mjl@luckie.org.nz>
List: tech-pkg
Date: 07/07/2005 14:17:37
> The second problem was that pkgsrc Makefile assumes the files to be
> installed are at ${OPSYS}${OS_VERSION}_OPT.OBJ (Linux2.6.9_OPT.OBJ), but
> on my system they were at Linux2.6_x86_glibc_PTH_OPT.OBJ.
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.
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/nss/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- Makefile 22 May 2005 20:07:54 -0000 1.5
+++ Makefile 7 Jul 2005 02:16:08 -0000
@@ -11,6 +11,10 @@ COMMENT= Libraries to support developme
BUILD_DEPENDS+= zip>=2.3:../../archivers/zip
+# NSS will build and run on other platforms when MAINTAINER knows what
+# magic Makefile glue is required
+ONLY_FOR_PLATFORM+= NetBSD-*-* FreeBSD-*-* Linux-*-*
+
WRKSRC= ${WRKDIR}/${DISTNAME}/mozilla/security/nss
USE_PERL5= build
@@ -31,14 +35,30 @@ SO_SUFFIX= so.1.0
.endif
PLIST_SUBST+= SO_SUFFIX=${SO_SUFFIX}
+.if ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD"
+NSS_OBJ_DIR= ${OPSYS}${OS_VERSION}_OPT.OBJ/lib
+.elif ${OPSYS} == "Linux"
+NSS_OBJ_DIR= ${OPSYS}
+NSS_OBJ_DIR+= ${SED} -e 's/^\([[:digit:]]\.[[:digit:]]\)\..*$/\1/'
+.if ${MACHINE_ARCH} == "i386"
+NSS_OBJ_DIR+= _x86
+.elif ${MACHINE_ARCH} == "parisc" || ${MACHINE_ARCH} == "parisc64"
+NSS_OBJ_DIR+= _hppa
+.elif ${MACHINE_ARCH} == "sparc64"
+NSS_OBJ_DIR+= _sparc
+.else
+NSS_OBJ_DIR+= _${MACHINE_ARCH}
+.endif
+NSS_OBJ_DIR+= _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} && \
${PAX} -Lrwpe *.${SO_SUFFIX} ${PREFIX}/lib/nss/ )
.include "../../devel/nspr/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
-