[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / devel / nss

Annotation of pkgsrc/devel/nss/Makefile, Revision 1.242

1.242   ! wiz         1: # $NetBSD: Makefile,v 1.241 2023/01/05 23:17:49 wiz Exp $
1.213     wiz         2: #
                      3: # release notes
                      4: # https://firefox-source-docs.mozilla.org/security/nss/releases/index.html
1.1       jschauma    5:
1.78      ryoon       6: DISTNAME=              nss-${NSS_RELEASE:S/.0$//}
1.242   ! wiz         7: NSS_RELEASE=           3.88.0
1.193     wiz         8: CATEGORIES=            devel security
1.127     ryoon       9: MASTER_SITES=          ${MASTER_SITE_MOZILLA_ALL:=security/nss/releases/NSS_${NSS_DIST_DIR_VERSION:S/_0$//}_RTM/src/}
1.1       jschauma   10:
1.65      wiz        11: MAINTAINER=            pkgsrc-users@NetBSD.org
1.170     ryoon      12: HOMEPAGE=              https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
1.1       jschauma   13: COMMENT=               Libraries to support development of security-enabled applications
1.62      ryoon      14: LICENSE=               mpl-2.0
1.1       jschauma   15:
1.211     tnn        16: CHECK_PORTABILITY_SKIP+=       nss/tests/*/*.sh
1.165     ryoon      17: CHECK_PORTABILITY_SKIP+=       js/src/configure
                     18: CHECK_PORTABILITY_SKIP+=       configure
1.28      jlam       19:
1.159     jperkin    20: CTF_SUPPORTED=         no # https://smartos.org/bugview/OS-6510
                     21:
1.77      jperkin    22: USE_GCC_RUNTIME=       yes
1.141     leot       23: USE_LANGUAGES=         c99
1.35      tnn        24: USE_TOOLS+=            gmake perl pax pkg-config
1.234     tnn        25: # Fails to detect jobserver on systems where /bin/make and /bin/gmake both
                     26: # exist. This is because nss uses "gmake" explicitly rather than $MAKE to
                     27: # launch subprocesses.
                     28: MAKE_JOBS_SAFE=                no
1.24      gdt        29:
1.114     wiz        30: BUILD_DIRS=            nss
                     31:
1.74      ryoon      32: .include "../../mk/bsd.prefs.mk"
1.1       jschauma   33:
1.240     wiz        34: .if ${USE_CROSS_COMPILE:U:tl} == yes
1.225     riastrad   35:
                     36: # nss doesn't really depend on nspr as a tool, but the
                     37: # EXTRA_SHARED_LIBS we set there get passed through to the build of a
                     38: # tool `nsinstall' and getting them to not be passed through is more
                     39: # trouble than it is worth to nix this dependency.  (But if you feel
                     40: # like going to the trouble to patch around it -- go for it!)
                     41: TOOL_DEPENDS+=         nspr>=0:../../devel/nspr
                     42:
                     43: MAKE_FLAGS+=           CROSS_COMPILE=1
                     44: MAKE_FLAGS+=           NATIVE_CC=${NATIVE_CC:Q}
                     45:
                     46: NSS_CPU_ARCH.aarch64eb=                aarch64
                     47: NSS_CPU_ARCH.amd64=            x86_64
                     48: NSS_CPU_ARCH.arm26?=           arm
                     49: NSS_CPU_ARCH.arm32?=           arm
                     50: NSS_CPU_ARCH.earm?=            arm
                     51: NSS_CPU_ARCH.earmeb?=          arm
                     52: NSS_CPU_ARCH.earmhf?=          arm
                     53: NSS_CPU_ARCH.earmhfeb?=                arm
                     54: NSS_CPU_ARCH.earmv4?=          arm
                     55: NSS_CPU_ARCH.earmv4eb?=                arm
                     56: NSS_CPU_ARCH.earmv5?=          arm
                     57: NSS_CPU_ARCH.earmv5eb?=                arm
                     58: NSS_CPU_ARCH.earmv6?=          arm
                     59: NSS_CPU_ARCH.earmv6eb?=                arm
                     60: NSS_CPU_ARCH.earmv6hf?=                arm
                     61: NSS_CPU_ARCH.earmv6hfeb?=      arm
                     62: NSS_CPU_ARCH.earmv7?=          arm
                     63: NSS_CPU_ARCH.earmv7eb?=                arm
                     64: NSS_CPU_ARCH.earmv7hf?=                arm
                     65: NSS_CPU_ARCH.earmv7hfeb?=      arm
                     66: NSS_CPU_ARCH.i386=             x86
                     67: NSS_CPU_ARCH.i486=             x86
                     68: NSS_CPU_ARCH.i586=             x86
                     69: NSS_CPU_ARCH.i686=             x86
                     70: NSS_CPU_ARCH.powerpc64=                ppc64
                     71: NSS_CPU_ARCH.powerpc=          ppc
                     72:
                     73: NSS_CPU_ARCH=          ${NSS_CPU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
                     74: MAKE_FLAGS+=           CPU_ARCH=${NSS_CPU_ARCH:Q}
                     75:
                     76: .endif
                     77:
1.108     jperkin    78: SUBST_CLASSES.Darwin+=         exec_path
1.58      ryoon      79: SUBST_STAGE.exec_path=         pre-configure
                     80: SUBST_MESSAGE.exec_path=       Fixing @executable_path
1.82      pho        81: SUBST_FILES.exec_path=         nss/coreconf/Darwin.mk
1.58      ryoon      82: SUBST_SED.exec_path=           -e 's,@executable_path,${PREFIX}/lib/nss,g'
                     83:
1.110     tnn        84: SUBST_CLASSES+=                        zlib
                     85: SUBST_STAGE.zlib=              pre-configure
                     86: SUBST_MESSAGE.zlib=            Use ZLIB_LIBS from environment
                     87: SUBST_FILES.zlib=              nss/coreconf/*.mk
                     88: SUBST_SED.zlib=                        -e 's,^ZLIB_LIBS,\#ZLIB_LIBS,g'
                     89:
1.109     ryoon      90: BUILDLINK_TRANSFORM+=  rm:-Werror
                     91: BUILDLINK_TRANSFORM+=  rm:-ansi
1.181     ryoon      92: LDFLAGS.NetBSD+=       -lrt # sem_wait(3)
1.109     ryoon      93:
1.108     jperkin    94: MAKE_ENV.Linux+=       FREEBL_NO_DEPEND=0
1.40      markd      95:
1.1       jschauma   96: .if ${OBJECT_FMT} == "ELF"
                     97: SO_SUFFIX=             so
                     98: .elif ${OBJECT_FMT} == "Mach-O"
                     99: SO_SUFFIX=             dylib
                    100: .else
                    101: SO_SUFFIX=             so.1.0
                    102: .endif
1.11      rillig    103: PLIST_SUBST+=          SO_SUFFIX=${SO_SUFFIX:Q}
1.1       jschauma  104:
1.145     jperkin   105: .if !empty(PKGSRC_COMPILER:Mclang) || !empty(PKGSRC_COMPILER:Mgcc)
1.190     tnn       106: MAKE_ENV+=             NS_USE_GCC=YES
1.145     jperkin   107: .endif
                    108:
                    109: .if !empty(PKGSRC_COMPILER:Mclang)
1.190     tnn       110: MAKE_ENV+=             CC_IS_CLANG=YES
1.9       dmcmahil  111: .endif
                    112:
1.119     maya      113: SUBST_CLASSES+=                64bit
1.154     jperkin   114: SUBST_STAGE.64bit=     pre-configure
1.119     maya      115: SUBST_FILES.64bit=     nss/lib/freebl/*
                    116: SUBST_SED.64bit=       -e 's,NSS_USE_64,_LP64,g'
1.165     ryoon     117: SUBST_MESSAGE.64bit=   Use a generic 64bit check
1.119     maya      118:
                    119: # Just to be safe, do this as well as the _LP64 replacement
                    120: # NSS has a lot more logic for USE_64
1.34      tnn       121: .for platform in ${LP64PLATFORMS}
                    122: .  if ${MACHINE_PLATFORM:M${platform}}
                    123: MAKE_ENV+=     USE_64=1
1.33      joerg     124: .  endif
1.34      tnn       125: .endfor
                    126:
                    127: MAKE_ENV+=     BUILD_OPT=1
                    128: #MAKE_ENV+=    OPTIMIZER=${CFLAGS:Q}
                    129: MAKE_ENV+=     INCLUDES=-I${BUILDLINK_PREFIX.nspr}/include/nspr
1.128     ryoon     130: MAKE_ENV+=     NSS_USE_SYSTEM_SQLITE=1
1.110     tnn       131: MAKE_ENV+=     ZLIB_LIBS="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.zlib}/lib -L${BUILDLINK_PREFIX.zlib}/lib -lz"
                    132: MAKE_ENV+=     USE_SYSTEM_ZLIB=1
1.137     wiz       133: MAKE_ENV+=     EXTRA_SHARED_LIBS="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.nspr}/lib/nspr ${COMPILER_RPATH_FLAG}${PREFIX}/lib/nss -L${BUILDLINK_PREFIX.nspr}/lib/nspr -lplc4 -lplds4 -lnspr4 "${LDFLAGS:Q}
1.104     ryoon     134: MAKE_ENV+=     NSS_DISABLE_GTESTS=yes
1.127     ryoon     135: MAKE_ENV+=     NSS_ENABLE_TLS_1_3=1
1.105     ryoon     136: .include "../../mk/compiler.mk"
                    137: .if !empty(CC_VERSION:Mgcc-4.[0-7]*)
                    138: CFLAGS+=       -DNSS_NO_GCC48
                    139: .endif
1.33      joerg     140:
1.200     wiz       141: MOD_MAJOR_VERSION=     ${NSS_RELEASE:C/\.[0-9.]*//}
                    142: MOD_MINOR_VERSION=     ${NSS_RELEASE:S/3.//:C/\.[0-9]*//}
                    143: MOD_PATCH_VERSION=     ${NSS_RELEASE:C/[0-9.]*\.//}
                    144: NSS_DIST_DIR_VERSION=  ${MOD_MAJOR_VERSION}_${MOD_MINOR_VERSION}_${MOD_PATCH_VERSION}
1.127     ryoon     145:
1.237     wiz       146: NSPR_MINIMUM_VERSION=  4.35
1.200     wiz       147:
                    148: PKGCONFIG_OVERRIDE=    nss.pc
1.114     wiz       149:
                    150: SUBST_CLASSES+=                config
1.200     wiz       151: # nss.pc
1.114     wiz       152: SUBST_SED.config+=     -e "s,@PTHREAD@,${BUILDLINK_LIBS.pthread:Q},"
1.200     wiz       153: SUBST_SED.config+=     -e "s,%prefix%,${PREFIX},"
                    154: SUBST_SED.config+=     -e "s,%exec_prefix%,${PREFIX},"
                    155: SUBST_SED.config+=     -e "s,%libdir%,${PREFIX}/lib/nss,"
                    156: SUBST_SED.config+=     -e "s,%includedir%,${PREFIX}/include/nss,"
                    157: SUBST_SED.config+=     -e "s,%NSS_VERSION%,${PKGVERSION_NOREV},"
                    158: SUBST_SED.config+=     -e "s,%NSPR_VERSION%,${NSPR_MINIMUM_VERSION},"
                    159: # nss-config
                    160: SUBST_SED.config+=     -e "s,@prefix@,${PREFIX},"
                    161: SUBST_VARS.config+=    MOD_MAJOR_VERSION
                    162: SUBST_VARS.config+=    MOD_MINOR_VERSION
                    163: SUBST_VARS.config+=    MOD_PATCH_VERSION
1.114     wiz       164: SUBST_STAGE.config=    pre-build
                    165: SUBST_MESSAGE.config=  Preparing *-config files.
                    166: SUBST_FILES.config+=   nss.pc nss-config
                    167:
                    168: INSTALLATION_DIRS=     bin include/nss lib/nss lib/pkgconfig
                    169:
1.148     ryoon     170: INSTALL_CMDS+=         certutil cmsutil crlutil derdump makepqg \
1.121     ryoon     171:                        mangle modutil ocspclnt oidcalc p7content p7env p7sign \
                    172:                        p7verify pk12util rsaperf shlibsign signtool signver \
                    173:                        ssltap strsclnt symkeyutil vfychain vfyserv
                    174:
1.55      ryoon     175: post-extract:
1.57      ryoon     176:        find ${WRKSRC} -type f | xargs ${CHMOD} 644
                    177:        find ${WRKSRC} -type d | xargs ${CHMOD} 755
1.200     wiz       178:        ${CP} ${WRKSRC}/nss/pkg/pkg-config/nss.pc.in ${WRKSRC}/nss.pc
                    179:        ${CP} ${WRKSRC}/nss/pkg/pkg-config/nss-config.in ${WRKSRC}/nss-config
1.7       reed      180:
1.1       jschauma  181: do-install:
1.200     wiz       182:        (cd ${WRKSRC}/dist/public/nss && pax -Lrw . ${DESTDIR}${PREFIX}/include/nss )
                    183:        (cd ${WRKSRC}/dist/*_OPT.OBJ/lib && \
1.58      ryoon     184:                pax -Lrw *.${SO_SUFFIX} ${DESTDIR}${PREFIX}/lib/nss/ )
1.200     wiz       185:        ${INSTALL_DATA} ${WRKSRC}/dist/*_OPT.OBJ/lib/libcrmf.a \
1.47      ryoon     186:                ${DESTDIR}${PREFIX}/lib/nss/
1.114     wiz       187:        ${INSTALL_DATA} ${WRKSRC}/nss.pc ${DESTDIR}${PREFIX}/lib/pkgconfig/nss.pc
                    188:        ${INSTALL_SCRIPT} ${WRKSRC}/nss-config ${DESTDIR}${PREFIX}/bin/nss-config
1.121     ryoon     189: .for cmd in ${INSTALL_CMDS}
1.200     wiz       190:        ${INSTALL_PROGRAM} ${WRKSRC}/dist/*_OPT.OBJ/bin/${cmd} ${DESTDIR}${PREFIX}/bin
1.121     ryoon     191: .endfor
1.10      jmmv      192:
1.91      ryoon     193: # For consistency of libxul.so link in www/firefox.
1.115     ryoon     194: BUILDLINK_API_DEPENDS.sqlite3+=        sqlite3>=3.8.4.2
1.37      dsainty   195: .include "../../databases/sqlite3/buildlink3.mk"
1.200     wiz       196: BUILDLINK_API_DEPENDS.nspr+=   nspr>=${NSPR_MINIMUM_VERSION}
1.1       jschauma  197: .include "../../devel/nspr/buildlink3.mk"
1.37      dsainty   198: .include "../../devel/zlib/buildlink3.mk"
1.1       jschauma  199: .include "../../mk/pthread.buildlink3.mk"
                    200: .include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>