From 62a426b189c11d9a1b6c6ac0a0a57b987edb61e2 Mon Sep 17 00:00:00 2001 From: jperkin Date: Sun, 30 Sep 2018 18:42:44 +0000 Subject: [PATCH 001/141] Add CHANGES-pkgsrc-2018Q3. --- doc/CHANGES-pkgsrc-2018Q3 | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/CHANGES-pkgsrc-2018Q3 diff --git a/doc/CHANGES-pkgsrc-2018Q3 b/doc/CHANGES-pkgsrc-2018Q3 new file mode 100644 index 0000000000000..892ed4dbf3abb --- /dev/null +++ b/doc/CHANGES-pkgsrc-2018Q3 @@ -0,0 +1,3 @@ +$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.1 2018/09/30 18:42:44 jperkin Exp $ + +Changes to packages and infrastructure on the pkgsrc-2018Q3 branch: From 69b8452ee6c419948c06fae410136e3189087f39 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 20 Dec 2017 16:12:21 +0000 Subject: [PATCH 002/141] mk: Add CTF infrastructure support. Platform support is determined by _OPSYS_SUPPORTS_CTF from mk/platform, the user enables support by setting PKGSRC_USE_CTF=yes, and packages can explicitly disable support with CTF_SUPPORTED=no. The path to ctfconvert is configured via TOOLS_PLATFORM.ctfconvert. If all of the requisite variables are enabled, a compiler-specific debug flag is passed via the wrappers to ensure we have DWARF information to convert, _INSTALL_UNSTRIPPED is explicitly defined to avoid binaries being stripped prior to conversion, and the conversion is performed during the install stage. It is recommended that users who enable the feature also enable STRIP_DEBUG=yes to reduce the final binary size once the conversion has been performed. --- mk/bsd.prefs.mk | 14 ++++++++++++++ mk/compiler.mk | 7 +++++++ mk/compiler/clang.mk | 2 ++ mk/compiler/gcc.mk | 2 ++ mk/defaults/mk.conf | 7 +++++++ mk/install/bsd.install-vars.mk | 20 ++++++++++++++++++++ mk/install/install.mk | 27 +++++++++++++++++++++++++++ mk/platform/FreeBSD.mk | 1 + mk/platform/SunOS.mk | 1 + mk/tools/tools.FreeBSD.mk | 3 +++ 10 files changed, 84 insertions(+) diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk index c0eabeff81544..bda305ae27677 100644 --- a/mk/bsd.prefs.mk +++ b/mk/bsd.prefs.mk @@ -765,6 +765,20 @@ _PKGSRC_USE_STACK_CHECK=no _PKGSRC_USE_STACK_CHECK=yes .endif +# Enable CTF conversion if the user requested it, the OPSYS supports it, there +# is a tool for it, and the package supports it. We also need to explicitly +# turn on _INSTALL_UNSTRIPPED as conversion is impossible on stripped files. +# +.if ${PKGSRC_USE_CTF:Uno:tl} == "yes" && \ + ${_OPSYS_SUPPORTS_CTF:Uno:tl} == "yes" && \ + defined(TOOLS_PLATFORM.ctfconvert) && \ + ${CTF_SUPPORTED:Uyes:tl} == "yes" +_PKGSRC_USE_CTF= yes +_INSTALL_UNSTRIPPED= # defined +.else +_PKGSRC_USE_CTF= no +.endif + # Enable cwrappers if not building the wrappers themselves, and if the user has # explicitly requested them, or if they haven't but the compiler/platform is # known to support them. diff --git a/mk/compiler.mk b/mk/compiler.mk index 946de1bbdcfaa..57c8cfccb3acb 100644 --- a/mk/compiler.mk +++ b/mk/compiler.mk @@ -205,6 +205,13 @@ CWRAPPERS_APPEND.cxx+= ${_SSP_CFLAGS} CWRAPPERS_APPEND.f77+= ${_SSP_CFLAGS} .endif +# Add debug flags if the user has requested CTF and the compiler supports it. +# +.if ${_PKGSRC_USE_CTF} == "yes" && defined(_CTF_CFLAGS) +_WRAP_EXTRA_ARGS.CC+= ${_CTF_CFLAGS} +CWRAPPERS_APPEND.cc+= ${_CTF_CFLAGS} +.endif + # If the languages are not requested, force them not to be available # in the generated wrappers. # diff --git a/mk/compiler/clang.mk b/mk/compiler/clang.mk index a8eb69bc26e08..d72c41e55cbbe 100644 --- a/mk/compiler/clang.mk +++ b/mk/compiler/clang.mk @@ -53,6 +53,8 @@ _COMPILER_LD_FLAG= -Wl, _LINKER_RPATH_FLAG= -R _COMPILER_RPATH_FLAG= ${_COMPILER_LD_FLAG}${_LINKER_RPATH_FLAG} +_CTF_CFLAGS= -gdwarf-2 + # The user can choose the level of stack smashing protection. .if ${PKGSRC_USE_SSP} == "all" _SSP_CFLAGS= -fstack-protector-all diff --git a/mk/compiler/gcc.mk b/mk/compiler/gcc.mk index a38f6076f60b3..87ea6e9f4be64 100644 --- a/mk/compiler/gcc.mk +++ b/mk/compiler/gcc.mk @@ -384,6 +384,8 @@ _STACK_CHECK_CFLAGS= -fstack-check _GCC_CFLAGS+= ${_STACK_CHECK_CFLAGS} .endif +_CTF_CFLAGS= -gdwarf-2 + # GCC has this annoying behaviour where it advocates in a multi-line # banner the use of "#include" over "#import" when including headers. # This generates a huge number of warnings when building practically all diff --git a/mk/defaults/mk.conf b/mk/defaults/mk.conf index 62b5f9d168f8a..f6c1440910595 100644 --- a/mk/defaults/mk.conf +++ b/mk/defaults/mk.conf @@ -237,6 +237,13 @@ PKGSRC_MKREPRO?= no # # Keywords: reproducible +PKGSRC_USE_CTF?= no +# Turn on CTF conversion. +# Possible: yes, no +# Default: no +# +# Keywords: ctf compact type format + PKGSRC_USE_FORTIFY?= strong # Turns on substitute wrappers for commonly used functions that do not bounds # checking regularly, but could in some cases. This is effectively in use only diff --git a/mk/install/bsd.install-vars.mk b/mk/install/bsd.install-vars.mk index 3655cb3a48c06..4f82a0ce46ba3 100644 --- a/mk/install/bsd.install-vars.mk +++ b/mk/install/bsd.install-vars.mk @@ -6,6 +6,15 @@ # # Package-settable variables: # +# CTF_SUPPORTED +# If set to "no", CTF conversion will not be attempted and any +# necessary debug CFLAGS will not be added. +# +# CTF_FILES_SKIP +# A list of shell patterns (like lib/*) relative to ${PREFIX} that +# should be excluded from CTF conversion. Note that a * in a pattern +# also matches a slash in a pathname. +# # INSTALLATION_DIRS_FROM_PLIST # If set to "yes", the static PLIST files of the package will # be used to determine which directories need to be created before @@ -46,6 +55,17 @@ _MANCOMPRESSED!= \ _MANZ= ${MANZ:Dyes:Uno} MAKEVARS+= _MANCOMPRESSED _MANZ +# The logic for setting _PKGSRC_USE_CTF is in bsd.prefs.mk, at this point we +# are only concerned if we should set up the tools and variables or not. +# +.if ${_PKGSRC_USE_CTF} == "yes" +TOOLS_CREATE+= ctfconvert +TOOLS_PATH.ctfconvert= ${TOOLS_PLATFORM.ctfconvert} +TOOLS_ARGS.ctfconvert?= -i +CTFCONVERT?= ctfconvert +CTF_FILES_SKIP?= # none +.endif + STRIP_DEBUG?= no .if !empty(_MANCOMPRESSED:M[yY][eE][sS]) && empty(_MANZ:M[yY][eE][sS]) diff --git a/mk/install/install.mk b/mk/install/install.mk index fb50905518ec7..eed130b447d68 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -176,6 +176,9 @@ _INSTALL_ALL_TARGETS+= pre-install _INSTALL_ALL_TARGETS+= do-install _INSTALL_ALL_TARGETS+= post-install _INSTALL_ALL_TARGETS+= plist +.if ${_PKGSRC_USE_CTF} == "yes" +_INSTALL_ALL_TARGETS+= install-ctf +.endif .if !empty(STRIP_DEBUG:M[Yy][Ee][Ss]) _INSTALL_ALL_TARGETS+= install-strip-debug .endif @@ -329,6 +332,30 @@ post-install: @${DO_NADA} .endif +###################################################################### +### install-ctf (PRIVATE) +###################################################################### +### install-ctf creates CTF information from debug binaries. +### +.PHONY: install-ctf +install-ctf: plist + @${STEP_MSG} "Generating CTF data" + ${RUN}cd ${DESTDIR:Q}${PREFIX:Q}; \ + ${CAT} ${_PLIST_NOKEYWORDS} | while read f; do \ + [ ! -h "$${f}" ] || continue; \ + case "$${f}" in \ + ${CTF_FILES_SKIP:@p@${p}) continue ;;@} \ + *) ;; \ + esac; \ + tmp_f="$${f}.XXX"; \ + if ${CTFCONVERT} -o "$${tmp_f}" "$${f}" 2>/dev/null; then \ + if [ -f "$${tmp_f}" -a -f "$${f}" ]; then \ + ${MV} "$${tmp_f}" "$${f}"; \ + fi; \ + fi; \ + ${RM} -f "$${tmp_f}"; \ + done + ###################################################################### ### install-strip-debug (PRIVATE) ###################################################################### diff --git a/mk/platform/FreeBSD.mk b/mk/platform/FreeBSD.mk index fac7fc22486de..14d420cc0335b 100644 --- a/mk/platform/FreeBSD.mk +++ b/mk/platform/FreeBSD.mk @@ -77,6 +77,7 @@ PKG_HAVE_KQUEUE= # defined _OPSYS_SUPPORTS_SSP= yes .endif +_OPSYS_SUPPORTS_CTF= yes # Compact Type Format conversion. _OPSYS_SUPPORTS_CWRAPPERS= yes _OPSYS_CAN_CHECK_SHLIBS= yes # use readelf in check/bsd.check-vars.mk _OPSYS_CAN_CHECK_SSP= no # only supports libssp at this time diff --git a/mk/platform/SunOS.mk b/mk/platform/SunOS.mk index c35c864d568e7..fff60b8289db5 100644 --- a/mk/platform/SunOS.mk +++ b/mk/platform/SunOS.mk @@ -132,6 +132,7 @@ _OPSYS_SUPPORTS_FORTIFY=yes # support stack protection (with GCC) _OPSYS_SUPPORTS_SSP= yes +_OPSYS_SUPPORTS_CTF= yes # Compact Type Format conversion. _OPSYS_CAN_CHECK_SHLIBS= yes # requires readelf diff --git a/mk/tools/tools.FreeBSD.mk b/mk/tools/tools.FreeBSD.mk index 7841315e47d8c..1574fd53342d0 100644 --- a/mk/tools/tools.FreeBSD.mk +++ b/mk/tools/tools.FreeBSD.mk @@ -18,6 +18,9 @@ TOOLS_PLATFORM.chown?= /usr/sbin/chown TOOLS_PLATFORM.cmp?= /usr/bin/cmp TOOLS_PLATFORM.cp?= /bin/cp TOOLS_PLATFORM.csh?= /bin/csh +.if exists(/usr/bin/ctfconvert) +TOOLS_PLATFORM.ctfconvert?= /usr/bin/ctfconvert +.endif TOOLS_PLATFORM.cut?= /usr/bin/cut TOOLS_PLATFORM.date?= /bin/date TOOLS_PLATFORM.diff?= /usr/bin/diff From 8ccc7cf2739b227da0be3c1b5d187292295f5076 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 20 Dec 2017 16:20:01 +0000 Subject: [PATCH 003/141] mk: Enable CTF logging (Joyent specific) --- mk/install/install.mk | 4 ++++ mk/pkgformat/pkg/package.mk | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/mk/install/install.mk b/mk/install/install.mk index eed130b447d68..35abacd49e22a 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -340,6 +340,7 @@ post-install: .PHONY: install-ctf install-ctf: plist @${STEP_MSG} "Generating CTF data" + @${RM} -f ${WRKDIR}/.ctfdata ${RUN}cd ${DESTDIR:Q}${PREFIX:Q}; \ ${CAT} ${_PLIST_NOKEYWORDS} | while read f; do \ [ ! -h "$${f}" ] || continue; \ @@ -351,6 +352,9 @@ install-ctf: plist if ${CTFCONVERT} -o "$${tmp_f}" "$${f}" 2>/dev/null; then \ if [ -f "$${tmp_f}" -a -f "$${f}" ]; then \ ${MV} "$${tmp_f}" "$${f}"; \ + ${ECHO} $${f} \ + | ${SED} -e 's|^${DESTDIR}||' \ + >>${WRKDIR}/.ctfdata; \ fi; \ fi; \ ${RM} -f "$${tmp_f}"; \ diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk index 999b8c2e99cea..5c345edb009fd 100644 --- a/mk/pkgformat/pkg/package.mk +++ b/mk/pkgformat/pkg/package.mk @@ -60,6 +60,14 @@ ${STAGE_PKGFILE}: ${_CONTENTS_TARGETS} ${RUN} tmpname=${.TARGET:S,${PKG_SUFX}$,.tmp${PKG_SUFX},}; \ ${MV} -f "$$tmpname" ${.TARGET} .endif + @${RUN} ${MKDIR} ${PACKAGES}/ctfdata 2>/dev/null || ${TRUE}; \ + ${RM} -f ${PACKAGES}/ctfdata/${PKGNAME}; \ + if [ -f ${WRKDIR}/.ctfdata -a -d ${PACKAGES}/ctfdata ]; then \ + ${STEP_MSG} "Copying CTF data"; \ + ${MKDIR} ${PACKAGES}/ctfdata; \ + ${MV} ${WRKDIR}/.ctfdata \ + ${PACKAGES}/ctfdata/${PKGNAME}; \ + fi .if ${PKGFILE} != ${STAGE_PKGFILE} ${PKGFILE}: ${STAGE_PKGFILE} From 07f3e6d7368c76e15ef55040fcada242a63e31bb Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 20 Dec 2017 16:44:35 +0000 Subject: [PATCH 004/141] Add CTF_SUPPORTED/CTF_FILES_SKIP where necessary. --- audio/sox/Makefile | 3 +++ devel/capstone/Makefile | 3 +++ devel/nasm/Makefile | 2 ++ devel/nss/Makefile | 2 ++ graphics/ImageMagick/Makefile | 4 ++++ graphics/ImageMagick6/Makefile | 4 ++++ lang/ghc7/Makefile | 2 ++ lang/go110/Makefile | 3 +++ lang/go14/Makefile | 3 +++ lang/mono/Makefile | 2 ++ lang/oracle-jre8/Makefile.common | 1 + lang/sun-jre6/Makefile.common | 1 + lang/sun-jre7/Makefile.common | 1 + math/R/Makefile | 3 +++ net/samba4/Makefile | 2 ++ security/libsodium/Makefile | 2 ++ sysutils/apcupsd/Makefile | 2 ++ www/webkit-gtk/Makefile | 3 +++ www/webkit24-gtk/Makefile.common | 3 +++ x11/p5-Wx/Makefile | 3 +++ 20 files changed, 49 insertions(+) diff --git a/audio/sox/Makefile b/audio/sox/Makefile index 597a1b1d7aede..fe605e0f03409 100644 --- a/audio/sox/Makefile +++ b/audio/sox/Makefile @@ -28,6 +28,9 @@ SUBST_STAGE.gsm= pre-configure .include "options.mk" +# failed to convert strong functions and variables: Invalid type identifier +CTF_FILES_SKIP+= lib/libsox.so.3.0.0 + .include "../../audio/flac/buildlink3.mk" .include "../../audio/gsm/buildlink3.mk" .include "../../audio/libmad/buildlink3.mk" diff --git a/devel/capstone/Makefile b/devel/capstone/Makefile index 3114888c38720..2bc4302450e1c 100644 --- a/devel/capstone/Makefile +++ b/devel/capstone/Makefile @@ -15,4 +15,7 @@ TEST_TARGET= check # Don't use FreeBSD/DragonFly specific paths ALL_ENV+= USE_GENERIC_LIBDATADIR=yes +# Limit on number of dynamic type members reached +CTF_SUPPORTED= no + .include "../../mk/bsd.pkg.mk" diff --git a/devel/nasm/Makefile b/devel/nasm/Makefile index 7c327748afd47..29fae021d7144 100644 --- a/devel/nasm/Makefile +++ b/devel/nasm/Makefile @@ -20,4 +20,6 @@ INSTALL_TARGET= install_everything INSTALL_ENV+= INSTALLROOT=${DESTDIR} MAKE_ENV+= PERL5=${PERL5:Q} +CTF_SUPPORTED= no # OS-6510 + .include "../../mk/bsd.pkg.mk" diff --git a/devel/nss/Makefile b/devel/nss/Makefile index f2d6594a65d49..1a9294269b0a4 100644 --- a/devel/nss/Makefile +++ b/devel/nss/Makefile @@ -15,6 +15,8 @@ CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}nss/tests/multinit/multinit.sh CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}js/src/configure CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}configure +CTF_SUPPORTED= no # OS-6510 + USE_GCC_RUNTIME= yes USE_LANGUAGES= c99 USE_TOOLS+= gmake perl pax pkg-config diff --git a/graphics/ImageMagick/Makefile b/graphics/ImageMagick/Makefile index 34e089edeb80b..581c75dc92948 100644 --- a/graphics/ImageMagick/Makefile +++ b/graphics/ImageMagick/Makefile @@ -84,6 +84,10 @@ SUBST_FILES.fix-pc+= MagickCore/MagickCore-config.in SUBST_FILES.fix-pc+= MagickWand/MagickWand-config.in SUBST_SED.fix-pc= -e 's,@PKG_CONFIG@,pkg-config,g' +# failed to convert strong functions and variables: Invalid type identifier +CTF_FILES_SKIP+= lib/libMagickCore-7.Q16HDRI.so.4.0.0 +CTF_FILES_SKIP+= lib/libMagickWand-7.Q16HDRI.so.4.0.0 + .include "../../archivers/bzip2/buildlink3.mk" .include "../../archivers/xz/buildlink3.mk" .include "../../devel/libltdl/buildlink3.mk" diff --git a/graphics/ImageMagick6/Makefile b/graphics/ImageMagick6/Makefile index 30838f57292a8..5d0bea857af2f 100644 --- a/graphics/ImageMagick6/Makefile +++ b/graphics/ImageMagick6/Makefile @@ -97,6 +97,10 @@ SUBST_MESSAGE.fix-tools=Unwrapping tools path in delegate paths. SUBST_FILES.fix-tools= config/delegates.xml SUBST_SED.fix-tools= -e 's,${TOOLS_DIR},,g' +# failed to convert strong functions and variables: Invalid type identifier +CTF_FILES_SKIP+= lib/libMagickCore-6.Q16.so.5.0.0 +CTF_FILES_SKIP+= lib/libMagickWand-6.Q16.so.5.0.0 + .include "../../archivers/bzip2/buildlink3.mk" .include "../../archivers/xz/buildlink3.mk" .include "../../devel/libltdl/buildlink3.mk" diff --git a/lang/ghc7/Makefile b/lang/ghc7/Makefile index 212d16545c247..89e3af77881d6 100644 --- a/lang/ghc7/Makefile +++ b/lang/ghc7/Makefile @@ -173,6 +173,8 @@ CHECK_PORTABILITY_SKIP+= distrib/prep-bin-dist-mingw CHECK_SHLIBS_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* .endif +# ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable +CTF_FILES_SKIP+= */libHSghc-7.6.3-ghc7.6.3.so # ----------------------------------------------------------------------------- # Dependencies diff --git a/lang/go110/Makefile b/lang/go110/Makefile index cea892a58de10..9b8d0b0a6783c 100644 --- a/lang/go110/Makefile +++ b/lang/go110/Makefile @@ -1,5 +1,8 @@ # $NetBSD: Makefile,v 1.1 2018/09/18 20:52:11 bsiegert Exp $ +# set first because version.mk includes bsd.prefs.mk :/ +CTF_SUPPORTED= no + .include "../../lang/go/version.mk" DISTNAME= go${GO110_VERSION}.src diff --git a/lang/go14/Makefile b/lang/go14/Makefile index ab3f2af04c095..3b2b4d3903cf8 100644 --- a/lang/go14/Makefile +++ b/lang/go14/Makefile @@ -1,5 +1,8 @@ # $NetBSD: Makefile,v 1.17 2018/08/22 09:45:20 wiz Exp $ +# set first because version.mk includes bsd.prefs.mk :/ +CTF_SUPPORTED= no + .include "../../lang/go/version.mk" DISTNAME= go${GO14_VERSION}.src diff --git a/lang/mono/Makefile b/lang/mono/Makefile index 9de3e1acddf5e..977fca1fac36b 100644 --- a/lang/mono/Makefile +++ b/lang/mono/Makefile @@ -26,6 +26,8 @@ CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q} --with-icu=yes CONFIGURE_ARGS+= --with-preview=yes --with-libgdiplus=installed CONFIGURE_ARGS+= --disable-dtrace +CTF_SUPPORTED= no # OS-6510 + .include "options.mk" MAKE_FLAGS+= PERL=${PERL5:Q} mandir=${PREFIX}/${PKGMANDIR} diff --git a/lang/oracle-jre8/Makefile.common b/lang/oracle-jre8/Makefile.common index fc54a06ee011c..95991ac64acb3 100644 --- a/lang/oracle-jre8/Makefile.common +++ b/lang/oracle-jre8/Makefile.common @@ -24,6 +24,7 @@ USE_TOOLS+= pax CHECK_RELRO_SUPPORTED= no CHECK_SHLIBS_SUPPORTED= no CHECK_SSP_SUPPORTED= no +CTF_SUPPORTED= no # JDK8 Update number UPDATE_NUMBER= 172 diff --git a/lang/sun-jre6/Makefile.common b/lang/sun-jre6/Makefile.common index 64b4c324c2f52..c01e24ed10392 100644 --- a/lang/sun-jre6/Makefile.common +++ b/lang/sun-jre6/Makefile.common @@ -84,6 +84,7 @@ FETCH_MESSAGE+= " license, then choose 'Linux self-extracting file'." CHECK_SHLIBS_SUPPORTED= no CHECK_SSP_SUPPORTED= no +CTF_SUPPORTED= no post-fetch: @if ${TEST} ! -x ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}; then \ diff --git a/lang/sun-jre7/Makefile.common b/lang/sun-jre7/Makefile.common index 44702123cd280..85fc243b47f5a 100644 --- a/lang/sun-jre7/Makefile.common +++ b/lang/sun-jre7/Makefile.common @@ -21,6 +21,7 @@ EMUL_PLATFORMS= linux-i386 linux-x86_64 solaris-i386 solaris-x86_64 # pre-built binaries without RELRO or SSP CHECK_RELRO_SUPPORTED= no CHECK_SSP_SUPPORTED= no +CTF_SUPPORTED= no USE_TOOLS+= pax diff --git a/math/R/Makefile b/math/R/Makefile index 2d0e6e9fc9a2e..3a3bb92cebb89 100644 --- a/math/R/Makefile +++ b/math/R/Makefile @@ -142,6 +142,9 @@ SUBST_SED.fixwrap= -e "s,${WRAPPER_BINDIR}/libtool,${PKG_LIBTOOL},g" BUILDLINK_API_DEPENDS.bzip2+= bzip2>=1.0.5 +# failed to convert strong functions and variables: Invalid type identifier +CTF_FILES_SKIP+= lib/R/library/mgcv/libs/mgcv.so + pre-configure: ${RUN} cd ${WRKSRC} && autoreconf -fvi diff --git a/net/samba4/Makefile b/net/samba4/Makefile index 97b0ebbedee9d..35a68ab18d5fe 100644 --- a/net/samba4/Makefile +++ b/net/samba4/Makefile @@ -165,6 +165,8 @@ MESSAGE_SRC= ${PKGDIR}/MESSAGE.rcd SMF_INSTANCES= smbd nmbd +CTF_FILES_SKIP+= lib/libdcerpc-samr.so.* # empty + post-extract: ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR} diff --git a/security/libsodium/Makefile b/security/libsodium/Makefile index 9805703b22d17..5ef0d424d24d5 100644 --- a/security/libsodium/Makefile +++ b/security/libsodium/Makefile @@ -15,4 +15,6 @@ PKGCONFIG_OVERRIDE= libsodium.pc.in TEST_TARGET= check +CTF_SUPPORTED= no # failed to get tag type: DW_DLE_DIE_NULL + .include "../../mk/bsd.pkg.mk" diff --git a/sysutils/apcupsd/Makefile b/sysutils/apcupsd/Makefile index 62c0826cc9340..39d869b529e69 100644 --- a/sysutils/apcupsd/Makefile +++ b/sysutils/apcupsd/Makefile @@ -19,6 +19,8 @@ GNU_CONFIGURE= yes PKG_SYSCONFSUBDIR= apcupsd WRKSRC= ${WRKDIR}/apcupsd +CTF_SUPPORTED= no # OS-6533 + .include "options.mk" # Thread support is needed to compile powerflute, which has a curses diff --git a/www/webkit-gtk/Makefile b/www/webkit-gtk/Makefile index 267b604747143..bd60f1d6a1e70 100644 --- a/www/webkit-gtk/Makefile +++ b/www/webkit-gtk/Makefile @@ -22,6 +22,9 @@ USE_LANGUAGES= c c++11 #USE_LIBTOOL= yes USE_TOOLS+= automake bison gmake perl:build pkg-config msgfmt +# Enabling -gdwarf-2 hits GNU ar limits on file size. +CTF_SUPPORTED= no + GCC_REQD+= 5.0 # Using ld.gold subverts Pkgsrc wrappers, and this package also crashes buggy diff --git a/www/webkit24-gtk/Makefile.common b/www/webkit24-gtk/Makefile.common index 75d520a1fcc51..d98175bd33724 100644 --- a/www/webkit24-gtk/Makefile.common +++ b/www/webkit24-gtk/Makefile.common @@ -19,6 +19,9 @@ USE_LIBTOOL= yes USE_TOOLS+= automake bison gmake perl:build pkg-config msgfmt USE_TOOLS+= msgmerge xgettext +# Enabling -gdwarf-2 hits GNU ar limits on file size. +CTF_SUPPORTED= no + # GCC >= 4.8 (for std::this_thread::yield() at least) or Clang >= 3.3 GCC_REQD+= 4.8 diff --git a/x11/p5-Wx/Makefile b/x11/p5-Wx/Makefile index 2bad724dd3927..36ac81779431e 100644 --- a/x11/p5-Wx/Makefile +++ b/x11/p5-Wx/Makefile @@ -13,6 +13,9 @@ LICENSE= ${PERL5_LICENSE} MAKE_JOBS_SAFE= no +# All .so's "Invalid type identifier" +CTF_SUPPORTED= no + BUILD_DEPENDS+= p5-Alien-wxWidgets>=0.25:../../x11/p5-Alien-wxWidgets #BUILD_DEPENDS+= {perl>=5.16.6,p5-ExtUtils-ParseXS>=3.15}:../../devel/p5-ExtUtils-ParseXS BUILD_DEPENDS+= p5-ExtUtils-XSpp>=0.16.02:../../devel/p5-ExtUtils-XSpp From f9b624fbec7266ddd665fd514a18315b0e773ed5 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 21 Dec 2017 17:50:36 +0000 Subject: [PATCH 005/141] mk: Log CTF failures and short-circuit bad files. --- mk/install/install.mk | 22 ++++++++++++++++------ mk/pkgformat/pkg/package.mk | 10 +++++++++- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/mk/install/install.mk b/mk/install/install.mk index 35abacd49e22a..49cd43938ff83 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -340,24 +340,34 @@ post-install: .PHONY: install-ctf install-ctf: plist @${STEP_MSG} "Generating CTF data" - @${RM} -f ${WRKDIR}/.ctfdata + @${RM} -f ${WRKDIR}/.ctfdata ${WRKDIR}/.ctffail ${RUN}cd ${DESTDIR:Q}${PREFIX:Q}; \ ${CAT} ${_PLIST_NOKEYWORDS} | while read f; do \ [ ! -h "$${f}" ] || continue; \ + /bin/file -b "$${f}" | grep ^ELF >/dev/null || continue; \ + if /bin/elfdump "$${f}" | grep SUNW_ctf >/dev/null; then \ + continue; \ + fi; \ case "$${f}" in \ - ${CTF_FILES_SKIP:@p@${p}) continue ;;@} \ + ${CTF_FILES_SKIP:@p@${p}) continue;;@} \ *) ;; \ esac; \ tmp_f="$${f}.XXX"; \ - if ${CTFCONVERT} -o "$${tmp_f}" "$${f}" 2>/dev/null; then \ + if err=`${CTFCONVERT} -o "$${tmp_f}" "$${f}" 2>&1`; then \ if [ -f "$${tmp_f}" -a -f "$${f}" ]; then \ ${MV} "$${tmp_f}" "$${f}"; \ - ${ECHO} $${f} \ - | ${SED} -e 's|^${DESTDIR}||' \ - >>${WRKDIR}/.ctfdata; \ fi; \ fi; \ ${RM} -f "$${tmp_f}"; \ + if /bin/elfdump "$${f}" | grep SUNW_ctf >/dev/null; then \ + ${ECHO} $${f} \ + | ${SED} -e 's|^${DESTDIR}||' \ + >>${WRKDIR}/.ctfdata; \ + else \ + ${ECHO} "$${f}: $${err}" \ + | ${SED} -e 's|^${DESTDIR}||' \ + >>${WRKDIR}/.ctffail; \ + fi; \ done ###################################################################### diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk index 5c345edb009fd..81387cb023577 100644 --- a/mk/pkgformat/pkg/package.mk +++ b/mk/pkgformat/pkg/package.mk @@ -60,13 +60,21 @@ ${STAGE_PKGFILE}: ${_CONTENTS_TARGETS} ${RUN} tmpname=${.TARGET:S,${PKG_SUFX}$,.tmp${PKG_SUFX},}; \ ${MV} -f "$$tmpname" ${.TARGET} .endif - @${RUN} ${MKDIR} ${PACKAGES}/ctfdata 2>/dev/null || ${TRUE}; \ + @${RUN}${MKDIR} ${PACKAGES}/ctfdata 2>/dev/null || ${TRUE}; \ ${RM} -f ${PACKAGES}/ctfdata/${PKGNAME}; \ if [ -f ${WRKDIR}/.ctfdata -a -d ${PACKAGES}/ctfdata ]; then \ ${STEP_MSG} "Copying CTF data"; \ ${MKDIR} ${PACKAGES}/ctfdata; \ ${MV} ${WRKDIR}/.ctfdata \ ${PACKAGES}/ctfdata/${PKGNAME}; \ + fi; \ + ${MKDIR} ${PACKAGES}/ctffail 2>/dev/null || ${TRUE}; \ + ${RM} -f ${PACKAGES}/ctffail/${PKGNAME}; \ + if [ -f ${WRKDIR}/.ctffail -a -d ${PACKAGES}/ctffail ]; then \ + ${STEP_MSG} "Copying CTF failures"; \ + ${MKDIR} ${PACKAGES}/ctffail; \ + ${MV} ${WRKDIR}/.ctffail \ + ${PACKAGES}/ctffail/${PKGNAME}; \ fi .if ${PKGFILE} != ${STAGE_PKGFILE} From 6f327effd12287cdd0119f62982a96739adad90d Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Sat, 23 Dec 2017 10:34:28 +0000 Subject: [PATCH 006/141] mk: Log CTF conversions which are non-executable. --- mk/install/install.mk | 5 ++++- mk/pkgformat/pkg/package.mk | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mk/install/install.mk b/mk/install/install.mk index 49cd43938ff83..66b051a69dd7c 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -340,7 +340,7 @@ post-install: .PHONY: install-ctf install-ctf: plist @${STEP_MSG} "Generating CTF data" - @${RM} -f ${WRKDIR}/.ctfdata ${WRKDIR}/.ctffail + @${RM} -f ${WRKDIR}/.ctfdata ${WRKDIR}/.ctffail ${WRKDIR}/.ctfnox ${RUN}cd ${DESTDIR:Q}${PREFIX:Q}; \ ${CAT} ${_PLIST_NOKEYWORDS} | while read f; do \ [ ! -h "$${f}" ] || continue; \ @@ -363,6 +363,9 @@ install-ctf: plist ${ECHO} $${f} \ | ${SED} -e 's|^${DESTDIR}||' \ >>${WRKDIR}/.ctfdata; \ + [ -x "$${f}" ] || ${ECHO} $${f} \ + | ${SED} -e 's|^${DESTDIR}||' \ + >>${WRKDIR}/.ctfnox; \ else \ ${ECHO} "$${f}: $${err}" \ | ${SED} -e 's|^${DESTDIR}||' \ diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk index 81387cb023577..3f3613be140a6 100644 --- a/mk/pkgformat/pkg/package.mk +++ b/mk/pkgformat/pkg/package.mk @@ -75,6 +75,14 @@ ${STAGE_PKGFILE}: ${_CONTENTS_TARGETS} ${MKDIR} ${PACKAGES}/ctffail; \ ${MV} ${WRKDIR}/.ctffail \ ${PACKAGES}/ctffail/${PKGNAME}; \ + fi; \ + ${MKDIR} ${PACKAGES}/ctfnox 2>/dev/null || ${TRUE}; \ + ${RM} -f ${PACKAGES}/ctfnox/${PKGNAME}; \ + if [ -f ${WRKDIR}/.ctfnox -a -d ${PACKAGES}/ctfnox ]; then \ + ${STEP_MSG} "Copying CTF non-executables"; \ + ${MKDIR} ${PACKAGES}/ctfnox; \ + ${MV} ${WRKDIR}/.ctfnox \ + ${PACKAGES}/ctfnox/${PKGNAME}; \ fi .if ${PKGFILE} != ${STAGE_PKGFILE} From 8e6c7c5953a5d06f76f0aab6be2746932acee9ae Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 20 Dec 2017 16:31:52 +0000 Subject: [PATCH 007/141] mk: Improve STRIP_DEBUG. The first issue was that on platforms where strip was set to a noop the command would succeed but the subsequent mv would fail. Improve this by actually checking for the output file. The second issue is that not all strip commands support -g, so we need an explicit gstrip tool for GNU strip (or equivalents, the FreeBSD "elftoolchain" supports -g too). Thirdly, we need a way to support skipping either entire packages or just a subset of files within a package. Some binaries (e.g. go) are broken by being stripped. While here simplify and tidy the install-strip-debug target, as well as improve performance by skipping symlinks. --- lang/ghc7/Makefile | 3 +++ lang/go/go-package.mk | 4 ++++ lang/go110/Makefile | 3 +++ lang/go14/Makefile | 3 +++ mk/install/install.mk | 26 +++++++++++++++----------- mk/tools/strip.mk | 15 ++++++++++++++- mk/tools/tools.Bitrig.mk | 1 + mk/tools/tools.DragonFly.mk | 1 + mk/tools/tools.FreeBSD.mk | 1 + mk/tools/tools.GNUkFreeBSD.mk | 1 + mk/tools/tools.Linux.mk | 1 + mk/tools/tools.Minix.mk | 1 + mk/tools/tools.MirBSD.mk | 1 + mk/tools/tools.NetBSD.mk | 1 + mk/tools/tools.OpenBSD.mk | 1 + 15 files changed, 51 insertions(+), 12 deletions(-) diff --git a/lang/ghc7/Makefile b/lang/ghc7/Makefile index 89e3af77881d6..aa8b5139923f9 100644 --- a/lang/ghc7/Makefile +++ b/lang/ghc7/Makefile @@ -176,6 +176,9 @@ CHECK_SHLIBS_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* # ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable CTF_FILES_SKIP+= */libHSghc-7.6.3-ghc7.6.3.so +# ld: fatal: relocation error ... relocation requires reference symbol +STRIP_FILES_SKIP+= lib/${PKGNAME_NOREV}/libHSrts.a + # ----------------------------------------------------------------------------- # Dependencies # diff --git a/lang/go/go-package.mk b/lang/go/go-package.mk index 258e737f87f21..a78356ed0670d 100644 --- a/lang/go/go-package.mk +++ b/lang/go/go-package.mk @@ -62,6 +62,10 @@ USE_TOOLS+= pax BUILD_DEPENDS+= ${GO_PACKAGE_DEP} +CHECK_RELRO_SUPPORTED= no +CHECK_SSP_SUPPORTED= no +STRIP_DEBUG_SUPPORTED= no + GO_PLATFORM= ${LOWER_OPSYS}_${GOARCH} GOTOOLDIR= ${PREFIX}/go/pkg/tool/${GO_PLATFORM} diff --git a/lang/go110/Makefile b/lang/go110/Makefile index 9b8d0b0a6783c..8bc8a3db2b5cd 100644 --- a/lang/go110/Makefile +++ b/lang/go110/Makefile @@ -76,6 +76,9 @@ CHECK_RELRO_SKIP+= go${GOVERSSUFFIX}/pkg/bootstrap/bin/cgo # also does not support SSP at this time CHECK_SSP_SKIP= ${CHECK_RELRO_SKIP} +# Stripping go binaries breaks them in interesting ways +STRIP_DEBUG_SUPPORTED= no + # uses /bin/rc (for Plan 9) CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/include/plan9/mklibc.rc CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/src/all.rc diff --git a/lang/go14/Makefile b/lang/go14/Makefile index 3b2b4d3903cf8..1c78660e217aa 100644 --- a/lang/go14/Makefile +++ b/lang/go14/Makefile @@ -74,6 +74,9 @@ REPLACE_PERL+= test/errchk CHECK_RELRO_SKIP= go14/bin/go CHECK_RELRO_SKIP+= go14/bin/gofmt +# Stripping go binaries breaks them in interesting ways +STRIP_DEBUG_SUPPORTED= no + # uses /bin/rc (for Plan 9) CHECK_INTERPRETER_SKIP+= go14/include/plan9/mklibc.rc CHECK_INTERPRETER_SKIP+= go14/src/all.rc diff --git a/mk/install/install.mk b/mk/install/install.mk index 66b051a69dd7c..856ff729820a4 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -179,7 +179,7 @@ _INSTALL_ALL_TARGETS+= plist .if ${_PKGSRC_USE_CTF} == "yes" _INSTALL_ALL_TARGETS+= install-ctf .endif -.if !empty(STRIP_DEBUG:M[Yy][Ee][Ss]) +.if ${STRIP_DEBUG:Uno:tl} == "yes" && ${STRIP_DEBUG_SUPPORTED:Uyes:tl} == "yes" _INSTALL_ALL_TARGETS+= install-strip-debug .endif _INSTALL_ALL_TARGETS+= install-doc-handling @@ -382,16 +382,20 @@ install-ctf: plist .PHONY: install-strip-debug install-strip-debug: plist @${STEP_MSG} "Automatic stripping of debug information" - ${RUN}${CAT} ${_PLIST_NOKEYWORDS} \ - | ${SED} -e 's|^|${DESTDIR}${PREFIX}/|' \ - | while read f; do \ - tmp_f="$${f}.XXX"; \ - if ${STRIP} -g -o "$${tmp_f}" "$${f}" 2> /dev/null; then \ - [ ! -f "$${f}" ] || \ - ${MV} "$${tmp_f}" "$${f}"; \ - else \ - ${RM} -f "$${tmp_f}"; \ - fi \ + ${RUN}cd ${DESTDIR:Q}${PREFIX:Q}; \ + ${CAT} ${_PLIST_NOKEYWORDS} | while read f; do \ + [ ! -h "$${f}" ] || continue; \ + case "$${f}" in \ + ${STRIP_FILES_SKIP:@p@${p}) continue;;@} \ + *) ;; \ + esac; \ + tmp_f="$${f}.XXX"; \ + if ${STRIP_DBG} -o "$${tmp_f}" "$${f}" 2>/dev/null; then \ + if [ -f "$${tmp_f}" -a -f "$${f}" ]; then \ + ${MV} "$${tmp_f}" "$${f}"; \ + fi; \ + fi; \ + ${RM} -f "$${tmp_f}"; \ done ###################################################################### diff --git a/mk/tools/strip.mk b/mk/tools/strip.mk index e75ec440db6db..0c59516370330 100644 --- a/mk/tools/strip.mk +++ b/mk/tools/strip.mk @@ -39,7 +39,20 @@ TOOLS_CREATE+= strip TOOLS_PATH.strip= ${TOOLS_PLATFORM.strip} .endif -# Make ${STRIP} call "strip" through the PATH, which should find the one +# +# Create a special strip-dbg tool for stripping just debug information, +# used by the install-strip-debug target. Currently requires GNU strip. +# +.if !defined(TOOLS_PLATFORM.gstrip) +TOOLS_NOOP+= strip-dbg +.else +TOOLS_CREATE+= strip-dbg +TOOLS_PATH.strip-dbg= ${TOOLS_PLATFORM.gstrip} +TOOLS_ARGS.strip-dbg= -g +.endif + +# Make ${STRIP} and ${STRIP_DBG} call through the PATH so they find the ones # under ${TOOLS_DIR}. # STRIP?= strip +STRIP_DBG?= strip-dbg diff --git a/mk/tools/tools.Bitrig.mk b/mk/tools/tools.Bitrig.mk index 3ea39e7c29677..83fb81510c7f5 100644 --- a/mk/tools/tools.Bitrig.mk +++ b/mk/tools/tools.Bitrig.mk @@ -28,6 +28,7 @@ TOOLS_PLATFORM.file?= /usr/bin/file TOOLS_PLATFORM.find?= /usr/bin/find TOOLS_PLATFORM.flex?= /usr/bin/flex TOOLS_PLATFORM.grep?= /usr/bin/grep +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} diff --git a/mk/tools/tools.DragonFly.mk b/mk/tools/tools.DragonFly.mk index d0533aff27cf7..c4116aa06fa6b 100644 --- a/mk/tools/tools.DragonFly.mk +++ b/mk/tools/tools.DragonFly.mk @@ -36,6 +36,7 @@ TOOLS_PLATFORM.flex?= /usr/bin/flex TOOLS_PLATFORM.ftp?= /usr/bin/ftp TOOLS_PLATFORM.grep?= /usr/bin/grep TOOLS_PLATFORM.groff?= /usr/bin/groff +TOOLS_PLATFORM.gstrip?= /usr/bin/strip .if exists(/usr/bin/gtar) TOOLS_PLATFORM.gtar?= /usr/bin/gtar .endif diff --git a/mk/tools/tools.FreeBSD.mk b/mk/tools/tools.FreeBSD.mk index 1574fd53342d0..9faf036900aa1 100644 --- a/mk/tools/tools.FreeBSD.mk +++ b/mk/tools/tools.FreeBSD.mk @@ -38,6 +38,7 @@ TOOLS_PLATFORM.find?= /usr/bin/find TOOLS_PLATFORM.flex?= /usr/bin/lex TOOLS_PLATFORM.grep?= /usr/bin/grep TOOLS_PLATFORM.groff?= /usr/bin/groff +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} diff --git a/mk/tools/tools.GNUkFreeBSD.mk b/mk/tools/tools.GNUkFreeBSD.mk index 2972c83dc1f92..408bcc938163f 100644 --- a/mk/tools/tools.GNUkFreeBSD.mk +++ b/mk/tools/tools.GNUkFreeBSD.mk @@ -38,6 +38,7 @@ TOOLS_PLATFORM.gmake?= /usr/bin/make TOOLS_PLATFORM.grep?= /bin/grep TOOLS_PLATFORM.gsed?= /bin/sed TOOLS_PLATFORM.gsoelim?= /usr/bin/soelim +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gtar?= /bin/tar TOOLS_PLATFORM.gunzip?= /bin/gunzip -f TOOLS_PLATFORM.gzcat?= /bin/zcat diff --git a/mk/tools/tools.Linux.mk b/mk/tools/tools.Linux.mk index 151a919f460b8..30de8c2fc02fc 100644 --- a/mk/tools/tools.Linux.mk +++ b/mk/tools/tools.Linux.mk @@ -130,6 +130,7 @@ TOOLS_PLATFORM.gsed?= /usr/bin/sed .if exists(/usr/bin/soelim) TOOLS_PLATFORM.gsoelim?= /usr/bin/soelim .endif +TOOLS_PLATFORM.gstrip?= /usr/bin/strip .if exists(/bin/tar) TOOLS_PLATFORM.gtar?= /bin/tar .elif exists(/usr/bin/tar) diff --git a/mk/tools/tools.Minix.mk b/mk/tools/tools.Minix.mk index 6a00c5c0bbc6a..4fb786a3c920a 100644 --- a/mk/tools/tools.Minix.mk +++ b/mk/tools/tools.Minix.mk @@ -31,6 +31,7 @@ TOOLS_PLATFORM.find?= /usr/bin/find TOOLS_PLATFORM.flex?= /usr/bin/flex TOOLS_PLATFORM.ftp?= /usr/bin/ftp TOOLS_PLATFORM.grep?= /usr/bin/grep +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} diff --git a/mk/tools/tools.MirBSD.mk b/mk/tools/tools.MirBSD.mk index a19cc3e4307e6..a40133ca0f8d7 100644 --- a/mk/tools/tools.MirBSD.mk +++ b/mk/tools/tools.MirBSD.mk @@ -27,6 +27,7 @@ TOOLS_PLATFORM.file?= /usr/bin/file TOOLS_PLATFORM.find?= /usr/bin/find TOOLS_PLATFORM.flex?= /usr/bin/lex TOOLS_PLATFORM.grep?= /usr/bin/grep +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} diff --git a/mk/tools/tools.NetBSD.mk b/mk/tools/tools.NetBSD.mk index 0ec2a1a5a3ef9..8c0b0e57edd1e 100644 --- a/mk/tools/tools.NetBSD.mk +++ b/mk/tools/tools.NetBSD.mk @@ -44,6 +44,7 @@ TOOLS_PLATFORM.gettext?= /usr/bin/gettext TOOLS_PLATFORM.grep?= /usr/bin/grep TOOLS_PLATFORM.groff?= /usr/bin/groff TOOLS_PLATFORM.gsoelim?= ${TOOLS_PLATFORM.soelim} # GNUish +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} diff --git a/mk/tools/tools.OpenBSD.mk b/mk/tools/tools.OpenBSD.mk index 516d133270a00..0114bea004da3 100644 --- a/mk/tools/tools.OpenBSD.mk +++ b/mk/tools/tools.OpenBSD.mk @@ -38,6 +38,7 @@ TOOLS_PLATFORM.file?= /usr/bin/file TOOLS_PLATFORM.find?= /usr/bin/find TOOLS_PLATFORM.flex?= /usr/bin/lex TOOLS_PLATFORM.grep?= /usr/bin/grep +TOOLS_PLATFORM.gstrip?= /usr/bin/strip TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} From 8f5621d969cfa53cade0df62f33806801ee89861 Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Mon, 25 Jun 2012 11:05:24 +0000 Subject: [PATCH 008/141] net/bind9{9,10}: provide a default config file --- net/bind910/Makefile | 3 +++ net/bind910/PLIST | 1 + net/bind910/files/named.conf | 7 +++++++ net/bind911/Makefile | 3 +++ net/bind911/PLIST | 1 + net/bind99/files/named.conf | 7 +++++++ 6 files changed, 22 insertions(+) create mode 100644 net/bind910/files/named.conf create mode 100644 net/bind99/files/named.conf diff --git a/net/bind910/Makefile b/net/bind910/Makefile index 10fbfb1f0b979..09c37b4614c9c 100644 --- a/net/bind910/Makefile +++ b/net/bind910/Makefile @@ -68,6 +68,8 @@ SMF_METHODS= named INSTALL_MAKE_FLAGS+= sysconfdir=${PREFIX}/share/examples/bind9 CONF_FILES+= share/examples/bind9/bind.keys \ ${PKG_SYSCONFDIR}/bind.keys +CONF_FILES+= share/examples/bind9/named.conf \ + ${PKG_SYSCONFDIR}/named.conf INSTALLATION_DIRS+= ${DOCDIR} ${DOCDIR}/arm @@ -76,6 +78,7 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${DOCDIR} .endfor ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DESTDIR}${PREFIX}/${DOCDIR}/arm + ${INSTALL_DATA} ${FILESDIR}/named.conf ${DESTDIR}${PREFIX}/share/examples/bind9 .include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/bind910/PLIST b/net/bind910/PLIST index 627534ab82ae8..82364a63d2fc5 100644 --- a/net/bind910/PLIST +++ b/net/bind910/PLIST @@ -458,3 +458,4 @@ share/doc/bind9/arm/man.rndc.conf.html share/doc/bind9/arm/man.rndc.html share/doc/bind9/arm/notes.html share/examples/bind9/bind.keys +share/examples/bind9/named.conf diff --git a/net/bind910/files/named.conf b/net/bind910/files/named.conf new file mode 100644 index 0000000000000..66877d6aca162 --- /dev/null +++ b/net/bind910/files/named.conf @@ -0,0 +1,7 @@ +options { + directory "/var/named"; + forwarders { 8.8.8.8; 8.8.4.4; }; + forward first; + notify no; +}; + diff --git a/net/bind911/Makefile b/net/bind911/Makefile index a62c8ac10afab..8726cd08b8004 100644 --- a/net/bind911/Makefile +++ b/net/bind911/Makefile @@ -66,6 +66,8 @@ SMF_METHODS= named INSTALL_MAKE_FLAGS+= sysconfdir=${PREFIX}/share/examples/bind9 CONF_FILES+= share/examples/bind9/bind.keys \ ${PKG_SYSCONFDIR}/bind.keys +CONF_FILES+= share/examples/bind9/named.conf \ + ${PKG_SYSCONFDIR}/named.conf INSTALLATION_DIRS+= ${DOCDIR} ${DOCDIR}/arm @@ -74,6 +76,7 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${DOCDIR} .endfor ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DESTDIR}${PREFIX}/${DOCDIR}/arm + ${INSTALL_DATA} ${FILESDIR}/named.conf ${DESTDIR}${PREFIX}/share/examples/bind9 .include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/bind911/PLIST b/net/bind911/PLIST index 22b7141897850..df5d0dd5dc355 100644 --- a/net/bind911/PLIST +++ b/net/bind911/PLIST @@ -480,3 +480,4 @@ share/doc/bind9/arm/man.rndc.conf.html share/doc/bind9/arm/man.rndc.html share/doc/bind9/arm/notes.html share/examples/bind9/bind.keys +share/examples/bind9/named.conf diff --git a/net/bind99/files/named.conf b/net/bind99/files/named.conf new file mode 100644 index 0000000000000..66877d6aca162 --- /dev/null +++ b/net/bind99/files/named.conf @@ -0,0 +1,7 @@ +options { + directory "/var/named"; + forwarders { 8.8.8.8; 8.8.4.4; }; + forward first; + notify no; +}; + From 215a5055f42bba95f879efc27b42c378de1fef0f Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Mon, 25 Jun 2012 11:16:57 +0000 Subject: [PATCH 009/141] multimedia/ffmpeg1: add option to generate tools --- multimedia/ffmpeg1/Makefile | 12 ++++++++++-- multimedia/ffmpeg1/PLIST | 6 ++++++ multimedia/ffmpeg1/options.mk | 8 ++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/multimedia/ffmpeg1/Makefile b/multimedia/ffmpeg1/Makefile index 712635d3da875..02ef45ca997b6 100644 --- a/multimedia/ffmpeg1/Makefile +++ b/multimedia/ffmpeg1/Makefile @@ -32,13 +32,21 @@ CONFIGURE_ARGS+= --host-ld=${NATIVE_CC:Q} TEST_TARGET= check +.include "options.mk" + +FFTOOLS= cws2fws graph2dot pktdumper +FFTOOLS+= probetest qt-faststart trasher + post-install: ${INSTALL_DATA} ${WRKSRC}/doc/*.txt \ ${DESTDIR}${PREFIX}/share/doc/ffmpeg1 ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf \ ${DESTDIR}${PREFIX}/share/examples/ffmpeg1 - -.include "options.mk" +.if !empty(PKG_OPTIONS:Mtools) +. for tool in ${FFTOOLS} + ${INSTALL_PROGRAM} ${WRKSRC}/tools/${tool} ${DESTDIR}${PREFIX}/bin +. endfor +.endif .include "../../mk/compiler.mk" diff --git a/multimedia/ffmpeg1/PLIST b/multimedia/ffmpeg1/PLIST index 9cf8da8d621d1..4a72e388dabe3 100644 --- a/multimedia/ffmpeg1/PLIST +++ b/multimedia/ffmpeg1/PLIST @@ -2,6 +2,12 @@ bin/ffmpeg1 bin/ffprobe1 bin/ffserver1 +${PLIST.tools}bin/cws2fws +${PLIST.tools}bin/graph2dot +${PLIST.tools}bin/pktdumper +${PLIST.tools}bin/probetest +${PLIST.tools}bin/qt-faststart +${PLIST.tools}bin/trasher include/ffmpeg1/libavcodec/avcodec.h include/ffmpeg1/libavcodec/avfft.h include/ffmpeg1/libavcodec/dxva2.h diff --git a/multimedia/ffmpeg1/options.mk b/multimedia/ffmpeg1/options.mk index 1a6f5df7bd376..43b18425a7636 100644 --- a/multimedia/ffmpeg1/options.mk +++ b/multimedia/ffmpeg1/options.mk @@ -6,6 +6,7 @@ PKG_OPTIONS_VAR= PKG_OPTIONS.ffmpeg PKG_SUPPORTED_OPTIONS= faac lame ass libvpx theora vorbis xvid \ opencore-amr rtmp #PKG_SUPPORTED_OPTIONS+=x264 +PKG_SUPPORTED_OPTIONS+= tools PKG_SUGGESTED_OPTIONS= lame ass libvpx theora vorbis xvid #PKG_OPTIONS_OPTIONAL_GROUPS= aac-decoder #PKG_OPTIONS_GROUP.aac-decoder= faac @@ -153,3 +154,10 @@ CONFIGURE_ARGS+= --enable-libvpx .else CONFIGURE_ARGS+= --disable-libvpx .endif + +PLIST_VARS+= tools +.if !empty(PKG_OPTIONS:Mtools) +BUILD_TARGET= all alltools +MAKE_JOBS_SAFE= no +PLIST.tools= yes +.endif From 36f7a545221e44db2fab78d0d56eb4f389076e14 Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Mon, 25 Jun 2012 11:42:24 +0000 Subject: [PATCH 010/141] www/nginx: Add compiled-in Passenger support --- www/nginx/MESSAGE.passenger | 25 +++++++++++++++++++++++++ www/nginx/options.mk | 20 ++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 www/nginx/MESSAGE.passenger diff --git a/www/nginx/MESSAGE.passenger b/www/nginx/MESSAGE.passenger new file mode 100644 index 0000000000000..bde9c3c22f37b --- /dev/null +++ b/www/nginx/MESSAGE.passenger @@ -0,0 +1,25 @@ +=========================================================================== +$NetBSD$ + +To enable Passenger in Nginx, add these lines to your nginx.conf file, +under the 'http' block: + + http { + ... + passenger_root ${PREFIX}; + passenger_ruby ${RUBY}; + ... + } + +To deploy a Rails/Rack application, set a 'server' block's root to the +'public' directory of your application, and add the 'passenger_enabled' +directive, like this: + + server { + listen 80; + server_name www.yourhost.com; + root /path/to/application/public; + passenger_enabled on; + } + +=========================================================================== diff --git a/www/nginx/options.mk b/www/nginx/options.mk index d943ecd5a49ed..19cba18c3644d 100644 --- a/www/nginx/options.mk +++ b/www/nginx/options.mk @@ -12,6 +12,8 @@ PKG_SUGGESTED_OPTIONS= inet6 pcre ssl PLIST_VARS+= naxsi perl uwsgi +PKG_SUPPORTED_OPTIONS+= passenger + .include "../../mk/bsd.options.mk" # documentation says naxsi must be the first module @@ -204,6 +206,24 @@ CONFIGURE_ARGS+= --with-http_image_filter_module CONFIGURE_ARGS+= --with-http_stub_status_module .endif +.if !empty(PKG_OPTIONS:Mpassenger) +PKGNAME= ${DISTNAME:S/nginx/nginx-passenger/} + +DEPENDS+= ${RUBY_PKGPREFIX}-passenger-[0-9]*:../../wip/ruby-passenger + +CONFIGURE_ARGS+= --add-module=${WRKDIR}/passenger/ext/nginx + +MESSAGE_SRC= MESSAGE +MESSAGE_SRC+= MESSAGE.passenger + +.include "../../wip/ruby-passenger/inplace.mk" + +pre-configure: build-passenger-files + +build-passenger-files: + cd ${WRKDIR}/passenger/build && ${RAKE} nginx:clean nginx +.endif + .if !empty(PKG_OPTIONS:Mperl) CONFIGURE_ARGS+= --with-http_perl_module CONFIGURE_ARGS+= --with-perl=${PERL5:Q} From 02f6c1b1c5ef7e68c58c1e1f6cafc95b20dd21c7 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 7 Dec 2012 14:49:47 +0000 Subject: [PATCH 011/141] lang/gcc49: Apply our GCC changes: - Add ALTERNATIVES files. - Include the .o files in the -libs packages. - Prune unnecessary libraries from the -libs package. - Set local prefix to LOCALBASE (except tools build). - Disable -fomit-frame-pointer, we like stack traces. - Disable __stack_chk_fail_local (fixes 32-bit) - DATASET-953 disable full gcc47 dependency - Implement -fstrict-calling-conventions, from richlowe. - Cleanup DEPENDS when using -libs - Fix check-shlibs in -libs - Fix joyent/pkgsrc#264 (avoid tls emulation) - Fix joyent/pkgsrc#270 (disable fixincludes) --- lang/gcc49-libs/Makefile | 19 ++++++++-- lang/gcc49/ALTERNATIVES | 20 ++++++++++ lang/gcc49/Makefile | 7 ++++ lang/gcc49/buildlink3.mk | 2 +- lang/gcc49/distinfo | 12 ++++-- lang/gcc49/patches/patch-gcc_Makefile.in | 12 +++++- lang/gcc49/patches/patch-gcc_caller-save.c | 15 ++++++++ lang/gcc49/patches/patch-gcc_common.opt | 19 ++++++++++ .../patches/patch-gcc_config_i386_i386.c | 37 +++++++++++++++++++ lang/gcc49/patches/patch-gcc_configure | 10 +++++ lang/gcc49/patches/patch-gcc_dojump.c | 15 ++++++++ lang/gcc49/patches/patch-gcc_ira.c | 24 ++++++++++++ lang/gcc49/patches/patch-gcc_targhooks.c | 10 +++++ 13 files changed, 193 insertions(+), 9 deletions(-) create mode 100644 lang/gcc49/ALTERNATIVES create mode 100644 lang/gcc49/patches/patch-gcc_caller-save.c create mode 100644 lang/gcc49/patches/patch-gcc_common.opt create mode 100644 lang/gcc49/patches/patch-gcc_dojump.c create mode 100644 lang/gcc49/patches/patch-gcc_ira.c diff --git a/lang/gcc49-libs/Makefile b/lang/gcc49-libs/Makefile index 2f4e90bb157dc..ed0a358d3c74a 100644 --- a/lang/gcc49-libs/Makefile +++ b/lang/gcc49-libs/Makefile @@ -28,6 +28,9 @@ CHECK_SHLIBS= no ## Depend on exactly ${GCC49_DIST_VERSION}. BUILD_DEPENDS+= ${GCC_PKGNAME}-${GCC49_DIST_VERSION}{,nb[0-9]*}:../../lang/gcc49 +# Finds libs from gcc49 due to rpath +CHECK_SHLIBS= no + .include "../../mk/bsd.prefs.mk" LIBGCC_SUBPREFIX= ${GCC_PKGNAME} @@ -43,19 +46,26 @@ SHLIB_EXT= so .endif LIBRARY_FILES= ${WRKDIR}/lib_files +OBJECT_FILES= ${WRKDIR}/obj_files GENERATE_PLIST+= ${SED} -e 's,^,${LIBGCC_SUBPREFIX}/${GCC_TARGET_MACHINE}/,' \ - ${LIBRARY_FILES}; + -e 's,gcc/${MACHINE_GNU_PLATFORM}/${GCC49_DIST_VERSION}/,,' \ + ${LIBRARY_FILES} ${OBJECT_FILES}; GENERATE_PLIST+= ${GREP} -q 'lib/' ${LIBRARY_FILES} || \ ${ECHO} '@pkgdir ${LIBGCC_SUBPREFIX}/${GCC_TARGET_MACHINE}/lib' ; ${LIBRARY_FILES}: ${PKG_INFO} -qL '${GCC_PKGNAME}-${GCC49_DIST_VERSION}*' | \ ${SED} -n -e's,^${LIBGCC_PREFIX}/,,' -e'/libexec\//d' \ - -e'/libgij/d;/libgcj/d;/libjvm/d' \ + -e'/libgij/d;/libgcj/d;/libjvm/d;/libgo\./d' \ -e'/lib.*\.${SHLIB_EXT}/p' >${LIBRARY_FILES} -do-install: ${LIBRARY_FILES} +${OBJECT_FILES}: + ${PKG_INFO} -qL '${GCC_PKGNAME}-${GCC49_DIST_VERSION}*' | \ + ${SED} -n -e 's,^${LIBGCC_PREFIX}/,,' \ + -e '/\.o/p' -e '/libgcc\.a/p' -e '/libssp_nonshared\.a/p' >${OBJECT_FILES} + +do-install: ${LIBRARY_FILES} ${OBJECT_FILES} ${TEST} -d ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib || \ ${MKDIR} ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib cd ${LIBGCC_PREFIX} && \ @@ -66,6 +76,9 @@ do-install: ${LIBRARY_FILES} ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/$${lib}; \ done <${LIBRARY_FILES} .endif + cd ${LIBGCC_PREFIX} && \ + ${PAX} -r -s ',gcc/${MACHINE_GNU_PLATFORM}/${GCC49_DIST_VERSION}/,,' \ + -w ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE} <${OBJECT_FILES} .include "../../mk/dlopen.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" diff --git a/lang/gcc49/ALTERNATIVES b/lang/gcc49/ALTERNATIVES new file mode 100644 index 0000000000000..83d0c5c5637c4 --- /dev/null +++ b/lang/gcc49/ALTERNATIVES @@ -0,0 +1,20 @@ +bin/c++ @PREFIX@/gcc49/bin/c++ +bin/cc @PREFIX@/gcc49/bin/cc +bin/cpp @PREFIX@/gcc49/bin/cpp +bin/g++ @PREFIX@/gcc49/bin/g++ +bin/gcc @PREFIX@/gcc49/bin/gcc +bin/gcc-ar @PREFIX@/gcc49/bin/gcc-ar +bin/gcc-nm @PREFIX@/gcc49/bin/gcc-nm +bin/gcc-ranlib @PREFIX@/gcc49/bin/gcc-ranlib +bin/gccgo @PREFIX@/gcc49/bin/gccgo +bin/gcov @PREFIX@/gcc49/bin/gcov +bin/gfortran @PREFIX@/gcc49/bin/gfortran +bin/@MACHINE_GNU_PLATFORM@-c++ @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-c++ +bin/@MACHINE_GNU_PLATFORM@-g++ @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-g++ +bin/@MACHINE_GNU_PLATFORM@-gcc @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gcc +bin/@MACHINE_GNU_PLATFORM@-gcc-@GCC49_DIST_VERSION@ @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gcc-@GCC49_DIST_VERSION@ +bin/@MACHINE_GNU_PLATFORM@-gcc-ar @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gcc-ar +bin/@MACHINE_GNU_PLATFORM@-gcc-nm @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gcc-nm +bin/@MACHINE_GNU_PLATFORM@-gcc-ranlib @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gcc-ranlib +bin/@MACHINE_GNU_PLATFORM@-gccgo @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gccgo +bin/@MACHINE_GNU_PLATFORM@-gfortran @PREFIX@/gcc49/bin/@MACHINE_GNU_PLATFORM@-gfortran diff --git a/lang/gcc49/Makefile b/lang/gcc49/Makefile index 4954d5095fd23..e3bd668887950 100644 --- a/lang/gcc49/Makefile +++ b/lang/gcc49/Makefile @@ -44,6 +44,9 @@ CONFIGURE_ARGS+= --disable-libstdcxx-pch UNLIMIT_RESOURCES+= datasize UNLIMIT_RESOURCES+= stacksize +FILES_SUBST+= GCC49_DIST_VERSION=${GCC49_DIST_VERSION} +FILES_SUBST+= MACHINE_GNU_PLATFORM=${MACHINE_GNU_PLATFORM} + SUBST_CLASSES+= vars SUBST_STAGE.vars= pre-configure SUBST_FILES.vars= gcc/Makefile.in @@ -88,7 +91,11 @@ CONFIGURE_ARGS+= --enable-libssp CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} CONFIGURE_ARGS+= --enable-shared CONFIGURE_ARGS+= --enable-long-long +.if ${USE_GCC_LOCALBASE_PREFIX:Uno:tl} == "yes" +CONFIGURE_ARGS+= --with-local-prefix=${LOCALBASE:Q} +.else CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} +.endif CONFIGURE_ARGS+= --enable-threads=posix CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q} diff --git a/lang/gcc49/buildlink3.mk b/lang/gcc49/buildlink3.mk index 3d3fd0d721107..c707d07b4b224 100644 --- a/lang/gcc49/buildlink3.mk +++ b/lang/gcc49/buildlink3.mk @@ -16,7 +16,7 @@ BUILDLINK_FILES.gcc49= #empty BUILDLINK_AUTO_VARS.gcc49= no # Packages that link against shared libraries need a full dependency. -.if defined(_USE_GCC_SHLIB) +.if defined(_USE_GCC_SHLIB) && empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss]) DEPENDS+= {gcc49,gcc49-libs}>=4.9:../../lang/gcc49-libs .endif diff --git a/lang/gcc49/distinfo b/lang/gcc49/distinfo index 1e0770ee20d3e..12f6a8103c6b4 100644 --- a/lang/gcc49/distinfo +++ b/lang/gcc49/distinfo @@ -9,7 +9,9 @@ RMD160 (gcc-4.9.4.tar.bz2) = 180d4aaa9d2c34084f3f01261f8cb00ddb921529 SHA512 (gcc-4.9.4.tar.bz2) = 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe Size (gcc-4.9.4.tar.bz2) = 90097606 bytes SHA1 (patch-contrib_make__sunver.pl) = 49cbd1a83c9b65d07a373262fcf6f71069283d2e -SHA1 (patch-gcc_Makefile.in) = 45c7a61cf22d02299d2308ba34f0ceb272ad5c5e +SHA1 (patch-gcc_Makefile.in) = e5ef780f98e80ce7ccd48b013830dbfed679af85 +SHA1 (patch-gcc_caller-save.c) = 5d26b2ab0f0ea8292b63e0a43b3ac782c619deed +SHA1 (patch-gcc_common.opt) = d45228e1560e1cb087b07dc748196a6c17587a9c SHA1 (patch-gcc_config.gcc) = f8dc39c70aff31b1b9479895a14710ee9b168b3c SHA1 (patch-gcc_config.host) = 1b1e11cd199eb93f49443d51c0063b09b7327858 SHA1 (patch-gcc_config_dragonfly-stdint.h) = 249e78bf2171fcd29eae498e41a12bf747015a19 @@ -17,16 +19,18 @@ SHA1 (patch-gcc_config_dragonfly.h) = 5d671b7cdf8b8e3798dd7ec47f56708aa3548f38 SHA1 (patch-gcc_config_dragonfly.opt) = b01bee26978f7feb62fc2ec21186449ccaea0db7 SHA1 (patch-gcc_config_host-netbsd.c) = 765295f07edb8a68f1910e3a9b4dd2a7dcd491a5 SHA1 (patch-gcc_config_i386_dragonfly.h) = 5756b62791273f77866f06be1df0c267dc90a2ee -SHA1 (patch-gcc_config_i386_i386.c) = 61df9f4677f599f1ba3845849f334bbd568a479f +SHA1 (patch-gcc_config_i386_i386.c) = 247db3ee4e8083692558732ba54ae9148fc72a26 SHA1 (patch-gcc_config_netbsd-stdint.h) = fc430c80adda9d3f58eea47816338f697a659889 SHA1 (patch-gcc_config_netbsd.h) = 1d21dbe5082dd149d59dbc471d4148d0651df7d4 SHA1 (patch-gcc_config_x-netbsd) = 6dc3d78e26df62054ea29f98ca51592858e671e3 -SHA1 (patch-gcc_configure) = b925cb971ec547a9c25b518927493a168391d7da +SHA1 (patch-gcc_configure) = 302465f72ada3e3d3ec8acde70af9313e14053e1 +SHA1 (patch-gcc_dojump.c) = d9066b1d2ac6f7ddce876edf3cc61aca420d2686 SHA1 (patch-gcc_fortran_f95-lang.c) = 9dbac16c146821eed9b06e1e9f0da85ff5c4ee75 SHA1 (patch-gcc_ggc-common.c) = fa577bc25260d7e6304f166686ba51c0b677d7f6 SHA1 (patch-gcc_ginclude_stddef.h) = 8af3e4b4058fc623c61e91f5771699f0ce679957 +SHA1 (patch-gcc_ira.c) = 37bfd4118a9393d7d0fc142ee13379526fd733ee SHA1 (patch-gcc_system.h) = 4c959a6b1c4d524cbdf44cfb80f0e5758ec20783 -SHA1 (patch-gcc_targhooks.c) = ac5bf5f201389f5bb79866d9e0dc93ee28af51f2 +SHA1 (patch-gcc_targhooks.c) = a982fa02d2ce947481d78198586235a9c4eb5d65 SHA1 (patch-include_libiberty.h) = 5254c6a421ae16c71571820f6f07906367f042ba SHA1 (patch-libcilkrts_runtime_os-unix.c) = 165e736decbc6e0e3d905d418d71cf4873927925 SHA1 (patch-libcilkrts_runtime_signal_node.c) = e12fd7c9f109db568c46e915bd1bae28fae7b95a diff --git a/lang/gcc49/patches/patch-gcc_Makefile.in b/lang/gcc49/patches/patch-gcc_Makefile.in index 5e8be2a9545f4..27cd92a0165c1 100644 --- a/lang/gcc49/patches/patch-gcc_Makefile.in +++ b/lang/gcc49/patches/patch-gcc_Makefile.in @@ -1,8 +1,9 @@ $NetBSD: patch-gcc_Makefile.in,v 1.1 2014/09/04 18:43:11 jperkin Exp $ Add this GCC libdir to rpath. +Disable fixincludes, as per joyent/pkgsrc#270 ---- gcc/Makefile.in.orig 2014-04-15 08:04:17.000000000 +0000 +--- gcc/Makefile.in.orig 2014-10-16 13:50:42.000000000 +0000 +++ gcc/Makefile.in @@ -1930,6 +1930,7 @@ prefix.o: $(BASEVER) # Language-independent files. @@ -12,3 +13,12 @@ Add this GCC libdir to rpath. -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ +@@ -2730,7 +2731,7 @@ stmp-fixinc: gsyslimits.h macro_list fix + gcc_dir=`${PWD_COMMAND}` ; \ + export TARGET_MACHINE srcdir SHELL MACRO_LIST && \ + cd $(build_objdir)/fixincludes && \ +- $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \ ++ $(SHELL) -c true "$${gcc_dir}/$${fix_dir}" \ + $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \ + rm -f $${fix_dir}/syslimits.h; \ + if [ -f $${fix_dir}/limits.h ]; then \ diff --git a/lang/gcc49/patches/patch-gcc_caller-save.c b/lang/gcc49/patches/patch-gcc_caller-save.c new file mode 100644 index 0000000000000..d63f4c03937bb --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_caller-save.c @@ -0,0 +1,15 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. + +--- gcc/caller-save.c.orig 2014-01-02 22:23:26.000000000 +0000 ++++ gcc/caller-save.c +@@ -378,7 +378,7 @@ saved_hard_reg_compare_func (const void + const struct saved_hard_reg *p1 = *(struct saved_hard_reg * const *) v1p; + const struct saved_hard_reg *p2 = *(struct saved_hard_reg * const *) v2p; + +- if (flag_omit_frame_pointer) ++ if (0) + { + if (p1->call_freq - p2->call_freq != 0) + return p1->call_freq - p2->call_freq; diff --git a/lang/gcc49/patches/patch-gcc_common.opt b/lang/gcc49/patches/patch-gcc_common.opt new file mode 100644 index 0000000000000..027979203517c --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_common.opt @@ -0,0 +1,19 @@ +$NetBSD$ + +Implement -fstrict-calling-conventions, from: + + https://github.com/richlowe/gcc/commit/c245a538375d071928782a1564cd7e55d70bd4a0 + +--- gcc/common.opt.orig 2015-02-26 02:43:52.000000000 +0000 ++++ gcc/common.opt +@@ -1991,6 +1991,10 @@ fstrict-aliasing + Common Report Var(flag_strict_aliasing) Optimization + Assume strict aliasing rules apply + ++fstrict-calling-conventions ++Common Report Var(flag_strict_calling_conventions) Init(1) ++Use strict ABI calling conventions even for static functions ++ + fstrict-overflow + Common Report Var(flag_strict_overflow) + Treat signed overflow as undefined diff --git a/lang/gcc49/patches/patch-gcc_config_i386_i386.c b/lang/gcc49/patches/patch-gcc_config_i386_i386.c index 3dc7c13e9ed19..8f97b06d4edc4 100644 --- a/lang/gcc49/patches/patch-gcc_config_i386_i386.c +++ b/lang/gcc49/patches/patch-gcc_config_i386_i386.c @@ -12,8 +12,45 @@ zero-extension with and. 2017-03-25 Uros Bizjak +Disable -fomit-frame-pointer. +Add support for -fstrict-calling-conventions. + --- gcc/config/i386/i386.c.orig 2016-08-01 16:03:41.000000000 +0000 +++ gcc/config/i386/i386.c +@@ -3857,7 +3857,7 @@ ix86_option_override_internal (bool main + } + + /* Keep nonleaf frame pointers. */ +- if (opts->x_flag_omit_frame_pointer) ++ if (0) + opts->x_target_flags &= ~MASK_OMIT_LEAF_FRAME_POINTER; + else if (TARGET_OMIT_LEAF_FRAME_POINTER_P (opts->x_target_flags)) + opts->x_flag_omit_frame_pointer = 1; +@@ -5636,6 +5636,7 @@ ix86_function_regparm (const_tree type, + and callee not, or vice versa. Instead look at whether the callee + is optimized or not. */ + && opt_for_fn (decl, optimize) ++ && (TARGET_64BIT || !flag_strict_calling_conventions) + && !(profile_flag && !flag_fentry)) + { + /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ +@@ -5713,6 +5714,7 @@ ix86_function_sseregparm (const_tree typ + /* For local functions, pass up to SSE_REGPARM_MAX SFmode + (and DFmode for SSE2) arguments in SSE registers. */ + if (decl && TARGET_SSE_MATH && optimize ++ && (TARGET_64BIT || !flag_strict_calling_conventions) + && !(profile_flag && !flag_fentry)) + { + /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ +@@ -10650,7 +10652,7 @@ ix86_finalize_stack_realign_flags (void) + if (stack_realign + && frame_pointer_needed + && crtl->is_leaf +- && flag_omit_frame_pointer ++ && 0 + && crtl->sp_is_unchanging + && !ix86_current_function_calls_tls_descriptor + && !crtl->accesses_prior_frames @@ -35540,9 +35540,6 @@ ix86_expand_builtin (tree exp, rtx targe mode0 = DImode; diff --git a/lang/gcc49/patches/patch-gcc_configure b/lang/gcc49/patches/patch-gcc_configure index cb51da21444f1..11621729bdf2a 100644 --- a/lang/gcc49/patches/patch-gcc_configure +++ b/lang/gcc49/patches/patch-gcc_configure @@ -3,12 +3,22 @@ $NetBSD: patch-gcc_configure,v 1.2 2017/07/10 15:55:40 maya Exp $ Add dl_iterate_phdr detection for FreeBSD and DragonFly. Detection for NetBSD and OpenBSD is added but commented out in case this error handling mechanism is activated for these platforms later. +Fix detection of native TLS on SunOS, joyent/pkgsrc#264 netbsd provides ssp in libc and doesn't build libssp, adjust ssp spec fragment for it too --- gcc/configure.orig 2014-05-28 11:37:50.000000000 +0000 +++ gcc/configure +@@ -23330,7 +23330,7 @@ $as_echo "#define TLS_SECTION_ASM_FLAG ' + tls_first_major=2 + tls_first_minor=14 + tls_section_flag=T +- tls_as_opt="--fatal-warnings" ++ tls_as_opt="-32 --fatal-warnings" + fi + conftest_s="$conftest_s + foo: .long 25 @@ -27513,7 +27513,7 @@ fi # simply assert that glibc does provide this, which is true for all # realistically usable GNU/Hurd configurations. diff --git a/lang/gcc49/patches/patch-gcc_dojump.c b/lang/gcc49/patches/patch-gcc_dojump.c new file mode 100644 index 0000000000000..35c3a7112e761 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_dojump.c @@ -0,0 +1,15 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. + +--- gcc/dojump.c.orig 2014-03-27 00:41:10.000000000 +0000 ++++ gcc/dojump.c +@@ -79,7 +79,7 @@ void + clear_pending_stack_adjust (void) + { + if (optimize > 0 +- && (! flag_omit_frame_pointer || cfun->calls_alloca) ++ && (! 0 || cfun->calls_alloca) + && EXIT_IGNORE_STACK) + discard_pending_stack_adjust (); + } diff --git a/lang/gcc49/patches/patch-gcc_ira.c b/lang/gcc49/patches/patch-gcc_ira.c new file mode 100644 index 0000000000000..1ab78c94be99c --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_ira.c @@ -0,0 +1,24 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. + +--- gcc/ira.c.orig 2016-03-31 13:21:43.000000000 +0000 ++++ gcc/ira.c +@@ -1707,7 +1707,7 @@ ira_init (void) + { + free_register_move_costs (); + setup_reg_mode_hard_regset (); +- setup_alloc_regs (flag_omit_frame_pointer != 0); ++ setup_alloc_regs (0 != 0); + setup_class_subset_and_memory_move_costs (); + setup_reg_class_nregs (); + setup_prohibited_class_mode_regs (); +@@ -2396,7 +2396,7 @@ ira_setup_eliminable_regset (void) + case. At some point, we should improve this by emitting the + sp-adjusting insns for this case. */ + frame_pointer_needed +- = (! flag_omit_frame_pointer ++ = (! 0 + || (cfun->calls_alloca && EXIT_IGNORE_STACK) + /* We need the frame pointer to catch stack overflow exceptions if + the stack pointer is moving (as for the alloca case just above). */ diff --git a/lang/gcc49/patches/patch-gcc_targhooks.c b/lang/gcc49/patches/patch-gcc_targhooks.c index 6aa68f1cde347..77f09ea3ad46c 100644 --- a/lang/gcc49/patches/patch-gcc_targhooks.c +++ b/lang/gcc49/patches/patch-gcc_targhooks.c @@ -3,9 +3,19 @@ * Port from NetBSD src Fix __stack_chk_fail_local undefined reference error from "gcc test.c -fstack-protector-all -fPIE". +* Disable __stack_chk_fail_local 32-bit optimisation on SunOS. --- gcc/targhooks.c.orig 2014-03-03 21:51:58.000000000 +0000 +++ gcc/targhooks.c +@@ -716,7 +716,7 @@ default_external_stack_protect_fail (voi + tree + default_hidden_stack_protect_fail (void) + { +-#ifndef HAVE_GAS_HIDDEN ++#if !defined(HAVE_GAS_HIDDEN) || defined(__sun) + return default_external_stack_protect_fail (); + #else + tree t = stack_chk_fail_decl; @@ -738,7 +738,17 @@ default_hidden_stack_protect_fail (void) DECL_ARTIFICIAL (t) = 1; DECL_IGNORED_P (t) = 1; From 5502ca4919b237588598d4a02998f2c283c1f19c Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 3 Apr 2013 11:10:59 +0100 Subject: [PATCH 012/141] mk/pkginstall: make accounts NP by default --- mk/pkginstall/usergroupfuncs | 1 + 1 file changed, 1 insertion(+) diff --git a/mk/pkginstall/usergroupfuncs b/mk/pkginstall/usergroupfuncs index 7b0cad29e33fb..3ffeb2dfdba72 100644 --- a/mk/pkginstall/usergroupfuncs +++ b/mk/pkginstall/usergroupfuncs @@ -124,6 +124,7 @@ adduser() -g $group -u $userid $user ;; esac + passwd -N $user fi return 0 } From a75d8f37e504d3a4a3d311f0184e36d55869e003 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 12 Jun 2013 16:19:53 +0100 Subject: [PATCH 013/141] mk/pkginstall: DATASET-780, permit existing users There should be an option with packages to re-use an existing user or group, even if a specific uid/gid is provided. This commit introduces a user variable to configure this: PKGINSTALL_IGNORE_UIDGID. When PKGINSTALL_IGNORE_UIDGID is true then pkg_install will not try to create the user/group as specified. If the user/group does not exist but the specified uid/gid is, then the uid/gid will be stripped so that the system can allocate one at random. --- mk/pkginstall/bsd.pkginstall.mk | 36 ++++++++++++++ mk/pkginstall/usergroup | 86 ++++++++++++++++++++++++++++----- mk/pkginstall/usergroupfuncs | 48 ++++++++++-------- 3 files changed, 138 insertions(+), 32 deletions(-) diff --git a/mk/pkginstall/bsd.pkginstall.mk b/mk/pkginstall/bsd.pkginstall.mk index 93b6230aab539..f4236d630c4a5 100644 --- a/mk/pkginstall/bsd.pkginstall.mk +++ b/mk/pkginstall/bsd.pkginstall.mk @@ -15,11 +15,28 @@ # a message noting the actions taken. It is either YES or NO and # defaults to YES for PKG_DEVELOPERs, otherwise NO. # +# PKGINSTALL_IGNORE_UIDGID +# Whether or not to treat the specific uid/gid provided by the package as +# simply advisory. In the case where either the user/group already +# exists but the uid/gid does not match, or the uid/gid is already taken +# by a different user: +# +# * "yes" will add the user/group if necessary with an unspecified uid/gid +# * "no" will not add the user/group and fail the install. +# +# Default value: no +# +# PKGINSTALL_VERBOSE +# A list of scriptlets that will be verbose and output a message +# noting the actions taken. +# _VARGROUPS+= pkginstall _USER_VARS.pkginstall= \ FONTS_VERBOSE \ INFO_FILES_VERBOSE \ OCAML_FINDLIB_REGISTER_VERBOSE \ + PKGINSTALL_IGNORE_UIDGID \ + PKGINSTALL_VERBOSE \ PKG_CREATE_USERGROUP \ PKG_CONFIG PKG_CONFIG_PERMS \ PKG_RCD_SCRIPTS \ @@ -1076,6 +1093,25 @@ FILES_SUBST+= FONTS_VERBOSE=${FONTS_VERBOSE:Q} FILES_SUBST+= INFO_FILES_VERBOSE=${INFO_FILES_VERBOSE:Q} FILES_SUBST+= OCAML_FINDLIB_REGISTER_VERBOSE=${OCAML_FINDLIB_REGISTER_VERBOSE:Q} +PKGINSTALL_IGNORE_UIDGID?= no +FILES_SUBST+= PKGINSTALL_IGNORE_UIDGID=${PKGINSTALL_IGNORE_UIDGID:Q} + +.if defined(PKG_DEVELOPER) && ${PKG_DEVELOPER} != "no" +PKGINSTALL_VERBOSE?= all +.else +PKGINSTALL_VERBOSE?= # empty +.endif +.if !empty(PKGINSTALL_VERBOSE:Mall) || !empty(PKGINSTALL_VERBOSE:Mfonts) +FILES_SUBST+= FONTS_VERBOSE=yes +.else +FILES_SUBST+= FONTS_VERBOSE=no +.endif +.if !empty(PKGINSTALL_VERBOSE:Mall) || !empty(PKGINSTALL_VERBOSE:Minfo-files) +FILES_SUBST+= INFO_FILES_VERBOSE=yes +.else +FILES_SUBST+= INFO_FILES_VERBOSE=no +.endif + # Substitute for various programs used in the DEINSTALL/INSTALL scripts and # in the rc.d scripts. # diff --git a/mk/pkginstall/usergroup b/mk/pkginstall/usergroup index 1b15dc321e384..9185b18e29fd5 100644 --- a/mk/pkginstall/usergroup +++ b/mk/pkginstall/usergroup @@ -74,6 +74,15 @@ PKG_METADATA_DIR="${2-${CURDIR}}" PKG_REFCOUNT_USERS_DBDIR="${PKG_REFCOUNT_DBDIR}/users" PKG_REFCOUNT_GROUPS_DBDIR="${PKG_REFCOUNT_DBDIR}/groups" +case "${PKGINSTALL_IGNORE_UIDGID:-@PKGINSTALL_IGNORE_UIDGID@}" in +[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) + _PKGINSTALL_IGNORE_UIDGID=yes + ;; +[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) + _PKGINSTALL_IGNORE_UIDGID=no + ;; +esac + case "${PKG_CREATE_USERGROUP:-@PKG_CREATE_USERGROUP@}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CREATE_USERGROUP=yes @@ -126,8 +135,10 @@ ADD) token="$shadow_dir/${PKGNAME}" if ${TEST} ! -d "$shadow_dir"; then ${MKDIR} $shadow_dir - group_exists $group $groupid && - ${ECHO} "${PKGNAME}" > $preexist + group_exists $group $groupid + case $? in + 0|2) ${ECHO} "${PKGNAME}" > $preexist ;; + esac fi if ${TEST} -f "$token" && \ ${GREP} "^${PKG_METADATA_DIR}$" $token >/dev/null; then @@ -139,8 +150,11 @@ ADD) yes) group_exists $group $groupid case $? in - 0) ;; 1) addgroup "$group" "$groupid" ;; + 3) case ${_PKGINSTALL_IGNORE_UIDGID} in + yes) addgroup "$group" "" ;; + esac + ;; esac ;; esac @@ -163,8 +177,10 @@ ADD) token="$shadow_dir/${PKGNAME}" if ${TEST} ! -d "$shadow_dir"; then ${MKDIR} $shadow_dir - user_exists $user $userid && - ${ECHO} "${PKGNAME}" > $preexist + user_exists $user $userid + case $? in + 0|2) ${ECHO} "${PKGNAME}" > $preexist ;; + esac fi if ${TEST} -f "$token" && \ ${GREP} "^${PKG_METADATA_DIR}$" $token >/dev/null; then @@ -177,10 +193,16 @@ ADD) group_exists $group || continue user_exists $user $userid case $? in - 0) ;; 1) adduser "$user" "$group" "$userid" \ "$descr" "$home" "$shell" ;; + 3) case ${_PKGINSTALL_IGNORE_UIDGID} in + yes) + adduser "$user" "$group" "" \ + "$descr" "$home" "$shell" + ;; + esac + ;; esac ;; esac @@ -254,7 +276,15 @@ CHECK-ADD) IFS="$SAVEIFS" case $group in "") continue ;; - *) group_exists $group $groupid && continue ;; + *) group_exists $group $groupid + case $? in + 0) continue ;; + 2) case ${_PKGINSTALL_IGNORE_UIDGID} in + yes) continue ;; + esac + ;; + esac + ;; esac case "$printed_header" in yes) ;; @@ -266,7 +296,15 @@ CHECK-ADD) esac case $groupid in "") ${ECHO} " $group" ;; - *) ${ECHO} " $group (gid = $groupid)" ;; + *) ${ECHO} " $group (gid = $groupid)" + ${ECHO} "" + ${ECHO} "If you wish to ignore this check and either re-use an existing '$group' group" + ${ECHO} "or create a new one with a system-assigned gid then set" + ${ECHO} "" + ${ECHO} " PKGINSTALL_IGNORE_UIDGID=yes" + ${ECHO} "" + ${ECHO} "in the environment." + ;; esac done case "$printed_header" in @@ -285,7 +323,15 @@ CHECK-ADD) IFS="$SAVEIFS" case $user in "") continue ;; - *) user_exists $user $userid && continue ;; + *) user_exists $user $userid + case $? in + 0) continue ;; + 2) case ${_PKGINSTALL_IGNORE_UIDGID} in + yes) continue ;; + esac + ;; + esac + ;; esac case "$printed_header" in yes) ;; @@ -299,7 +345,15 @@ CHECK-ADD) : ${shell:="@PKG_USER_SHELL@"} case $userid in "") ${ECHO} " $user: $group, $home, $shell" ;; - *) ${ECHO} " $user (uid = $userid): $group, $home, $shell" ;; + *) ${ECHO} " $user (uid = $userid): $group, $home, $shell" + ${ECHO} "" + ${ECHO} "If you wish to ignore this check and either re-use an existing '$user' user" + ${ECHO} "or create a new one with a system-assigned uid then set" + ${ECHO} "" + ${ECHO} " PKGINSTALL_IGNORE_UIDGID=yes" + ${ECHO} "" + ${ECHO} "in the environment." + ;; esac done case "$printed_header" in @@ -321,7 +375,11 @@ CHECK-REMOVE) IFS="$SAVEIFS" case $user in "") continue ;; - *) user_exists $user $userid || continue ;; + *) user_exists $user $userid + case $? in + 0|2) continue ;; + esac + ;; esac shadow_dir="${PKG_REFCOUNT_USERS_DBDIR}/$user" ${TEST} ! -d "$shadow_dir" || continue # refcount isn't zero @@ -348,7 +406,11 @@ CHECK-REMOVE) IFS="$SAVEIFS" case $group in "") continue ;; - *) group_exists $group $groupid || continue ;; + *) group_exists $group $groupid + case $? in + 0|2) continue ;; + esac + ;; esac shadow_dir="${PKG_REFCOUNT_GROUPS_DBDIR}/$group" ${TEST} ! -d "$shadow_dir" || continue # refcount isn't zero diff --git a/mk/pkginstall/usergroupfuncs b/mk/pkginstall/usergroupfuncs index 3ffeb2dfdba72..7ff86e075b7d5 100644 --- a/mk/pkginstall/usergroupfuncs +++ b/mk/pkginstall/usergroupfuncs @@ -14,81 +14,89 @@ # group_exists group [groupid] # Returns 0 if $group exists and has gid $groupid # Returns 1 if neither $group nor $groupid exist -# Returns 2 if $group or $groupid exist but don't match -# Returns 3 for all errors +# Returns 2 if $group exists but $groupid does not match +# Returns 3 if $group does not exist but $groupid does +# Returns 4 for all errors # group_exists() { _group="$1"; _groupid="$2" - ${TEST} -n "$_group" || return 3 + ${TEST} -n "$_group" || return 4 # Check using chgrp to work properly in an NSS/NIS environment. _tmpdir="./.pkginstall.$$" - ${MKDIR} -p $_tmpdir 2>/dev/null || return 3 + ${MKDIR} -p $_tmpdir 2>/dev/null || return 4 ${CHMOD} 0700 $_tmpdir _testpath="$_tmpdir/group_exists" ${ECHO} > $_testpath if ${CHGRP} $_group $_testpath >/dev/null 2>&1; then # $_group exists _id=`${LS} -ln $_testpath 2>/dev/null | ${AWK} '{ print $4 }'` + ${RM} -fr $_tmpdir ${TEST} -n "$_groupid" || _groupid=$_id if ${TEST} "$_groupid" = "$_id"; then - ${RM} -fr $_tmpdir; return 0 + return 0 fi - ${RM} -fr $_tmpdir; return 2 + return 2 elif ${TEST} -z "$_groupid"; then + ${RM} -fr $_tmpdir # $_group doesn't exist and $_groupid is not set - ${RM} -fr $_tmpdir; return 1 + return 1 elif ${CHGRP} $_groupid $_testpath >/dev/null 2>&1; then _name=`${LS} -l $_testpath 2>/dev/null | ${AWK} '{ print $4 }'` + ${RM} -fr $_tmpdir if ${TEST} "$_name" != "$_groupid"; then # $_group doesn't exist, but $_groupid exists - ${RM} -fr $_tmpdir; return 2 + return 3 fi # neither $_group nor $_groupid exist - ${RM} -fr $_tmpdir; return 1 + return 1 fi - ${RM} -fr $_tmpdir; return 3 + ${RM} -fr $_tmpdir; return 4 } # user_exists user [userid] # Returns 0 if $user exists and has uid $userid # Returns 1 if neither $user nor $userid exist -# Returns 2 if $user or $userid exist but don't match -# Returns 3 for all errors +# Returns 2 if $user exists but $userid does not match +# Returns 3 if $user does not exist but $userid does +# Returns 4 for all errors # user_exists() { _user="$1"; _userid="$2" - ${TEST} -n "$_user" || return 3 + ${TEST} -n "$_user" || return 4 # Check using chown to work properly in an NSS/NIS environment. _tmpdir="./.pkginstall.$$" - ${MKDIR} -p $_tmpdir 2>/dev/null || return 3 + ${MKDIR} -p $_tmpdir 2>/dev/null || return 4 ${CHMOD} 0700 $_tmpdir _testpath="$_tmpdir/user_exists" ${ECHO} > $_testpath if ${CHOWN} $_user $_testpath >/dev/null 2>&1; then # $_user exists _id=`${LS} -ln $_testpath 2>/dev/null | ${AWK} '{ print $3 }'` + ${RM} -fr $_tmpdir ${TEST} -n "$_userid" || _userid=$_id if ${TEST} "$_userid" = "$_id"; then - ${RM} -fr $_tmpdir; return 0 + return 0 fi - ${RM} -fr $_tmpdir; return 2 + return 2 elif ${TEST} -z "$_userid"; then + ${RM} -fr $_tmpdir # $_user doesn't exist and $_userid is not set - ${RM} -fr $_tmpdir; return 1 + return 1 elif ${CHOWN} $_userid $_testpath >/dev/null 2>&1; then _name=`${LS} -l $_testpath 2>/dev/null | ${AWK} '{ print $3 }'` + ${RM} -fr $_tmpdir if ${TEST} "$_name" != "$_userid"; then # $_user doesn't exist, but $_userid exists - ${RM} -fr $_tmpdir; return 2 + return 3 fi # neither $_user nor $_userid exist - ${RM} -fr $_tmpdir; return 1 + return 1 fi - ${RM} -fr $_tmpdir; return 3 + ${RM} -fr $_tmpdir; return 4 } # adduser user group [userid] [descr] [home] [shell] From 02968c5eee3f1541462f859838d86e7e1ec83772 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 8 Jul 2013 14:36:56 +0100 Subject: [PATCH 014/141] mk/wrapper: add support for _WRAP_EXTRA_LIBS This allows specifying additional libraries in the output phase, and is a special case compared to _WRAP_EXTRA_ARGS as we need to ensure that these libaries are not applied when using Sun ld in -r mode. --- mk/wrapper/bsd.wrapper.mk | 2 ++ mk/wrapper/scan | 9 ++++++++- mk/wrapper/wrapper.sh | 25 +++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk index c51c40729a37c..c11bc1b8ac153 100644 --- a/mk/wrapper/bsd.wrapper.mk +++ b/mk/wrapper/bsd.wrapper.mk @@ -208,6 +208,7 @@ _UNWRAP_SED= -f ${_WRAP_UNTRANSFORM_SEDFILE} _WRAPPER_SH.${_wrappee_}= ${WRAPPER_SRCDIR}/wrapper.sh _WRAP_ENV.${_wrappee_}?= ${_WRAP_ENV} _WRAP_EXTRA_ARGS.${_wrappee_}?= # empty +_WRAP_EXTRA_LIBS.${_wrappee_}?= # empty _WRAP_ARG_PP.${_wrappee_}?= ${_WRAP_ARG_PP} _WRAP_ARG_PP_MAIN.${_wrappee_}?= ${_WRAP_ARG_PP_MAIN} _WRAP_ARG_SOURCE.${_wrappee_}?= ${_WRAP_ARG_SOURCE} @@ -400,6 +401,7 @@ _WRAP_SUBST_SED.${_wrappee_}= \ -e "s|@_WRAP_EMPTY_FILE@|${_WRAP_EMPTY_FILEQ}|g" \ -e "s|@_WRAP_ENV@|${_WRAP_ENV.${_wrappee_}:Q}|g" \ -e "s|@_WRAP_EXTRA_ARGS@|${_WRAP_EXTRA_ARGS.${_wrappee_}:Q}|g" \ + -e "s|@_WRAP_EXTRA_LIBS@|${_WRAP_EXTRA_LIBS.${_wrappee_}:Q}|g" \ -e "s|@_WRAP_ARG_PP@|${_WRAP_ARG_PP.${_wrappee_}:Q}|g" \ -e "s|@_WRAP_ARG_PP_MAIN@|${_WRAP_ARG_PP_MAIN.${_wrappee_}:Q}|g" \ -e "s|@_WRAP_ARG_SOURCE@|${_WRAP_ARG_SOURCE.${_wrappee_}:Q}|g" \ diff --git a/mk/wrapper/scan b/mk/wrapper/scan index f1ad1f82efe27..26c1734e802ed 100644 --- a/mk/wrapper/scan +++ b/mk/wrapper/scan @@ -31,6 +31,13 @@ # Optional argument processing. for arg do case $arg in - *) ;; + # Append extra libs to output objects, but not when using 'ld -r' or a + # compiler in pre-processor mode. + -o) append_extra_libs=yes ;; + -r) rflag=yes ;; + -E) preproc=yes ;; + -M*) preproc=yes ;; + c-header|c++-header) preproc=yes ;; + *) ;; esac done diff --git a/mk/wrapper/wrapper.sh b/mk/wrapper/wrapper.sh index 9ce505de2ccaf..965df78b26894 100644 --- a/mk/wrapper/wrapper.sh +++ b/mk/wrapper/wrapper.sh @@ -94,8 +94,24 @@ init_queue argbuf init_queue cmdbuf append_extra_args=yes +append_extra_libs=no +rflag=no +preproc=no . $scan +case $append_extra_libs in +yes) + # do not append libraries in preprocessor mode + if [ "$wrapper_type" = "CC" -o "$wrapper_type" = "CXX" ] && [ "$preproc" = "yes" ]; then + append_extra_libs=no + fi + # ld -r -o should not append extra libraries + if [ "$wrapper_type" = "LD" -a "$rflag" = "yes" ]; then + append_extra_libs=no + fi + ;; +esac + case $append_extra_args in yes) $debug_log $wrapperlog " (wrapper.sh) append args: @_WRAP_EXTRA_ARGS@" @@ -105,6 +121,15 @@ yes) ;; esac +case $append_extra_libs in +yes) + $debug_log $wrapperlog " (wrapper.sh) append libs: @_WRAP_EXTRA_LIBS@" + set -- "$@" @_WRAP_EXTRA_LIBS@ + ;; +*) + ;; +esac + . $arg_source . $logic . $cmd_sink From a63991c2801b77b91a98cfa737388d1b56bbb38d Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 18 Jul 2013 10:38:31 +0100 Subject: [PATCH 015/141] devel/binutils: avoid unwanted dependencies * Disable zlib so that we don't pull in platform libz. * Set OVERRIDE_DIRDEPTH.depcomp=1 to disable depcomp-override --- devel/binutils/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile index 6ac7733f4549d..798d7da2a0166 100644 --- a/devel/binutils/Makefile +++ b/devel/binutils/Makefile @@ -44,6 +44,10 @@ CONFIGURE_ARGS+= --with-lib-path=${LIB_PATH} CONFIGURE_ARGS+= --program-prefix=g BINUTILS_PREFIX= ${PREFIX}/${MACHINE_GNU_PLATFORM} +# Joyent changes to avoid pulling in unwanted dependencies. +CONFIGURE_ARGS+= --without-zlib +OVERRIDE_DIRDEPTH.depcomp= -1 + PLIST_SRC= ${PKGDIR}/PLIST.common PLIST_SRC+= ${WRKDIR}/PLIST_DYNAMIC From b9b59d481777d39abbd23abde0611f1fb3ce4305 Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Tue, 8 Oct 2013 12:47:02 +0000 Subject: [PATCH 016/141] www/varnish: add dependency on gcc (DATASET-877) --- www/varnish/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/www/varnish/Makefile b/www/varnish/Makefile index 3821650839582..204d39a0a501c 100644 --- a/www/varnish/Makefile +++ b/www/varnish/Makefile @@ -62,6 +62,11 @@ CONFIGURE_ENV+= VCC_CC="gcc ${_COMPILER_ABI_FLAG.${ABI}} -fpic -shared -o %o %s" . endif .endif +.include "../../mk/compiler.mk" +.if ${PKGSRC_COMPILER} == "gcc" +DEPENDS+= ${_GCC_DEPENDENCY} +.endif + .include "../../mk/curses.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" .include "../../mk/readline.buildlink3.mk" From b4fb78c63d5ef463724773bc75baf277fca6972f Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Mon, 6 Jan 2014 15:02:59 +0000 Subject: [PATCH 017/141] math/R: Set R_LD_LIBRARY_PATH to fix GCC libs --- math/R/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/math/R/Makefile b/math/R/Makefile index 2d0e6e9fc9a2e..49e394ab5359f 100644 --- a/math/R/Makefile +++ b/math/R/Makefile @@ -93,6 +93,9 @@ CONFIGURE_ENV+= ac_cv_path_PDFLATEX="" # We don't want "lib64" CONFIGURE_ENV+= LIBnn=lib +# Prepopulate R_LD_LIBRARY_PATH as the default one is useless +CONFIGURE_ENV+= R_LD_LIBRARY_PATH=${PREFIX}/lib:${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib${LIBABISUFFIX}:${LIBGCC_PREFIX}/lib${LIBABISUFFIX} + # Package assumes it can append to files (specifically DESCRIPTION) that have # been installed SHAREMODE SHAREMODE= 644 From ab159d204580806cf26443eabb0a6f65bb351a6a Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 6 Oct 2014 10:49:55 +0100 Subject: [PATCH 018/141] Add USE_GCC_RUNTIME as necessary. --- shells/mksh/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shells/mksh/Makefile b/shells/mksh/Makefile index a325d13bb31a5..ba0d2b581775d 100644 --- a/shells/mksh/Makefile +++ b/shells/mksh/Makefile @@ -14,6 +14,8 @@ HOMEPAGE= http://mirbsd.de/mksh COMMENT= MirBSD Korn Shell LICENSE= miros +USE_GCC_RUNTIME= yes + WRKSRC= ${WRKDIR}/mksh WRKBUILD?= ${WRKSRC} From b690b82140ffe6173a1fb7248897b43d1325649d Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 6 Oct 2014 10:50:17 +0100 Subject: [PATCH 019/141] multimedia/ffmpeg2: disable asm (-fno-omit-frame-pointer) --- multimedia/ffmpeg2/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/multimedia/ffmpeg2/Makefile b/multimedia/ffmpeg2/Makefile index a53f6f7ef505f..6cc365fd5e9e9 100644 --- a/multimedia/ffmpeg2/Makefile +++ b/multimedia/ffmpeg2/Makefile @@ -41,6 +41,9 @@ post-install: .include "../../mk/compiler.mk" +# XXX: Incompatible with our disabling -fomit-frame-pointer +CONFIGURE_ARGS+= --disable-asm + # disable asm on i386 for non-gcc and gcc < 4.2 .if ${MACHINE_ARCH} == "i386" . if !empty(MACHINE_PLATFORM:MDarwin-*-i386) \ From ea40e8b3d9acf86d1dbce4047f2eeddeb2d7bd41 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 5 Feb 2015 13:55:13 +0000 Subject: [PATCH 020/141] pkgtools/cwrappers: support CWRAPPERS_LDADD. This allows arguments to be added when a wrapper is generating an object, and is useful for inserting a specific library into each, for example -lumem on SunOS. --- mk/cwrappers.mk | 3 ++ pkgtools/cwrappers/files/bin/Makefile | 6 +-- pkgtools/cwrappers/files/bin/base-wrapper.c | 7 +++ pkgtools/cwrappers/files/bin/common.c | 44 ++++++++++++++++++ pkgtools/cwrappers/files/bin/common.h | 6 +++ pkgtools/cwrappers/files/bin/ldadd-cc.c | 50 ++++++++++++++++++++ pkgtools/cwrappers/files/bin/ldadd-ld.c | 51 +++++++++++++++++++++ 7 files changed, 164 insertions(+), 3 deletions(-) create mode 100644 pkgtools/cwrappers/files/bin/ldadd-cc.c create mode 100644 pkgtools/cwrappers/files/bin/ldadd-ld.c diff --git a/mk/cwrappers.mk b/mk/cwrappers.mk index 5d544548b3c32..9185c09dce9b1 100644 --- a/mk/cwrappers.mk +++ b/mk/cwrappers.mk @@ -82,6 +82,9 @@ generate-cwrappers: . for cmd in ${CWRAPPERS_PREPEND.${wrappee}:U} ${RUN}echo prepend=${cmd:Q} >> ${CWRAPPERS_CONFIG_DIR}/${CWRAPPERS_CONFIG.${wrappee}} . endfor +. for cmd in ${CWRAPPERS_LDADD.${wrappee}:U} + ${RUN}echo ldadd=${cmd:Q} >> ${CWRAPPERS_CONFIG_DIR}/${CWRAPPERS_CONFIG.${wrappee}} +. endfor . for cmd in ${_CWRAPPERS_UNWRAP} ${RUN}echo unwrap=${cmd:Q} >> ${CWRAPPERS_CONFIG_DIR}/${CWRAPPERS_CONFIG.${wrappee}} . endfor diff --git a/pkgtools/cwrappers/files/bin/Makefile b/pkgtools/cwrappers/files/bin/Makefile index 02e7fd4526b3a..603104a4c5caa 100644 --- a/pkgtools/cwrappers/files/bin/Makefile +++ b/pkgtools/cwrappers/files/bin/Makefile @@ -17,13 +17,13 @@ LDADD+= -lnbcompat CC_SRCS= ${LIB_SRCS} generic-transform-cc.c normalise-cc.c SRCS.as-wrapper= ${CC_SRCS} as-wrapper.c normalise-as.c -SRCS.cc-wrapper= ${CC_SRCS} cc-wrapper.c transform-cc.c -SRCS.c++-wrapper= ${CC_SRCS} c++-wrapper.c transform-cc.c +SRCS.cc-wrapper= ${CC_SRCS} cc-wrapper.c ldadd-cc.c transform-cc.c +SRCS.c++-wrapper= ${CC_SRCS} c++-wrapper.c ldadd-cc.c transform-cc.c SRCS.cpp-wrapper= ${CC_SRCS} cpp-wrapper.c SRCS.f77-wrapper= ${CC_SRCS} f77-wrapper.c SRCS.imake-wrapper= ${CC_SRCS} imake-wrapper.c SRCS.ld-wrapper= ${LIB_SRCS} generic-transform-ld.c \ - normalise-ld.c ld-wrapper.c + normalise-ld.c ldadd-ld.c ld-wrapper.c SRCS.libtool-wrapper= ${LIB_SRCS} generic-transform-libtool.c \ normalise-cc.c libtool-wrapper.c fixup-libtool.c SRCS.shlibtool-wrapper= ${LIB_SRCS} generic-transform-libtool.c \ diff --git a/pkgtools/cwrappers/files/bin/base-wrapper.c b/pkgtools/cwrappers/files/bin/base-wrapper.c index 8ec08379a45b2..21e60fa6c4b2c 100644 --- a/pkgtools/cwrappers/files/bin/base-wrapper.c +++ b/pkgtools/cwrappers/files/bin/base-wrapper.c @@ -120,6 +120,8 @@ main(int argc, char **argv) arglist_from_argc(&args, argc, argv); + arglist_register_globals(&args); + fp = worklog_open(); worklog_cmd(fp, "[*]", wrapper_name, &args); @@ -136,6 +138,11 @@ main(int argc, char **argv) operation_mode_cc(&args); #endif arglist_apply_config(&args); +#if defined(WRAPPER_LD) + ldadd_ld(&args); +#elif defined(WRAPPER_CC) || defined(WRAPPER_CXX) + ldadd_cc(&args); +#endif #if defined(WRAPPER_LD) normalise_ld(&args); #else diff --git a/pkgtools/cwrappers/files/bin/common.c b/pkgtools/cwrappers/files/bin/common.c index 3d2b8266e4cc9..cd864cf7d9166 100644 --- a/pkgtools/cwrappers/files/bin/common.c +++ b/pkgtools/cwrappers/files/bin/common.c @@ -51,6 +51,10 @@ char *wrksrc; int debug; enum operation_mode current_operation_mode = mode_unknown; +int rflag = 0; +int linking = 1; + +static struct arglist ldadd_args = TAILQ_HEAD_INITIALIZER(ldadd_args); static struct arglist prepend_args = TAILQ_HEAD_INITIALIZER(prepend_args); static struct arglist append_args = TAILQ_HEAD_INITIALIZER(append_args); static struct arglist prepend_executable_args = @@ -193,6 +197,41 @@ arglist_apply_config(struct arglist *args) } } +void +arglist_register_globals(struct arglist *args) +{ + struct argument *arg; + + TAILQ_FOREACH(arg, args, link) { + if (strcmp(arg->val, "-r") == 0) { + rflag = 1; + continue; + } + if ((strcmp(arg->val, "-c") == 0) || + (strcmp(arg->val, "-E") == 0) || + (strncmp(arg->val, "-M", 2) == 0) || + (strcmp(arg->val, "-S") == 0) || + (strcmp(arg->val, "-xc-header") == 0) || + (strcmp(arg->val, "-xc++-header") == 0) || + (strcmp(arg->val, "c-header") == 0) || + (strcmp(arg->val, "c++-header") == 0)) { + linking = 0; + continue; + } + } +} + +void +arglist_apply_ldadd(struct arglist *args) +{ + struct argument *arg, *arg2; + + TAILQ_FOREACH(arg, &ldadd_args, link) { + arg2 = argument_copy(arg->val); + TAILQ_INSERT_TAIL(args, arg2, link); + } +} + void argument_unlink(struct arglist *args, struct argument **argp) { @@ -251,6 +290,11 @@ parse_config(const char *wrapper) exec_name = xstrdup(line + 5); continue; } + if (strncmp(line, "ldadd=", 6) == 0) { + struct argument *arg; + arg = argument_copy(line + 6); + TAILQ_INSERT_TAIL(&ldadd_args, arg, link); + } if (strncmp(line, "reorder=", 8) == 0) { register_reorder(line + 8); continue; diff --git a/pkgtools/cwrappers/files/bin/common.h b/pkgtools/cwrappers/files/bin/common.h index a51267526400c..55a87bd5407b4 100644 --- a/pkgtools/cwrappers/files/bin/common.h +++ b/pkgtools/cwrappers/files/bin/common.h @@ -43,6 +43,8 @@ extern char *exec_path; extern char *exec_name; extern char *wrksrc; extern int debug; +extern int rflag; +extern int linking; enum operation_mode { mode_unknown, @@ -69,7 +71,9 @@ extern struct argument *prepend_after; char *concat(const char *, const char *); char *concat2(const char *, const char *, size_t); void arglist_from_argc(struct arglist *, int, char **); +void arglist_register_globals(struct arglist *); void arglist_apply_config(struct arglist *); +void arglist_apply_ldadd(struct arglist *); int command_exec(struct arglist *, int, char **); size_t wrapper_hash(const char *); size_t wrapper_hash2(const char *, size_t); @@ -99,6 +103,7 @@ char *xstrndup(const char *, size_t); void operation_mode_as(void); void operation_mode_cc(struct arglist *); +void ldadd_cc(struct arglist *); void normalise_cc(struct arglist *); void cleanup_cc(struct arglist *args); void transform_cc(struct arglist *args); @@ -111,6 +116,7 @@ void register_generic_transform(const char *); void generic_transform_cc(struct arglist *); void operation_mode_ld(struct arglist *); +void ldadd_ld(struct arglist *); void normalise_ld(struct arglist *); void generic_transform_ld(struct arglist *); diff --git a/pkgtools/cwrappers/files/bin/ldadd-cc.c b/pkgtools/cwrappers/files/bin/ldadd-cc.c new file mode 100644 index 0000000000000..82fa696cd0e43 --- /dev/null +++ b/pkgtools/cwrappers/files/bin/ldadd-cc.c @@ -0,0 +1,50 @@ +/* $NetBSD$ */ + +/*- + * Copyright (c) 2015 Jonathan Perkin . + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include "common.h" + +void +ldadd_cc(struct arglist *args) +{ + struct argument *arg; + + if (linking) { + TAILQ_FOREACH(arg, args, link) { + if (strcmp(arg->val, "-o") == 0) { + arglist_apply_ldadd(args); + break; + } + } + } +} diff --git a/pkgtools/cwrappers/files/bin/ldadd-ld.c b/pkgtools/cwrappers/files/bin/ldadd-ld.c new file mode 100644 index 0000000000000..d88ba8180bec7 --- /dev/null +++ b/pkgtools/cwrappers/files/bin/ldadd-ld.c @@ -0,0 +1,51 @@ +/* $NetBSD$ */ + +/*- + * Copyright (c) 2015 Jonathan Perkin . + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include "common.h" + +void +ldadd_ld(struct arglist *args) +{ + struct argument *arg; + + if (rflag) + return; + + TAILQ_FOREACH(arg, args, link) { + if (strcmp(arg->val, "-o") == 0) { + arglist_apply_ldadd(args); + break; + } + } +} From de7225f740b176afaffb81068b8360bebf45c455 Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Thu, 5 Feb 2015 20:20:24 +0000 Subject: [PATCH 021/141] databases/postgresql94: patch modules for joyent/postgresql-contrib --- databases/postgresql94/distinfo | 1 + .../patches/patch-contrib_postgres__fdw_Makefile | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 databases/postgresql94/patches/patch-contrib_postgres__fdw_Makefile diff --git a/databases/postgresql94/distinfo b/databases/postgresql94/distinfo index 96ceb697e7fcf..96fb4b48d88c3 100644 --- a/databases/postgresql94/distinfo +++ b/databases/postgresql94/distinfo @@ -8,6 +8,7 @@ SHA1 (patch-config_missing) = c2d7d742922ba6861e7660c75b7b53f09e564813 SHA1 (patch-config_perl.m4) = 14c9564577d0df6f82ae0027aeada2f3a6a8f07c SHA1 (patch-configure) = 1c0fee3fb270863eb39118a65769ce170391cfec SHA1 (patch-contrib_dblink_dblink.c) = a6f87ab9f2c28a72608d70267b71bd77437b0921 +SHA1 (patch-contrib_postgres__fdw_Makefile) = b0dab35e7aa524227a4bb6c3866a698e9c3f2b7b SHA1 (patch-contrib_uuid-ossp_uuid-ossp.c) = b18da04850bc7c14f8fc80e0c86429ed1cc075c8 SHA1 (patch-src_Makefile.global.in) = 2ab3affedc77b202f6749964287438d6179ca23a SHA1 (patch-src_Makefile.shlib) = 62533bab4807033780732dfbea7e37d618807b37 diff --git a/databases/postgresql94/patches/patch-contrib_postgres__fdw_Makefile b/databases/postgresql94/patches/patch-contrib_postgres__fdw_Makefile new file mode 100644 index 0000000000000..7f661f5525c6b --- /dev/null +++ b/databases/postgresql94/patches/patch-contrib_postgres__fdw_Makefile @@ -0,0 +1,12 @@ +$NetBSD$ + +--- contrib/postgres_fdw/Makefile.orig 2014-12-16 01:07:34.000000000 +0000 ++++ contrib/postgres_fdw/Makefile +@@ -19,7 +19,6 @@ PG_CONFIG = pg_config + PGXS := $(shell $(PG_CONFIG) --pgxs) + include $(PGXS) + else +-SHLIB_PREREQS = submake-libpq + subdir = contrib/postgres_fdw + top_builddir = ../.. + include $(top_builddir)/src/Makefile.global From 5936db30faf0309058af58102a00455a96fd1da6 Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Fri, 6 Feb 2015 14:23:18 +0000 Subject: [PATCH 022/141] mk: add support for projects linked to SMF --- mk/install/deinstall-smf | 38 ++++++++++++++++++++++++++++++++++++ mk/install/install-smf | 42 +++++++++++++++++++++++++++++++++++----- mk/smf.mk | 42 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 5 deletions(-) create mode 100644 mk/install/deinstall-smf diff --git a/mk/install/deinstall-smf b/mk/install/deinstall-smf new file mode 100644 index 0000000000000..c7246b9e836e1 --- /dev/null +++ b/mk/install/deinstall-smf @@ -0,0 +1,38 @@ +# $NetBSD$ +# +# Print deinstall messages instructing the user how to handle the +# newly-installed SMF services. +# + +SMF_PROJECT="@SMF_PROJECT@" +SMF_PROJECT_ID="@SMF_PROJECT_ID@" +SMF_PROJECT_DESC="@SMF_PROJECT_DESC@" +SMF_PROJECT_USER="@SMF_PROJECT_USER@" +SMF_PROJECT_GROUP="@SMF_PROJECT_GROUP@" +SMF_PROJECT_ATTRS="@SMF_PROJECT_ATTRS@" + +case ${STAGE} in +DEINSTALL) + if svcprop -q "svc:/@SMF_PREFIX@/@SMF_NAME@"; then + cat </dev/null 2>&1; then + cat </dev/null 2>&1 + _SMF_IMPORT=$? + fi + if [ -n "${PKG_SKIP_SMF}" ] || [ "${_SMF_IMPORT:-0}" != 0 ]; then cat </dev/null 2>/dev/null; then + eval "/usr/sbin/projadd \ + ${SMF_PROJECT_ID:+-o -p '${SMF_PROJECT_ID}'} \ + ${SMF_PROJECT_DESC:+-c '${SMF_PROJECT_DESC}'} \ + ${SMF_PROJECT_USER:+-U '${SMF_PROJECT_USER}'} \ + ${SMF_PROJECT_GROUP:+-G '${SMF_PROJECT_GROUP}'} \ + ${SMF_PROJECT_ARGS} ${SMF_PROJECT}" + + # Check if SMF service has project attached, fix if not + if svcprop -q svc:/@SMF_PREFIX@/@SMF_NAME@ && \ + [ ! "$(svcprop -q -p method_context/project svc:/@SMF_PREFIX@/@SMF_NAME@)" == "${SMF_PROJECT}" ]; then + svccfg -s svc:/@SMF_PREFIX@/@SMF_NAME@ setprop method_context/project = "${SMF_PROJECT}" + svcadm refresh svc:/@SMF_PREFIX@/@SMF_NAME@ + fi + fi + fi + cat <= +# +# SMF_PROJECT_ID. +# Force set the project ID (normally assigned incrementally) +# +# SMF_PROJECT_DESC. +# Description of the project. +# +# SMF_PROJECT_USER. +# Username(s) the project should be bound to. +# +# SMF_PROJECT_GROUP. +# Groupname the project should be bound to. +# +# SMF_PROJECT_ATTRS. +# List of attributes to add to the project definition. Just the +# attribute argument should be passed, e.g. +# process.max-file-descriptor=(basic,10000,deny) .if !defined(SMF_MK) SMF_MK= # defined @@ -60,6 +82,15 @@ SMF_METHODS?= # empty SMF_METHOD_SHELL?= /sbin/sh SMF_SRCDIR?= ${FILESDIR}/smf +SMF_PROJECT?= ${SMF_PROJECT.${PKGBASE}} +.if !empty(SMF_PROJECT) +SMF_PROJECT_ID?= ${SMF_PROJECT_ID.${SMF_PROJECT}} +SMF_PROJECT_DESC?= ${SMF_PROJECT_DESC.${SMF_PROJECT}} +SMF_PROJECT_USER?= ${SMF_PROJECT_USER.${SMF_PROJECT}} +SMF_PROJECT_GROUP?= ${SMF_PROJECT_GROUP.${SMF_PROJECT}} +SMF_PROJECT_ATTRS?= ${SMF_PROJECT_ATTRS.${SMF_PROJECT}} +.endif + # Dynamically remove rc.d entries, primarily for pkgsrc-{joyent,wip} PLIST_AWK+= -f ${PKGSRCDIR}/mk/plist/plist-smf.awk @@ -79,6 +110,12 @@ FILES_SUBST+= SMF_INSTANCES=${SMF_INSTANCES:Q} FILES_SUBST+= SMF_MANIFEST=${SMF_MANIFEST:Q} FILES_SUBST+= SMF_MANIFEST_FILE=${SMF_MANIFEST_FILE:Q} FILES_SUBST+= SMF_METHOD_SHELL=${SMF_METHOD_SHELL:Q} +FILES_SUBST+= SMF_PROJECT=${SMF_PROJECT:Q} +FILES_SUBST+= SMF_PROJECT_ID=${SMF_PROJECT_ID:Q} +FILES_SUBST+= SMF_PROJECT_DESC=${SMF_PROJECT_DESC:Q} +FILES_SUBST+= SMF_PROJECT_USER=${SMF_PROJECT_USER:Q} +FILES_SUBST+= SMF_PROJECT_GROUP=${SMF_PROJECT_GROUP:Q} +FILES_SUBST+= SMF_PROJECT_ATTRS=${SMF_PROJECT_ATTRS:Q} INSTALLATION_DIRS+= ${PKG_SMF_MANIFEST_DIR} MULTIARCH_SKIP_DIRS.lib+= ${PKG_SMF_DIR} @@ -101,7 +138,12 @@ PRINT_PLIST_AWK+= /^${SMF_MANIFEST_FILE:S|/|\\/|g}/ { next; } ${WRKDIR}/.smfinstall: ${PKGSRCDIR}/mk/install/install-smf @${CP} ${PKGSRCDIR}/mk/install/install-smf ${WRKDIR}/.smfinstall +# Target to add the DEINSTALL script to suggest removal of the SMF service +${WRKDIR}/.smfdeinstall: ${PKGSRCDIR}/mk/install/deinstall-smf + @${CP} ${PKGSRCDIR}/mk/install/deinstall-smf ${WRKDIR}/.smfdeinstall + INSTALL_TEMPLATES+= ${WRKDIR}/.smfinstall +DEINSTALL_TEMPLATES+= ${WRKDIR}/.smfdeinstall # Install optional SMF methods # From 8ea19ee7b9e8f11293a3e740a7c46116ce645978 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 19 Feb 2015 12:35:33 +0000 Subject: [PATCH 023/141] mk: record REQUIRES based on DT_NEEDED not ldd. --- mk/pkgformat/pkg/metadata.mk | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mk/pkgformat/pkg/metadata.mk b/mk/pkgformat/pkg/metadata.mk index 371816761ebbc..0d918d25167bd 100644 --- a/mk/pkgformat/pkg/metadata.mk +++ b/mk/pkgformat/pkg/metadata.mk @@ -66,7 +66,25 @@ ${_BUILD_INFO_FILE}: ${_PLIST_NOKEYWORDS} ELF) \ libs=`${AWK} '/\/lib.*\.so(\.[0-9]+)*$$/ { print "${DESTDIR}${PREFIX}/" $$0 } END { exit 0 }' ${_PLIST_NOKEYWORDS}`; \ if ${TEST} -n "$$bins" -o -n "$$libs"; then \ - requires=`(${PKGSRC_SETENV} ${LDD_ENV:U} $$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} '$$2 == "=>" && $$3 ~ "/" { print $$3 }' | ${SORT} -u`; \ + requires=`(${PKGSRC_SETENV} elfdump -d $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} ' \ + /NEEDED/ { \ + dsolibs = dsolibs (dsolibs ? ":" : "") $$NF; \ + } \ + /RPATH/ { \ + nrpath = split($$NF ":${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}:${SYSTEM_DEFAULT_RPATH}", rpath, ":"); \ + nlibs = split(dsolibs, libs, ":"); \ + for (l = 1; l <= nlibs; l++) { \ + for (r = 1; r <= nrpath; r++) { \ + sub(/\/$$/, "", rpath[r]); \ + if (system("test -f " rpath[r] "/" libs[l]) == 0) { \ + print rpath[r] "/" libs[l]; \ + break; \ + } \ + } \ + } \ + dsolibs = ""; \ + } \ + ' | ${SED} -e 's,^${DESTDIR},,' | ${SORT} -u`; \ fi; \ linklibs=`${AWK} '/.*\.so(\.[0-9]+)*$$/ { print "${DESTDIR}${PREFIX}/" $$0 }' ${_PLIST_NOKEYWORDS}`; \ for i in $$linklibs; do \ From eee9d18d08b3ae103c60a425c7967f78bb4a8440 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 27 Mar 2015 10:20:48 +0000 Subject: [PATCH 024/141] lang/perl5: fix full_ar wrkdir references --- lang/perl5/Makefile | 1 + lang/perl5/files/Policy.sh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile index ffa8212692348..a0cb3e4f7a238 100644 --- a/lang/perl5/Makefile +++ b/lang/perl5/Makefile @@ -184,6 +184,7 @@ CONFIGURE_ARGS+= -Duseshrplib # files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used. # USE_TOOLS+= hostname ln rm sed test +SUBST_VARS.policysh+= AR SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD SUBST_VARS.policysh+= TOOLS_LN TOOLS_ALIASES.sed+= ${TOOLS_SED:T} diff --git a/lang/perl5/files/Policy.sh b/lang/perl5/files/Policy.sh index d203fe3386543..24a64b71a094f 100644 --- a/lang/perl5/files/Policy.sh +++ b/lang/perl5/files/Policy.sh @@ -15,6 +15,7 @@ installstyle='lib/perl5' # Perl embeds the full paths to the following tools in several installed # files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used. +ar='@AR@' aphostname='@TOOLS_HOSTNAME_CMD@' ln='@TOOLS_LN@' lns='@TOOLS_LN@ -s' @@ -119,5 +120,6 @@ case "\$libswanted" in *gdbm*) esac # (re)Set sed here so that sed _and_ full_sed are correctly *both* set +ar='@AR@' sed='@TOOLS_SED@' EOCBU From d1078b58473cee9aa59f71ed4c9ea483b98d5e50 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 29 Jul 2015 23:37:12 +0100 Subject: [PATCH 025/141] mk: pass ABI flag to the as(1) wrapper. --- mk/compiler.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/mk/compiler.mk b/mk/compiler.mk index 946de1bbdcfaa..30fe67a53facb 100644 --- a/mk/compiler.mk +++ b/mk/compiler.mk @@ -190,6 +190,7 @@ CWRAPPERS_PREPEND.cxx+= -std=${_CXX_VERSION_REQD} _WRAP_EXTRA_ARGS.CC+= ${_COMPILER_ABI_FLAG.${ABI}} _WRAP_EXTRA_ARGS.CXX+= ${_COMPILER_ABI_FLAG.${ABI}} _WRAP_EXTRA_ARGS.FC+= ${_COMPILER_ABI_FLAG.${ABI}} +CWRAPPERS_PREPEND.as+= --${ABI} CWRAPPERS_PREPEND.cc+= ${_COMPILER_ABI_FLAG.${ABI}} CWRAPPERS_PREPEND.cxx+= ${_COMPILER_ABI_FLAG.${ABI}} CWRAPPERS_PREPEND.f77+= ${_COMPILER_ABI_FLAG.${ABI}} From 4111850a1e2e69da62f472ff9c46cfc18c96cdf9 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 3 Aug 2015 09:56:13 +0100 Subject: [PATCH 026/141] devel/libtool: apply our changes: - Remove TOOLS_BASEDIR references. - Set search path with COMPILER_LIB_DIRS. - Don't hardcode GCC library paths. - Can't use -nostdlib (due to the above change). mk/compiler/gcc.mk: remove libtool-base handling. We need this to ensure that sys_lib_search_path_spec is correct and prefers the runtime library. Without this we see failures where packages using libtool try to use both libstdc++.so's. Ensure we can use an external libtool for binutils. --- devel/libtool-base/Makefile | 1 + devel/libtool-fortran/Makefile | 1 + devel/libtool/Makefile.common | 19 ++++++++++++++++++ devel/libtool/distinfo | 2 +- devel/libtool/patches/patch-configure | 28 +++++++++++++++++++++++---- mk/bsd.pkg.use.mk | 3 ++- mk/compiler/gcc.mk | 2 +- 7 files changed, 49 insertions(+), 7 deletions(-) diff --git a/devel/libtool-base/Makefile b/devel/libtool-base/Makefile index 6858b55d5450b..cf7a335137f6c 100644 --- a/devel/libtool-base/Makefile +++ b/devel/libtool-base/Makefile @@ -67,6 +67,7 @@ fix-libtool: cd ${WRKSRC}; for f in libtool; do \ ${SED} -e "s,-L${BUILDLINK_DIR}/lib *,,g" \ -e "s,${BUILDLINK_DIR}/lib *,,g" \ + -e "s,${TOOLS_BASEDIR}/bin/,,g" \ $$f > $$f.new; \ if [ -x $$f ]; then ${CHMOD} +x $$f.new; fi; \ ${MV} -f $$f.new $$f; \ diff --git a/devel/libtool-fortran/Makefile b/devel/libtool-fortran/Makefile index 9a2c7d3afcfaf..ceeff77adb323 100644 --- a/devel/libtool-fortran/Makefile +++ b/devel/libtool-fortran/Makefile @@ -70,6 +70,7 @@ fix-libtool: cd ${WRKSRC}; for f in libtool; do \ ${SED} -e "s,-L${BUILDLINK_DIR}/lib *,,g" \ -e "s,${BUILDLINK_DIR}/lib *,,g" \ + -e "s,${TOOLS_BASEDIR}/bin/,,g" \ $$f > $$f.new; \ if [ -x $$f ]; then ${CHMOD} +x $$f.new; fi; \ ${MV} -f $$f.new $$f; \ diff --git a/devel/libtool/Makefile.common b/devel/libtool/Makefile.common index b80b3b8177619..3129204ee4235 100644 --- a/devel/libtool/Makefile.common +++ b/devel/libtool/Makefile.common @@ -77,3 +77,22 @@ CONFIGURE_ENV+= lt_cv_path_NM=${NM:Q} .endif CONFIGURE_ENV+= RANLIB=${RANLIB:Q} HELP2MAN=${TRUE:Q} + +# Use the correct library search path rather than hardcoding whatever random +# paths are printed out by GCC -print-search-dirs. +# +CONFIGURE_ENV+= lt_cv_sys_lib_search_path_spec=${COMPILER_LIB_DIRS:Q} + +# SunOS ships a /bin/print command which is picked up by libtool and used as +# the default $ECHO, however we use bash which does not have a 'print' builtin +# so we end up having to fork for each invocation. Avoid this by creating a +# broken wrapper. Unsuitable for upstream until it properly handles the ksh93 +# case which would be adversely affected by this right now. +# +.if ${OPSYS} == "SunOS" +.PHONY: create-print-wrapper +post-wrapper: create-print-wrapper +create-print-wrapper: + ${PRINTF} '#!/bin/sh\nfalse\n' > ${WRAPPER_DIR}/bin/print + ${CHMOD} +x ${WRAPPER_DIR}/bin/print +.endif diff --git a/devel/libtool/distinfo b/devel/libtool/distinfo index 554499e20041c..15bd7047e7e63 100644 --- a/devel/libtool/distinfo +++ b/devel/libtool/distinfo @@ -7,5 +7,5 @@ Size (libtool-2.4.6.tar.gz) = 1806697 bytes SHA1 (patch-Makefile.in) = 0adb634335acd5fb280c99b5d43ae568018ca0af SHA1 (patch-build-aux_depcomp) = ae6f93ad4fac1df648cfcb62601c72f9ebb30233 SHA1 (patch-build-aux_ltmain.sh) = eebdc102cacb1970240abeb4a7310d09d505be02 -SHA1 (patch-configure) = 2cbf275a4de712bc151c5065b62b2bdb37c83188 +SHA1 (patch-configure) = f15707ac2781a298bb629628e800f507bb7db208 SHA1 (patch-libltdl_configure) = 87535836200547ceb8463a98e86561c2adf1f0ed diff --git a/devel/libtool/patches/patch-configure b/devel/libtool/patches/patch-configure index 98cff17c0052b..d9564eb843ebd 100644 --- a/devel/libtool/patches/patch-configure +++ b/devel/libtool/patches/patch-configure @@ -419,15 +419,35 @@ DO NOT MODIFY THIS PATCH MANUALLY! YOUR CHANGES WILL BE LOST! ;; *nto* | *qnx*) -@@ -15966,7 +16074,7 @@ fi +@@ -15966,15 +16074,15 @@ fi # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then +- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + if true; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' ++ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' ++ $CC -shared $pic_flag $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' ++ output_verbose_link_cmd=func_echo_all + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. +@@ -15985,7 +16093,7 @@ fi + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. +- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' ++ output_verbose_link_cmd=func_echo_all + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' @@ -16130,8 +16238,9 @@ if { { eval echo "\"\$as_me\":${as_linen -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. @@ -1403,7 +1423,7 @@ DO NOT MODIFY THIS PATCH MANUALLY! YOUR CHANGES WILL BE LOST! ;; openbsd* | bitrig*) -@@ -31933,7 +32352,10 @@ func_cc_basename () +@@ -31933,7 +32354,10 @@ func_cc_basename () *) break;; esac done diff --git a/mk/bsd.pkg.use.mk b/mk/bsd.pkg.use.mk index cbaae33e46679..5e34d911607e0 100644 --- a/mk/bsd.pkg.use.mk +++ b/mk/bsd.pkg.use.mk @@ -99,7 +99,8 @@ SHLIBTOOL?= ${WRAPPER_BINDIR}/shlibtool LIBTOOL_REQD?= 2.4.2nb9 .if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) TOOL_DEPENDS+= cross-libtool-base-${MACHINE_ARCH}>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../cross/cross-libtool-base -.else +# We use an external libtool for binutils. +.elif empty(PKGPATH:Mdevel/binutils) TOOL_DEPENDS+= libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base .endif CONFIGURE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}" diff --git a/mk/compiler/gcc.mk b/mk/compiler/gcc.mk index a38f6076f60b3..acb9e93fd70c0 100644 --- a/mk/compiler/gcc.mk +++ b/mk/compiler/gcc.mk @@ -905,7 +905,7 @@ PREPEND_PATH+= ${_GCC_DIR}/bin # Add dependency on GCC libraries if requested. .if (defined(_USE_GCC_SHLIB) && !empty(_USE_GCC_SHLIB:M[Yy][Ee][Ss])) && !empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss]) # Special case packages which are themselves a dependency of gcc runtime. -. if empty(PKGPATH:Mdevel/libtool-base) && empty(PKGPATH:Mdevel/binutils) && \ +. if empty(PKGPATH:Mdevel/binutils) && \ empty(PKGPATH:Mlang/gcc4?) && empty(PKGPATH:Mlang/gcc[5-9]) . if !empty(CC_VERSION:Mgcc-4.8*) . include "../../lang/gcc48-libs/buildlink3.mk" From ffc11a2ab3fb269c98158d866d5352e3e238751c Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 16 Dec 2015 18:04:53 +0000 Subject: [PATCH 027/141] pkg_install: explicitly disable lzma. Avoids accidentally picking up a broken/non-working one from the environment, or linking against one we don't have installed everywhere. --- pkgtools/pkg_install/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgtools/pkg_install/Makefile b/pkgtools/pkg_install/Makefile index b20bc07bbd3af..97843a3361934 100644 --- a/pkgtools/pkg_install/Makefile +++ b/pkgtools/pkg_install/Makefile @@ -202,6 +202,7 @@ pre-configure: --disable-dependency-tracking --without-expat \ --disable-maintainer-mode \ --without-iconv --without-lzo2 --without-nettle \ + --without-lzmadec --without-lzma \ --without-xml2 --without-lz4 \ ${LIBARCHIVE_CONFIGURE_ARGS} cd ${WRKDIR}/libarchive && ${BUILD_MAKE_CMD} From 71c3d7aece546253f395c400b90723e1eb5a1006 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 24 Mar 2016 19:33:06 +0000 Subject: [PATCH 028/141] lang/python: CHECK_WRKREF+=buildlink fixes. --- lang/python27/Makefile | 4 ++++ lang/python34/Makefile | 4 ++++ lang/python35/Makefile | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/lang/python27/Makefile b/lang/python27/Makefile index f3e87785a41c2..8a6bde0d7cad1 100644 --- a/lang/python27/Makefile +++ b/lang/python27/Makefile @@ -30,6 +30,10 @@ LDFLAGS+= -L${WRKSRC} # $RANDOM usage there is fine CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh +# Harmless PKG_CONFIG_LIBDIR references to BUILDLINK_DIR +CHECK_WRKREF_SKIP+= lib/python2.7/_sysconfigdata.py +CHECK_WRKREF_SKIP+= lib/python2.7/config/Makefile + PTHREAD_OPTS+= require PTHREAD_AUTO_VARS= yes .include "../../mk/pthread.buildlink3.mk" diff --git a/lang/python34/Makefile b/lang/python34/Makefile index cbe6e8e758c9a..2b1acdbcc7871 100644 --- a/lang/python34/Makefile +++ b/lang/python34/Makefile @@ -178,6 +178,10 @@ SUBST_VARS.sslbase= SSLBASE CHECK_INTERPRETER_SKIP= lib/python${PY_VER_SUFFIX}/venv/scripts/posix/pydoc +# Harmless PKG_CONFIG_LIBDIR references to BUILDLINK_DIR +CHECK_WRKREF_SKIP+= lib/python3.4/_sysconfigdata.py +CHECK_WRKREF_SKIP+= lib/python3.4/config-3.4/Makefile + .if ${OPSYS} == "HPUX" post-install: ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython3.4.sl \ diff --git a/lang/python35/Makefile b/lang/python35/Makefile index 001145fb13402..992add43e7a84 100644 --- a/lang/python35/Makefile +++ b/lang/python35/Makefile @@ -181,6 +181,10 @@ SUBST_VARS.sslbase= SSLBASE CHECK_INTERPRETER_SKIP= lib/python${PY_VER_SUFFIX}/venv/scripts/posix/pydoc +# Harmless PKG_CONFIG_LIBDIR references to BUILDLINK_DIR +CHECK_WRKREF_SKIP+= lib/python3.5/_sysconfigdata.py +CHECK_WRKREF_SKIP+= lib/python3.5/config-3.5/Makefile + # Avoid error: Cannot generate ./Include/opcode.h, python not found ! post-configure: touch ${WRKSRC}/Include/opcode.h From 0615c1249d92a29eee32272dbbdc20776b7d8390 Mon Sep 17 00:00:00 2001 From: Filip Hajny Date: Mon, 25 Jun 2012 11:40:03 +0000 Subject: [PATCH 029/141] databases/php-oci8: build against joyent/instantclient --- databases/php-oci8/Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/databases/php-oci8/Makefile b/databases/php-oci8/Makefile index a8656b2b7be53..c7b6f4f1c7db8 100644 --- a/databases/php-oci8/Makefile +++ b/databases/php-oci8/Makefile @@ -9,13 +9,17 @@ USE_PHP_EXT_PATCHES= yes .include "../../mk/bsd.prefs.mk" .if !defined(ORACLE_HOME) -PKG_FAIL_REASON+= "You must set ORACLE_HOME to the location of your Oracle installation" +# Joyent hack, user needs to fetch Instant Client themselves +.include "../../joyent/instantclient/buildlink3.mk" +CONFIGURE_ARGS+= --with-${MODNAME}=instantclient,${BUILDLINK_PREFIX.instantclient}/${ORACLE_IC_HOME} +MESSAGE_SRC+= ${.CURDIR}/../../joyent/instantclient/MESSAGE.instantclient .elif !exists(${ORACLE_HOME}) PKG_FAIL_REASON+= "The location of ORACLE_HOME does not exist" -.endif +.else BUILDLINK_PASSTHRU_DIRS+= ${ORACLE_HOME} CONFIGURE_ARGS+= --with-${MODNAME}=shared,${ORACLE_HOME} +.endif ONLY_FOR_PLATFORM= Linux-*-* SunOS-*-* From 008f228ce55fb62ed2f2efd49b4b42eb931addd7 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Tue, 21 Jun 2016 17:44:01 +0100 Subject: [PATCH 030/141] mk: create .pkginfo file during 'package' phase. --- mk/pkgformat/pkg/package.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk index 999b8c2e99cea..b79bfd128f98c 100644 --- a/mk/pkgformat/pkg/package.mk +++ b/mk/pkgformat/pkg/package.mk @@ -16,6 +16,8 @@ PKGFILE?= ${PKGREPOSITORY}/${FILEBASE}-${PKGVERSION}${PKG_SUFX} STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX} PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR} PKGREPOSITORYSUBDIR?= All +PKGINFOREPOSITORY?= ${PACKAGES}/pkginfo +PKGINFOFILE?= ${PKGINFOREPOSITORY}/${FILEBASE}-${PKGVERSION}.pkginfo ###################################################################### ### package-create (PRIVATE, pkgsrc/mk/package/package.mk) @@ -23,7 +25,7 @@ PKGREPOSITORYSUBDIR?= All ### package-create creates the binary package. ### .PHONY: package-create -package-create: ${PKGFILE} +package-create: ${PKGINFOFILE} ###################################################################### ### stage-package-create (PRIVATE, pkgsrc/mk/package/package.mk) @@ -67,6 +69,10 @@ ${PKGFILE}: ${STAGE_PKGFILE} ${RUN} ${MKDIR} ${.TARGET:H}; \ ${LN} -f ${STAGE_PKGFILE} ${PKGFILE} 2>/dev/null || \ ${CP} -pf ${STAGE_PKGFILE} ${PKGFILE} + +${PKGINFOFILE}: ${PKGFILE} + ${RUN} ${MKDIR} ${.TARGET:H}; \ + ${PKG_INFO} -X ${PKGFILE} >${.TARGET} .endif ###################################################################### From fdd5713130da19479be53bbd3cc16073f40674bd Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 13 Oct 2016 18:29:38 +0100 Subject: [PATCH 031/141] pkg_install: compile openssl statically --- pkgtools/pkg_install/Makefile | 3 +-- pkgtools/pkg_install/files/add/Makefile.in | 2 +- pkgtools/pkg_install/files/admin/Makefile.in | 2 +- pkgtools/pkg_install/files/create/Makefile.in | 2 +- pkgtools/pkg_install/files/delete/Makefile.in | 2 +- pkgtools/pkg_install/files/info/Makefile.in | 2 +- pkgtools/pkg_install/options.mk | 14 +++++++++++++- 7 files changed, 19 insertions(+), 8 deletions(-) diff --git a/pkgtools/pkg_install/Makefile b/pkgtools/pkg_install/Makefile index 97843a3361934..9dbc8a232917b 100644 --- a/pkgtools/pkg_install/Makefile +++ b/pkgtools/pkg_install/Makefile @@ -110,7 +110,6 @@ BUILDLINK_API_DEPENDS.libarchive+= libarchive>=3.3.1 .include "../../archivers/xz/builtin.mk" .include "../../archivers/libarchive/builtin.mk" .include "../../devel/zlib/builtin.mk" -.include "../../security/openssl/builtin.mk" .include "options.mk" @@ -212,7 +211,7 @@ pre-configure: ${MAKE_PROGRAM} ${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} \ -f ${MAKE_FILE} depend all cd ${WRKDIR}/netpgp && \ - ${SED} -e '/zlib/d' Makefile.lib.in >Makefile.in && \ + ${SED} -e '/zlib/d' -e 's/rsa\.o//' Makefile.lib.in >Makefile.in && \ ${RM} -f bzlib.h zlib.h && \ ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} ./configure && \ ${SETENV} ${MAKE_ENV} ${BSD_MAKE_ENV} ${MAKE_PROGRAM} \ diff --git a/pkgtools/pkg_install/files/add/Makefile.in b/pkgtools/pkg_install/files/add/Makefile.in index 524a18a2d048b..57c0c8040d118 100644 --- a/pkgtools/pkg_install/files/add/Makefile.in +++ b/pkgtools/pkg_install/files/add/Makefile.in @@ -24,7 +24,7 @@ SSL_SUPPORT= @ssl_support@ .if empty(BOOTSTRAP) LIBS= -linstall -lnetpgpverify -larchive -lbz2 -lz -lfetch .if !empty(SSL_SUPPORT) -LIBS+= -lssl -lcrypto +LIBS+= -lssl -lcrypto -lssp CPPFLAGS+= -DHAVE_SSL .endif LIBS+= @LIBS@ diff --git a/pkgtools/pkg_install/files/admin/Makefile.in b/pkgtools/pkg_install/files/admin/Makefile.in index 9c50f82aad4cf..86f2941354fa8 100644 --- a/pkgtools/pkg_install/files/admin/Makefile.in +++ b/pkgtools/pkg_install/files/admin/Makefile.in @@ -32,7 +32,7 @@ CPPFLAGS= @CPPFLAGS@ -I. -I$(srcdir) -I../lib .if empty(BOOTSTRAP) LIBS= -linstall -lnetpgpverify -larchive -lbz2 -lz -lfetch .if !empty(SSL_SUPPORT) -LIBS+= -lssl -lcrypto +LIBS+= -lssl -lcrypto -lssp CPPFLAGS+= -DHAVE_SSL .endif LIBS+= @LIBS@ diff --git a/pkgtools/pkg_install/files/create/Makefile.in b/pkgtools/pkg_install/files/create/Makefile.in index da87b40e251b2..8d374f021485d 100644 --- a/pkgtools/pkg_install/files/create/Makefile.in +++ b/pkgtools/pkg_install/files/create/Makefile.in @@ -30,7 +30,7 @@ OBJS= main.o perform.o pl.o util.o build.o .if empty(BOOTSTRAP) LIBS= -linstall -lnetpgpverify -larchive -lbz2 -lz -lfetch @LIBS@ .if !empty(SSL_SUPPORT) -LIBS+= -lssl -lcrypto +LIBS+= -lssl -lcrypto -lssp .endif .else LIBS= -linstall ${STATIC_LIBARCHIVE} @LIBS@ diff --git a/pkgtools/pkg_install/files/delete/Makefile.in b/pkgtools/pkg_install/files/delete/Makefile.in index 62e1f67c5284d..ea79f4a2fcdc4 100644 --- a/pkgtools/pkg_install/files/delete/Makefile.in +++ b/pkgtools/pkg_install/files/delete/Makefile.in @@ -18,7 +18,7 @@ CCLD= $(CC) LIBS= -linstall -lnetpgpverify -larchive -lbz2 -lz -lfetch @LIBS@ .if !empty(SSL_SUPPORT) -LIBS+= -lssl -lcrypto +LIBS+= -lssl -lcrypto -lssp .endif CPPFLAGS= @CPPFLAGS@ -I. -I$(srcdir) -I../lib -DBINDIR=\"$(sbindir)\" diff --git a/pkgtools/pkg_install/files/info/Makefile.in b/pkgtools/pkg_install/files/info/Makefile.in index 7187ce8d2b210..f4013669a908a 100644 --- a/pkgtools/pkg_install/files/info/Makefile.in +++ b/pkgtools/pkg_install/files/info/Makefile.in @@ -24,7 +24,7 @@ LDFLAGS= @LDFLAGS@ -L../lib .if empty(BOOTSTRAP) LIBS= -linstall -lnetpgpverify -larchive -lbz2 -lz -lfetch @LIBS@ .if !empty(SSL_SUPPORT) -LIBS+= -lssl -lcrypto +LIBS+= -lssl -lcrypto -lssp .endif .else LIBS= -linstall @LIBS@ diff --git a/pkgtools/pkg_install/options.mk b/pkgtools/pkg_install/options.mk index 00657934b20ea..e56eab4dff90e 100644 --- a/pkgtools/pkg_install/options.mk +++ b/pkgtools/pkg_install/options.mk @@ -21,8 +21,20 @@ MAKE_ENV+= FETCH_WITH_INET6=no .if !empty(PKG_OPTIONS:Mopenssl) CONFIGURE_ARGS+= --with-ssl MAKE_ENV+= FETCH_WITH_OPENSSL=yes -LDFLAGS+= -lssl -lcrypto +CONFIGURE_ARGS+= --with-ssl + +# Ensure that openssl is linked statically to avoid bootstrap issues. +pre-configure: static-openssl +.PHONY: static-openssl +static-openssl: +.for lib in crypto ssl +. for ext in dylib so + ${RM} -f ${BUILDLINK_DIR:U/nonexistant}/lib/lib${lib}*.${ext}* +. endfor +.endfor + ${CP} `${CC} --print-file-name=libssp.a` ${WRKSRC}/lib || ${TRUE} +BUILDLINK_DEPMETHOD.openssl= build .include "../../security/openssl/buildlink3.mk" .else LIBARCHIVE_CONFIGURE_ARGS+= --without-openssl From 3616bd5d78c99789bf896556c31ea9e9466c40a5 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 19 Oct 2017 09:39:10 +0100 Subject: [PATCH 032/141] libfetch: fix proxy connections --- net/libfetch/files/http.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/net/libfetch/files/http.c b/net/libfetch/files/http.c index d0882e27308bc..f918d15b84325 100644 --- a/net/libfetch/files/http.c +++ b/net/libfetch/files/http.c @@ -493,6 +493,16 @@ http_match(const char *str, const char *hdr) return (hdr); } +/* Remove whitespace at the end of the buffer */ +static void +http_conn_trimright(conn_t *conn) +{ + while (conn->buflen && + isspace((unsigned char)conn->buf[conn->buflen - 1])) + conn->buflen--; + conn->buf[conn->buflen] = '\0'; +} + /* * Get the next header and return the appropriate symbolic code. */ @@ -501,13 +511,20 @@ http_next_header(conn_t *conn, const char **p) { int i; - if (fetch_getln(conn) == -1) - return (hdr_syserror); - while (conn->buflen && isspace((unsigned char)conn->buf[conn->buflen - 1])) - conn->buflen--; - conn->buf[conn->buflen] = '\0'; + /* + * Have to do the stripping here because of the first line. So + * it's done twice for the subsequent lines. No big deal + */ + http_conn_trimright(conn); + if (conn->buflen == 0) return (hdr_end); + + if (fetch_getln(conn) == -1) + return (hdr_syserror); + + http_conn_trimright(conn); + /* * We could check for malformed headers but we don't really care. * A valid header starts with a token immediately followed by a @@ -774,7 +791,7 @@ http_connect(struct url *URL, struct url *purl, const char *flags, int *cached) default: /* ignore */ ; } - } while (h < hdr_end); + } while (h > hdr_end); } if (strcasecmp(URL->scheme, SCHEME_HTTPS) == 0 && fetch_ssl(conn, URL, verbose) == -1) { From 3e88cb830e50fa66962fb86a19b9161438881348 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 20 Dec 2017 17:28:12 +0000 Subject: [PATCH 033/141] bootstrap: Do not save compiler flags to mk.conf. We already set them explicitly in pkgbuild and besides avoiding duplicates this also allows us to change them without having to rebuild bootstrap. --- bootstrap/bootstrap | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bootstrap/bootstrap b/bootstrap/bootstrap index e402542124092..379e2467bf651 100755 --- a/bootstrap/bootstrap +++ b/bootstrap/bootstrap @@ -1276,6 +1276,7 @@ if test -n "$XARGS"; then echo "TOOLS_PLATFORM.xargs?= $XARGS" >> ${TARGET_MKCONF} echo "TOOLS_PLATFORM.xargs?= $XARGS" >> ${BOOTSTRAP_MKCONF} fi +if false; then if test -n "$CFLAGS"; then echo "CFLAGS+= $CFLAGS" >> ${TARGET_MKCONF} echo "DBG= # prevent DBG from adding default optimizer flags" >> ${TARGET_MKCONF} @@ -1290,6 +1291,7 @@ fi if test -n "$LIBS"; then echo "LIBS+= $LIBS" >> ${TARGET_MKCONF} fi +fi # opsys specific fiddling opsys_finish From 845b7d50643b91b6e11c8659786140cadfbee4b8 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 4 Apr 2018 15:21:12 +0100 Subject: [PATCH 034/141] mk: Any errors creating .pkginfo should be ignored. Resolves issues when bootstrapping without a suitable pkg_info available, as the bootstrap pkg_info is unable to operate on binary packages. Fixes joyent/pkgsrc-legacy#564 --- mk/pkgformat/pkg/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk index b79bfd128f98c..f869ab6f65024 100644 --- a/mk/pkgformat/pkg/package.mk +++ b/mk/pkgformat/pkg/package.mk @@ -72,7 +72,7 @@ ${PKGFILE}: ${STAGE_PKGFILE} ${PKGINFOFILE}: ${PKGFILE} ${RUN} ${MKDIR} ${.TARGET:H}; \ - ${PKG_INFO} -X ${PKGFILE} >${.TARGET} + ${PKG_INFO} -X ${PKGFILE} >${.TARGET} 2>/dev/null || ${TRUE} .endif ###################################################################### From ebe080a7aeba07d4dc6397e6d74c92a38fead249 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Sat, 7 Apr 2018 09:42:04 +0100 Subject: [PATCH 035/141] openssl: Remove perl runtime dependency. It is only used for c_rehash and a couple of other example tools, and users can install perl manually if they require them. It bloats too much by default for something that is used so little, if at all. --- security/openssl/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/openssl/Makefile b/security/openssl/Makefile index 656944eec6138..2bf5cf536c9c3 100644 --- a/security/openssl/Makefile +++ b/security/openssl/Makefile @@ -15,7 +15,7 @@ BUILD_DEPENDS+= p5-Perl4-CoreLibs-[0-9]*:../../devel/p5-Perl4-CoreLibs USE_GCC_RUNTIME= yes -USE_TOOLS+= fgrep gmake makedepend perl:run +USE_TOOLS+= fgrep gmake makedepend perl BUILD_TARGET= depend all TEST_TARGET= tests MAKE_JOBS_SAFE= no From 41ab88be854be1d1e09e553affbee052cc786a71 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 21 May 2018 23:03:29 +0100 Subject: [PATCH 036/141] Test lang/gcc7 patches. --- lang/gcc7-libs/Makefile | 22 +- lang/gcc7/ALTERNATIVES | 20 ++ lang/gcc7/Makefile | 16 + lang/gcc7/distinfo | 22 +- lang/gcc7/patches/patch-gcc_caller-save.c | 15 + lang/gcc7/patches/patch-gcc_common.opt | 29 ++ .../gcc7/patches/patch-gcc_config_i386_i386.c | 293 ++++++++++++++++++ .../gcc7/patches/patch-gcc_config_i386_i386.h | 22 ++ .../patches/patch-gcc_config_i386_i386.opt | 22 ++ lang/gcc7/patches/patch-gcc_config_sol2-c.c | 56 ++++ lang/gcc7/patches/patch-gcc_config_sol2.h | 24 ++ lang/gcc7/patches/patch-gcc_configure | 33 +- lang/gcc7/patches/patch-gcc_dojump.c | 15 + lang/gcc7/patches/patch-gcc_dwarf2out.c | 18 ++ lang/gcc7/patches/patch-gcc_ira.c | 24 ++ lang/gcc7/patches/patch-gcc_symtab.c | 17 + ...e_gcc.dg_fno-clone-preserves-unused-args.c | 34 ++ ...atch-gcc_testsuite_gcc.target_i386_local.c | 14 + ...testsuite_gcc.target_i386_msave-args-mov.c | 33 ++ ...estsuite_gcc.target_i386_msave-args-push.c | 33 ++ ...-gcc_testsuite_gcc.target_i386_strict-cc.c | 31 ++ lang/gcc7/patches/patch-gcc_tree-inline.c | 14 + lang/gcc7/patches/patch-include_dwarf2.def | 15 + lang/gcc7/patches/patch-libgcc_config.host | 18 ++ 24 files changed, 832 insertions(+), 8 deletions(-) create mode 100644 lang/gcc7/ALTERNATIVES create mode 100644 lang/gcc7/patches/patch-gcc_caller-save.c create mode 100644 lang/gcc7/patches/patch-gcc_common.opt create mode 100644 lang/gcc7/patches/patch-gcc_config_i386_i386.c create mode 100644 lang/gcc7/patches/patch-gcc_config_i386_i386.h create mode 100644 lang/gcc7/patches/patch-gcc_config_i386_i386.opt create mode 100644 lang/gcc7/patches/patch-gcc_config_sol2-c.c create mode 100644 lang/gcc7/patches/patch-gcc_config_sol2.h create mode 100644 lang/gcc7/patches/patch-gcc_dojump.c create mode 100644 lang/gcc7/patches/patch-gcc_dwarf2out.c create mode 100644 lang/gcc7/patches/patch-gcc_ira.c create mode 100644 lang/gcc7/patches/patch-gcc_symtab.c create mode 100644 lang/gcc7/patches/patch-gcc_testsuite_gcc.dg_fno-clone-preserves-unused-args.c create mode 100644 lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_local.c create mode 100644 lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-mov.c create mode 100644 lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-push.c create mode 100644 lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_strict-cc.c create mode 100644 lang/gcc7/patches/patch-gcc_tree-inline.c create mode 100644 lang/gcc7/patches/patch-include_dwarf2.def diff --git a/lang/gcc7-libs/Makefile b/lang/gcc7-libs/Makefile index 3791b0d4cc701..eb471f5d25cc5 100644 --- a/lang/gcc7-libs/Makefile +++ b/lang/gcc7-libs/Makefile @@ -28,6 +28,9 @@ CHECK_SHLIBS= no ## Depend on exactly ${GCC7_DIST_VERSION}. BUILD_DEPENDS+= ${GCC_PKGNAME}-${GCC7_DIST_VERSION}{,nb[0-9]*}:../../lang/gcc7 +# Finds libs from gcc7 due to rpath +CHECK_SHLIBS= no + .include "../../mk/bsd.prefs.mk" LIBGCC_SUBPREFIX= ${GCC_PKGNAME} @@ -42,23 +45,34 @@ SHLIB_EXT= so .endif LIBRARY_FILES= ${WRKDIR}/lib_files +OBJECT_FILES= ${WRKDIR}/obj_files GENERATE_PLIST+= ${SED} -e 's,^,${LIBGCC_SUBPREFIX}/${GCC_TARGET_MACHINE}/,' \ - ${LIBRARY_FILES}; + -e 's,gcc/${MACHINE_GNU_PLATFORM}/${GCC7_DIST_VERSION}/,,' \ + ${LIBRARY_FILES} ${OBJECT_FILES}; GENERATE_PLIST+= ${GREP} -q 'lib/' ${LIBRARY_FILES} || \ ${ECHO} '@pkgdir ${LIBGCC_SUBPREFIX}/${GCC_TARGET_MACHINE}/lib' ; ${LIBRARY_FILES}: - ${PKG_INFO} -qL '${GCC_PKGNAME}-${GCC7_DIST_VERSION}*' | \ + ${PKG_INFO} -qL '${GCC_PKGNAME}-${GCC7_DIST_VERSION}*' | \ ${SED} -n -e's,^${LIBGCC_PREFIX}/,,' -e'/libexec\//d' \ - -e'/libgij/d;/libgcj/d;/libjvm/d' \ + -e'/libgij/d;/libgcj/d;/libjvm/d;/libgo\./d' \ + -e'/libcc1plugin/d;/libcp1plugin/d;' \ -e'/lib.*\.${SHLIB_EXT}/p' >${LIBRARY_FILES} -do-install: ${LIBRARY_FILES} +${OBJECT_FILES}: + ${PKG_INFO} -qL '${GCC_PKGNAME}-${GCC7_DIST_VERSION}*' | \ + ${SED} -n -e 's,^${LIBGCC_PREFIX}/,,' \ + -e '/\.o/p' -e '/libgcc\.a/p' -e '/libssp_nonshared\.a/p' >${OBJECT_FILES} + +do-install: ${LIBRARY_FILES} ${OBJECT_FILES} ${TEST} -d ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib || \ ${MKDIR} ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib cd ${LIBGCC_PREFIX} && \ ${PAX} -rw ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE} <${LIBRARY_FILES} + cd ${LIBGCC_PREFIX} && \ + ${PAX} -r -s ',gcc/${MACHINE_GNU_PLATFORM}/${GCC7_DIST_VERSION}/,,' \ + -w ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE} <${OBJECT_FILES} .include "../../mk/dlopen.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" diff --git a/lang/gcc7/ALTERNATIVES b/lang/gcc7/ALTERNATIVES new file mode 100644 index 0000000000000..44c2b65d94c28 --- /dev/null +++ b/lang/gcc7/ALTERNATIVES @@ -0,0 +1,20 @@ +bin/c++ @PREFIX@/gcc7/bin/c++ +bin/cc @PREFIX@/gcc7/bin/cc +bin/cpp @PREFIX@/gcc7/bin/cpp +bin/g++ @PREFIX@/gcc7/bin/g++ +bin/gcc @PREFIX@/gcc7/bin/gcc +bin/gcc-ar @PREFIX@/gcc7/bin/gcc-ar +bin/gcc-nm @PREFIX@/gcc7/bin/gcc-nm +bin/gcc-ranlib @PREFIX@/gcc7/bin/gcc-ranlib +bin/gcov @PREFIX@/gcc7/bin/gcov +bin/gcov-dump @PREFIX@/gcc7/bin/gcov-dump +bin/gcov-tool @PREFIX@/gcc7/bin/gcov-tool +bin/gfortran @PREFIX@/gcc7/bin/gfortran +bin/@MACHINE_GNU_PLATFORM@-c++ @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-c++ +bin/@MACHINE_GNU_PLATFORM@-g++ @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-g++ +bin/@MACHINE_GNU_PLATFORM@-gcc @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-gcc +bin/@MACHINE_GNU_PLATFORM@-gcc-@GCC7_DIST_VERSION@ @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-gcc-@GCC7_DIST_VERSION@ +bin/@MACHINE_GNU_PLATFORM@-gcc-ar @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-gcc-ar +bin/@MACHINE_GNU_PLATFORM@-gcc-nm @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-gcc-nm +bin/@MACHINE_GNU_PLATFORM@-gcc-ranlib @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-gcc-ranlib +bin/@MACHINE_GNU_PLATFORM@-gfortran @PREFIX@/gcc7/bin/@MACHINE_GNU_PLATFORM@-gfortran diff --git a/lang/gcc7/Makefile b/lang/gcc7/Makefile index a96e503d7fce5..1a428b01dea1d 100644 --- a/lang/gcc7/Makefile +++ b/lang/gcc7/Makefile @@ -41,6 +41,9 @@ CONFIGURE_ARGS+= --disable-libstdcxx-pch UNLIMIT_RESOURCES+= datasize UNLIMIT_RESOURCES+= stacksize +FILES_SUBST+= GCC7_DIST_VERSION=${GCC7_DIST_VERSION} +FILES_SUBST+= MACHINE_GNU_PLATFORM=${MACHINE_GNU_PLATFORM} + SUBST_CLASSES+= vars SUBST_MESSAGE.vars= Setting target machine name path in ${SUBST_FILES.vars} SUBST_STAGE.vars= pre-configure @@ -49,6 +52,13 @@ SUBST_VARS.vars= MACHINE_GNU_PLATFORM .include "../../mk/bsd.prefs.mk" +# For the tools build (i.e. when not using USE_GCC_LOCALBASE_PREFIX) we +# do not want rpaths to leak into final binaries. +#.if ${USE_GCC_LOCALBASE_PREFIX:Uno:tl} != "yes" +#SUBST_SED.vars+= -e '/-R/d' +#SUBST_SED.vars+= -e '/-DLINK_LIBGCC_SPEC=/d' +#.endif + LANGS= c # In some cases LINKER_RPATH_FLAG needs a trailing space. @@ -104,7 +114,11 @@ CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q} CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} CONFIGURE_ARGS+= --enable-shared CONFIGURE_ARGS+= --enable-long-long +.if ${USE_GCC_LOCALBASE_PREFIX:Uno:tl} == "yes" +CONFIGURE_ARGS+= --with-local-prefix=${LOCALBASE:Q} +.else CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} +.endif CONFIGURE_ARGS+= --enable-threads=posix CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q} # multilib on Darwin requires fat-binaries @@ -199,6 +213,8 @@ GENERATE_PLIST+= \ cd ${DESTDIR}${PREFIX} && \ ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT} ; +CTF_FILES_SKIP+= */gengtype + .include "../../mk/dlopen.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/lang/gcc7/distinfo b/lang/gcc7/distinfo index 402665cf67121..21c3dfcf9b7f9 100644 --- a/lang/gcc7/distinfo +++ b/lang/gcc7/distinfo @@ -10,6 +10,8 @@ SHA512 (isl-0.16.1.tar.bz2) = c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf4130 Size (isl-0.16.1.tar.bz2) = 1626446 bytes SHA1 (patch-contrib_download__prerequisites) = 86c6c16e0e3e3a0bcb38579a8b4004f603fac1ca SHA1 (patch-gcc_Makefile.in) = d96a57a098e49a2c5ea6478dd5d22aba584fc1bc +SHA1 (patch-gcc_caller-save.c) = 8b667a6d3129a912339c23a6ed64b10ccca7733f +SHA1 (patch-gcc_common.opt) = b7123b7119c524da1bc310429da9fd0338e17b55 SHA1 (patch-gcc_common_config_arm_arm-common.c) = 7c973cb9554a52f4b85f8fc98708f5e5cce8e8bd SHA1 (patch-gcc_config.gcc) = fd19774e62c2931d52eda2f979c1db65202ed4fb SHA1 (patch-gcc_config_alpha_elf.h) = 05657c528109480296cbe8a98461cba7853af492 @@ -17,24 +19,40 @@ SHA1 (patch-gcc_config_alpha_linux.h) = fce1256bce232143ff6c1c1b8b9c855737adb23f SHA1 (patch-gcc_config_arm_arm.h) = 92c8bff1063e153fec4454e6dea5334a42b0dad6 SHA1 (patch-gcc_config_arm_netbsd-eabi.h) = 9c1d2148e306024e8de3bdc9802fb63b976e0e7a SHA1 (patch-gcc_config_arm_netbsd-elf.h) = 80a07645fab197969b4a6f518fdc81bda7376375 +SHA1 (patch-gcc_config_i386_i386.c) = cd11cff11c217eed3601da9cd209b5cb74fd0dad +SHA1 (patch-gcc_config_i386_i386.h) = b23863a9baf6d5aa20939e0d58ca343db15c8513 +SHA1 (patch-gcc_config_i386_i386.opt) = f0e325859409bd10a6fb60a85d659a23509f2f27 SHA1 (patch-gcc_config_netbsd-elf.h) = 5a9b5ef26c03bec3cd58e2f446224aa6e94a30d5 SHA1 (patch-gcc_config_netbsd-protos.h) = 6d28864b4ccc8c1a63fe28e43601b84b63a00633 SHA1 (patch-gcc_config_netbsd.h) = 8861abb345b3ad72574fbe7afca2ea78b81d9632 +SHA1 (patch-gcc_config_sol2-c.c) = 7dac7d9a4111240fbff9099d7a9bcd08c898b07d +SHA1 (patch-gcc_config_sol2.h) = 22dc436405e6590ed86f2e60f0d976feef364792 SHA1 (patch-gcc_config_t-netbsd) = 802ad5706aa7ca9629f8e237f08fbb1569d28846 SHA1 (patch-gcc_config_x-netbsd) = 6dc3d78e26df62054ea29f98ca51592858e671e3 -SHA1 (patch-gcc_configure) = 15fb7af267b79965f83bc64ce8aad1279b0ea52d +SHA1 (patch-gcc_configure) = 0d3cf451138ecacacf2c2b1f109dd29c94fc426e +SHA1 (patch-gcc_dojump.c) = 8b6f5263e7ce251aa0a00f24cc06daf84d290eec +SHA1 (patch-gcc_dwarf2out.c) = 1cd7645095205b340305094fd31ed475fa1cc927 SHA1 (patch-gcc_ggc-common.c) = a5d2dba635859f5d680c3f80d7c30b42461c752b SHA1 (patch-gcc_ginclude_stddef.h) = 583b7931aad14058be75569b0138efad8ac74113 +SHA1 (patch-gcc_ira.c) = aa4b8d35356201f307f568238817e870a0527542 SHA1 (patch-gcc_lto_lto.c) = 825b632e2a7ff5777d4fbfdcf6f0ea3f64c4742b +SHA1 (patch-gcc_symtab.c) = a84091f6892e421081546ce3ea381e771f0041db SHA1 (patch-gcc_system.h) = 4c959a6b1c4d524cbdf44cfb80f0e5758ec20783 SHA1 (patch-gcc_targhooks.c) = 6268d548058b6325ead1115f78c2c17c6d786296 +SHA1 (patch-gcc_testsuite_gcc.dg_fno-clone-preserves-unused-args.c) = e3b58e623df14d01fdcdb7ae1978b1876cedf657 +SHA1 (patch-gcc_testsuite_gcc.target_i386_local.c) = a6f2f056cb742f8723d775746e0394b7ada02c37 +SHA1 (patch-gcc_testsuite_gcc.target_i386_msave-args-mov.c) = 1b48c98ea87a6e2370e6379e63f6f318bfe019d0 +SHA1 (patch-gcc_testsuite_gcc.target_i386_msave-args-push.c) = 65afdee3521d29cbcd9a06d602bed34a53465d7e +SHA1 (patch-gcc_testsuite_gcc.target_i386_strict-cc.c) = f99944d55366c609def436f997c24e90664ec859 +SHA1 (patch-gcc_tree-inline.c) = f646054b34b4dd953c1d372c8f42f82055b092f4 +SHA1 (patch-include_dwarf2.def) = 52e6977b842ca3257ed2ef9f7ff9d0c914a06505 SHA1 (patch-isl_configure) = 36b37778ee13c0b364fb24d5864d6a9e65b29b7d SHA1 (patch-libcilkrts_configure) = ec76313d8103e0c525ebd26e9013ee3ca9e93391 SHA1 (patch-libcilkrts_runtime_os-unix.c) = b25632587d9fbe8ff38377fe34cb16225355b521 SHA1 (patch-libdecnumber_decNumber.c) = cec90e49c829bfc6ba1ec605d2fac7daaad62762 SHA1 (patch-libffi_configure) = bcfbfe8abddc378e2de4a39ad0669583b37e0292 SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 6321dde308579448c27c2b6e1e30633699dd145f -SHA1 (patch-libgcc_config.host) = 1c2ebce3a44d935e9bbab30952b51b6f3716e47e +SHA1 (patch-libgcc_config.host) = 36b7f7c3a740797267060e6171c9fc96a74ccc10 SHA1 (patch-libgcc_config_arm_t-netbsd) = fe986b09ccbfc253aaaca263e8e38f06da4891cc SHA1 (patch-libgcc_config_arm_t-netbsd-eabi) = 1e818e92fe79f57d305ff42ce3449dddf87c3179 SHA1 (patch-libgcc_config_i386_cpuinfo.h) = d217e3c65178c96c7314cb88c740b9586d4e8fed diff --git a/lang/gcc7/patches/patch-gcc_caller-save.c b/lang/gcc7/patches/patch-gcc_caller-save.c new file mode 100644 index 0000000000000..c61499cc7796d --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_caller-save.c @@ -0,0 +1,15 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. + +--- gcc/caller-save.c.orig 2017-01-01 12:07:43.905435000 +0000 ++++ gcc/caller-save.c +@@ -378,7 +378,7 @@ saved_hard_reg_compare_func (const void + const struct saved_hard_reg *p1 = *(struct saved_hard_reg * const *) v1p; + const struct saved_hard_reg *p2 = *(struct saved_hard_reg * const *) v2p; + +- if (flag_omit_frame_pointer) ++ if (0) + { + if (p1->call_freq - p2->call_freq != 0) + return p1->call_freq - p2->call_freq; diff --git a/lang/gcc7/patches/patch-gcc_common.opt b/lang/gcc7/patches/patch-gcc_common.opt new file mode 100644 index 0000000000000..18a2e34f161b5 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_common.opt @@ -0,0 +1,29 @@ +$NetBSD$ + +Support -fclone-functions and -fstrict-calling-conventions. + +--- gcc/common.opt.orig 2017-06-22 11:38:22.113724000 +0000 ++++ gcc/common.opt +@@ -1076,6 +1076,11 @@ fcode-hoisting + Common Report Var(flag_code_hoisting) Optimization + Enable code hoisting. + ++fclone-functions ++Common Report Var(flag_clone_functions) Init(1) ++Allow the compiler to clone functions to facilitate certain optimizations. ++Enabled by default. ++ + fcombine-stack-adjustments + Common Report Var(flag_combine_stack_adjustments) Optimization + Looks for opportunities to reduce stack adjustments and stack references. +@@ -2341,6 +2346,10 @@ fstrict-aliasing + Common Report Var(flag_strict_aliasing) Optimization + Assume strict aliasing rules apply. + ++fstrict-calling-conventions ++Common Report Var(flag_strict_calling_conventions) Init(1) ++Use strict ABI calling conventions even for static functions ++ + fstrict-overflow + Common Report Var(flag_strict_overflow) Optimization + Treat signed overflow as undefined. diff --git a/lang/gcc7/patches/patch-gcc_config_i386_i386.c b/lang/gcc7/patches/patch-gcc_config_i386_i386.c new file mode 100644 index 0000000000000..19470da25f82d --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_config_i386_i386.c @@ -0,0 +1,293 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. +Support -fstrict-calling-conventions and -msave-args. + +--- gcc/config/i386/i386.c.orig 2018-01-16 12:49:29.534125000 +0000 ++++ gcc/config/i386/i386.c +@@ -2572,6 +2572,9 @@ static unsigned int ix86_minimum_incomin + + static enum calling_abi ix86_function_abi (const_tree); + ++static int ix86_nsaved_args (void); ++static void pro_epilogue_adjust_stack (rtx, rtx, rtx, int, bool); ++ + + #ifndef SUBTARGET32_DEFAULT_CPU + #define SUBTARGET32_DEFAULT_CPU "i386" +@@ -5847,7 +5850,7 @@ ix86_option_override_internal (bool main + } + + /* Keep nonleaf frame pointers. */ +- if (opts->x_flag_omit_frame_pointer) ++ if (0) + opts->x_target_flags &= ~MASK_OMIT_LEAF_FRAME_POINTER; + else if (TARGET_OMIT_LEAF_FRAME_POINTER_P (opts->x_target_flags)) + opts->x_flag_omit_frame_pointer = 1; +@@ -5896,6 +5899,9 @@ ix86_option_override_internal (bool main + &= ~((OPTION_MASK_ISA_BMI | OPTION_MASK_ISA_BMI2 | OPTION_MASK_ISA_TBM) + & ~opts->x_ix86_isa_flags_explicit); + ++ if (!TARGET_64BIT && TARGET_SAVE_ARGS) ++ warning (0, "-msave-args is ignored in 32-bit mode"); ++ + /* Validate -mpreferred-stack-boundary= value or default it to + PREFERRED_STACK_BOUNDARY_DEFAULT. */ + ix86_preferred_stack_boundary = PREFERRED_STACK_BOUNDARY_DEFAULT; +@@ -8015,6 +8021,7 @@ ix86_function_regparm (const_tree type, + and callee not, or vice versa. Instead look at whether the callee + is optimized or not. */ + if (target && opt_for_fn (target->decl, optimize) ++ && !flag_strict_calling_conventions + && !(profile_flag && !flag_fentry)) + { + cgraph_local_info *i = &target->local; +@@ -8112,6 +8119,7 @@ ix86_function_sseregparm (const_tree typ + /* TARGET_SSE_MATH */ + && (target_opts_for_fn (target->decl)->x_ix86_fpmath & FPMATH_SSE) + && opt_for_fn (target->decl, optimize) ++ && !flag_strict_calling_conventions + && !(profile_flag && !flag_fentry)) + { + cgraph_local_info *i = &target->local; +@@ -11964,7 +11972,7 @@ ix86_can_use_return_insn_p (void) + ix86_compute_frame_layout (); + struct ix86_frame &frame = cfun->machine->frame; + return (frame.stack_pointer_offset == UNITS_PER_WORD +- && (frame.nregs + frame.nsseregs) == 0); ++ && (frame.nmsave_args + frame.nregs + frame.nsseregs) == 0); + } + + /* Value should be nonzero if functions must have frame pointers. +@@ -11988,6 +11996,9 @@ ix86_frame_pointer_required (void) + if (TARGET_32BIT_MS_ABI && cfun->calls_setjmp) + return true; + ++ if (TARGET_64BIT && TARGET_SAVE_ARGS) ++ return true; ++ + /* Win64 SEH, very large frames need a frame-pointer as maximum stack + allocation is 4GB. */ + if (TARGET_64BIT_MS_ABI && get_frame_size () > SEH_MAX_FRAME_SIZE) +@@ -12781,6 +12792,7 @@ ix86_compute_frame_layout (void) + + frame->nregs = ix86_nsaved_regs (); + frame->nsseregs = ix86_nsaved_sseregs (); ++ frame->nmsave_args = ix86_nsaved_args (); + + /* 64-bit MS ABI seem to require stack alignment to be always 16, + except for function prologues, leaf functions and when the defult +@@ -12843,7 +12855,8 @@ ix86_compute_frame_layout (void) + } + + frame->save_regs_using_mov +- = (TARGET_PROLOGUE_USING_MOVE && cfun->machine->use_fast_prologue_epilogue ++ = ((TARGET_FORCE_SAVE_REGS_USING_MOV || ++ (TARGET_PROLOGUE_USING_MOVE && cfun->machine->use_fast_prologue_epilogue)) + /* If static stack checking is enabled and done with probes, + the registers need to be saved before allocating the frame. */ + && flag_stack_check != STATIC_BUILTIN_STACK_CHECK); +@@ -12863,6 +12876,13 @@ ix86_compute_frame_layout (void) + /* The traditional frame pointer location is at the top of the frame. */ + frame->hard_frame_pointer_offset = offset; + ++ if (TARGET_64BIT && TARGET_SAVE_ARGS) ++ { ++ offset += frame->nmsave_args * UNITS_PER_WORD; ++ offset += (frame->nmsave_args % 2) * UNITS_PER_WORD; ++ } ++ frame->arg_save_offset = offset; ++ + /* Register save area */ + offset += frame->nregs * UNITS_PER_WORD; + frame->reg_save_offset = offset; +@@ -12945,7 +12965,7 @@ ix86_compute_frame_layout (void) + /* Size prologue needs to allocate. */ + to_allocate = offset - frame->sse_reg_save_offset; + +- if ((!to_allocate && frame->nregs <= 1) ++ if ((!TARGET_SAVE_ARGS && !to_allocate && frame->nregs <= 1) + || (TARGET_64BIT && to_allocate >= HOST_WIDE_INT_C (0x80000000))) + frame->save_regs_using_mov = false; + +@@ -12957,7 +12977,11 @@ ix86_compute_frame_layout (void) + { + frame->red_zone_size = to_allocate; + if (frame->save_regs_using_mov) +- frame->red_zone_size += frame->nregs * UNITS_PER_WORD; ++ { ++ frame->red_zone_size += frame->nregs * UNITS_PER_WORD; ++ frame->red_zone_size += frame->nmsave_args * UNITS_PER_WORD; ++ frame->red_zone_size += (frame->nmsave_args % 2) * UNITS_PER_WORD; ++ } + if (frame->red_zone_size > RED_ZONE_SIZE - RED_ZONE_RESERVE) + frame->red_zone_size = RED_ZONE_SIZE - RED_ZONE_RESERVE; + } +@@ -12988,6 +13012,20 @@ ix86_compute_frame_layout (void) + frame->hard_frame_pointer_offset = frame->stack_pointer_offset - 128; + } + } ++ if (getenv("DEBUG_FRAME_STUFF") != NULL) ++ { ++ printf("nmsave_args: %d\n", frame->nmsave_args); ++ printf("nsseregs: %d\n", frame->nsseregs); ++ printf("nregs: %d\n", frame->nregs); ++ ++ printf("frame_pointer_offset: %llx\n", frame->frame_pointer_offset); ++ printf("hard_frame_pointer_offset: %llx\n", frame->hard_frame_pointer_offset); ++ printf("stack_pointer_offset: %llx\n", frame->stack_pointer_offset); ++ printf("hfp_save_offset: %llx\n", frame->hfp_save_offset); ++ printf("arg_save_offset: %llx\n", frame->arg_save_offset); ++ printf("reg_save_offset: %llx\n", frame->reg_save_offset); ++ printf("sse_reg_save_offset: %llx\n", frame->sse_reg_save_offset); ++ } + } + + /* This is semi-inlined memory_address_length, but simplified +@@ -13096,6 +13134,23 @@ ix86_emit_save_regs (void) + unsigned int regno; + rtx_insn *insn; + ++ if (TARGET_64BIT && TARGET_SAVE_ARGS) ++ { ++ int i; ++ int nsaved = ix86_nsaved_args (); ++ int start = cfun->returns_struct; ++ ++ for (i = start; i < start + nsaved; i++) ++ { ++ regno = x86_64_int_parameter_registers[i]; ++ insn = emit_insn (gen_push (gen_rtx_REG (word_mode, regno))); ++ RTX_FRAME_RELATED_P (insn) = 1; ++ } ++ if (nsaved % 2 != 0) ++ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx, ++ GEN_INT (-UNITS_PER_WORD), -1, false); ++ } ++ + for (regno = FIRST_PSEUDO_REGISTER - 1; regno-- > 0; ) + if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, true)) + { +@@ -13174,9 +13229,30 @@ ix86_emit_save_reg_using_mov (machine_mo + /* Emit code to save registers using MOV insns. + First register is stored at CFA - CFA_OFFSET. */ + static void +-ix86_emit_save_regs_using_mov (HOST_WIDE_INT cfa_offset) ++ix86_emit_save_regs_using_mov (const struct ix86_frame *frame) + { + unsigned int regno; ++ HOST_WIDE_INT cfa_offset = frame->arg_save_offset; ++ ++ if (TARGET_64BIT && TARGET_SAVE_ARGS) ++ { ++ int i; ++ int nsaved = ix86_nsaved_args (); ++ int start = cfun->returns_struct; ++ ++ /* We deal with this twice? */ ++ if (nsaved % 2 != 0) ++ cfa_offset -= UNITS_PER_WORD; ++ ++ for (i = start + nsaved - 1; i >= start; i--) ++ { ++ regno = x86_64_int_parameter_registers[i]; ++ ix86_emit_save_reg_using_mov(word_mode, regno, cfa_offset); ++ cfa_offset -= UNITS_PER_WORD; ++ } ++ } ++ ++ cfa_offset = frame->reg_save_offset; + + for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) + if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, true)) +@@ -13960,7 +14036,7 @@ ix86_finalize_stack_realign_flags (void) + if (stack_realign + && frame_pointer_needed + && crtl->is_leaf +- && flag_omit_frame_pointer ++ && 0 + && crtl->sp_is_unchanging + && !ix86_current_function_calls_tls_descriptor + && !crtl->accesses_prior_frames +@@ -14235,7 +14311,7 @@ ix86_expand_prologue (void) + } + } + +- int_registers_saved = (frame.nregs == 0); ++ int_registers_saved = (frame.nregs == 0 && frame.nmsave_args == 0); + sse_registers_saved = (frame.nsseregs == 0); + + if (frame_pointer_needed && !m->fs.fp_valid) +@@ -14286,7 +14362,7 @@ ix86_expand_prologue (void) + && (! TARGET_STACK_PROBE + || frame.stack_pointer_offset < CHECK_STACK_LIMIT)) + { +- ix86_emit_save_regs_using_mov (frame.reg_save_offset); ++ ix86_emit_save_regs_using_mov (&frame); + int_registers_saved = true; + } + } +@@ -14529,7 +14605,7 @@ ix86_expand_prologue (void) + } + + if (!int_registers_saved) +- ix86_emit_save_regs_using_mov (frame.reg_save_offset); ++ ix86_emit_save_regs_using_mov (&frame); + if (!sse_registers_saved) + ix86_emit_save_sse_regs_using_mov (frame.sse_reg_save_offset); + +@@ -14968,6 +15044,35 @@ ix86_expand_epilogue (int style) + ix86_emit_restore_regs_using_pop (); + } + ++ if (TARGET_64BIT && TARGET_SAVE_ARGS) { ++ /* ++ * For each saved argument, emit a restore note, to make sure it happens ++ * correctly within the shrink wrapping (I think). ++ * ++ * Note that 'restore' in this case merely means the rule is the same as ++ * it was on function entry, not that we have actually done a register ++ * restore (which of course, we haven't). ++ * ++ * If we do not do this, the DWARF code will emit sufficient restores to ++ * provide balance on its own initiative, which in the presence of ++ * -fshrink-wrap may actually _introduce_ unbalance (whereby we only ++ * .cfi_offset a register sometimes, but will always .cfi_restore it. ++ * This will trip an assert.) ++ */ ++ int start = cfun->returns_struct; ++ int nsaved = ix86_nsaved_args(); ++ int i; ++ ++ for (i = start + nsaved - 1; i >= start; i--) ++ queued_cfa_restores ++ = alloc_reg_note (REG_CFA_RESTORE, ++ gen_rtx_REG(Pmode, ++ x86_64_int_parameter_registers[i]), ++ queued_cfa_restores); ++ ++ gcc_assert(m->fs.fp_valid); ++ } ++ + /* If we used a stack pointer and haven't already got rid of it, + then do so now. */ + if (m->fs.fp_valid) +@@ -15979,6 +16084,18 @@ ix86_cannot_force_const_mem (machine_mod + return !ix86_legitimate_constant_p (mode, x); + } + ++/* Return number of arguments to be saved on the stack with ++ -msave-args. */ ++ ++static int ++ix86_nsaved_args (void) ++{ ++ if (TARGET_64BIT && TARGET_SAVE_ARGS) ++ return crtl->args.info.regno - cfun->returns_struct; ++ else ++ return 0; ++} ++ + /* Nonzero if the symbol is marked as dllimport, or as stub-variable, + otherwise zero. */ + diff --git a/lang/gcc7/patches/patch-gcc_config_i386_i386.h b/lang/gcc7/patches/patch-gcc_config_i386_i386.h new file mode 100644 index 0000000000000..6328a3aafd31f --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_config_i386_i386.h @@ -0,0 +1,22 @@ +$NetBSD$ + +Support -msave-args. + +--- gcc/config/i386/i386.h.orig 2018-01-16 11:10:44.253204000 +0000 ++++ gcc/config/i386/i386.h +@@ -2480,6 +2480,7 @@ enum avx_u128_state + */ + struct GTY(()) ix86_frame + { ++ int nmsave_args; + int nsseregs; + int nregs; + int va_arg_size; +@@ -2491,6 +2492,7 @@ struct GTY(()) ix86_frame + HOST_WIDE_INT hard_frame_pointer_offset; + HOST_WIDE_INT stack_pointer_offset; + HOST_WIDE_INT hfp_save_offset; ++ HOST_WIDE_INT arg_save_offset; + HOST_WIDE_INT reg_save_offset; + HOST_WIDE_INT sse_reg_save_offset; + diff --git a/lang/gcc7/patches/patch-gcc_config_i386_i386.opt b/lang/gcc7/patches/patch-gcc_config_i386_i386.opt new file mode 100644 index 0000000000000..16aa2178adab3 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_config_i386_i386.opt @@ -0,0 +1,22 @@ +$NetBSD$ + +Support -msave-args. + +--- gcc/config/i386/i386.opt.orig 2018-01-16 11:17:49.509247000 +0000 ++++ gcc/config/i386/i386.opt +@@ -505,6 +505,15 @@ mtls-direct-seg-refs + Target Report Mask(TLS_DIRECT_SEG_REFS) + Use direct references against %gs when accessing tls data. + ++msave-args ++Target Report Mask(SAVE_ARGS) ++Save integer arguments on the stack at function entry ++ ++mforce-save-regs-using-mov ++Target Report Mask(FORCE_SAVE_REGS_USING_MOV) ++Save registers using push in function prologues. This is intentionally ++undocumented and used for msave-args testing. ++ + mtune= + Target RejectNegative Joined Var(ix86_tune_string) + Schedule code for given CPU. diff --git a/lang/gcc7/patches/patch-gcc_config_sol2-c.c b/lang/gcc7/patches/patch-gcc_config_sol2-c.c new file mode 100644 index 0000000000000..a9fd6b0ff4ee1 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_config_sol2-c.c @@ -0,0 +1,56 @@ +$NetBSD$ + +Update cmn_err format specifier. + +--- gcc/config/sol2-c.c.orig 2017-01-01 12:07:43.905435000 +0000 ++++ gcc/config/sol2-c.c +@@ -40,7 +40,10 @@ static const format_length_info cmn_err_ + + static const format_flag_spec cmn_err_flag_specs[] = + { ++ { '0', 0, 0, N_("'0' flag"), N_("the '0' flag"), STD_C89 }, ++ { '-', 0, 0, N_("'-' flag"), N_("the '-' flag"), STD_C89 }, + { 'w', 0, 0, N_("field width"), N_("field width in printf format"), STD_C89 }, ++ { 'p', 0, 0, N_("precision"), N_("precision in printf format"), STD_C89 }, + { 'L', 0, 0, N_("length modifier"), N_("length modifier in printf format"), STD_C89 }, + { 0, 0, 0, NULL, NULL, STD_C89 } + }; +@@ -48,6 +51,7 @@ static const format_flag_spec cmn_err_fl + + static const format_flag_pair cmn_err_flag_pairs[] = + { ++ { '0', '-', 1, 0 }, + { 0, 0, 0, 0 } + }; + +@@ -57,21 +61,21 @@ static const format_char_info bitfield_s + static const format_char_info cmn_err_char_table[] = + { + /* C89 conversion specifiers. */ +- { "dD", 0, STD_C89, { T89_I, BADLEN, BADLEN, T89_L, T9L_LL, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "", NULL }, +- { "oOxX",0, STD_C89, { T89_UI, BADLEN, BADLEN, T89_UL, T9L_ULL, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "", NULL }, +- { "u", 0, STD_C89, { T89_UI, BADLEN, BADLEN, T89_UL, T9L_ULL, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "", NULL }, +- { "c", 0, STD_C89, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "", NULL }, +- { "p", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "c", NULL }, +- { "s", 1, STD_C89, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "cR", NULL }, +- { "b", 0, STD_C89, { T89_I, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "w", "", &bitfield_string_type }, ++ { "dD", 0, STD_C89, { T89_I, BADLEN, BADLEN, T89_L, T9L_LL, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0", "", NULL }, ++ { "oOxX",0, STD_C89, { T89_UI, BADLEN, BADLEN, T89_UL, T9L_ULL, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0", "", NULL }, ++ { "u", 0, STD_C89, { T89_UI, BADLEN, BADLEN, T89_UL, T9L_ULL, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0", "", NULL }, ++ { "c", 0, STD_C89, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "", NULL }, ++ { "p", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "c", NULL }, ++ { "s", 1, STD_C89, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR", NULL }, ++ { "b", 0, STD_C89, { T89_I, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w0", "", &bitfield_string_type }, + { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL } + }; + + EXPORTED_CONST format_kind_info solaris_format_types[] = { +- { "cmn_err", cmn_err_length_specs, cmn_err_char_table, "", NULL, ++ { "cmn_err", cmn_err_length_specs, cmn_err_char_table, "0-", NULL, + cmn_err_flag_specs, cmn_err_flag_pairs, + FMT_FLAG_ARG_CONVERT|FMT_FLAG_EMPTY_PREC_OK, +- 'w', 0, 0, 0, 'L', 0, ++ 'w', 0, 'p', 0, 'L', 0, + &integer_type_node, &integer_type_node + } + }; diff --git a/lang/gcc7/patches/patch-gcc_config_sol2.h b/lang/gcc7/patches/patch-gcc_config_sol2.h new file mode 100644 index 0000000000000..1072356ed1db3 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_config_sol2.h @@ -0,0 +1,24 @@ +$NetBSD$ + +Enable full __cxa_atexit support. + +--- gcc/config/sol2.h.orig 2017-11-21 09:31:12.135035000 +0000 ++++ gcc/config/sol2.h +@@ -178,7 +178,7 @@ along with GCC; see the file COPYING3. + shared|" PIE_SPEC ":crtbeginS.o%s; \ + :crtbegin.o%s}" + #else +-#define STARTFILE_CRTBEGIN_SPEC "crtbegin.o%s" ++#define STARTFILE_CRTBEGIN_SPEC "%{shared:crtbeginS.o%s;:crtbegin.o%s}" + #endif + + #if ENABLE_VTABLE_VERIFY +@@ -228,7 +228,7 @@ along with GCC; see the file COPYING3. + shared|" PIE_SPEC ":crtendS.o%s; \ + :crtend.o%s}" + #else +-#define ENDFILE_CRTEND_SPEC "crtend.o%s" ++#define ENDFILE_CRTEND_SPEC "%{shared:crtendS.o%s;:crtend.o%s}" + #endif + + #undef ENDFILE_SPEC diff --git a/lang/gcc7/patches/patch-gcc_configure b/lang/gcc7/patches/patch-gcc_configure index 4d1ded0e9b77a..2eed345107ce3 100644 --- a/lang/gcc7/patches/patch-gcc_configure +++ b/lang/gcc7/patches/patch-gcc_configure @@ -1,8 +1,37 @@ $NetBSD: patch-gcc_configure,v 1.1 2017/05/03 00:21:03 maya Exp $ ---- gcc/configure.orig 2015-09-30 23:06:11.000000000 +0000 +Enable the .eh_frame based unwinder. +Fix detection of native TLS on SunOS, joyent/pkgsrc#264 + +--- gcc/configure.orig 2017-11-21 09:31:12.135035000 +0000 +++ gcc/configure -@@ -28321,7 +28321,7 @@ case "$target" in +@@ -22787,6 +22787,7 @@ if test $in_tree_ld != yes ; then + -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'` + ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` + ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ++ ld_vers_isillumos=`echo "$ld_ver" | grep '(illumos)'` + fi + ;; + esac +@@ -23957,7 +23958,7 @@ $as_echo "#define TLS_SECTION_ASM_FLAG ' + tls_first_major=2 + tls_first_minor=14 + tls_section_flag=T +- tls_as_opt="--fatal-warnings" ++ tls_as_opt="-32 --fatal-warnings" + fi + case "$target" in + i[34567]86-*-*) +@@ -28072,6 +28073,8 @@ elif test x$gcc_cv_ld != x; then + # Sun ld has various bugs in .eh_frame_hdr support before version 1.2251. + if test "$ld_vers_major" -gt 1 || test "$ld_vers_minor" -ge 2251; then + gcc_cv_ld_eh_frame_hdr=yes ++ elif test "$ld_vers_minor" -ge 1735 && test -n "$ld_vers_isillumos"; then ++ gcc_cv_ld_eh_frame_hdr=yes + fi + ;; + esac +@@ -29111,7 +29114,7 @@ case "$target" in gcc_cv_target_dl_iterate_phdr=no fi ;; diff --git a/lang/gcc7/patches/patch-gcc_dojump.c b/lang/gcc7/patches/patch-gcc_dojump.c new file mode 100644 index 0000000000000..dfa43523ead6a --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_dojump.c @@ -0,0 +1,15 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. + +--- gcc/dojump.c.orig 2017-01-01 12:07:43.905435000 +0000 ++++ gcc/dojump.c +@@ -82,7 +82,7 @@ void + clear_pending_stack_adjust (void) + { + if (optimize > 0 +- && (! flag_omit_frame_pointer || cfun->calls_alloca) ++ && (! 0 || cfun->calls_alloca) + && EXIT_IGNORE_STACK) + discard_pending_stack_adjust (); + } diff --git a/lang/gcc7/patches/patch-gcc_dwarf2out.c b/lang/gcc7/patches/patch-gcc_dwarf2out.c new file mode 100644 index 0000000000000..2c05799f944c3 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_dwarf2out.c @@ -0,0 +1,18 @@ +$NetBSD$ + +Support -msave-args. + +--- gcc/dwarf2out.c.orig 2017-11-15 11:54:11.986064000 +0000 ++++ gcc/dwarf2out.c +@@ -22432,6 +22432,11 @@ gen_subprogram_die (tree decl, dw_die_re + /* Add the calling convention attribute if requested. */ + add_calling_convention_attribute (subr_die, decl); + ++#ifdef TARGET_SAVE_ARGS ++ if (TARGET_SAVE_ARGS) ++ add_AT_flag (subr_die, DW_AT_SUN_amd64_parmdump, 1); ++#endif ++ + /* Output Dwarf info for all of the stuff within the body of the function + (if it has one - it may be just a declaration). + diff --git a/lang/gcc7/patches/patch-gcc_ira.c b/lang/gcc7/patches/patch-gcc_ira.c new file mode 100644 index 0000000000000..7ef3f90e12585 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_ira.c @@ -0,0 +1,24 @@ +$NetBSD$ + +Disable -fomit-frame-pointer. + +--- gcc/ira.c.orig 2017-10-18 21:13:16.833810000 +0000 ++++ gcc/ira.c +@@ -1720,7 +1720,7 @@ ira_init (void) + { + this_target_ira_int->free_register_move_costs (); + setup_reg_mode_hard_regset (); +- setup_alloc_regs (flag_omit_frame_pointer != 0); ++ setup_alloc_regs (0 != 0); + setup_class_subset_and_memory_move_costs (); + setup_reg_class_nregs (); + setup_prohibited_class_mode_regs (); +@@ -2275,7 +2275,7 @@ ira_setup_eliminable_regset (void) + case. At some point, we should improve this by emitting the + sp-adjusting insns for this case. */ + frame_pointer_needed +- = (! flag_omit_frame_pointer ++ = (! 0 + || (cfun->calls_alloca && EXIT_IGNORE_STACK) + /* We need the frame pointer to catch stack overflow exceptions if + the stack pointer is moving (as for the alloca case just above). */ diff --git a/lang/gcc7/patches/patch-gcc_symtab.c b/lang/gcc7/patches/patch-gcc_symtab.c new file mode 100644 index 0000000000000..9635f4fe1b596 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_symtab.c @@ -0,0 +1,17 @@ +$NetBSD$ + +Support -fclone-functions. + +--- gcc/symtab.c.orig 2017-04-28 11:42:14.556427000 +0000 ++++ gcc/symtab.c +@@ -1744,6 +1744,10 @@ symtab_node::noninterposable_alias (void + tree new_decl; + symtab_node *new_node = NULL; + ++ /* Do not allow a clone to be created if function-cloning is disabled */ ++ if (!flag_clone_functions) ++ return NULL; ++ + /* First try to look up existing alias or base object + (if that is already non-overwritable). */ + symtab_node *node = ultimate_alias_target (); diff --git a/lang/gcc7/patches/patch-gcc_testsuite_gcc.dg_fno-clone-preserves-unused-args.c b/lang/gcc7/patches/patch-gcc_testsuite_gcc.dg_fno-clone-preserves-unused-args.c new file mode 100644 index 0000000000000..c9d2190ee5da5 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_testsuite_gcc.dg_fno-clone-preserves-unused-args.c @@ -0,0 +1,34 @@ +$NetBSD$ + +Test -fclone-functions. + +--- /dev/null 2018-05-21 12:23:16.000000000 +0000 ++++ gcc/testsuite/gcc.dg/fno-clone-preserves-unused-args.c 2018-05-21 12:14:37.563084208 +0000 +@@ -0,0 +1,27 @@ ++/* { dg-do compile { target { ilp32 } } } */ ++/* { dg-options "-O2 -funit-at-a-time -fipa-sra -fno-clone-functions" } */ ++/* { dg-final { scan-assembler "pushl.*\\\$1" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$2" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$3" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$4" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$5" } } */ ++ ++#include ++ ++/* ++ * Verify that preventing function cloning prevents constant prop/scalar ++ * reduction removing parameters ++ */ ++static void ++t(int, int, int, int, int) __attribute__ ((noinline)); ++ ++int void() ++{ ++ t(1, 2, 3, 4, 5); ++} ++ ++/* Only use 3 params, bait constprop/sra into deleting the other two */ ++static void(int a, int b, int c, int d, int e) ++{ ++ printf("%d %d\n", a, b, c); ++} diff --git a/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_local.c b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_local.c new file mode 100644 index 0000000000000..67dce519ea2e4 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_local.c @@ -0,0 +1,14 @@ +$NetBSD$ + +Test -fstrict-calling-conventions. + +--- gcc/testsuite/gcc.target/i386/local.c.orig 2015-12-29 10:32:21.184118000 +0000 ++++ gcc/testsuite/gcc.target/i386/local.c +@@ -1,5 +1,6 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -funit-at-a-time" } */ ++/* { dg-options "-O2 -funit-at-a-time -fno-strict-calling-conventions" { target ia32 } } */ ++/* { dg-options "-O2 -funit-at-a-time" { target lp64 } } */ + /* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ia32 } } } */ + /* { dg-final { scan-assembler "magic\[^\\n\]*(edi|ecx)" { target { ! ia32 } } } } */ + diff --git a/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-mov.c b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-mov.c new file mode 100644 index 0000000000000..bfd20a89906cc --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-mov.c @@ -0,0 +1,33 @@ +$NetBSD$ + +Test -msave-args. + +--- /dev/null 2018-05-21 12:23:16.000000000 +0000 ++++ gcc/testsuite/gcc.target/i386/msave-args-mov.c 2018-05-21 12:31:14.365772073 +0000 +@@ -0,0 +1,26 @@ ++/* { dg-do run { target { { i?86-*-solaris2.* } && lp64 } } } */ ++/* { dg-options "-msave-args -mforce-save-regs-using-mov -save-temps" } */ ++ ++#include ++ ++void t(int, int, int, int, int) __attribute__ ((noinline)); ++ ++int ++main(int argc, char **argv) ++{ ++ t(1, 2, 3, 4, 5); ++ return (0); ++} ++ ++void ++t(int a, int b, int c, int d, int e) ++{ ++ printf("%d %d %d %d %d", a, b, c, d, e); ++} ++ ++/* { dg-final { scan-assembler "movq\t%rdi, -8\\(%rbp\\)" } } */ ++/* { dg-final { scan-assembler "movq\t%rsi, -16\\(%rbp\\)" } } */ ++/* { dg-final { scan-assembler "movq\t%rdx, -24\\(%rbp\\)" } } */ ++/* { dg-final { scan-assembler "movq\t%rcx, -32\\(%rbp\\)" } } */ ++/* { dg-final { scan-assembler "movq\t%r8, -40\\(%rbp\\)" } } */ ++/* { dg-final { cleanup-saved-temps } } */ diff --git a/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-push.c b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-push.c new file mode 100644 index 0000000000000..a4cd80d3cfdf6 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_msave-args-push.c @@ -0,0 +1,33 @@ +$NetBSD$ + +Test -msave-args. + +--- /dev/null 2018-05-21 12:23:16.000000000 +0000 ++++ gcc/testsuite/gcc.target/i386/msave-args-push.c 2018-05-21 12:31:39.048591314 +0000 +@@ -0,0 +1,26 @@ ++/* { dg-do run { target { { i?86-*-solaris2.* } && lp64 } } } */ ++/* { dg-options "-msave-args -save-temps " } */ ++ ++#include ++ ++void t(int, int, int, int, int) __attribute__ ((noinline)); ++ ++int ++main(int argc, char **argv) ++{ ++ t(1, 2, 3, 4, 5); ++ return (0); ++} ++ ++void ++t(int a, int b, int c, int d, int e) ++{ ++ printf("%d %d %d %d %d", a, b, c, d, e); ++} ++ ++/* { dg-final { scan-assembler "pushq\t%rdi" } } */ ++/* { dg-final { scan-assembler "pushq\t%rsi" } } */ ++/* { dg-final { scan-assembler "pushq\t%rdx" } } */ ++/* { dg-final { scan-assembler "pushq\t%rcx" } } */ ++/* { dg-final { scan-assembler "pushq\t%r8" } } */ ++/* { dg-final { cleanup-saved-temps } } */ diff --git a/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_strict-cc.c b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_strict-cc.c new file mode 100644 index 0000000000000..1c721430ed580 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_testsuite_gcc.target_i386_strict-cc.c @@ -0,0 +1,31 @@ +$NetBSD$ + +Test -fstrict-calling-conventions. + +--- /dev/null 2018-05-21 12:23:16.000000000 +0000 ++++ gcc/testsuite/gcc.target/i386/strict-cc.c 2018-05-21 12:11:48.087972286 +0000 +@@ -0,0 +1,24 @@ ++/* { dg-do compile { target { ilp32 } } } */ ++/* { dg-options "-O2 -funit-at-a-time -fstrict-calling-conventions" } */ ++/* { dg-final { scan-assembler "pushl.*\\\$1" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$2" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$3" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$4" } } */ ++/* { dg-final { scan-assembler "pushl.*\\\$5" } } */ ++ ++#include ++ ++/* Verify that local calling convention is not used if strict conventions. */ ++static int t(int, int, int, int, int) __attribute__ ((noinline)); ++ ++int ++m() ++{ ++ t(1, 2, 3, 4, 5); ++} ++ ++static int ++t(int a, int b, int c, int d, int e) ++{ ++ printf("%d\n", a, b, c, d, e); ++} diff --git a/lang/gcc7/patches/patch-gcc_tree-inline.c b/lang/gcc7/patches/patch-gcc_tree-inline.c new file mode 100644 index 0000000000000..fa34b1489d228 --- /dev/null +++ b/lang/gcc7/patches/patch-gcc_tree-inline.c @@ -0,0 +1,14 @@ +$NetBSD$ + +Support -fclone-functions. + +--- gcc/tree-inline.c.orig 2017-10-27 20:33:35.593168000 +0000 ++++ gcc/tree-inline.c +@@ -5714,6 +5714,7 @@ bool + tree_versionable_function_p (tree fndecl) + { + return (!lookup_attribute ("noclone", DECL_ATTRIBUTES (fndecl)) ++ && flag_clone_functions + && copy_forbidden (DECL_STRUCT_FUNCTION (fndecl)) == NULL); + } + diff --git a/lang/gcc7/patches/patch-include_dwarf2.def b/lang/gcc7/patches/patch-include_dwarf2.def new file mode 100644 index 0000000000000..c6178a7cd2dc4 --- /dev/null +++ b/lang/gcc7/patches/patch-include_dwarf2.def @@ -0,0 +1,15 @@ +$NetBSD$ + +Support -msave-args. + +--- include/dwarf2.def.orig 2017-02-25 08:18:24.431993000 +0000 ++++ include/dwarf2.def +@@ -457,6 +457,8 @@ DW_TAG (DW_AT_GNU_denominator, 0x2304) + /* Biased integer extension. + See https://gcc.gnu.org/wiki/DW_AT_GNU_bias . */ + DW_TAG (DW_AT_GNU_bias, 0x2305) ++/* Sun extension. */ ++DW_AT (DW_AT_SUN_amd64_parmdump, 0x2224) + /* UPC extension. */ + DW_AT (DW_AT_upc_threads_scaled, 0x3210) + /* PGI (STMicroelectronics) extensions. */ diff --git a/lang/gcc7/patches/patch-libgcc_config.host b/lang/gcc7/patches/patch-libgcc_config.host index 7cd1ded16aa7e..76da371f9956f 100644 --- a/lang/gcc7/patches/patch-libgcc_config.host +++ b/lang/gcc7/patches/patch-libgcc_config.host @@ -1,9 +1,27 @@ $NetBSD: patch-libgcc_config.host,v 1.1 2018/06/17 19:50:52 maya Exp $ netbsd/arm EABI support +Enable the .eh_frame based unwinder. --- libgcc/config.host.orig 2018-01-08 13:39:11.000000000 +0000 +++ libgcc/config.host +@@ -270,7 +270,7 @@ case ${host} in + *-*-solaris2*) + # Unless linker support and dl_iterate_phdr are present, + # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c. +- tmake_file="$tmake_file sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-elf-ver" ++ tmake_file="$tmake_file sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-elf-ver t-crtstuff-pic" + if test $with_gnu_ld = yes; then + tmake_file="$tmake_file t-slibgcc-gld" + else +@@ -290,6 +290,7 @@ case ${host} in + i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*) + # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as + # part of the base system. ++ extra_parts="$extra_parts crtbeginS.o crtendS.o" + ;; + sparc*-*-solaris2.1[0-9]*) + # Solaris 10+/SPARC lacks crt1.o and gcrt1.o. @@ -396,7 +396,16 @@ arm*-*-freebsd*) # ARM Fr tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" ;; From ddfd71d55ac2c53455620d6aed28c7fbe7ea4d6e Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Tue, 25 Sep 2018 11:51:23 +0100 Subject: [PATCH 037/141] gcc49: Fixes for building with GCC 7. --- lang/gcc49/distinfo | 3 ++ lang/gcc49/patches/patch-gcc_gengtype.c | 37 +++++++++++++++++++ lang/gcc49/patches/patch-gcc_read-md.c | 24 ++++++++++++ .../patches/patch-libiberty_sigsetmask.c | 14 +++++++ 4 files changed, 78 insertions(+) create mode 100644 lang/gcc49/patches/patch-gcc_gengtype.c create mode 100644 lang/gcc49/patches/patch-gcc_read-md.c create mode 100644 lang/gcc49/patches/patch-libiberty_sigsetmask.c diff --git a/lang/gcc49/distinfo b/lang/gcc49/distinfo index 12f6a8103c6b4..f7f23fb3132fd 100644 --- a/lang/gcc49/distinfo +++ b/lang/gcc49/distinfo @@ -26,9 +26,11 @@ SHA1 (patch-gcc_config_x-netbsd) = 6dc3d78e26df62054ea29f98ca51592858e671e3 SHA1 (patch-gcc_configure) = 302465f72ada3e3d3ec8acde70af9313e14053e1 SHA1 (patch-gcc_dojump.c) = d9066b1d2ac6f7ddce876edf3cc61aca420d2686 SHA1 (patch-gcc_fortran_f95-lang.c) = 9dbac16c146821eed9b06e1e9f0da85ff5c4ee75 +SHA1 (patch-gcc_gengtype.c) = add0e5503c1759951a2e5ef34611a2f2a678d98a SHA1 (patch-gcc_ggc-common.c) = fa577bc25260d7e6304f166686ba51c0b677d7f6 SHA1 (patch-gcc_ginclude_stddef.h) = 8af3e4b4058fc623c61e91f5771699f0ce679957 SHA1 (patch-gcc_ira.c) = 37bfd4118a9393d7d0fc142ee13379526fd733ee +SHA1 (patch-gcc_read-md.c) = 2302886f0a71002377379f976802a0fecb23a4c2 SHA1 (patch-gcc_system.h) = 4c959a6b1c4d524cbdf44cfb80f0e5758ec20783 SHA1 (patch-gcc_targhooks.c) = a982fa02d2ce947481d78198586235a9c4eb5d65 SHA1 (patch-include_libiberty.h) = 5254c6a421ae16c71571820f6f07906367f042ba @@ -43,6 +45,7 @@ SHA1 (patch-libgfortran_configure) = 398088715086a0c7a0398590d2de3a8107e35a0d SHA1 (patch-libgo_Makefile.in) = dd3429a0a87f024f1709b8dda4758080e4525e71 SHA1 (patch-libgo_runtime_proc.c) = ba716b2772a83a0c3f0d77d67a40c5a3ac2a3d33 SHA1 (patch-libiberty_Makefile.in) = a5ab85457d69f7bc9fa637ab830c13920d6c4c7c +SHA1 (patch-libiberty_sigsetmask.c) = 4609d2b627a907da6f9e95d1825e473d26bd4cbc SHA1 (patch-libjava_Makefile.in) = a7bc03e3b01f12844106e831dc281a049ee6f906 SHA1 (patch-libjava_boehm.cc) = b18bc9d410a62543583c77e011f50b86f41ca18a SHA1 (patch-libjava_configure) = 449e54fd6fe4357bbd3e378cd6bae5a98fb47dac diff --git a/lang/gcc49/patches/patch-gcc_gengtype.c b/lang/gcc49/patches/patch-gcc_gengtype.c new file mode 100644 index 0000000000000..2b7a5ec0ddc98 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_gengtype.c @@ -0,0 +1,37 @@ +$NetBSD$ + +Fixes for building on SunOS in C99 mode. + +--- gcc/gengtype.c.orig 2014-01-02 22:23:26.000000000 +0000 ++++ gcc/gengtype.c +@@ -4951,7 +4951,7 @@ variable_size_p (const type_p s) + } + + enum alloc_quantity +-{ single, vector }; ++{ gsingle, vector }; + + /* Writes one typed allocator definition into output F for type + identifier TYPE_NAME with optional type specifier TYPE_SPECIFIER. +@@ -5035,8 +5035,8 @@ write_typed_alloc_defns (outf_p f, + if (nb_plugin_files > 0 + && ((s->u.s.line.file == NULL) || !s->u.s.line.file->inpisplugin)) + continue; +- write_typed_struct_alloc_def (f, s, "", single); +- write_typed_struct_alloc_def (f, s, "cleared_", single); ++ write_typed_struct_alloc_def (f, s, "", gsingle); ++ write_typed_struct_alloc_def (f, s, "cleared_", gsingle); + write_typed_struct_alloc_def (f, s, "vec_", vector); + write_typed_struct_alloc_def (f, s, "cleared_vec_", vector); + } +@@ -5055,8 +5055,8 @@ write_typed_alloc_defns (outf_p f, + if (!filoc || !filoc->file->inpisplugin) + continue; + }; +- write_typed_typedef_alloc_def (f, p, "", single); +- write_typed_typedef_alloc_def (f, p, "cleared_", single); ++ write_typed_typedef_alloc_def (f, p, "", gsingle); ++ write_typed_typedef_alloc_def (f, p, "cleared_", gsingle); + write_typed_typedef_alloc_def (f, p, "vec_", vector); + write_typed_typedef_alloc_def (f, p, "cleared_vec_", vector); + } diff --git a/lang/gcc49/patches/patch-gcc_read-md.c b/lang/gcc49/patches/patch-gcc_read-md.c new file mode 100644 index 0000000000000..5fecbe62dc3a6 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_read-md.c @@ -0,0 +1,24 @@ +$NetBSD$ + +Backport upstream change to avoid decimal_string conflict on SunOS. + +--- gcc/read-md.c.orig 2014-01-02 22:23:26.000000000 +0000 ++++ gcc/read-md.c +@@ -780,7 +780,7 @@ traverse_md_constants (htab_trav callbac + /* Return a malloc()ed decimal string that represents number NUMBER. */ + + static char * +-decimal_string (int number) ++md_decimal_string (int number) + { + /* A safe overestimate. +1 for sign, +1 for null terminator. */ + char buffer[sizeof (int) * CHAR_BIT + 1 + 1]; +@@ -852,7 +852,7 @@ handle_enum (int lineno, bool md_p) + ev->name = value_name; + } + ev->def = add_constant (md_constants, value_name, +- decimal_string (def->num_values), def); ++ md_decimal_string (def->num_values), def); + + *def->tail_ptr = ev; + def->tail_ptr = &ev->next; diff --git a/lang/gcc49/patches/patch-libiberty_sigsetmask.c b/lang/gcc49/patches/patch-libiberty_sigsetmask.c new file mode 100644 index 0000000000000..5e4ea6c85a1d6 --- /dev/null +++ b/lang/gcc49/patches/patch-libiberty_sigsetmask.c @@ -0,0 +1,14 @@ +$NetBSD$ + +Fixes for building on SunOS in C99 mode. + +--- libiberty/sigsetmask.c.orig 2005-05-24 20:48:25.000000000 +0000 ++++ libiberty/sigsetmask.c +@@ -15,7 +15,6 @@ be the value @code{1}). + + */ + +-#define _POSIX_SOURCE + #include + /* Including seems to be needed by ISC. */ + #include From 8a86224f35a114a0fdab751f26d96dfa374180d6 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 17:16:18 +0100 Subject: [PATCH 038/141] Implement multi-architecture support. This commit adds a number of new features to pkgsrc to enable multi-architecture packages: - pkgtools/abiexec is a new package which integrates the isaexec wrapper from Solaris. Multi-architecture binaries are hardlinks to this file, which then determines the architecture-dependent binary to run, with 32-bit being the default. - pkg_install grows "@link" support to allow abiexec hardlinks to be created at pkg_add time. - mk grows a MULTIARCH variable, set by --multiarch in bootstrap, which determines whether or not to build multiarch packages. - Each phase target will run twice (once for each architecture) when MULTIARCH is enabled, and the final package will combine the output of each build. As for package support: - Packages opt-in to multi-architecture support by setting USE_MULTIARCH=yes, but this is only activated based on MULTIARCH. - BINARCHSUFFIX and LIBARCHSUFFIX will expand to directory suffixes for the current ABI, and will normally be used where there are hardcoded 'bin' or 'lib' paths. - When MULTIARCH is enabled, pkgsrc will build each package twice (once for each architecture), and then combine the two into a single package. This is currently only supported on SunOS, but it is generic enough that support can easily be added for other platforms. --- bootstrap/bootstrap | 5 + mk/bsd.makevars.mk | 4 + mk/bsd.pkg.mk | 24 ++++- mk/bsd.pkg.use.mk | 4 +- mk/bsd.prefs.mk | 5 + mk/build/build.mk | 20 ++++ mk/buildlink3/bsd.buildlink3.mk | 10 +- mk/check/check-files.mk | 9 +- mk/check/check-interpreter.mk | 5 + mk/compiler/gcc.mk | 6 ++ mk/configure/cmake.mk | 9 ++ mk/configure/configure.mk | 27 +++++ mk/configure/gnu-configure.mk | 16 ++- mk/cwrappers.mk | 16 ++- mk/defaults/mk.conf | 5 + mk/extract/extract.mk | 29 ++++++ mk/install/install.mk | 38 +++++++ mk/patch/patch.mk | 17 ++++ mk/platform/SunOS.mk | 10 ++ mk/plist/plist-multiarch.awk | 123 +++++++++++++++++++++++ mk/plist/plist.mk | 16 +++ mk/subst.mk | 4 + mk/tools/bsd.tools.mk | 17 +++- mk/tools/create.mk | 2 +- mk/tools/pkg-config.mk | 1 + mk/tools/replace.mk | 6 +- mk/tools/rpcgen.mk | 2 +- mk/wrapper/bsd.wrapper.mk | 14 +++ mk/wrapper/wrapper-defs.mk | 6 +- pkgtools/Makefile | 1 + pkgtools/abiexec/DESCR | 4 + pkgtools/abiexec/Makefile | 38 +++++++ pkgtools/abiexec/PLIST | 2 + pkgtools/abiexec/files/abiexec.c | 111 ++++++++++++++++++++ pkgtools/pkg_install/files/add/perform.c | 58 ++++++++--- pkgtools/pkg_install/files/admin/check.c | 11 +- pkgtools/pkg_install/files/admin/main.c | 11 +- pkgtools/pkg_install/files/info/show.c | 34 ++++++- pkgtools/pkg_install/files/lib/lib.h | 3 +- pkgtools/pkg_install/files/lib/plist.c | 20 +++- 40 files changed, 697 insertions(+), 46 deletions(-) create mode 100644 mk/plist/plist-multiarch.awk create mode 100644 pkgtools/abiexec/DESCR create mode 100644 pkgtools/abiexec/Makefile create mode 100644 pkgtools/abiexec/PLIST create mode 100644 pkgtools/abiexec/files/abiexec.c diff --git a/bootstrap/bootstrap b/bootstrap/bootstrap index e402542124092..61e15c30cce0f 100755 --- a/bootstrap/bootstrap +++ b/bootstrap/bootstrap @@ -64,6 +64,7 @@ usage="Usage: $0 "' [ --help ] [ --make-jobs ] [ --mk-fragment ] + [ --multiarch ] [ --pkgdbdir ] [ --pkginfodir ] [ --pkgmandir ] @@ -435,6 +436,7 @@ while [ $# -gt 0 ]; do --abi) abi="$2"; shift ;; --cwrappers=*) cwrappers=`get_optarg "$1"` ;; --cwrappers) cwrappers="$2"; shift ;; + --multiarch) multiarch=yes ;; --unprivileged | --ignore-user-check) unprivileged=yes ;; --prefer-pkgsrc=*) prefer_pkgsrc=`get_optarg "$1"` ;; @@ -1039,6 +1041,9 @@ fi if [ -n "$abi" ]; then echo "ABI= $abi" >> ${TARGET_MKCONF} fi +if [ -n "$multiarch" ]; then + echo "MULTIARCH= $multiarch" >> ${TARGET_MKCONF} +fi if [ "$compiler" != "" ]; then echo "PKGSRC_COMPILER= $compiler" >> ${TARGET_MKCONF} fi diff --git a/mk/bsd.makevars.mk b/mk/bsd.makevars.mk index 14a7c167d89f2..7bca0f48da22d 100644 --- a/mk/bsd.makevars.mk +++ b/mk/bsd.makevars.mk @@ -30,7 +30,11 @@ _REV_ALL_PHASES= package stage-install build configure wrapper \ # file. # .for _phase_ in ${_REV_ALL_PHASES} +. if !empty(MULTIARCH:M[Yy][Ee][Ss]) +_MAKEVARS_MK.${_phase_}= ${WRKDIR}/.${_phase_}_makevars-${ABI}.mk +. else _MAKEVARS_MK.${_phase_}= ${WRKDIR}/.${_phase_}_makevars.mk +. endif . if !target(${_phase_}-vars) ${_phase_}-vars: ${_MAKEVARS_MK.${_phase_}} . endif diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index c931a99ab2bd9..5d7cae2482f0e 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -104,6 +104,19 @@ WRKSRC?= ${WRKDIR}/${GITHUB_PROJECT}-${GITHUB_TAG:C/^v//} WRKSRC?= ${WRKDIR}/${DISTNAME:U${PKGNAME_NOREV}} .endif +# Multi-architecture support +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) && defined(USE_MULTIARCH) +_MULTIARCH= YES +BINARCHSUFFIX= ${BINARCHSUFFIX.${ABI}} +INCARCHSUFFIX= ${INCARCHSUFFIX.${ABI}} +LIBARCHSUFFIX= ${LIBARCHSUFFIX.${ABI}} +. if ${OPSYS} == "SunOS" && !empty(USE_MULTIARCH:Mbin) +DEPENDS+= abiexec-[0-9]*:../../pkgtools/abiexec +. endif +MULTIARCH_DIRS.bin?= bin sbin +MULTIARCH_DIRS.lib?= lib +.endif + # Override for SU_CMD user check _IS_ROOT_CMD?= ${TEST} `${ID} -u` = `${ID} -u ${_SU_ROOT_USER}` _SU_ROOT_USER?= ${ROOT_USER} @@ -160,6 +173,7 @@ CPPFLAGS+= ${CPP_PRECOMP_FLAGS} # to dependence builds. PKGSRC_SETENV?= ${SETENV} +ALL_ENV+= BINARCHSUFFIX=${BINARCHSUFFIX:Q} ALL_ENV+= CC=${CC:Q} ALL_ENV+= CFLAGS=${CFLAGS:M*:Q} ALL_ENV+= CPPFLAGS=${CPPFLAGS:M*:Q} @@ -178,6 +192,7 @@ ALL_ENV+= LC_MONETARY=C ALL_ENV+= LC_NUMERIC=C ALL_ENV+= LC_TIME=C ALL_ENV+= LDFLAGS=${LDFLAGS:M*:Q} +ALL_ENV+= LIBARCHSUFFIX=${LIBARCHSUFFIX:Q} ALL_ENV+= LINKER_RPATH_FLAG=${LINKER_RPATH_FLAG:Q} ALL_ENV+= PATH=${PATH:Q}:${LOCALBASE}/bin:${X11BASE}/bin ALL_ENV+= PREFIX=${PREFIX} @@ -192,9 +207,9 @@ BSD_MAKE_ENV+= MANOWN=${MANOWN} MANGRP=${MANGRP} BSD_MAKE_ENV+= SHAREOWN=${SHAREOWN} SHAREGRP=${SHAREGRP} BSD_MAKE_ENV+= DOCOWN=${DOCOWN} DOCGRP=${DOCGRP} BSD_MAKE_ENV+= BINMODE=${BINMODE} NONBINMODE=${NONBINMODE} -BSD_MAKE_ENV+= BINDIR=${PREFIX}/bin +BSD_MAKE_ENV+= BINDIR=${PREFIX}/bin${BINARCHSUFFIX} BSD_MAKE_ENV+= INCSDIR=${PREFIX}/include -BSD_MAKE_ENV+= LIBDIR=${PREFIX}/lib +BSD_MAKE_ENV+= LIBDIR=${PREFIX}/lib${LIBARCHSUFFIX} BSD_MAKE_ENV+= MANDIR=${PREFIX}/${PKGMANDIR} BSD_MAKE_ENV+= STRIPFLAG=${_STRIPFLAG_INSTALL:Q} BSD_MAKE_ENV+= MANINSTALL=${MANINSTALL:Q} @@ -240,6 +255,11 @@ SHCOMMENT?= ${ECHO_MSG} >/dev/null '***' LIBABISUFFIX?= +# Multi-architecture builds +BINARCHSUFFIX?= +INCARCHSUFFIX?= +LIBARCHSUFFIX?= + TOUCH_FLAGS?= -f # A few aliases for *-install targets diff --git a/mk/bsd.pkg.use.mk b/mk/bsd.pkg.use.mk index cbaae33e46679..3952a0bc925a6 100644 --- a/mk/bsd.pkg.use.mk +++ b/mk/bsd.pkg.use.mk @@ -78,7 +78,7 @@ BUILD_DEFS+= KERBEROS PKG_FAIL_REASON+= "Cross-compiling Fortran with libtool NYI." . endif -PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool-fortran +PKG_LIBTOOL?= ${LOCALBASE}/bin${BINARCHSUFFIX}/libtool-fortran PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool-fortran . if defined(USE_LIBTOOL) @@ -89,7 +89,7 @@ BUILD_DEPENDS+= libtool-fortran>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../ PKG_LIBTOOL?= ${CROSSBASE}/bin/libtool PKG_SHLIBTOOL?= ${CROSSBASE}/bin/shlibtool . else -PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool +PKG_LIBTOOL?= ${LOCALBASE}/bin${BINARCHSUFFIX}/libtool PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool . endif .endif diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk index c0eabeff81544..54b6da945e941 100644 --- a/mk/bsd.prefs.mk +++ b/mk/bsd.prefs.mk @@ -251,6 +251,11 @@ LOWER_VENDOR?= hp LOWER_VENDOR?= sun LOWER_OPSYS?= solaris LOWER_OPSYS_VERSUFFIX= 2.${OS_VERSION:C/5.//} +# XXX: Required for multiarch, there's no good workaround. Building bmake as +# multiarch causes circular dependencies due to abiexec. +MACHINE_ARCH.32= i386 +MACHINE_ARCH.64= x86_64 +MACHINE_ARCH= ${MACHINE_ARCH.${ABI}} _UNAME_V!= ${UNAME} -v . if !empty(_UNAME_V:Mjoyent_*) OS_VARIANT= SmartOS diff --git a/mk/build/build.mk b/mk/build/build.mk index 560cbb66cf885..7ebc81709c139 100644 --- a/mk/build/build.mk +++ b/mk/build/build.mk @@ -122,11 +122,21 @@ build-clean: install-clean _package-clean ### _REAL_BUILD_TARGETS+= build-check-interactive _REAL_BUILD_TARGETS+= build-message +.if defined(_MULTIARCH) +_REAL_BUILD_TARGETS+= build-vars-multi +.else _REAL_BUILD_TARGETS+= build-vars +.endif _REAL_BUILD_TARGETS+= pre-build-checks-hook +.if defined(_MULTIARCH) +_REAL_BUILD_TARGETS+= pre-build-multi +_REAL_BUILD_TARGETS+= do-build-multi +_REAL_BUILD_TARGETS+= post-build-multi +.else _REAL_BUILD_TARGETS+= pre-build _REAL_BUILD_TARGETS+= do-build _REAL_BUILD_TARGETS+= post-build +.endif _REAL_BUILD_TARGETS+= build-cookie _REAL_BUILD_TARGETS+= error-check @@ -180,6 +190,16 @@ post-build: @${DO_NADA} .endif +.if defined(_MULTIARCH) +. for _tgt_ in build-vars pre-build do-build post-build +.PHONY: ${_tgt_}-multi +${_tgt_}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${_tgt_} +. endfor +. endfor +.endif + # build-env: # Starts an interactive shell in WRKSRC. # diff --git a/mk/buildlink3/bsd.buildlink3.mk b/mk/buildlink3/bsd.buildlink3.mk index 01565c3da1e9a..0d3be6a5eae0a 100644 --- a/mk/buildlink3/bsd.buildlink3.mk +++ b/mk/buildlink3/bsd.buildlink3.mk @@ -409,7 +409,7 @@ BUILDLINK_LDFLAGS.${_pkg_}?= # empty BUILDLINK_LIBS.${_pkg_}?= # empty BUILDLINK_AUTO_DIRS.${_pkg_}?= yes BUILDLINK_INCDIRS.${_pkg_}?= include -BUILDLINK_LIBDIRS.${_pkg_}?= lib +BUILDLINK_LIBDIRS.${_pkg_}?= lib${LIBARCHSUFFIX} . if !empty(BUILDLINK_DEPMETHOD.${_pkg_}:Mfull) BUILDLINK_RPATHDIRS.${_pkg_}?= ${BUILDLINK_LIBDIRS.${_pkg_}} . else @@ -502,8 +502,8 @@ BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${_dir_} # # Ensure that ${LOCALBASE}/lib is in the runtime library search path. # -.if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${LOCALBASE}/lib) -BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib +.if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${LOCALBASE}/lib${LIBARCHSUFFIX}) +BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib${LIBARCHSUFFIX} .endif # # Add the X11 library directory to the library search paths if the package @@ -842,7 +842,7 @@ _BLNK_PASSTHRU_RPATHDIRS+= ${BUILDLINK_PREFIX.${_pkg_}}/${_dir_} # that wildcard dependencies work correctly when installing from binary # packages. # -_BLNK_PASSTHRU_RPATHDIRS+= ${LOCALBASE}/lib +_BLNK_PASSTHRU_RPATHDIRS+= ${LOCALBASE}/lib${LIBARCHSUFFIX} # # Allow ${X11BASE}/lib in the runtime library search path for USE_X11 # packages so that X11 libraries can be found. @@ -1115,7 +1115,7 @@ _WRAP_TRANSFORM.SHLIBTOOL= ${_WRAP_TRANSFORM.LIBTOOL} # before the system headers and libraries. # _BLNK_CPPFLAGS= -I${BUILDLINK_DIR}/include -_BLNK_LDFLAGS= -L${BUILDLINK_DIR}/lib +_BLNK_LDFLAGS= -L${BUILDLINK_DIR}/lib${LIBARCHSUFFIX} _WRAP_EXTRA_ARGS.CC+= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS} _WRAP_EXTRA_ARGS.CXX+= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS} _WRAP_EXTRA_ARGS.CPP+= ${_BLNK_CPPFLAGS} diff --git a/mk/check/check-files.mk b/mk/check/check-files.mk index 031d39fb4e88d..8bfa7931e165e 100644 --- a/mk/check/check-files.mk +++ b/mk/check/check-files.mk @@ -40,7 +40,8 @@ CHECK_FILES_SKIP+= ${PREFIX}/.*/dir # Perl's perllocal.pod index that is regenerated when a local module # is added. # -CHECK_FILES_SKIP+= ${PERL5_INSTALLARCHLIB}/perllocal.pod +# XXX: multiarch +CHECK_FILES_SKIP+= ${PREFIX}/.*/perllocal.pod # R's index files that are regenerated when a local module # is added. @@ -103,7 +104,13 @@ CHECK_FILES_SKIP+= ${PREFIX}/share/icons/.*/icon-theme.cache .endif # Mutable charset.alias file +.if defined(_MULTIARCH) +. for _abi_ in ${MULTIARCH_ABIS} +CHECK_FILES_SKIP+= ${PREFIX}/lib${LIBARCHSUFFIX.${_abi_}}/charset.alias +. endfor +.else CHECK_FILES_SKIP+= ${PREFIX}/lib/charset.alias +.endif # Mutable locale.alias file CHECK_FILES_SKIP+= ${PREFIX}/share/locale/locale.alias diff --git a/mk/check/check-interpreter.mk b/mk/check/check-interpreter.mk index 5a6a53eba6bbc..60339d6e7023f 100644 --- a/mk/check/check-interpreter.mk +++ b/mk/check/check-interpreter.mk @@ -77,7 +77,12 @@ _check-interpreter: error-check .PHONY fi; \ continue;; \ esac; \ + case "$$interp" in \ + *${PREFIX}/*bin${BINARCHSUFFIX}/*) isainterp="$$interp" ;; \ + *) isainterp=`${ECHO} "$$interp" | ${SED} -e "s;${PREFIX}/\(s*\)bin/;${PREFIX}/\1bin${BINARCHSUFFIX}/;"` ;; \ + esac; \ if { [ ! -f ${DESTDIR:Q}"$$interp" ] && \ + [ ! -f ${DESTDIR:Q}"$$isainterp" ] && \ [ ! -f "$$interp" ]; }; then \ ${DELAYED_ERROR_MSG} "[check-interpreter.mk] The interpreter \"$$interp\" of \"${DESTDIR}${PREFIX}/$$file\" does not exist."; \ fi; \ diff --git a/mk/compiler/gcc.mk b/mk/compiler/gcc.mk index a38f6076f60b3..8429558d47ff4 100644 --- a/mk/compiler/gcc.mk +++ b/mk/compiler/gcc.mk @@ -637,6 +637,12 @@ _USE_GCC_SHLIB?= yes _USE_GCC_SHLIB= yes .endif +# When using multiarch we cannot rely on MACHINE_GNU_PLATFORM as it differs +# # between ABIs, so provide a common directory for the runtime libraries. +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +GCC_TARGET_MACHINE= runtime +.endif + .if !empty(USE_NATIVE_GCC:M[yY][eE][sS]) && !empty(_IS_BUILTIN_GCC:M[yY][eE][sS]) _USE_PKGSRC_GCC= no .elif !empty(USE_PKGSRC_GCC:M[yY][eE][sS]) diff --git a/mk/configure/cmake.mk b/mk/configure/cmake.mk index 452cf5b86f61f..03eca2e95d545 100644 --- a/mk/configure/cmake.mk +++ b/mk/configure/cmake.mk @@ -57,7 +57,16 @@ CMAKE_ARGS+= -DCMAKE_SKIP_RPATH:BOOL=FALSE CMAKE_ARGS+= -DCMAKE_INSTALL_NAME_DIR:PATH=${PREFIX}/lib .endif .if defined(CMAKE_USE_GNU_INSTALL_DIRS) && empty(CMAKE_USE_GNU_INSTALL_DIRS:M[nN][oO]) +. if defined(_MULTIARCH) && !empty(USE_MULTIARCH:Mbin) +CMAKE_ARGS+= -DCMAKE_INSTALL_BINDIR:PATH=bin${BINARCHSUFFIX} +CMAKE_ARGS+= -DCMAKE_INSTALL_SBINDIR:PATH=sbin${BINARCHSUFFIX} +. endif +. if defined(_MULTIARCH) && !empty(USE_MULTIARCH:Mlib) && !defined(NO_MULTIARCH_LIBDIR) +CMAKE_ARGS+= -DLIB_SUFFIX=${LIBARCHSUFFIX} +CMAKE_ARGS+= -DCMAKE_INSTALL_LIBDIR:PATH=lib${LIBARCHSUFFIX} +. else CMAKE_ARGS+= -DCMAKE_INSTALL_LIBDIR:PATH=lib +. endif CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR:PATH=${PKGMANDIR} . if defined(INFO_FILES) CMAKE_ARGS+= -DCMAKE_INSTALL_INFODIR:PATH=${PKGINFODIR} diff --git a/mk/configure/configure.mk b/mk/configure/configure.mk index 6ca30bb0b37f5..dc44ce7848528 100644 --- a/mk/configure/configure.mk +++ b/mk/configure/configure.mk @@ -129,6 +129,15 @@ ${_COOKIE.configure}: real-configure # _REAL_CONFIGURE_TARGETS+= configure-check-interactive _REAL_CONFIGURE_TARGETS+= configure-message +.if defined(_MULTIARCH) +_REAL_CONFIGURE_TARGETS+= configure-vars-multi +_REAL_CONFIGURE_TARGETS+= pre-configure-multi +_REAL_CONFIGURE_TARGETS+= do-configure-pre-hook-multi +_REAL_CONFIGURE_TARGETS+= pre-configure-checks-hook-multi +_REAL_CONFIGURE_TARGETS+= do-configure-multi +_REAL_CONFIGURE_TARGETS+= do-configure-post-hook-multi +_REAL_CONFIGURE_TARGETS+= post-configure-multi +.else _REAL_CONFIGURE_TARGETS+= configure-vars _REAL_CONFIGURE_TARGETS+= pre-configure _REAL_CONFIGURE_TARGETS+= do-configure-pre-hook @@ -136,6 +145,7 @@ _REAL_CONFIGURE_TARGETS+= pre-configure-checks-hook _REAL_CONFIGURE_TARGETS+= do-configure _REAL_CONFIGURE_TARGETS+= do-configure-post-hook _REAL_CONFIGURE_TARGETS+= post-configure +.endif _REAL_CONFIGURE_TARGETS+= _configure-cookie _REAL_CONFIGURE_TARGETS+= error-check @@ -273,6 +283,23 @@ post-configure: @${DO_NADA} .endif +.if defined(_MULTIARCH) +_MULTIARCH_TARGETS+= configure-vars +_MULTIARCH_TARGETS+= pre-configure +_MULTIARCH_TARGETS+= do-configure-pre-hook +_MULTIARCH_TARGETS+= pre-configure-checks-hook +_MULTIARCH_TARGETS+= do-configure +_MULTIARCH_TARGETS+= do-configure-post-hook +_MULTIARCH_TARGETS+= post-configure +. for tgt in ${_MULTIARCH_TARGETS} +.PHONY: ${tgt}-multi +${tgt}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${tgt} +. endfor +. endfor +.endif + # configure-help: # Runs ${CONFIGURE_SCRIPT} --help. It is mainly intended for # package developers so they can quickly see the options of the diff --git a/mk/configure/gnu-configure.mk b/mk/configure/gnu-configure.mk index 2503abe6decc5..80ed29026db59 100644 --- a/mk/configure/gnu-configure.mk +++ b/mk/configure/gnu-configure.mk @@ -31,20 +31,34 @@ CONFIGURE_ARGS+= --prefix=${GNU_CONFIGURE_PREFIX:Q} .if (defined(SET_LIBDIR) && !empty(SET_LIBDIR)) || \ (defined(GNU_CONFIGURE_LIBDIR) && !empty(GNU_CONFIGURE_LIBDIR)) || \ - (defined(GNU_CONFIGURE_LIBSUBDIR) && !empty(GNU_CONFIGURE_LIBSUBDIR)) + (defined(GNU_CONFIGURE_LIBSUBDIR) && !empty(GNU_CONFIGURE_LIBSUBDIR)) || \ + (defined(_MULTIARCH) && !empty(USE_MULTIARCH:Mlib) && !defined(NO_MULTIARCH_LIBDIR)) CONFIGURE_HAS_LIBDIR= yes .else CONFIGURE_HAS_LIBDIR?= no .endif .if defined(GNU_CONFIGURE_LIBSUBDIR) && !empty(GNU_CONFIGURE_LIBSUBDIR) +. if defined(_MULTIARCH) && !empty(USE_MULTIARCH:Mlib) && !defined(NO_MULTIARCH_LIBDIR) +GNU_CONFIGURE_LIBDIR?= ${GNU_CONFIGURE_PREFIX}/lib${LIBARCHSUFFIX}/${GNU_CONFIGURE_LIBSUBDIR} +. else GNU_CONFIGURE_LIBDIR?= ${GNU_CONFIGURE_PREFIX}/lib/${GNU_CONFIGURE_LIBSUBDIR} +. endif .else +. if defined(_MULTIARCH) && !empty(USE_MULTIARCH:Mlib) && !defined(NO_MULTIARCH_LIBDIR) +GNU_CONFIGURE_LIBDIR?= ${GNU_CONFIGURE_PREFIX}/lib${LIBARCHSUFFIX} +. else GNU_CONFIGURE_LIBDIR?= ${GNU_CONFIGURE_PREFIX}/lib +. endif .endif .if !empty(CONFIGURE_HAS_LIBDIR:M[Yy][Ee][Ss]) CONFIGURE_ARGS+= --libdir=${GNU_CONFIGURE_LIBDIR} .endif +.if defined(_MULTIARCH) && !empty(USE_MULTIARCH:Mbin) +CONFIGURE_ARGS+= --bindir=${GNU_CONFIGURE_PREFIX}/bin${BINARCHSUFFIX} +CONFIGURE_ARGS+= --sbindir=${GNU_CONFIGURE_PREFIX}/sbin${BINARCHSUFFIX} +.endif + USE_GNU_CONFIGURE_HOST?= yes .if !empty(USE_GNU_CONFIGURE_HOST:M[yY][eE][sS]) . if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) diff --git a/mk/cwrappers.mk b/mk/cwrappers.mk index 5d544548b3c32..b6d9b775e40a1 100644 --- a/mk/cwrappers.mk +++ b/mk/cwrappers.mk @@ -9,7 +9,7 @@ BUILD_DEPENDS+= cwrappers>=20150314:../../pkgtools/cwrappers # XXX This should be PREFIX, but USE_CROSSBASE overrides it. CWRAPPERS_SRC_DIR= ${LOCALBASE}/libexec/cwrappers -CWRAPPERS_CONFIG_DIR= ${WRKDIR}/.cwrapper/config +CWRAPPERS_CONFIG_DIR= ${WRKDIR}/.cwrapper/config${LIBARCHSUFFIX} CONFIGURE_ENV+= CWRAPPERS_CONFIG_DIR=${CWRAPPERS_CONFIG_DIR} MAKE_ENV+= CWRAPPERS_CONFIG_DIR=${CWRAPPERS_CONFIG_DIR} ALL_ENV+= CWRAPPERS_CONFIG_DIR=${CWRAPPERS_CONFIG_DIR} @@ -123,7 +123,11 @@ ${_COOKIE.wrapper}: real-wrapper .endif .PHONY: real-wrapper +.if defined(_MULTIARCH) +real-wrapper: wrapper-message wrapper-dirs-multi wrapper-vars-multi pre-wrapper do-wrapper-multi post-wrapper wrapper-cookie error-check +.else real-wrapper: wrapper-message wrapper-dirs wrapper-vars pre-wrapper do-wrapper post-wrapper wrapper-cookie error-check +.endif .PHONY: wrapper-message wrapper-message: @@ -142,6 +146,16 @@ do-wrapper: @${DO_NADA} .endif +.if defined(_MULTIARCH) +. for _tgt_ in wrapper-dirs wrapper-vars do-wrapper +.PHONY: ${_tgt_}-multi +${_tgt_}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${_tgt_} +. endfor +. endfor +.endif + .if !target(pre-wrapper) pre-wrapper: @${DO_NADA} diff --git a/mk/defaults/mk.conf b/mk/defaults/mk.conf index 62b5f9d168f8a..1a2da0285498e 100644 --- a/mk/defaults/mk.conf +++ b/mk/defaults/mk.conf @@ -1375,6 +1375,11 @@ MTOOLS_ENABLE_FLOPPYD?= NO # Possible: YES, NO # Default: NO +MULTIARCH?= NO +# Support multilib ABIs +# Possible: YES, NO +# Default: NO + #MYSQL_USER?= mysql # The username of the mysql administrator. # Possible: any user name diff --git a/mk/extract/extract.mk b/mk/extract/extract.mk index f23b7efaae0fe..33b26755df6fc 100644 --- a/mk/extract/extract.mk +++ b/mk/extract/extract.mk @@ -100,11 +100,21 @@ ${_COOKIE.extract}: real-extract ### _REAL_EXTRACT_TARGETS+= extract-check-interactive _REAL_EXTRACT_TARGETS+= extract-message +.if defined(_MULTIARCH) +_REAL_EXTRACT_TARGETS+= extract-vars-multi +.else _REAL_EXTRACT_TARGETS+= extract-vars +.endif _REAL_EXTRACT_TARGETS+= extract-dir +.if defined(_MULTIARCH) +_REAL_EXTRACT_TARGETS+= pre-extract-multi +_REAL_EXTRACT_TARGETS+= do-extract-multi +_REAL_EXTRACT_TARGETS+= post-extract-multi +.else _REAL_EXTRACT_TARGETS+= pre-extract _REAL_EXTRACT_TARGETS+= do-extract _REAL_EXTRACT_TARGETS+= post-extract +.endif _REAL_EXTRACT_TARGETS+= extract-cookie _REAL_EXTRACT_TARGETS+= error-check @@ -234,3 +244,22 @@ pre-extract: post-extract: @${DO_NADA} .endif + +.if defined(_MULTIARCH) +.PHONY: do-extract-multi +do-extract-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} do-extract + @if [ -d ${WRKSRC} ]; then \ + ${MV} ${WRKSRC} ${WRKSRC}-${_abi_}; \ + fi +. endfor + +. for _tgt_ in extract-vars pre-extract post-extract +.PHONY: ${_tgt_}-multi +${_tgt_}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${_tgt_} +. endfor +. endfor +.endif diff --git a/mk/install/install.mk b/mk/install/install.mk index fb50905518ec7..16bd794f14416 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -43,6 +43,8 @@ # paths. As a convenience, a leading gnu/ is transformed to # ${PKGGNUDIR} and a leading man/ is transformed to ${PKGMANDIR}, # to save package authors from typing too much. +# ${PKGMANDIR}, to save package authors from typing too much. +# Additionally, in the MULTIARCH case, ${{BIN,LIB}ARCHDIR} will # # AUTO_MKDIRS # INSTALLATION_DIRS_FROM_PLIST @@ -100,7 +102,11 @@ ${_COOKIE.install}: real-install _REAL_INSTALL_TARGETS+= install-check-interactive _REAL_INSTALL_TARGETS+= install-check-version _REAL_INSTALL_TARGETS+= install-message +.if defined(_MULTIARCH) +_REAL_INSTALL_TARGETS+= stage-install-vars-multi +.else _REAL_INSTALL_TARGETS+= stage-install-vars +.endif _REAL_INSTALL_TARGETS+= unprivileged-install-hook _REAL_INSTALL_TARGETS+= install-all _REAL_INSTALL_TARGETS+= install-cookie @@ -165,16 +171,26 @@ _INSTALL_ALL_TARGETS+= install-check-umask .if empty(CHECK_FILES:M[nN][oO]) && !empty(CHECK_FILES_SUPPORTED:M[Yy][Ee][Ss]) _INSTALL_ALL_TARGETS+= check-files-pre .endif +.if defined(_MULTIARCH) +_INSTALL_ALL_TARGETS+= install-makedirs-multi +.else _INSTALL_ALL_TARGETS+= install-makedirs +.endif .if defined(INSTALLATION_DIRS_FROM_PLIST) && \ !empty(INSTALLATION_DIRS_FROM_PLIST:M[Yy][Ee][Ss]) _INSTALL_ALL_TARGETS+= install-dirs-from-PLIST .elif defined(AUTO_MKDIRS) && !empty(AUTO_MKDIRS:M[Yy][Ee][Ss]) _INSTALL_ALL_TARGETS+= install-dirs-from-PLIST .endif +.if defined(_MULTIARCH) +_INSTALL_ALL_TARGETS+= pre-install-multi +_INSTALL_ALL_TARGETS+= do-install-multi +_INSTALL_ALL_TARGETS+= post-install-multi +.else _INSTALL_ALL_TARGETS+= pre-install _INSTALL_ALL_TARGETS+= do-install _INSTALL_ALL_TARGETS+= post-install +.endif _INSTALL_ALL_TARGETS+= plist .if !empty(STRIP_DEBUG:M[Yy][Ee][Ss]) _INSTALL_ALL_TARGETS+= install-strip-debug @@ -329,6 +345,28 @@ post-install: @${DO_NADA} .endif +.if defined(_MULTIARCH) +. for tgt in stage-install-vars install-makedirs pre-install do-install post-install +# This is a bit ugly, but we need a hook here so that we can modify +# the DESTDIR in between each ABI install, for example to move ABI +# specific headers to their own sub-directory. Also the ugly PATH +# setting is required for packages which call ${LIBTOOL} directly +# in a do-install target as it may need to relink and we must ensure +# the correct wrappers are used. +.PHONY: ${tgt}-multiarch-hook +. if !target(${tgt}-multiarch-hook) +${tgt}-multiarch-hook: + @${DO_NADA} +. endif +.PHONY: ${tgt}-multi +${tgt}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} PATH=${WRAPPER_DIR}/bin${BINARCHSUFFIX.${_abi_}}:${TOOLS_DIR}/bin${BINARCHSUFFIX.${_abi_}}:${PATH} WRKSRC=${WRKSRC}-${_abi_} ${tgt} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} PATH=${WRAPPER_DIR}/bin${BINARCHSUFFIX.${_abi_}}:${TOOLS_DIR}/bin${BINARCHSUFFIX.${_abi_}}:${PATH} WRKSRC=${WRKSRC}-${_abi_} ${tgt}-multiarch-hook +. endfor +. endfor +.endif + ###################################################################### ### install-strip-debug (PRIVATE) ###################################################################### diff --git a/mk/patch/patch.mk b/mk/patch/patch.mk index c50e3dbb6d5a5..c1ea465b66db8 100644 --- a/mk/patch/patch.mk +++ b/mk/patch/patch.mk @@ -94,10 +94,17 @@ ${_COOKIE.patch}: real-patch ### targets that do the actual patching work. ### _REAL_PATCH_TARGETS+= patch-message +.if defined(_MULTIARCH) +_REAL_PATCH_TARGETS+= patch-vars-multi +_REAL_PATCH_TARGETS+= pre-patch-multi +_REAL_PATCH_TARGETS+= do-patch-multi +_REAL_PATCH_TARGETS+= post-patch-multi +.else _REAL_PATCH_TARGETS+= patch-vars _REAL_PATCH_TARGETS+= pre-patch _REAL_PATCH_TARGETS+= do-patch _REAL_PATCH_TARGETS+= post-patch +.endif _REAL_PATCH_TARGETS+= patch-cookie _REAL_PATCH_TARGETS+= error-check @@ -156,6 +163,16 @@ post-patch: @${DO_NADA} .endif +.if defined(_MULTIARCH) +. for tgt in patch-vars pre-patch do-patch post-patch +.PHONY: ${tgt}-multi +${tgt}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${tgt} +. endfor +. endfor +.endif + ###################################################################### .if defined(PATCH_DEBUG) || defined(PKG_VERBOSE) diff --git a/mk/platform/SunOS.mk b/mk/platform/SunOS.mk index c35c864d568e7..c8eb243fdbf5e 100644 --- a/mk/platform/SunOS.mk +++ b/mk/platform/SunOS.mk @@ -139,3 +139,13 @@ _OPSYS_CAN_CHECK_SHLIBS= yes # requires readelf # to avoid a test required by the libtool script that takes forever. # FIXME: Adjust to work on this system and enable the lines below. #_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax + +# Order is important, installation is done in order so any parts of the package +# which do not have per-ABI suffixes will retain the final ABI. +MULTIARCH_ABIS= 64 32 +BINARCHSUFFIX.32= /i86 +BINARCHSUFFIX.64= /amd64 +INCARCHSUFFIX.32= /i86 +INCARCHSUFFIX.64= /amd64 +LIBARCHSUFFIX.32= +LIBARCHSUFFIX.64= /amd64 diff --git a/mk/plist/plist-multiarch.awk b/mk/plist/plist-multiarch.awk new file mode 100644 index 0000000000000..0545cc82ac124 --- /dev/null +++ b/mk/plist/plist-multiarch.awk @@ -0,0 +1,123 @@ +# $NetBSD$ +# +# Copyright (c) 2013 Joyent, Inc. All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Jonathan Perkin +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# +# Convert ${{BIN,INC,LIB}ARCHSUFFIX} into lines for each supported ABI. +# +# Requires that for each var in MULTIARCH_ABIS there is a corresponding +# {BIN,INC,LIB}ARCHSUFFIX_${var} environment variable set pointing to the +# appropriate directory. +# +BEGIN { + PLIST_MULTIARCH_ENABLED = ENVIRON["_MULTIARCH"] ? 1 : 0 + PLIST_USE_MULTIARCH = ENVIRON["USE_MULTIARCH"] ? ENVIRON["USE_MULTIARCH"] : "" + PLIST_MULTIARCH_ABIS = ENVIRON["MULTIARCH_ABIS"] + split(PLIST_MULTIARCH_ABIS, abis, " ") + PLIST_MULTIARCH_DIRS_bin = ENVIRON["MULTIARCH_DIRS_bin"] ? ENVIRON["MULTIARCH_DIRS_bin"] : "" + PLIST_MULTIARCH_DIRS_lib = ENVIRON["MULTIARCH_DIRS_lib"] ? ENVIRON["MULTIARCH_DIRS_lib"] : "" + split(PLIST_MULTIARCH_DIRS_bin, bindirs, " ") + split(PLIST_MULTIARCH_DIRS_lib, libdirs, " ") + PLIST_MULTIARCH_SKIP_DIRS_bin = ENVIRON["MULTIARCH_SKIP_DIRS_bin"] ? ENVIRON["MULTIARCH_SKIP_DIRS_bin"] : "" + PLIST_MULTIARCH_SKIP_DIRS_lib = ENVIRON["MULTIARCH_SKIP_DIRS_lib"] ? ENVIRON["MULTIARCH_SKIP_DIRS_lib"] : "" + split(PLIST_MULTIARCH_SKIP_DIRS_bin, skipbindirs, " ") + split(PLIST_MULTIARCH_SKIP_DIRS_lib, skiplibdirs, " ") +} + +function replace_arch_dirs(type, dirs, skipdirs, suffixvar) +{ + matched = 0 + for (dir in dirs) { + dirmatch = "^" dirs[dir] "/" + if ($0 ~ dirmatch) { + skip = 0 + for (skipdir in skipdirs) { + skipdirmatch = "^" skipdirs[skipdir] "/" + if ($0 ~ skipdirmatch) { + skip = 1 + } + } + if (skip) { + continue + } + for (abi in abis) { + line = $0 + matched += gsub(dirmatch, dirs[dir] ENVIRON[suffixvar "_" abis[abi]] "/", line) + print_entry(line) + } + } + } + # XXX: Limit to SunOS only + if (type == "bin" && matched) { + print_entry("@link lib/abiexec " $0) + } + return matched +} + +PLIST_MULTIARCH_ENABLED && PLIST_USE_MULTIARCH ~ /bin/ { + if (replace_arch_dirs("bin", bindirs, skipbindirs, "BINARCHSUFFIX") > 0) { + next + } +} + +PLIST_MULTIARCH_ENABLED && PLIST_USE_MULTIARCH ~ /lib/ { + if (replace_arch_dirs("lib", libdirs, skiplibdirs, "LIBARCHSUFFIX") > 0) { + next + } +} + +# Support manual PLIST entries. +PLIST_MULTIARCH_ENABLED && (/[$][{](BIN|INC|LIB)ARCHSUFFIX[}]/) { + isalink = 0 + for (abi in abis) { + binval = ENVIRON["BINARCHSUFFIX_" abis[abi]] + incval = ENVIRON["INCARCHSUFFIX_" abis[abi]] + libval = ENVIRON["LIBARCHSUFFIX_" abis[abi]] + line = $0 + isalink += gsub(/[$][{]BINARCHSUFFIX[}]/, binval, line) + gsub(/[$][{]INCARCHSUFFIX[}]/, incval, line) + gsub(/[$][{]LIBARCHSUFFIX[}]/, libval, line) + print_entry(line) + } + # XXX: Limit to SunOS only + if (isalink) { + bin = $0 + gsub(/[$][{]BINARCHSUFFIX[}]/, "", bin) + print_entry("@link lib/abiexec " bin) + } + if (/[$][{]INCARCHSUFFIX[}]/) { + gsub(/[$][{]INCARCHSUFFIX[}]/, "") + print_entry($0) + } + next +} + +/[$][{](BIN|INC|LIB)ARCHSUFFIX[}]/ { + gsub(/[$][{](BIN|INC|LIB)ARCHSUFFIX[}]/, "") +} diff --git a/mk/plist/plist.mk b/mk/plist/plist.mk index e26d8cda3fd51..4259ae9e1f3d1 100644 --- a/mk/plist/plist.mk +++ b/mk/plist/plist.mk @@ -143,6 +143,21 @@ _PLIST_AWK_ENV+= PREFIX=${DESTDIR:Q}${PREFIX:Q} _PLIST_AWK_ENV+= TEST=${TOOLS_TEST:Q} _PLIST_AWK_ENV+= ${PLIST_AWK_ENV} +.if defined(_MULTIARCH) +_PLIST_AWK_ENV+= _MULTIARCH=${_MULTIARCH:Q} +_PLIST_AWK_ENV+= MULTIARCH_ABIS=${MULTIARCH_ABIS:Q} +_PLIST_AWK_ENV+= USE_MULTIARCH=${USE_MULTIARCH:Q} +. for _abi_ in ${MULTIARCH_ABIS} +_PLIST_AWK_ENV+= BINARCHSUFFIX_${_abi_}=${BINARCHSUFFIX.${_abi_}} +_PLIST_AWK_ENV+= INCARCHSUFFIX_${_abi_}=${INCARCHSUFFIX.${_abi_}} +_PLIST_AWK_ENV+= LIBARCHSUFFIX_${_abi_}=${LIBARCHSUFFIX.${_abi_}} +. endfor +_PLIST_AWK_ENV+= MULTIARCH_DIRS_bin=${MULTIARCH_DIRS.bin:Q} +_PLIST_AWK_ENV+= MULTIARCH_DIRS_lib=${MULTIARCH_DIRS.lib:Q} +_PLIST_AWK_ENV+= MULTIARCH_SKIP_DIRS_bin=${MULTIARCH_SKIP_DIRS.bin:Q} +_PLIST_AWK_ENV+= MULTIARCH_SKIP_DIRS_lib=${MULTIARCH_SKIP_DIRS.lib:Q} +.endif + # PLIST_SUBST contains package-settable "${variable}" to "value" # substitutions for PLISTs # @@ -184,6 +199,7 @@ _PLIST_AWK_ENV+= PLIST_SUBST_VARS=${PLIST_SUBST:S/^/PLIST_/:C/=.*//:M*:Q} _PLIST_1_AWK+= -f ${PKGSRCDIR}/mk/plist/plist-functions.awk _PLIST_1_AWK+= -f ${PKGSRCDIR}/mk/plist/plist-subst.awk +_PLIST_1_AWK+= -f ${PKGSRCDIR}/mk/plist/plist-multiarch.awk _PLIST_1_AWK+= -f ${PKGSRCDIR}/mk/plist/plist-macros.awk _PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-functions.awk diff --git a/mk/subst.mk b/mk/subst.mk index ba55964e44de1..ef3fc280d8c41 100644 --- a/mk/subst.mk +++ b/mk/subst.mk @@ -76,7 +76,11 @@ _SUBST_IS_TEXT_FILE?= \ _SUBST_BACKUP_SUFFIX= .subst.sav .for _class_ in ${SUBST_CLASSES} +. if defined(_MULTIARCH) +_SUBST_COOKIE.${_class_}= ${WRKDIR}/.subst_${_class_}-${ABI}_done +. else _SUBST_COOKIE.${_class_}= ${WRKDIR}/.subst_${_class_}_done +. endif SUBST_FILTER_CMD.${_class_}?= ${SED} ${SUBST_SED.${_class_}} SUBST_VARS.${_class_}?= # none diff --git a/mk/tools/bsd.tools.mk b/mk/tools/bsd.tools.mk index 8463ef26aec16..b9b032236ad0c 100644 --- a/mk/tools/bsd.tools.mk +++ b/mk/tools/bsd.tools.mk @@ -40,7 +40,7 @@ # first when searching for executables. # TOOLS_DIR= ${WRKDIR}/.tools -PREPEND_PATH+= ${TOOLS_DIR}/bin +PREPEND_PATH+= ${TOOLS_DIR}/bin${BINARCHSUFFIX} TOOLS_SHELL?= ${SH} _TOOLS_WRAP_LOG= ${WRKLOG} @@ -90,8 +90,13 @@ ${_COOKIE.tools}: real-tools ### targets that do the actual tool creation. ### _REAL_TOOLS_TARGETS+= tools-message +.if defined(_MULTIARCH) +_REAL_TOOLS_TARGETS+= tools-vars-multi +_REAL_TOOLS_TARGETS+= override-tools-multi +.else _REAL_TOOLS_TARGETS+= tools-vars _REAL_TOOLS_TARGETS+= override-tools +.endif _REAL_TOOLS_TARGETS+= post-tools _REAL_TOOLS_TARGETS+= tools-cookie _REAL_TOOLS_TARGETS+= error-check @@ -126,6 +131,16 @@ tools-cookie: override-tools: @${DO_NADA} +.if defined(_MULTIARCH) +. for _tgt_ in tools-vars override-tools +.PHONY: ${_tgt_}-multi +${_tgt_}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${_tgt_} +. endfor +. endfor +.endif + ###################################################################### ### post-tools (PUBLIC, override) ###################################################################### diff --git a/mk/tools/create.mk b/mk/tools/create.mk index 64b013fa5c430..e7e2f3d036239 100644 --- a/mk/tools/create.mk +++ b/mk/tools/create.mk @@ -133,7 +133,7 @@ MKDIR?= mkdir -p # command-line arguments passed to the wrapper script. # .for _t_ in ${TOOLS_CREATE} -TOOLS_CMD.${_t_}?= ${TOOLS_DIR}/bin/${_t_} +TOOLS_CMD.${_t_}?= ${TOOLS_DIR}/bin${BINARCHSUFFIX}/${_t_} TOOLS_PATH.${_t_}?= ${FALSE} TOOLS_SCRIPT_DFLT.${_t_}= \ ${TOOLS_PATH.${_t_}} ${TOOLS_ARGS.${_t_}} "$$@" diff --git a/mk/tools/pkg-config.mk b/mk/tools/pkg-config.mk index 887e5021c8571..2518dcc2c2ead 100644 --- a/mk/tools/pkg-config.mk +++ b/mk/tools/pkg-config.mk @@ -32,6 +32,7 @@ # Override the location where pkg-config searches for *.pc files in the # pkg-config wrapper script. # +_PKG_CONFIG_LIBDIR?= ${BUILDLINK_DIR}/lib${LIBARCHSUFFIX}/pkgconfig:${BUILDLINK_DIR}/share/pkgconfig .if !empty(LIBABISUFFIX) _PKG_CONFIG_LIBDIR?= ${BUILDLINK_DIR}/lib${LIBABISUFFIX}/pkgconfig:${BUILDLINK_DIR}/lib/pkgconfig:${BUILDLINK_DIR}/share/pkgconfig .endif diff --git a/mk/tools/replace.mk b/mk/tools/replace.mk index bb326b6f0e56c..30937d04b9fd3 100644 --- a/mk/tools/replace.mk +++ b/mk/tools/replace.mk @@ -252,7 +252,7 @@ TOOLS_CREATE+= bison-yacc TOOLS_PATH.bison-yacc= ${LOCALBASE}/bin/bison TOOLS_ARGS.bison-yacc= -y . endif -TOOLS_CMD.bison-yacc= ${TOOLS_DIR}/bin/yacc +TOOLS_CMD.bison-yacc= ${TOOLS_DIR}/bin${BINARCHSUFFIX}/yacc # # bison/yacc is typically a build tool whose path is not embedded in # any scripts or config files. In this case, pass the full command @@ -279,7 +279,7 @@ MAKEFLAGS+= TOOLS_IGNORE.byacc= TOOLS_DEPENDS.byacc?= byacc>=20040328:../../devel/byacc TOOLS_CREATE+= byacc TOOLS_PATH.byacc= ${LOCALBASE}/bin/yacc -TOOLS_CMD.byacc= ${TOOLS_DIR}/bin/yacc +TOOLS_CMD.byacc= ${TOOLS_DIR}/bin${BINARCHSUFFIX}/yacc . endif .endif @@ -700,7 +700,7 @@ TOOLS_DEPENDS.sh?= pdksh>=5.2.14:../../shells/pdksh TOOLS_CREATE+= sh TOOLS_PATH.sh= ${LOCALBASE}/bin/pdksh . endif -TOOLS_CMD.sh= ${TOOLS_DIR}/bin/sh +TOOLS_CMD.sh= ${TOOLS_DIR}/bin${BINARCHSUFFIX}/sh .endif .if !defined(TOOLS_IGNORE.shlock) && !empty(_USE_TOOLS:Mshlock) diff --git a/mk/tools/rpcgen.mk b/mk/tools/rpcgen.mk index 425551c22fbdc..707aa7d182191 100644 --- a/mk/tools/rpcgen.mk +++ b/mk/tools/rpcgen.mk @@ -43,7 +43,7 @@ TOOLS_PATH.rpcgen?= ${_d_}/rpcgen . endfor TOOLS_PATH.rpcgen?= ${FALSE} .endif -TOOLS_CMD.rpcgen= ${TOOLS_DIR}/bin/rpcgen +TOOLS_CMD.rpcgen= ${TOOLS_DIR}/bin${BINARCHSUFFIX}/rpcgen .if ${OPSYS} == "NetBSD" TOOLS_ARGS.rpcgen?= -b .elif ${OPSYS} == "Linux" diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk index c51c40729a37c..fa72a1bbb44ed 100644 --- a/mk/wrapper/bsd.wrapper.mk +++ b/mk/wrapper/bsd.wrapper.mk @@ -730,7 +730,11 @@ ${_COOKIE.wrapper}: real-wrapper .endif .PHONY: real-wrapper +.if defined(_MULTIARCH) +real-wrapper: wrapper-message wrapper-vars-multi pre-wrapper do-wrapper-multi post-wrapper wrapper-cookie error-check +.else real-wrapper: wrapper-message wrapper-vars pre-wrapper do-wrapper post-wrapper wrapper-cookie error-check +.endif .PHONY: wrapper-message wrapper-message: @@ -745,6 +749,16 @@ do-wrapper: @${DO_NADA} .endif +.if defined(_MULTIARCH) +. for _tgt_ in wrapper-vars do-wrapper +.PHONY: ${_tgt_}-multi +${_tgt_}-multi: +. for _abi_ in ${MULTIARCH_ABIS} + @${MAKE} ${MAKE_FLAGS} ABI=${_abi_} WRKSRC=${WRKSRC}-${_abi_} ${_tgt_} +. endfor +. endfor +.endif + .if !target(pre-wrapper) pre-wrapper: @${DO_NADA} diff --git a/mk/wrapper/wrapper-defs.mk b/mk/wrapper/wrapper-defs.mk index 002ca3ebe7111..d429906980e47 100644 --- a/mk/wrapper/wrapper-defs.mk +++ b/mk/wrapper/wrapper-defs.mk @@ -32,11 +32,11 @@ WRAPPER_DEFS_MK= defined .if ${_USE_CWRAPPERS} == "yes" WRAPPER_DIR= ${WRKDIR}/.cwrapper -WRAPPER_BINDIR= ${WRAPPER_DIR}/bin +WRAPPER_BINDIR= ${WRAPPER_DIR}/bin${BINARCHSUFFIX} .else WRAPPER_DIR= ${WRKDIR}/.wrapper -WRAPPER_BINDIR= ${WRAPPER_DIR}/bin -WRAPPER_TMPDIR= ${WRAPPER_DIR}/tmp +WRAPPER_BINDIR= ${WRAPPER_DIR}/bin${BINARCHSUFFIX} +WRAPPER_TMPDIR= ${WRAPPER_DIR}/tmp${BINARCHSUFFIX} WRAPPER_SRCDIR= ${.CURDIR}/../../mk/wrapper WRAPPER_BIN_SH?= ${SH} WRAPPER_SHELL?= ${WRAPPER_BIN_SH} diff --git a/pkgtools/Makefile b/pkgtools/Makefile index 64033e4058db9..dcf3dec59b92b 100644 --- a/pkgtools/Makefile +++ b/pkgtools/Makefile @@ -4,6 +4,7 @@ COMMENT= Tools for use in the packages collection SUBDIR+= R2pkg +SUBDIR+= abiexec SUBDIR+= autoswc SUBDIR+= binpatch SUBDIR+= bootstrap-extras diff --git a/pkgtools/abiexec/DESCR b/pkgtools/abiexec/DESCR new file mode 100644 index 0000000000000..817622f4fd874 --- /dev/null +++ b/pkgtools/abiexec/DESCR @@ -0,0 +1,4 @@ +This package provides the same functionality as /usr/lib/isaexec, but as +we cannot guarantee that packages are on the root file system, we need a +separate copy to ensure that hard links work correctly. We also rename +it to abiexec to avoid confusion. diff --git a/pkgtools/abiexec/Makefile b/pkgtools/abiexec/Makefile new file mode 100644 index 0000000000000..71ae89e88f667 --- /dev/null +++ b/pkgtools/abiexec/Makefile @@ -0,0 +1,38 @@ +# $NetBSD$ + +DISTNAME= abiexec-1.1 +CATEGORIES= pkgtools +MASTER_SITES= # empty +DISTFILES= # empty + +MAINTAINER= jperkin@joyent.com +HOMEPAGE= http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/isaexec/ +COMMENT= isaexec(3C) wrapper for Solaris systems +LICENSE= cddl-1.0 + +PKG_DESTDIR_SUPPORT= user-destdir + +CHECK_PERMS= no + +ONLY_FOR_PLATFORM= SunOS-*-* + +INSTALLATION_DIRS= lib + +.include "../../mk/compiler.mk" + +.if !empty(PKGSRC_COMPILER:Msunpro) +CFLAGS+= -xstrconst +.endif + +do-extract: + @${CP} -R ${FILESDIR} ${WRKSRC} + +do-build: + @(cd ${WRKSRC}; \ + ${ECHO} "${CC} ${CFLAGS} abiexec.c -o abiexec"; \ + ${CC} ${CFLAGS} abiexec.c -o abiexec) + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/abiexec ${DESTDIR}/${PREFIX}/lib/abiexec + +.include "../../mk/bsd.pkg.mk" diff --git a/pkgtools/abiexec/PLIST b/pkgtools/abiexec/PLIST new file mode 100644 index 0000000000000..22ab83517939d --- /dev/null +++ b/pkgtools/abiexec/PLIST @@ -0,0 +1,2 @@ +@comment $NetBSD$ +lib/abiexec diff --git a/pkgtools/abiexec/files/abiexec.c b/pkgtools/abiexec/files/abiexec.c new file mode 100644 index 0000000000000..138f17f6b8bc7 --- /dev/null +++ b/pkgtools/abiexec/files/abiexec.c @@ -0,0 +1,111 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +#include +#include +#include +#include +#include +#include +#include + +/*ARGSUSED*/ +int +main(int argc, char **argv, char **envp) +{ + const char *abi; + const char *default_abi = "32"; + const char *execname; + const char *fname; + const char *isadir; + char *pathname; + char *str; + size_t len; + +#if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */ +#define TEXT_DOMAIN "SYS_TEST" /* Use this only if it wasn't */ +#endif + (void) setlocale(LC_ALL, ""); + (void) textdomain(TEXT_DOMAIN); + + /* + * Get the exec name. + */ + if ((execname = getexecname()) == NULL) { + (void) fprintf(stderr, + gettext("%s: getexecname() failed\n"), + argv[0]); + return (1); + } + + /* + * Allocate storage for execname + longest possible ABI subdir + */ + len = strlen(execname) + strlen("amd64/"); + if ((pathname = malloc(len)) == NULL) + goto out; + + /* + * Get the dir and base name of the executable. + */ + (void) strcpy(pathname, execname); + if ((str = strrchr(pathname, '/')) != NULL) { + *++str = '\0'; + fname = execname + (str - pathname); + } else { + fname = execname; + *pathname = '\0'; + } + len = strlen(pathname); + + /* + * Search ABI dirs. If ABI isn't set in the environment, default to + * 32-bit to avoid relying on the isaexec(3C) default which is currently + * 'amd64'. This ensures a consistent default across abiexec and GCC. + */ + if ((abi = getenv("ABI")) == NULL) + abi = default_abi; + + if ((strcmp(abi, "32") == 0 || strcmp(abi, "i86") == 0)) { + isadir = "i86/"; + } else if ((strcmp(abi, "64") == 0 ||strcmp(abi, "amd64") == 0)) { + isadir = "amd64/"; + } + + if (isadir) { + (void) strcpy(pathname + len, isadir); + (void) strcat(pathname + len, fname); + if (access(pathname, X_OK) == 0) + (void) execve(pathname, argv, envp); + free(pathname); + } +out: + (void) fprintf(stderr, + gettext("%s: abiexec(\"%s\") failed\n"), + argv[0], fname); + return (1); +} diff --git a/pkgtools/pkg_install/files/add/perform.c b/pkgtools/pkg_install/files/add/perform.c index c0111998c23fd..095c5412f2733 100644 --- a/pkgtools/pkg_install/files/add/perform.c +++ b/pkgtools/pkg_install/files/add/perform.c @@ -689,7 +689,7 @@ extract_files(struct pkg_task *pkg) int r; plist_t *p; const char *last_file; - char *fullpath; + char *fullpath, *linksrc, *linkdst, *linkpath, *freelink; if (Fake) return 0; @@ -722,6 +722,25 @@ extract_files(struct pkg_task *pkg) for (p = pkg->plist.head; p != NULL; p = p->next) { switch (p->type) { + case PLIST_LINK: + freelink = linkdst = xstrdup(p->name); + linksrc = strsep(&linkdst, " \t"); + if (linksrc == NULL || linkdst == NULL) { + warnx("@link entry '%s' not properly formed", p->name); + continue; + } + linkpath = xasprintf("%s/%s", pkg->prefix, linksrc); + fullpath = xasprintf("%s/%s", pkg->prefix, linkdst); + (void)unlink(fullpath); + (void)link(linkpath, fullpath); + free(linkpath); + pkgdb_store(fullpath, pkg->pkgname); + free(fullpath); + if (Verbose) + printf("%s\n", linkdst); + free(freelink); + continue; + case PLIST_FILE: last_file = p->name; if (pkg->entry == NULL) { @@ -1078,19 +1097,32 @@ check_implicit_conflict(struct pkg_task *pkg) if (p->type == PLIST_IGNORE) { p = p->next; continue; - } else if (p->type != PLIST_FILE) - continue; - - fullpath = xasprintf("%s/%s", pkg->prefix, p->name); - existing = pkgdb_retrieve(fullpath); - free(fullpath); - if (existing == NULL) - continue; - if (pkg->other_version != NULL && - strcmp(pkg->other_version, existing) == 0) + } else if (p->type == PLIST_LINK) { + char *freelink, *linkdst; + freelink = linkdst = xstrdup(p->name); + (void)strsep(&linkdst, " \t"); + fullpath = xasprintf("%s/%s", pkg->prefix, linkdst); + free(freelink); + existing = pkgdb_retrieve(fullpath); + free(fullpath); + if (existing == NULL) + continue; + if (pkg->other_version != NULL && + strcmp(pkg->other_version, existing) == 0) + continue; + warnx("Conflicting PLIST with %s: %s", existing, linkdst); + } else if (p->type == PLIST_FILE) { + fullpath = xasprintf("%s/%s", pkg->prefix, p->name); + existing = pkgdb_retrieve(fullpath); + free(fullpath); + if (existing == NULL) + continue; + if (pkg->other_version != NULL && + strcmp(pkg->other_version, existing) == 0) + continue; + warnx("Conflicting PLIST with %s: %s", existing, p->name); + } else continue; - - warnx("Conflicting PLIST with %s: %s", existing, p->name); if (!Force) { status = -1; if (!Verbose) diff --git a/pkgtools/pkg_install/files/admin/check.c b/pkgtools/pkg_install/files/admin/check.c index dd0012b207bc2..625eefd554ae8 100644 --- a/pkgtools/pkg_install/files/admin/check.c +++ b/pkgtools/pkg_install/files/admin/check.c @@ -104,12 +104,21 @@ check1pkg(const char *pkgdir, int *filecnt, int *pkgcnt) for (p = Plist.head; p; p = p->next) { switch (p->type) { case PLIST_FILE: + case PLIST_LINK: if (dirp == NULL) { warnx("dirp not initialized, please send-pr!"); abort(); } - (void) snprintf(file, sizeof(file), "%s/%s", dirp, p->name); + if (p->type == PLIST_LINK) { + char *freelink, *linkdst; + freelink = linkdst = xstrdup(p->name); + (void) strsep(&linkdst, " \t"); + (void) snprintf(file, sizeof(file), "%s/%s", dirp, linkdst); + free(freelink); + } else { + (void) snprintf(file, sizeof(file), "%s/%s", dirp, p->name); + } if (isfile(file) || islinktodir(file)) { if (p->next && p->next->type == PLIST_COMMENT) { diff --git a/pkgtools/pkg_install/files/admin/main.c b/pkgtools/pkg_install/files/admin/main.c index e018d8994d527..273da73d3f980 100644 --- a/pkgtools/pkg_install/files/admin/main.c +++ b/pkgtools/pkg_install/files/admin/main.c @@ -164,10 +164,19 @@ add_pkg(const char *pkgdir, void *vp) for (p = Plist.head; p; p = p->next) { switch(p->type) { case PLIST_FILE: + case PLIST_LINK: if (dirp == NULL) { errx(EXIT_FAILURE, "@cwd not yet found, please send-pr!"); } - (void) snprintf(file, sizeof(file), "%s/%s", dirp, p->name); + if (p->type == PLIST_LINK) { + char *linkdst, *freelink; + freelink = linkdst = xstrdup(p->name); + (void) strsep(&linkdst, " \t"); + (void) snprintf(file, sizeof(file), "%s/%s", dirp, linkdst); + free(freelink); + } else { + (void) snprintf(file, sizeof(file), "%s/%s", dirp, p->name); + } if (!(isfile(file) || islinktodir(file))) { if (isbrokenlink(file)) { warnx("%s: Symlink `%s' exists and is in %s but target does not exist!", diff --git a/pkgtools/pkg_install/files/info/show.c b/pkgtools/pkg_install/files/info/show.c index daf3bdba6a08d..b1fc1b17eb397 100644 --- a/pkgtools/pkg_install/files/info/show.c +++ b/pkgtools/pkg_install/files/info/show.c @@ -95,6 +95,7 @@ static const show_t showv[] = { {PLIST_PKGCFL, "@pkgcfl ", "\tPackage conflicts with: "}, {PLIST_BLDDEP, "@blddep ", "\tPackage depends exactly on: "}, {PLIST_PKGDIR, "@pkgdir ", "\tManaged directory: "}, + {PLIST_LINK, "@link ", "\tLINK "}, {-1, NULL, NULL} }; @@ -162,10 +163,21 @@ show_plist(const char *title, package_t *plist, pl_ent_t type) for (ign = FALSE, p = plist->head; p; p = p->next) { if (p->type == type || type == PLIST_SHOW_ALL) { switch (p->type) { + case PLIST_LINK: case PLIST_FILE: - printf("%s%s", - Quiet ? showv[p->type].sh_quiet : - showv[p->type].sh_verbose, p->name); + if (p->type == PLIST_LINK) { + char *freelink, *linkdst; + freelink = linkdst = xstrdup(p->name); + (void) strsep(&linkdst, " \t"); + printf("%s%s", + Quiet ? showv[p->type].sh_quiet : + showv[p->type].sh_verbose, linkdst); + free(freelink); + } else { + printf("%s%s", + Quiet ? showv[p->type].sh_quiet : + showv[p->type].sh_verbose, p->name); + } if (ign) { if (!Quiet) { printf(" (ignored)"); @@ -227,10 +239,22 @@ show_files(const char *title, package_t *plist) } for (ign = FALSE, p = plist->head; p; p = p->next) { switch (p->type) { + case PLIST_LINK: case PLIST_FILE: if (!ign) { - printf("%s%s%s\n", dir, - (strcmp(dir, "/") == 0) ? "" : "/", p->name); + if (p->type == PLIST_LINK) { + char *freelink, *linkdst; + freelink = linkdst = xstrdup(p->name); + (void) strsep(&linkdst, " \t"); + printf("%s%s%s\n", dir, + (strcmp(dir, "/") == 0) + ? "" : "/", linkdst); + free(freelink); + } else { + printf("%s%s%s\n", dir, + (strcmp(dir, "/") == 0) + ? "" : "/", p->name); + } } ign = FALSE; break; diff --git a/pkgtools/pkg_install/files/lib/lib.h b/pkgtools/pkg_install/files/lib/lib.h index 17fe9231c5954..5df8591743a51 100644 --- a/pkgtools/pkg_install/files/lib/lib.h +++ b/pkgtools/pkg_install/files/lib/lib.h @@ -167,7 +167,8 @@ typedef enum pl_ent_t { PLIST_OPTION, /* 14 */ PLIST_PKGCFL, /* 15 */ PLIST_BLDDEP, /* 16 */ - PLIST_PKGDIR /* 17 */ + PLIST_PKGDIR, /* 17 */ + PLIST_LINK /* 18 */ } pl_ent_t; /* Enumerated constants for build info */ diff --git a/pkgtools/pkg_install/files/lib/plist.c b/pkgtools/pkg_install/files/lib/plist.c index 1ae5dcaff566e..49dc508984089 100644 --- a/pkgtools/pkg_install/files/lib/plist.c +++ b/pkgtools/pkg_install/files/lib/plist.c @@ -100,6 +100,7 @@ static const cmd_t cmdv[] = { {"dirrm", PLIST_DIR_RM, 1, 0}, {"option", PLIST_OPTION, 1, 0}, {"blddep", PLIST_BLDDEP, 1, 0}, + {"link", PLIST_LINK, 1, 0}, {NULL, FAIL, 0, 0} }; @@ -588,11 +589,22 @@ delete_package(Boolean ign_err, package_t *pkg, Boolean NoDeleteFiles, } break; + case PLIST_LINK: case PLIST_FILE: - last_file = p->name; - (void) snprintf(tmp, sizeof(tmp), "%s%s%s/%s", - destdir ? destdir : "", destdir ? "/" : "", - prefix, p->name); + if (p->type == PLIST_LINK) { + char *freelink, *linkdst; + freelink = linkdst = xstrdup(p->name); + (void)strsep(&linkdst, " \t"); + (void) snprintf(tmp, sizeof(tmp), "%s%s%s/%s", + destdir ? destdir : "", destdir ? "/" : "", + prefix, linkdst); + free(freelink); + } else { + last_file = p->name; + (void) snprintf(tmp, sizeof(tmp), "%s%s%s/%s", + destdir ? destdir : "", destdir ? "/" : "", + prefix, p->name); + } if (isdir(tmp)) { warnx("attempting to delete directory `%s' as a file\n" "this packing list is incorrect - ignoring delete request", tmp); From 8b3322128a69400f86bea1c60107a4fd5d905a99 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:09:52 +0100 Subject: [PATCH 039/141] Convert "archivers" category to multiarch. --- archivers/bzip2/Makefile | 41 +++++++++++++++++----------------- archivers/bzip2/files/Makefile | 2 +- archivers/libarchive/Makefile | 1 + archivers/liblzo/Makefile | 1 + archivers/lzmalib/Makefile | 1 + archivers/lzo/Makefile | 1 + archivers/xz/Makefile | 1 + archivers/zziplib/Makefile | 1 + 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/archivers/bzip2/Makefile b/archivers/bzip2/Makefile index 132a04106f9a0..7a1badce7dc15 100644 --- a/archivers/bzip2/Makefile +++ b/archivers/bzip2/Makefile @@ -16,6 +16,7 @@ REPLACE_SH= bzdiff bzgrep bzmore MAKE_JOBS_SAFE= no USE_LIBTOOL= yes +USE_MULTIARCH= bin lib .include "../../mk/compiler.mk" @@ -24,36 +25,36 @@ CFLAGS+= ${CPPFLAGS} CFLAGS+= -Wall -Winline -fomit-frame-pointer .endif -INSTALLATION_DIRS= bin include lib ${PKGMANDIR}/man1 +INSTALLATION_DIRS= bin${BINARCHSUFFIX} include lib${LIBARCHSUFFIX} ${PKGMANDIR}/man1 do-extract: ${CP} -r ${FILESDIR} ${WRKSRC} do-install: - ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libbz2.la ${DESTDIR}${PREFIX}/lib - ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/bzip2 ${DESTDIR}${PREFIX}/bin - ${LN} -f ${DESTDIR}${PREFIX}/bin/bzip2 ${DESTDIR}${PREFIX}/bin/bunzip2 - ${LN} -f ${DESTDIR}${PREFIX}/bin/bzip2 ${DESTDIR}${PREFIX}/bin/bzcat - ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/bzip2recover ${DESTDIR}${PREFIX}/bin + ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libbz2.la ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} + ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/bzip2 ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} + ${LN} -f ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzip2 ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bunzip2 + ${LN} -f ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzip2 ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzcat + ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/bzip2recover ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} ${INSTALL_MAN} ${WRKSRC}/bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 cd ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 && rm -f bunzip2.1 bzcat.1 bzip2recover.1 - ${LN} -s bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bunzip2.1 - ${LN} -s bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzcat.1 - ${LN} -s bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzip2recover.1 + ${LN} -f -s bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bunzip2.1 + ${LN} -f -s bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzcat.1 + ${LN} -f -s bzip2.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzip2recover.1 ${INSTALL_DATA} ${WRKSRC}/bzlib.h ${DESTDIR}${PREFIX}/include - ${INSTALL_SCRIPT} ${WRKSRC}/bzmore ${DESTDIR}${PREFIX}/bin/bzmore - ${LN} -s bzmore ${DESTDIR}${PREFIX}/bin/bzless + ${INSTALL_SCRIPT} ${WRKSRC}/bzmore ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzmore + ${LN} -f -s bzmore ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzless ${INSTALL_MAN} ${WRKSRC}/bzmore.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 - ${LN} -s bzmore.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzless.1 - ${INSTALL_SCRIPT} ${WRKSRC}/bzdiff ${DESTDIR}${PREFIX}/bin/bzdiff - ${LN} -s bzdiff ${DESTDIR}${PREFIX}/bin/bzcmp + ${LN} -f -s bzmore.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzless.1 + ${INSTALL_SCRIPT} ${WRKSRC}/bzdiff ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzdiff + ${LN} -f -s bzdiff ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzcmp ${INSTALL_MAN} ${WRKSRC}/bzdiff.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 - ${LN} -s bzdiff.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzcmp.1 - ${INSTALL_SCRIPT} ${WRKSRC}/bzgrep ${DESTDIR}${PREFIX}/bin/bzgrep - ${LN} -s bzgrep ${DESTDIR}${PREFIX}/bin/bzegrep - ${LN} -s bzgrep ${DESTDIR}${PREFIX}/bin/bzfgrep + ${LN} -f -s bzdiff.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzcmp.1 + ${INSTALL_SCRIPT} ${WRKSRC}/bzgrep ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzgrep + ${LN} -f -s bzgrep ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzegrep + ${LN} -f -s bzgrep ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/bzfgrep ${INSTALL_MAN} ${WRKSRC}/bzgrep.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 - ${LN} -s bzgrep.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzegrep.1 - ${LN} -s bzgrep.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzfgrep.1 + ${LN} -f -s bzgrep.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzegrep.1 + ${LN} -f -s bzgrep.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/bzfgrep.1 .include "../../mk/bsd.pkg.mk" diff --git a/archivers/bzip2/files/Makefile b/archivers/bzip2/files/Makefile index b6a037f5f74d0..8d020a5c29164 100644 --- a/archivers/bzip2/files/Makefile +++ b/archivers/bzip2/files/Makefile @@ -14,7 +14,7 @@ all: libbz2.la bzip2 bzip2recover libbz2.la: ${LOBJS} ${LIBTOOL} --tag=CC --mode=link ${CC} ${LDFLAGS} ${CFLAGS} -o ${.TARGET} \ - ${LOBJS} -version-info 0:0 -rpath ${PREFIX}/lib -no-undefined + ${LOBJS} -version-info 0:0 -rpath ${PREFIX}/lib${LIBARCHSUFFIX} -no-undefined libbz2.a: ${OBJS} ${AR} cq ${.TARGET} ${OBJS} diff --git a/archivers/libarchive/Makefile b/archivers/libarchive/Makefile index d918ff7d07be4..8f18da582411f 100644 --- a/archivers/libarchive/Makefile +++ b/archivers/libarchive/Makefile @@ -5,6 +5,7 @@ COMMENT= Library to read/create different archive formats USE_LIBTOOL= yes +USE_MULTIARCH= lib CONFIGURE_ARGS+= --disable-bsdcat CONFIGURE_ARGS+= --disable-bsdcpio CONFIGURE_ARGS+= --disable-bsdtar diff --git a/archivers/liblzo/Makefile b/archivers/liblzo/Makefile index 2558510c25aca..10a92dacdde90 100644 --- a/archivers/liblzo/Makefile +++ b/archivers/liblzo/Makefile @@ -12,6 +12,7 @@ COMMENT= Portable lossless data compression library (v1) GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib # Don't spuriously detect zlib, as it's not needed for the library. BUILDLINK_TRANSFORM+= rm:-lz diff --git a/archivers/lzmalib/Makefile b/archivers/lzmalib/Makefile index 01290bca9229c..ff9622c3f740a 100644 --- a/archivers/lzmalib/Makefile +++ b/archivers/lzmalib/Makefile @@ -15,6 +15,7 @@ CONFLICTS= xz-[0-9]* GNU_CONFIGURE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib USE_TOOLS+= gmake # Link with c++ instead (see also patch-aa) diff --git a/archivers/lzo/Makefile b/archivers/lzo/Makefile index 888b5dd352f7c..2ba82ab15c323 100644 --- a/archivers/lzo/Makefile +++ b/archivers/lzo/Makefile @@ -10,6 +10,7 @@ COMMENT= Portable lossless data compression library LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes TEST_TARGET= test PKGCONFIG_OVERRIDE= lzo2.pc.in diff --git a/archivers/xz/Makefile b/archivers/xz/Makefile index 29adbb688f4da..1e1a6449b7fa5 100644 --- a/archivers/xz/Makefile +++ b/archivers/xz/Makefile @@ -11,6 +11,7 @@ COMMENT= General-purpose data compression software LICENSE= public-domain AND gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= src/liblzma/liblzma.pc.in diff --git a/archivers/zziplib/Makefile b/archivers/zziplib/Makefile index a52c1bc921c69..f41445860c25a 100644 --- a/archivers/zziplib/Makefile +++ b/archivers/zziplib/Makefile @@ -11,6 +11,7 @@ COMMENT= Library for ZIP archive handling LICENSE= gnu-lgpl-v2 OR mpl-1.1 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib} CONFIGURE_ARGS+= --disable-builddir From a1df24a92ab394ffd631bde911223d5a9731a386 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:10:29 +0100 Subject: [PATCH 040/141] Convert "audio" category to multiarch. --- audio/SDL_mixer/Makefile | 1 + audio/SDL_sound/Makefile | 1 + audio/faad2/Makefile | 1 + audio/flac/Makefile | 1 + audio/id3lib/Makefile | 1 + audio/lame/Makefile | 1 + audio/liba52/Makefile | 1 + audio/libao/Makefile.common | 1 + audio/libaudiofile/Makefile | 1 + audio/libcanberra/Makefile | 1 + audio/libcddb/Makefile | 1 + audio/libid3tag/Makefile | 7 +++++-- audio/libid3tag/files/id3tag.pc.in | 2 +- audio/libmad/Makefile | 6 ++++-- audio/libmad/files/mad.pc.in | 2 +- audio/libmpcdec/Makefile | 1 + audio/libsamplerate/Makefile | 1 + audio/libsndfile/Makefile | 1 + audio/libvorbis/Makefile | 1 + audio/opencore-amr/Makefile | 2 ++ audio/pulseaudio/Makefile | 1 + audio/pulseaudio/buildlink3.mk | 4 ++-- audio/speex/Makefile | 1 + audio/taglib/Makefile | 3 +++ audio/taglib/distinfo | 1 + audio/taglib/patches/patch-CMakeLists.txt | 18 ++++++++++++++++++ 26 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 audio/taglib/patches/patch-CMakeLists.txt diff --git a/audio/SDL_mixer/Makefile b/audio/SDL_mixer/Makefile index 13370cfe10eac..2fdb7e78985ad 100644 --- a/audio/SDL_mixer/Makefile +++ b/audio/SDL_mixer/Makefile @@ -13,6 +13,7 @@ LICENSE= zlib CONFLICTS= SDL-mixer-[0-9]* USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= SDL_mixer.pc.in diff --git a/audio/SDL_sound/Makefile b/audio/SDL_sound/Makefile index e1981af2f7590..99ce8c12de403 100644 --- a/audio/SDL_sound/Makefile +++ b/audio/SDL_sound/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib .include "../../audio/flac/buildlink3.mk" .include "../../audio/libmikmod/buildlink3.mk" diff --git a/audio/faad2/Makefile b/audio/faad2/Makefile index e8dc79f406f97..cce854c99b817 100644 --- a/audio/faad2/Makefile +++ b/audio/faad2/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-gpl-v2 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= autoconf automake autoreconf gmake GNU_CONFIGURE= yes CONFIGURE_ARGS+= --includedir=${PREFIX}/include/faad2 diff --git a/audio/flac/Makefile b/audio/flac/Makefile index eb52e7fa3f1b2..74c52bb582cfd 100644 --- a/audio/flac/Makefile +++ b/audio/flac/Makefile @@ -15,6 +15,7 @@ LICENSE= modified-bsd AND gnu-gpl-v2 AND gnu-lgpl-v2.1 WRKSRC= ${WRKDIR}/${PKGNAME_NOREV} USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake USE_LANGUAGES= c c++ GNU_CONFIGURE= yes diff --git a/audio/id3lib/Makefile b/audio/id3lib/Makefile index 2f5f994c3c81e..08d11390a1364 100644 --- a/audio/id3lib/Makefile +++ b/audio/id3lib/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-gpl-v2 USE_LANGUAGES= c c++ GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib CPPFLAGS+=-DID3_NEED_WCHAR_TEMPLATE diff --git a/audio/lame/Makefile b/audio/lame/Makefile index 531272ba8a194..5cb013a133dd0 100644 --- a/audio/lame/Makefile +++ b/audio/lame/Makefile @@ -14,6 +14,7 @@ GNU_CONFIGURE= yes USE_TOOLS+= gmake USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib LDFLAGS.SunOS+= -lm diff --git a/audio/liba52/Makefile b/audio/liba52/Makefile index 0eb02fee0900b..cb83c6ba82f3a 100644 --- a/audio/liba52/Makefile +++ b/audio/liba52/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-gpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib CONFIGURE_ARGS+= --disable-oss CONFIGURE_ARGS+= --disable-mlib diff --git a/audio/libao/Makefile.common b/audio/libao/Makefile.common index f2966f716e900..3a4cbec8967a4 100644 --- a/audio/libao/Makefile.common +++ b/audio/libao/Makefile.common @@ -24,6 +24,7 @@ PATCHDIR= ${.CURDIR}/../../audio/libao/patches GNU_CONFIGURE= yes USE_TOOLS+= gmake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib MAKE_FLAGS+= MANDIR=${PREFIX}/${PKGMANDIR} MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR} diff --git a/audio/libaudiofile/Makefile b/audio/libaudiofile/Makefile index 8be0b5f480e2f..2bce58e8c2390 100644 --- a/audio/libaudiofile/Makefile +++ b/audio/libaudiofile/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 USE_LANGUAGES= c99 c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= audiofile.pc.in TEST_TARGET= check diff --git a/audio/libcanberra/Makefile b/audio/libcanberra/Makefile index 17c2c287ef325..93401a37a2358 100644 --- a/audio/libcanberra/Makefile +++ b/audio/libcanberra/Makefile @@ -11,6 +11,7 @@ COMMENT= Desktop event sound library LICENSE= gnu-lgpl-v2.1 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_ENV+= ac_cv_lib_ltdl_lt_dladvise_init=yes diff --git a/audio/libcddb/Makefile b/audio/libcddb/Makefile index f366c29999148..d08700f2e86c4 100644 --- a/audio/libcddb/Makefile +++ b/audio/libcddb/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v2 USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= libcddb.pc.in GNU_CONFIGURE= yes CONFIGURE_ARGS+= --without-cdio diff --git a/audio/libid3tag/Makefile b/audio/libid3tag/Makefile index 2f6597d2695b3..b719529b891c4 100644 --- a/audio/libid3tag/Makefile +++ b/audio/libid3tag/Makefile @@ -15,17 +15,20 @@ CONFLICTS= mad<0.15 GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_TOOLS+= pkg-config -INSTALLATION_DIRS= lib/pkgconfig +INSTALLATION_DIRS= lib${LIBARCHSUFFIX}/pkgconfig post-build: ${SED} -e 's,@PREFIX@,${PREFIX},g' \ -e 's,@VERSION@,${PKGVERSION},g' \ + -e 's,@LIBARCHSUFFIX@,${LIBARCHSUFFIX},g' \ < ${FILESDIR}/id3tag.pc.in > ${WRKDIR}/id3tag.pc post-install: - ${INSTALL_DATA} ${WRKDIR:Q}/id3tag.pc ${DESTDIR:Q}${PREFIX:Q}/lib/pkgconfig + ${INSTALL_DATA} ${WRKDIR:Q}/id3tag.pc \ + ${DESTDIR:Q}${PREFIX:Q}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../devel/zlib/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/audio/libid3tag/files/id3tag.pc.in b/audio/libid3tag/files/id3tag.pc.in index c494d0849ab80..1fac269f8bea3 100644 --- a/audio/libid3tag/files/id3tag.pc.in +++ b/audio/libid3tag/files/id3tag.pc.in @@ -1,6 +1,6 @@ prefix=@PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/lib@LIBARCHSUFFIX@ includedir=${prefix}/include Name: id3tag diff --git a/audio/libmad/Makefile b/audio/libmad/Makefile index 458e30fbb05b0..27192ebe4fbeb 100644 --- a/audio/libmad/Makefile +++ b/audio/libmad/Makefile @@ -15,16 +15,18 @@ CONFLICTS= mad<0.15 GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_TOOLS+= pkg-config -INSTALLATION_DIRS= lib/pkgconfig +INSTALLATION_DIRS= lib${LIBARCHSUFFIX}/pkgconfig post-build: ${SED} -e 's,@PREFIX@,${PREFIX},g' \ -e 's,@VERSION@,${PKGVERSION},g' \ + -e 's,@LIBARCHSUFFIX@,${LIBARCHSUFFIX},g' \ < ${FILESDIR}/mad.pc.in > ${WRKDIR}/mad.pc post-install: - ${INSTALL_DATA} ${WRKDIR}/mad.pc ${DESTDIR}${PREFIX}/lib/pkgconfig + ${INSTALL_DATA} ${WRKDIR}/mad.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../mk/bsd.pkg.mk" diff --git a/audio/libmad/files/mad.pc.in b/audio/libmad/files/mad.pc.in index c0ba62e10b2fe..680635388eeec 100644 --- a/audio/libmad/files/mad.pc.in +++ b/audio/libmad/files/mad.pc.in @@ -1,6 +1,6 @@ prefix=@PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/lib@LIBARCHSUFFIX@ includedir=${prefix}/include Name: mad diff --git a/audio/libmpcdec/Makefile b/audio/libmpcdec/Makefile index 30fb25d145067..7b75d77a39169 100644 --- a/audio/libmpcdec/Makefile +++ b/audio/libmpcdec/Makefile @@ -13,6 +13,7 @@ LICENSE= modified-bsd GNU_CONFIGURE= yes USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib INSTALLATION_DIRS+= include/mpcdec diff --git a/audio/libsamplerate/Makefile b/audio/libsamplerate/Makefile index 6f1b0c6069f52..f5bb471cd63c9 100644 --- a/audio/libsamplerate/Makefile +++ b/audio/libsamplerate/Makefile @@ -10,6 +10,7 @@ COMMENT= Sample rate converter library LICENSE= 2-clause-bsd USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= ${WRKSRC}/samplerate.pc.in diff --git a/audio/libsndfile/Makefile b/audio/libsndfile/Makefile index 975e90e2f0e51..5003d0a33fa7c 100644 --- a/audio/libsndfile/Makefile +++ b/audio/libsndfile/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE= sndfile.pc.in GNU_CONFIGURE= yes diff --git a/audio/libvorbis/Makefile b/audio/libvorbis/Makefile index 71a8c98bce354..f46fc577173c3 100644 --- a/audio/libvorbis/Makefile +++ b/audio/libvorbis/Makefile @@ -12,6 +12,7 @@ COMMENT= Library for the Ogg Vorbis audio encoding format LICENSE= modified-bsd USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes TEST_TARGET= check diff --git a/audio/opencore-amr/Makefile b/audio/opencore-amr/Makefile index 5d8a8fe6af36d..46866851518c8 100644 --- a/audio/opencore-amr/Makefile +++ b/audio/opencore-amr/Makefile @@ -7,10 +7,12 @@ MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=opencore-amr/} MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://opencore-amr.sourceforge.net/ COMMENT= Adaptive Multi-Rate speech codec libraries + LICENSE= apache-2.0 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/audio/pulseaudio/Makefile b/audio/pulseaudio/Makefile index b7173df1256b3..31fcda6b8e952 100644 --- a/audio/pulseaudio/Makefile +++ b/audio/pulseaudio/Makefile @@ -17,6 +17,7 @@ GCC_REQD+= 4.8 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= aclocal autoheader autoconf automake gmake gm4 intltool msgfmt pkg-config GNU_CONFIGURE= yes diff --git a/audio/pulseaudio/buildlink3.mk b/audio/pulseaudio/buildlink3.mk index ef5712eb68439..0fe99017fb9f0 100644 --- a/audio/pulseaudio/buildlink3.mk +++ b/audio/pulseaudio/buildlink3.mk @@ -15,8 +15,8 @@ BUILDLINK_PKGSRCDIR.pulseaudio?= ../../audio/pulseaudio .include "../../devel/libatomic_ops/buildlink3.mk" .endif -BUILDLINK_LIBDIRS.pulseaudio+= lib/pulseaudio -BUILDLINK_RPATHDIRS.pulseaudio+= lib/pulseaudio +BUILDLINK_LIBDIRS.pulseaudio+= lib${LIBARCHSUFFIX}/pulseaudio +BUILDLINK_RPATHDIRS.pulseaudio+= lib${LIBARCHSUFFIX}/pulseaudio _WRAP_EXTRA_ARGS.LIBTOOL+= -L${PREFIX}/lib/pulseaudio diff --git a/audio/speex/Makefile b/audio/speex/Makefile index 741158ac0650b..e98d83a7452eb 100644 --- a/audio/speex/Makefile +++ b/audio/speex/Makefile @@ -10,6 +10,7 @@ COMMENT= Open-source, patent-free voice codec LICENSE= modified-bsd USE_LIBTOOL= YES +USE_MULTIARCH= lib GNU_CONFIGURE= YES PKGCONFIG_OVERRIDE= speex.pc.in USE_TOOLS+= pkg-config diff --git a/audio/taglib/Makefile b/audio/taglib/Makefile index 196caf51046c1..f7e8f51c1e1e4 100644 --- a/audio/taglib/Makefile +++ b/audio/taglib/Makefile @@ -15,7 +15,10 @@ GCC_REQD+= 4.7 USE_CMAKE= YES CMAKE_ARGS= -DWITH_MP4=ON -DWITH_ASF=ON CMAKE_ARGS+= -DBUILD_SHARED_LIBS=ON +CMAKE_ARGS+= -DBIN_SUFFIX=${BINARCHSUFFIX} +CMAKE_ARGS+= -DLIB_SUFFIX=${LIBARCHSUFFIX} USE_LIBTOOL= YES +USE_MULTIARCH= bin lib PKGCONFIG_OVERRIDE= bindings/c/taglib_c.pc.cmake taglib.pc.cmake REPLACE_SH= taglib-config.cmake diff --git a/audio/taglib/distinfo b/audio/taglib/distinfo index fb7b57deb2a5f..f8fa6e0888ea4 100644 --- a/audio/taglib/distinfo +++ b/audio/taglib/distinfo @@ -4,3 +4,4 @@ SHA1 (taglib-1.11.1.tar.gz) = 80a30eeae67392f636c9f113c60d778c2995c99e RMD160 (taglib-1.11.1.tar.gz) = 408d2a888875bc29fc64c4d0056daebba2c55192 SHA512 (taglib-1.11.1.tar.gz) = 7846775c4954ea948fe4383e514ba7c11f55d038ee06b6ea5a0a1c1069044b348026e76b27aa4ba1c71539aa8143e1401fab39184cc6e915ba0ae2c06133cb98 Size (taglib-1.11.1.tar.gz) = 1261620 bytes +SHA1 (patch-CMakeLists.txt) = 142b609852191fbb70d5051d0a753aeddab6ad8f diff --git a/audio/taglib/patches/patch-CMakeLists.txt b/audio/taglib/patches/patch-CMakeLists.txt new file mode 100644 index 0000000000000..62dce0fd9739e --- /dev/null +++ b/audio/taglib/patches/patch-CMakeLists.txt @@ -0,0 +1,18 @@ +$NetBSD$ + +Support multiarch. + +--- CMakeLists.txt.orig 2016-04-29 08:26:33.000000000 +0000 ++++ CMakeLists.txt +@@ -41,9 +41,10 @@ add_definitions(-DHAVE_CONFIG_H) + set(TESTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/") + + ## the following are directories where stuff will be installed to ++set(BIN_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") + set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") + set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries") +-set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)") ++set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin${BIN_SUFFIX}" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)") + set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})") + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix") + From b97b2573d5065afa2c2cd9dca2b9de1b73c4a751 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:10:54 +0100 Subject: [PATCH 041/141] Convert "chat" category to multiarch. --- chat/gloox/Makefile | 1 + chat/irssi/Makefile.common | 3 +++ chat/libpurple/Makefile.common | 1 + chat/telepathy-glib/Makefile | 1 + 4 files changed, 6 insertions(+) diff --git a/chat/gloox/Makefile b/chat/gloox/Makefile index 6ad2780121cf3..65ddeca180f0b 100644 --- a/chat/gloox/Makefile +++ b/chat/gloox/Makefile @@ -16,6 +16,7 @@ GNU_CONFIGURE= yes USE_LANGUAGES+= c++ c USE_TOOLS+= autoconf automake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= bin lib LIBS.SunOS+= -lnsl diff --git a/chat/irssi/Makefile.common b/chat/irssi/Makefile.common index db8db87c9962c..2c31eb3d9f8f0 100644 --- a/chat/irssi/Makefile.common +++ b/chat/irssi/Makefile.common @@ -14,3 +14,6 @@ SITES.${IRSSI_DISTFILE}= https://github.com/irssi/irssi/releases/download/${IRSS # plugins to compile properly. IRSSI_CONFIG= ${PREFIX}/share/irssi/irssi-config IRSSI_CONFIG_H= ${PREFIX}/include/irssi/irssi-config.h + +USE_MULTIARCH= lib +MULTIARCH_SKIP_DIRS.lib= lib/perl5 diff --git a/chat/libpurple/Makefile.common b/chat/libpurple/Makefile.common index d4725f045c9d0..b4dfd9f911128 100644 --- a/chat/libpurple/Makefile.common +++ b/chat/libpurple/Makefile.common @@ -17,6 +17,7 @@ HOMEPAGE= http://www.pidgin.im/ LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= pkg-config gmake GNU_CONFIGURE= yes diff --git a/chat/telepathy-glib/Makefile b/chat/telepathy-glib/Makefile index ec2b80e34d45f..c178151fde505 100644 --- a/chat/telepathy-glib/Makefile +++ b/chat/telepathy-glib/Makefile @@ -14,6 +14,7 @@ BUILD_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-vala-bindings +USE_MULTIARCH= lib USE_LIBTOOL= yes USE_TOOLS+= gmake pkg-config From 1a9ab66c764109e48587dbd22b75cb8cf704dc31 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:11:19 +0100 Subject: [PATCH 042/141] Convert "converters" category to multiarch. --- converters/fribidi/Makefile | 3 ++- converters/libiconv/Makefile | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/converters/fribidi/Makefile b/converters/fribidi/Makefile index 38f0d87d17f35..6e82f6d711a6f 100644 --- a/converters/fribidi/Makefile +++ b/converters/fribidi/Makefile @@ -16,6 +16,7 @@ REPLACE.bash.new= ${SH} REPLACE_FILES.bash= run.tests USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config gmake @@ -29,6 +30,6 @@ TEST_TARGET= check post-install: cd ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3 && \ - rm fribidi_set_debug.3 fribidi_unicode_version.3 fribidi_version_info.3 + rm -f fribidi_set_debug.3 fribidi_unicode_version.3 fribidi_version_info.3 .include "../../mk/bsd.pkg.mk" diff --git a/converters/libiconv/Makefile b/converters/libiconv/Makefile index db0d13db16788..c075e4b79b5d3 100644 --- a/converters/libiconv/Makefile +++ b/converters/libiconv/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-gpl-v3 AND gnu-lgpl-v2 USE_LANGUAGES+= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pax GNU_CONFIGURE= yes From 7c6185db478fdd79782e9f18f24851830c1f6bb1 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:11:34 +0100 Subject: [PATCH 043/141] Convert "databases" category to multiarch. --- databases/couchdb/Makefile | 1 + databases/db4/Makefile | 1 + databases/freetds/Makefile | 1 + databases/gdbm/Makefile.common | 1 + databases/mysql51-client/Makefile.common | 3 +- databases/mysql51-server/Makefile | 10 +++--- databases/mysql51-server/buildlink3.mk | 2 +- databases/mysql55-client/Makefile.common | 16 +++++++-- databases/mysql56-client/Makefile.common | 16 +++++++-- databases/openldap/Makefile.common | 1 + databases/p5-DBD-postgresql/Makefile | 4 ++- databases/p5-DB_File/Makefile | 1 + databases/poco-data-sqlite/Makefile | 6 ++-- databases/poco-data/Makefile | 6 ++-- .../postgresql91-client/files/ecpg_config.h | 10 ++++++ .../postgresql91-client/files/pg_config.h | 10 ++++++ .../postgresql92-client/files/ecpg_config.h | 10 ++++++ .../postgresql92-client/files/pg_config.h | 10 ++++++ databases/postgresql93-client/Makefile | 25 ++++++++++--- databases/postgresql93-client/PLIST | 6 ++-- .../postgresql93-client/files/ecpg_config.h | 10 ++++++ .../postgresql93-client/files/pg_config.h | 10 ++++++ databases/postgresql93/Makefile.common | 1 + databases/postgresql94-client/Makefile | 25 ++++++++++--- databases/postgresql94-client/PLIST | 6 ++-- databases/postgresql94/Makefile.common | 1 + databases/postgresql95-client/Makefile | 25 ++++++++++--- databases/postgresql95-client/PLIST | 6 ++-- databases/postgresql95/Makefile.common | 2 ++ databases/py-sqlite3/Makefile | 4 ++- databases/rrdtool/Makefile | 1 + databases/sqlite/Makefile | 1 + databases/sqlite/distinfo | 2 +- databases/sqlite/patches/patch-Makefile.in | 36 +++++++++++++++++++ databases/sqlite3/Makefile | 1 + databases/tokyocabinet/Makefile | 1 + databases/tokyotyrant/Makefile | 1 + databases/unixodbc/Makefile | 3 +- 38 files changed, 229 insertions(+), 47 deletions(-) create mode 100644 databases/postgresql91-client/files/ecpg_config.h create mode 100644 databases/postgresql91-client/files/pg_config.h create mode 100644 databases/postgresql92-client/files/ecpg_config.h create mode 100644 databases/postgresql92-client/files/pg_config.h create mode 100644 databases/postgresql93-client/files/ecpg_config.h create mode 100644 databases/postgresql93-client/files/pg_config.h diff --git a/databases/couchdb/Makefile b/databases/couchdb/Makefile index 0f2758245297b..9299c3c4db535 100644 --- a/databases/couchdb/Makefile +++ b/databases/couchdb/Makefile @@ -14,6 +14,7 @@ LICENSE= apache-2.0 HAS_CONFIGURE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= bin USE_TOOLS+= gmake pax pkg-config USE_LIBTOOL= yes BUILD_DEFS+= VARBASE diff --git a/databases/db4/Makefile b/databases/db4/Makefile index 9bfa98be26a22..5a469ff141543 100644 --- a/databases/db4/Makefile +++ b/databases/db4/Makefile @@ -22,6 +22,7 @@ LICENSE= sleepycat-public USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pax GNU_CONFIGURE= yes CONFIGURE_DIRS= build_unix diff --git a/databases/freetds/Makefile b/databases/freetds/Makefile index 7caddb0c1eb07..a51fbe0f5ecb2 100644 --- a/databases/freetds/Makefile +++ b/databases/freetds/Makefile @@ -11,6 +11,7 @@ COMMENT= Implementation of TDS protocol used by Sybase and MS-SQL servers LICENSE= gnu-lgpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} CONFIGURE_ARGS+= --datadir=${PREFIX}/share diff --git a/databases/gdbm/Makefile.common b/databases/gdbm/Makefile.common index d1db9f879420d..4bd30735493cd 100644 --- a/databases/gdbm/Makefile.common +++ b/databases/gdbm/Makefile.common @@ -16,4 +16,5 @@ DISTINFO_FILE= ${.CURDIR}/../../databases/gdbm/distinfo PATCHDIR= ${.CURDIR}/../../databases/gdbm/patches USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes diff --git a/databases/mysql51-client/Makefile.common b/databases/mysql51-client/Makefile.common index 7bf50c0e7b01a..8e97a0586629e 100644 --- a/databases/mysql51-client/Makefile.common +++ b/databases/mysql51-client/Makefile.common @@ -12,6 +12,7 @@ HOMEPAGE= https://www.mysql.com/ LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes .include "../../mk/bsd.prefs.mk" @@ -104,7 +105,7 @@ CONFIGURE_ENV+= ac_cv_func_pthread_attr_setschedparam=no USE_LANGUAGES= c c++03 USE_TOOLS+= autoconf bash autoheader gmake perl:run -LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql +LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib${LIBARCHSUFFIX}/mysql # reset the platform diff on SunOS unless it's a GNU diff # which is required by the MySQL build diff --git a/databases/mysql51-server/Makefile b/databases/mysql51-server/Makefile index 2f415e1028c19..947e4b9702102 100644 --- a/databases/mysql51-server/Makefile +++ b/databases/mysql51-server/Makefile @@ -74,7 +74,7 @@ REPLACE_PERL+= mysql-test/lib/My/SafeProcess/safe_process.pl \ mysql-test/mtr \ scripts/mysqld_multi.sh -INSTALLATION_DIRS+= bin +INSTALLATION_DIRS+= bin${BINARCHSUFFIX} .include "../../mk/bsd.prefs.mk" @@ -103,16 +103,16 @@ post-build: post-install: ${INSTALL_SCRIPT} ${WRKSRC}/scripts/mysqld_safe \ - ${DESTDIR}${PREFIX}/bin + ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} ${INSTALL_SCRIPT} ${WRKSRC}/scripts/mysql_install_db \ - ${DESTDIR}${PREFIX}/bin + ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} ${INSTALL_SCRIPT} ${WRKSRC}/support-files/mysql.server \ - ${DESTDIR}${PREFIX}/bin + ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} ${INSTALL_MAN} ${WRKSRC}/man/mysqld_multi.1 \ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 # ${INSTALL_MAN} ${WRKSRC}/man/mysqld_safe.1 \ # ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 ${INSTALL_SCRIPT} ${WRKSRC}/scripts/mysql_secure_installation.sh \ - ${DESTDIR}${PREFIX}/bin/mysql_secure_installation + ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/mysql_secure_installation .include "../../mk/bsd.pkg.mk" diff --git a/databases/mysql51-server/buildlink3.mk b/databases/mysql51-server/buildlink3.mk index 1fab2ceb7029b..2a2ca6499f44f 100644 --- a/databases/mysql51-server/buildlink3.mk +++ b/databases/mysql51-server/buildlink3.mk @@ -8,7 +8,7 @@ MYSQL_SERVER_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.mysql-server+= mysql-server>=5.1.44<5.5 BUILDLINK_ABI_DEPENDS.mysql-server?= mysql-server>=5.1.72nb6 BUILDLINK_PKGSRCDIR.mysql-server?= ../../databases/mysql51-server -BUILDLINK_LIBDIRS.mysql-server?= lib/mysql +BUILDLINK_LIBDIRS.mysql-server?= lib${LIBARCHSUFFIX}/mysql .include "../../databases/mysql51-client/buildlink3.mk" .endif # MYSQL_SERVER_BUILDLINK3_MK diff --git a/databases/mysql55-client/Makefile.common b/databases/mysql55-client/Makefile.common index be15036b44124..9b7135c1856f2 100644 --- a/databases/mysql55-client/Makefile.common +++ b/databases/mysql55-client/Makefile.common @@ -16,6 +16,7 @@ PATCHDIR?= ${.CURDIR}/../../databases/mysql55-client/patches USE_CMAKE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= bin lib USE_TOOLS+= bash gmake perl:run .include "../../mk/bsd.prefs.mk" @@ -46,16 +47,18 @@ CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H BUILD_DEFS+= VARBASE # paths +CMAKE_ARGS+= -DINSTALL_BINDIR="bin${BINARCHSUFFIX}" CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql" CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql" CMAKE_ARGS+= -DINSTALL_INFODIR="info" +CMAKE_ARGS+= -DINSTALL_LIBDIR="lib${LIBARCHSUFFIX}" CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}" CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql" CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test" -CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin" -CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin" -CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin" +CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib${LIBARCHSUFFIX}/mysql/plugin" +CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin${BINARCHSUFFIX}" +CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin${BINARCHSUFFIX}" CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench" CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql" CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR} @@ -69,6 +72,13 @@ CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION:Q} CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET:Q} BROKEN_READLINE_DETECTION= yes # At least on RHEL 5.6 +# Ensure dtrace builds the correct ABI +.if !empty(ABI:M32) +CMAKE_ARGS+= -DDTRACE_FLAGS="-32" +.elif !empty(ABI:M64) +CMAKE_ARGS+= -DDTRACE_FLAGS="-64" +.endif + # MySQL 5 depends on builtin functions enabled with i486 and later with GCC. .if ${OPSYS} == "NetBSD" && !empty(MACHINE_ARCH:Mi386) GNU_ARCH.i386= i486 diff --git a/databases/mysql56-client/Makefile.common b/databases/mysql56-client/Makefile.common index 27eb78fe94128..2520909ed22ca 100644 --- a/databases/mysql56-client/Makefile.common +++ b/databases/mysql56-client/Makefile.common @@ -16,6 +16,7 @@ PATCHDIR?= ${.CURDIR}/../../databases/mysql56-client/patches USE_CMAKE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= bin lib USE_TOOLS+= bash gmake perl:run .include "../../mk/bsd.prefs.mk" @@ -46,16 +47,18 @@ CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H BUILD_DEFS+= VARBASE # paths +CMAKE_ARGS+= -DINSTALL_BINDIR="bin${BINARCHSUFFIX}" CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql" CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql" CMAKE_ARGS+= -DINSTALL_INFODIR="info" +CMAKE_ARGS+= -DINSTALL_LIBDIR="lib${LIBARCHSUFFIX}" CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}" CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql" CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test" -CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin" -CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin" -CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin" +CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib${LIBARCHSUFFIX}/mysql/plugin" +CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin${BINARCHSUFFIX}" +CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin${BINARCHSUFFIX}" CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench" CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql" CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR} @@ -65,6 +68,13 @@ CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET:Q} CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION:Q} CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET:Q} +# Ensure dtrace builds the correct ABI +.if !empty(ABI:M32) +CMAKE_ARGS+= -DDTRACE_FLAGS="-32" +.elif !empty(ABI:M64) +CMAKE_ARGS+= -DDTRACE_FLAGS="-64" +.endif + # MySQL 5 depends on builtin functions enabled with i486 and later with GCC. .if ${OPSYS} == "NetBSD" && !empty(MACHINE_ARCH:Mi386) GNU_ARCH.i386= i486 diff --git a/databases/openldap/Makefile.common b/databases/openldap/Makefile.common index 8d5f61ae67cbf..53bb999d4047a 100644 --- a/databases/openldap/Makefile.common +++ b/databases/openldap/Makefile.common @@ -30,6 +30,7 @@ DISTINFO_FILE= ${.CURDIR}/../../databases/openldap/distinfo PATCHDIR= ${.CURDIR}/../../databases/openldap/patches USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= soelim GNU_CONFIGURE= yes diff --git a/databases/p5-DBD-postgresql/Makefile b/databases/p5-DBD-postgresql/Makefile index bd7a559a39eb2..cc87379e57266 100644 --- a/databases/p5-DBD-postgresql/Makefile +++ b/databases/p5-DBD-postgresql/Makefile @@ -14,10 +14,12 @@ LICENSE= ${PERL5_LICENSE} #DEPENDS+= {p5-version-[0-9]*,perl>=5.10.0}:../../devel/p5-version DEPENDS+= p5-DBI>=1.614:../../databases/p5-DBI +USE_MULTIARCH= lib + PERL5_PACKLIST= auto/DBD/Pg/.packlist POSTGRES_INCLUDE= ${PGSQL_PREFIX}/include/postgresql -POSTGRES_LIB= ${PGSQL_PREFIX}/lib +POSTGRES_LIB= ${PGSQL_PREFIX}/lib${LIBARCHSUFFIX} MAKE_ENV+= POSTGRES_INCLUDE=${POSTGRES_INCLUDE:Q} MAKE_ENV+= POSTGRES_LIB=${POSTGRES_LIB:Q} REPLACE_PERL+= testme.tmp.pl diff --git a/databases/p5-DB_File/Makefile b/databases/p5-DB_File/Makefile index 2f975cd37f6b2..e6c17f13b775b 100644 --- a/databases/p5-DB_File/Makefile +++ b/databases/p5-DB_File/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://search.cpan.org/dist/DB_File/ COMMENT= Perl5 module to use Berkeley DB version 1 API LICENSE= ${PERL5_LICENSE} +USE_MULTIARCH= lib PERL5_PACKLIST= auto/DB_File/.packlist .include "../../mk/bsd.prefs.mk" diff --git a/databases/poco-data-sqlite/Makefile b/databases/poco-data-sqlite/Makefile index d752a4f930896..d06745cfdb6e7 100644 --- a/databases/poco-data-sqlite/Makefile +++ b/databases/poco-data-sqlite/Makefile @@ -18,14 +18,14 @@ CONFIGURE_ARGS+= --no-samples USE_TOOLS+= pax BUILD_DIRS= Data/SQLite -INSTALLATION_DIRS= include/Poco/Data/SQLite lib +INSTALLATION_DIRS= include/Poco/Data/SQLite lib${LIBARCHSUFFIX} do-install: # using the same logic as Poco's Makefile install target. cd ${WRKSRC} && find lib -name 'libPoco*' -type f -exec cp -f {} \ - ${DESTDIR}${PREFIX}/lib \; + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} \; cd ${WRKSRC} && find lib -name 'libPoco*' -type l -exec cp -Rf {} \ - ${DESTDIR}${PREFIX}/lib \; + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} \; cd ${WRKSRC}/Data/SQLite && \ ${PAX} -rw -v -pp include ${DESTDIR}${PREFIX} diff --git a/databases/poco-data/Makefile b/databases/poco-data/Makefile index 5960777922543..691049eb3e4c8 100644 --- a/databases/poco-data/Makefile +++ b/databases/poco-data/Makefile @@ -19,14 +19,14 @@ CONFIGURE_ARGS+= --no-samples USE_TOOLS+= pax BUILD_DIRS= Data -INSTALLATION_DIRS= include/Poco/Data lib +INSTALLATION_DIRS= include/Poco/Data lib${LIBARCHSUFFIX} do-install: # using the same logic as Poco's Makefile install target. cd ${WRKSRC} && find lib -name 'libPoco*' -type f -exec cp -f {} \ - ${DESTDIR}${PREFIX}/lib \; + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} \; cd ${WRKSRC} && find lib -name 'libPoco*' -type l -exec cp -Rf {} \ - ${DESTDIR}${PREFIX}/lib \; + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} \; cd ${WRKSRC}/Data && \ ${PAX} -rw -v -pp include ${DESTDIR}${PREFIX} diff --git a/databases/postgresql91-client/files/ecpg_config.h b/databases/postgresql91-client/files/ecpg_config.h new file mode 100644 index 0000000000000..f5ce0bd7b930c --- /dev/null +++ b/databases/postgresql91-client/files/ecpg_config.h @@ -0,0 +1,10 @@ +/* + * PostgreSQL installs ABI-specific headers, this is a small wrapper to pick + * up the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/ecpg_config.h" +#else +#include "i86/ecpg_config.h" +#endif diff --git a/databases/postgresql91-client/files/pg_config.h b/databases/postgresql91-client/files/pg_config.h new file mode 100644 index 0000000000000..25af53a663442 --- /dev/null +++ b/databases/postgresql91-client/files/pg_config.h @@ -0,0 +1,10 @@ +/* + * PostgreSQL installs ABI-specific headers, this is a small wrapper to pick + * up the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pg_config.h" +#else +#include "i86/pg_config.h" +#endif diff --git a/databases/postgresql92-client/files/ecpg_config.h b/databases/postgresql92-client/files/ecpg_config.h new file mode 100644 index 0000000000000..f5ce0bd7b930c --- /dev/null +++ b/databases/postgresql92-client/files/ecpg_config.h @@ -0,0 +1,10 @@ +/* + * PostgreSQL installs ABI-specific headers, this is a small wrapper to pick + * up the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/ecpg_config.h" +#else +#include "i86/ecpg_config.h" +#endif diff --git a/databases/postgresql92-client/files/pg_config.h b/databases/postgresql92-client/files/pg_config.h new file mode 100644 index 0000000000000..25af53a663442 --- /dev/null +++ b/databases/postgresql92-client/files/pg_config.h @@ -0,0 +1,10 @@ +/* + * PostgreSQL installs ABI-specific headers, this is a small wrapper to pick + * up the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pg_config.h" +#else +#include "i86/pg_config.h" +#endif diff --git a/databases/postgresql93-client/Makefile b/databases/postgresql93-client/Makefile index 812a6eed58ef6..e49ca14e2c06c 100644 --- a/databases/postgresql93-client/Makefile +++ b/databases/postgresql93-client/Makefile @@ -68,12 +68,12 @@ SUBST_SED.pgxs+= -e 's,${WRKDIR}/.wrapper/bin/ld,${LD},' SUBST_SED.pgxs+= -e 's,${WRKDIR}/.wrapper,${PREFIX},' SUBST_SED.pgxs+= -e 's,${WRKSRC},/dev/null,' -INSTALLATION_DIRS+= lib/postgresql/pgxs -INSTALLATION_DIRS+= lib/postgresql/pgxs/config -INSTALLATION_DIRS+= lib/postgresql/pgxs/src -INSTALLATION_DIRS+= lib/postgresql/pgxs/src/makefiles +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/config +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/src +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/src/makefiles -DEST_PGXS= ${DESTDIR}${PREFIX}/lib/postgresql/pgxs +DEST_PGXS= ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/postgresql/pgxs PGXS_FILES= config/install-sh PGXS_FILES+= src/makefiles/pgxs.mk src/Makefile.global PGXS_FILES+= src/Makefile.port src/Makefile.shlib @@ -86,9 +86,24 @@ post-wrapper: touch ${BUILDLINK_DIR}/include/crypt.h .endif +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} \ + ${DESTDIR}/${PREFIX}/include/postgresql/server${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/ecpg_config.h \ + ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/pg_config.h \ + ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/postgresql/server/pg_config.h \ + ${DESTDIR}/${PREFIX}/include/postgresql/server${INCARCHSUFFIX} + post-install: .for file in ${PGXS_FILES} ${INSTALL_DATA} ${WRKSRC}/${file} ${DEST_PGXS}/${file} .endfor +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) + ${INSTALL_DATA} ${FILESDIR}/ecpg_config.h ${DESTDIR}/${PREFIX}/include + ${INSTALL_DATA} ${FILESDIR}/pg_config.h ${DESTDIR}/${PREFIX}/include + ${INSTALL_DATA} ${FILESDIR}/pg_config.h ${DESTDIR}/${PREFIX}/include/postgresql/server +.endif .include "../../mk/bsd.pkg.mk" diff --git a/databases/postgresql93-client/PLIST b/databases/postgresql93-client/PLIST index 62381f075dff8..e763df976f295 100644 --- a/databases/postgresql93-client/PLIST +++ b/databases/postgresql93-client/PLIST @@ -21,7 +21,7 @@ bin/pg_restore bin/psql bin/reindexdb bin/vacuumdb -include/ecpg_config.h +include${INCARCHSUFFIX}/ecpg_config.h include/ecpg_informix.h include/ecpgerrno.h include/ecpglib.h @@ -29,7 +29,7 @@ include/ecpgtype.h include/libpq-events.h include/libpq-fe.h include/libpq/libpq-fs.h -include/pg_config.h +include${INCARCHSUFFIX}/pg_config.h include/pg_config_ext.h include/pg_config_manual.h include/pg_config_os.h @@ -335,7 +335,7 @@ include/postgresql/server/parser/parser.h include/postgresql/server/parser/parsetree.h include/postgresql/server/parser/scanner.h include/postgresql/server/parser/scansup.h -include/postgresql/server/pg_config.h +include/postgresql/server${INCARCHSUFFIX}/pg_config.h include/postgresql/server/pg_config_ext.h include/postgresql/server/pg_config_manual.h include/postgresql/server/pg_config_os.h diff --git a/databases/postgresql93-client/files/ecpg_config.h b/databases/postgresql93-client/files/ecpg_config.h new file mode 100644 index 0000000000000..f5ce0bd7b930c --- /dev/null +++ b/databases/postgresql93-client/files/ecpg_config.h @@ -0,0 +1,10 @@ +/* + * PostgreSQL installs ABI-specific headers, this is a small wrapper to pick + * up the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/ecpg_config.h" +#else +#include "i86/ecpg_config.h" +#endif diff --git a/databases/postgresql93-client/files/pg_config.h b/databases/postgresql93-client/files/pg_config.h new file mode 100644 index 0000000000000..25af53a663442 --- /dev/null +++ b/databases/postgresql93-client/files/pg_config.h @@ -0,0 +1,10 @@ +/* + * PostgreSQL installs ABI-specific headers, this is a small wrapper to pick + * up the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pg_config.h" +#else +#include "i86/pg_config.h" +#endif diff --git a/databases/postgresql93/Makefile.common b/databases/postgresql93/Makefile.common index d33091f312416..c73965aee69ab 100644 --- a/databases/postgresql93/Makefile.common +++ b/databases/postgresql93/Makefile.common @@ -39,6 +39,7 @@ DISTINFO_FILE?= ${.CURDIR}/../../databases/postgresql93/distinfo COMMON_FILESDIR?= ${.CURDIR}/../../databases/postgresql93/files PATCHDIR?= ${.CURDIR}/../../databases/postgresql93/patches +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes USE_TOOLS+= bison gmake lex msgfmt PKG_SYSCONFSUBDIR= postgresql diff --git a/databases/postgresql94-client/Makefile b/databases/postgresql94-client/Makefile index 5af90c4cecc62..1624fbafe0796 100644 --- a/databases/postgresql94-client/Makefile +++ b/databases/postgresql94-client/Makefile @@ -66,12 +66,12 @@ SUBST_SED.pgxs+= -e 's,${WRKDIR}/.wrapper/bin/ld,${LD},' SUBST_SED.pgxs+= -e 's,${WRKDIR}/.wrapper,${PREFIX},' SUBST_SED.pgxs+= -e 's,${WRKSRC},/dev/null,' -INSTALLATION_DIRS+= lib/postgresql/pgxs -INSTALLATION_DIRS+= lib/postgresql/pgxs/config -INSTALLATION_DIRS+= lib/postgresql/pgxs/src -INSTALLATION_DIRS+= lib/postgresql/pgxs/src/makefiles +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/config +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/src +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/src/makefiles -DEST_PGXS= ${DESTDIR}${PREFIX}/lib/postgresql/pgxs +DEST_PGXS= ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/postgresql/pgxs PGXS_FILES= config/install-sh PGXS_FILES+= src/makefiles/pgxs.mk src/Makefile.global PGXS_FILES+= src/Makefile.port src/Makefile.shlib @@ -84,9 +84,24 @@ post-wrapper: touch ${BUILDLINK_DIR}/include/crypt.h .endif +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} \ + ${DESTDIR}/${PREFIX}/include/postgresql/server${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/ecpg_config.h \ + ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/pg_config.h \ + ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/postgresql/server/pg_config.h \ + ${DESTDIR}/${PREFIX}/include/postgresql/server${INCARCHSUFFIX} + post-install: .for file in ${PGXS_FILES} ${INSTALL_DATA} ${WRKSRC}/${file} ${DEST_PGXS}/${file} .endfor +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) + ${INSTALL_DATA} ${FILESDIR}/ecpg_config.h ${DESTDIR}/${PREFIX}/include + ${INSTALL_DATA} ${FILESDIR}/pg_config.h ${DESTDIR}/${PREFIX}/include + ${INSTALL_DATA} ${FILESDIR}/pg_config.h ${DESTDIR}/${PREFIX}/include/postgresql/server +.endif .include "../../mk/bsd.pkg.mk" diff --git a/databases/postgresql94-client/PLIST b/databases/postgresql94-client/PLIST index 959ebbdb1cca2..4874715274d3f 100644 --- a/databases/postgresql94-client/PLIST +++ b/databases/postgresql94-client/PLIST @@ -22,7 +22,7 @@ bin/pg_restore bin/psql bin/reindexdb bin/vacuumdb -include/ecpg_config.h +include${INCARCHSUFFIX}/ecpg_config.h include/ecpg_informix.h include/ecpgerrno.h include/ecpglib.h @@ -30,7 +30,7 @@ include/ecpgtype.h include/libpq-events.h include/libpq-fe.h include/libpq/libpq-fs.h -include/pg_config.h +include${INCARCHSUFFIX}/pg_config.h include/pg_config_ext.h include/pg_config_manual.h include/pg_config_os.h @@ -340,7 +340,7 @@ include/postgresql/server/parser/parser.h include/postgresql/server/parser/parsetree.h include/postgresql/server/parser/scanner.h include/postgresql/server/parser/scansup.h -include/postgresql/server/pg_config.h +include/postgresql/server${INCARCHSUFFIX}/pg_config.h include/postgresql/server/pg_config_ext.h include/postgresql/server/pg_config_manual.h include/postgresql/server/pg_config_os.h diff --git a/databases/postgresql94/Makefile.common b/databases/postgresql94/Makefile.common index c9b19ca2194cb..6723c0f97f3bb 100644 --- a/databases/postgresql94/Makefile.common +++ b/databases/postgresql94/Makefile.common @@ -39,6 +39,7 @@ DISTINFO_FILE?= ${.CURDIR}/../../databases/postgresql94/distinfo COMMON_FILESDIR?= ${.CURDIR}/../../databases/postgresql94/files PATCHDIR?= ${.CURDIR}/../../databases/postgresql94/patches +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes USE_TOOLS+= bison gmake lex msgfmt PKG_SYSCONFSUBDIR= postgresql diff --git a/databases/postgresql95-client/Makefile b/databases/postgresql95-client/Makefile index ae7e7e47452ea..68683c2020cc7 100644 --- a/databases/postgresql95-client/Makefile +++ b/databases/postgresql95-client/Makefile @@ -66,12 +66,12 @@ SUBST_SED.pgxs+= -e 's,${WRKDIR}/.wrapper/bin/ld,${LD},' SUBST_SED.pgxs+= -e 's,${WRKDIR}/.wrapper,${PREFIX},' SUBST_SED.pgxs+= -e 's,${WRKSRC},/dev/null,' -INSTALLATION_DIRS+= lib/postgresql/pgxs -INSTALLATION_DIRS+= lib/postgresql/pgxs/config -INSTALLATION_DIRS+= lib/postgresql/pgxs/src -INSTALLATION_DIRS+= lib/postgresql/pgxs/src/makefiles +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/config +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/src +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/postgresql/pgxs/src/makefiles -DEST_PGXS= ${DESTDIR}${PREFIX}/lib/postgresql/pgxs +DEST_PGXS= ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/postgresql/pgxs PGXS_FILES= config/install-sh PGXS_FILES+= src/makefiles/pgxs.mk src/Makefile.global PGXS_FILES+= src/Makefile.port src/Makefile.shlib @@ -84,9 +84,24 @@ post-wrapper: touch ${BUILDLINK_DIR}/include/crypt.h .endif +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} \ + ${DESTDIR}/${PREFIX}/include/postgresql/server${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/ecpg_config.h \ + ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/pg_config.h \ + ${DESTDIR}/${PREFIX}/include/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/postgresql/server/pg_config.h \ + ${DESTDIR}/${PREFIX}/include/postgresql/server${INCARCHSUFFIX} + post-install: .for file in ${PGXS_FILES} ${INSTALL_DATA} ${WRKSRC}/${file} ${DEST_PGXS}/${file} .endfor +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) + ${INSTALL_DATA} ${FILESDIR}/ecpg_config.h ${DESTDIR}/${PREFIX}/include + ${INSTALL_DATA} ${FILESDIR}/pg_config.h ${DESTDIR}/${PREFIX}/include + ${INSTALL_DATA} ${FILESDIR}/pg_config.h ${DESTDIR}/${PREFIX}/include/postgresql/server +.endif .include "../../mk/bsd.pkg.mk" diff --git a/databases/postgresql95-client/PLIST b/databases/postgresql95-client/PLIST index 1ef6c1da8acef..06ca47852c834 100644 --- a/databases/postgresql95-client/PLIST +++ b/databases/postgresql95-client/PLIST @@ -29,7 +29,7 @@ bin/pgbench bin/psql bin/reindexdb bin/vacuumdb -include/ecpg_config.h +include${INCARCHSUFFIX}/ecpg_config.h include/ecpg_informix.h include/ecpgerrno.h include/ecpglib.h @@ -37,7 +37,7 @@ include/ecpgtype.h include/libpq-events.h include/libpq-fe.h include/libpq/libpq-fs.h -include/pg_config.h +include${INCARCHSUFFIX}/pg_config.h include/pg_config_ext.h include/pg_config_manual.h include/pg_config_os.h @@ -377,7 +377,7 @@ include/postgresql/server/parser/parser.h include/postgresql/server/parser/parsetree.h include/postgresql/server/parser/scanner.h include/postgresql/server/parser/scansup.h -include/postgresql/server/pg_config.h +include/postgresql/server${INCARCHSUFFIX}/pg_config.h include/postgresql/server/pg_config_ext.h include/postgresql/server/pg_config_manual.h include/postgresql/server/pg_config_os.h diff --git a/databases/postgresql95/Makefile.common b/databases/postgresql95/Makefile.common index 9e6f3f0774c32..4d0eb4e74b618 100644 --- a/databases/postgresql95/Makefile.common +++ b/databases/postgresql95/Makefile.common @@ -39,6 +39,8 @@ DISTINFO_FILE?= ${.CURDIR}/../../databases/postgresql95/distinfo COMMON_FILESDIR?= ${.CURDIR}/../../databases/postgresql95/files PATCHDIR?= ${.CURDIR}/../../databases/postgresql95/patches +USE_GCC_RUNTIME= yes +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes USE_TOOLS+= bison gmake lex msgfmt PKG_SYSCONFSUBDIR= postgresql diff --git a/databases/py-sqlite3/Makefile b/databases/py-sqlite3/Makefile index 71848c0e36509..e8da6e2106bca 100644 --- a/databases/py-sqlite3/Makefile +++ b/databases/py-sqlite3/Makefile @@ -13,10 +13,12 @@ USE_TOOLS+= patch EXTRACT_ELEMENTS= ${PYSUBDIR}/Modules/_sqlite +MULTIARCH_DIRS.lib= ${PYLIB}/lib-dynload + # part of python itself; using distutils.mk will install a useless egg PYDISTUTILSPKG= yes PY_SETUP_SUBST+= SQLITE_PREFIX=${BUILDLINK_PREFIX.sqlite3} -PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload +PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload${LIBARCHSUFFIX} # ignore errors due to missing files (EXTRACT_ELEMENTS!) do-patch: diff --git a/databases/rrdtool/Makefile b/databases/rrdtool/Makefile index e85866e00c26a..9158e26c1661b 100644 --- a/databases/rrdtool/Makefile +++ b/databases/rrdtool/Makefile @@ -6,6 +6,7 @@ PKGREVISION= 3 DEPENDS+= dejavu-ttf>=2.26:../../fonts/dejavu-ttf USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake pkg-config perl msgfmt intltool groff nroff GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-libdbi diff --git a/databases/sqlite/Makefile b/databases/sqlite/Makefile index 195ae0f9a45b9..0e56698140ca2 100644 --- a/databases/sqlite/Makefile +++ b/databases/sqlite/Makefile @@ -12,6 +12,7 @@ COMMENT= SQL Database Engine in a C Library USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes OBJDIR= ../sqlite-build diff --git a/databases/sqlite/distinfo b/databases/sqlite/distinfo index ace78b5e58ff9..227a30dc96551 100644 --- a/databases/sqlite/distinfo +++ b/databases/sqlite/distinfo @@ -4,6 +4,6 @@ SHA1 (sqlite-2.8.17.tar.gz) = 75db1cf3b00ea18ae8528e676fc9fdf698e2fe58 RMD160 (sqlite-2.8.17.tar.gz) = f13edcb0c2f7246e97ea7443de1758b4442a9483 SHA512 (sqlite-2.8.17.tar.gz) = 966e0b7f7ebbaaa9e1899864475040946fd7b66363be778d29fadd5184623b1e62644f3c8d4c4ecd001b88044befa7c34d9de9f68590329a1a8301d854b73e3f Size (sqlite-2.8.17.tar.gz) = 969805 bytes -SHA1 (patch-Makefile.in) = a7e6d0c15b6bd4c8c0f3a7123e82a145b3848703 +SHA1 (patch-Makefile.in) = 9a548f65d9a724d3d8dd960aa36b196411a47fb9 SHA1 (patch-aa) = 4df2eff8c92b3e2bff86c710ef1a803d54201559 SHA1 (patch-ab) = 00b7de05589fb62d511e26d0d864a8b5545967c8 diff --git a/databases/sqlite/patches/patch-Makefile.in b/databases/sqlite/patches/patch-Makefile.in index d3d241a57127d..04e8050029271 100644 --- a/databases/sqlite/patches/patch-Makefile.in +++ b/databases/sqlite/patches/patch-Makefile.in @@ -14,6 +14,21 @@ $NetBSD: patch-Makefile.in,v 1.2 2017/04/16 20:27:09 khorben Exp $ LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) # Compiler options needed for programs that use the TCL library. +@@ -187,12 +187,12 @@ + | awk '{print $$5,$$6}' >last_change + + libsqlite.la: $(LIBOBJ) +- $(LTLINK) -o libsqlite.la $(LIBOBJ) ${RELEASE} -rpath @exec_prefix@/lib \ ++ $(LTLINK) -o libsqlite.la $(LIBOBJ) ${RELEASE} -rpath @libdir@ \ + -version-info "8:6:8" + + libtclsqlite.la: tclsqlite.lo libsqlite.la + $(LTLINK) -o libtclsqlite.la tclsqlite.lo \ +- libsqlite.la $(LIBTCL) -rpath @exec_prefix@/lib/sqlite \ ++ libsqlite.la $(LIBTCL) -rpath @libdir@/sqlite \ + -version-info "8:6:8" + + sqlite@TARGET_EXEEXT@: $(TOP)/src/shell.c libsqlite.la sqlite.h @@ -268,7 +268,8 @@ parse.c: $(TOP)/src/parse.y lemon@BUILD_ # configure the config.h file. # @@ -24,3 +39,24 @@ $NetBSD: patch-Makefile.in,v 1.2 2017/04/16 20:27:09 khorben Exp $ echo 'int main(){printf(' >>temp.c echo '"#define SQLITE_PTR_SZ %d",sizeof(char*));' >>temp.c echo 'exit(0);}' >>temp.c +@@ -465,14 +465,14 @@ + mv $(DOC) doc + + install: sqlite libsqlite.la sqlite.h +- $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib +- $(LTINSTALL) libsqlite.la $(DESTDIR)$(exec_prefix)/lib +- $(INSTALL) -d $(DESTDIR)$(exec_prefix)/bin +- $(LTINSTALL) sqlite $(DESTDIR)$(exec_prefix)/bin ++ $(INSTALL) -d $(DESTDIR)@libdir@ ++ $(LTINSTALL) libsqlite.la $(DESTDIR)@libdir@ ++ $(INSTALL) -d $(DESTDIR)@bindir@ ++ $(LTINSTALL) sqlite $(DESTDIR)@bindir@ + $(INSTALL) -d $(DESTDIR)$(prefix)/include + $(INSTALL) -m 0644 sqlite.h $(DESTDIR)$(prefix)/include +- $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib/pkgconfig; +- $(INSTALL) -m 0644 sqlite.pc $(DESTDIR)$(exec_prefix)/lib/pkgconfig; ++ $(INSTALL) -d $(DESTDIR)@libdir@/pkgconfig; ++ $(INSTALL) -m 0644 sqlite.pc $(DESTDIR)@libdir@/pkgconfig; + + clean: + rm -f *.lo *.la *.o sqlite@TARGET_EXEEXT@ libsqlite.la sqlite.h opcodes.* diff --git a/databases/sqlite3/Makefile b/databases/sqlite3/Makefile index ca28a90a597e0..f3af163ae81d6 100644 --- a/databases/sqlite3/Makefile +++ b/databases/sqlite3/Makefile @@ -12,6 +12,7 @@ COMMENT= SQL Database Engine in a C Library .include "options.mk" USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-static-shell diff --git a/databases/tokyocabinet/Makefile b/databases/tokyocabinet/Makefile index b0b8fbcd20461..cb489167fe66b 100644 --- a/databases/tokyocabinet/Makefile +++ b/databases/tokyocabinet/Makefile @@ -14,6 +14,7 @@ GNU_CONFIGURE= yes USE_GCC_RUNTIME=yes USE_TOOLS+= gmake pkg-config USE_LANGUAGES= c99 +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= tokyocabinet.pc.in diff --git a/databases/tokyotyrant/Makefile b/databases/tokyotyrant/Makefile index 443c538f935fe..fe15d0a45989e 100644 --- a/databases/tokyotyrant/Makefile +++ b/databases/tokyotyrant/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_GCC_RUNTIME=yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake pkg-config PKGCONFIG_OVERRIDE+= tokyotyrant.pc.in diff --git a/databases/unixodbc/Makefile b/databases/unixodbc/Makefile index 4317df0dbb33d..a5684cd71868d 100644 --- a/databases/unixodbc/Makefile +++ b/databases/unixodbc/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 CONFLICTS+= iodbc<3.52.7nb2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake flex yacc # to get libodbctxt.la GNU_CONFIGURE= yes CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} @@ -41,7 +42,7 @@ LIBS.SunOS+= -lsocket -lnsl MAKE_FLAGS+= LEXLIB="" MAKE_ENV+= AM_MAKEFLAGS=${MAKE_FLAGS:Q} -UNIXODBC_DRIVERS_DIR= lib/unixodbc +UNIXODBC_DRIVERS_DIR= lib${LIBARCHSUFFIX}/unixodbc PLIST_SUBST+= UNIXODBC_DRIVERS_DIR=${UNIXODBC_DRIVERS_DIR} FILES_SUBST+= UNIXODBC_DRIVERS_DIR=${UNIXODBC_DRIVERS_DIR} From 9f9a56c5c4e088130910c784186717a26bf62f57 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:11:51 +0100 Subject: [PATCH 044/141] Convert "devel" category to multiarch. --- devel/GConf/Makefile.common | 1 + devel/SDL/Makefile | 1 + devel/SDL_Pango/Makefile | 1 + devel/SDL_gfx/Makefile | 1 + devel/SDL_ttf/Makefile | 1 + devel/apr-util/Makefile | 1 + devel/apr-util/distinfo | 2 +- devel/apr-util/patches/patch-aa | 3 +-- devel/apr/Makefile | 12 ++++++--- devel/at-spi2-atk/Makefile | 1 + devel/at-spi2-core/Makefile | 1 + devel/atk/Makefile | 1 + devel/atkmm/Makefile | 1 + devel/autogen/Makefile | 1 + devel/boehm-gc/Makefile | 1 + devel/boost-headers/PLIST | 1 + devel/boost-jam/bjam.mk | 1 + devel/boost-libs/Makefile | 2 +- devel/confuse/Makefile | 1 + devel/cppunit/Makefile | 1 + devel/editline/Makefile | 1 + devel/flex/Makefile | 1 + devel/fossil/Makefile | 5 ++-- devel/gettext/Makefile.common | 1 + devel/glib2/Makefile.common | 1 + devel/glib2/PLIST | 4 +-- devel/glibmm/Makefile | 1 + devel/gmp/Makefile | 1 + devel/gmp/inplace.mk | 2 +- devel/gobject-introspection/Makefile | 1 + devel/hdf5/Makefile.common | 3 ++- devel/ldapsdk/Makefile | 17 ++++++------ devel/libatomic_ops/Makefile | 1 + devel/libbonobo/Makefile | 1 + devel/libbonoboui/Makefile | 1 + devel/libcfg+/Makefile | 1 + devel/libdaemon/Makefile | 1 + devel/libebml/Makefile | 1 + devel/libelf/Makefile | 1 + devel/libevent/Makefile | 1 + devel/libffi/Makefile | 13 +++++++++ devel/libffi/PLIST | 2 +- devel/libffi/files/ffi.h | 10 +++++++ devel/libgetopt/Makefile | 9 ++++--- devel/libglade/Makefile | 1 + devel/libgnome/Makefile | 1 + devel/libgnomeui/Makefile | 1 + devel/libidn/Makefile | 1 + devel/libmemcache/Makefile | 1 + devel/liboil/Makefile | 1 + devel/libsigc++/Makefile | 1 + devel/libslang/Makefile | 1 + devel/libsmi/Makefile | 1 + devel/libtool-base/Makefile | 6 ++--- devel/libtool-fortran/Makefile | 10 +++---- devel/libtool/Makefile.common | 2 ++ devel/libusb/Makefile | 17 ++++++------ devel/libuuid/Makefile.common | 1 + devel/libvolume_id/Makefile | 3 ++- devel/libvolume_id/distinfo | 2 +- devel/libvolume_id/patches/patch-ae | 8 +++--- devel/libwnck/Makefile | 1 + devel/libwnck3/Makefile | 1 + devel/memcached/Makefile | 3 ++- devel/ncurses/Makefile.common | 3 ++- devel/ncursesw/Makefile | 8 +++--- devel/netcdf/Makefile | 1 + devel/nspr/Makefile | 23 +++++----------- devel/nspr/PLIST | 1 - devel/nspr/buildlink3.mk | 6 ++--- devel/nss/Makefile | 16 ++++++----- devel/nss/buildlink3.mk | 4 +-- devel/nss/files/nss.pc.in | 2 +- devel/orc/Makefile | 1 + devel/ossp-uuid/Makefile | 1 + devel/p5-gettext/Makefile | 2 +- devel/pango/Makefile | 1 + devel/pcre/Makefile | 7 +++++ devel/pkg-config/Makefile | 3 ++- devel/poco/Makefile.common | 1 + devel/poco/distinfo | 2 +- devel/poco/patches/patch-ag | 21 +++++++++++++++ devel/popt/Makefile | 1 + devel/popt/distinfo | 1 + devel/popt/patches/patch-Makefile.in | 15 +++++++++++ devel/py-gobject-shared/Makefile | 4 +-- devel/py-gobject/Makefile.common | 1 + devel/py-gobject/PLIST | 2 +- devel/py-mercurial/Makefile | 7 +++++ devel/py-mercurial/distinfo | 1 + devel/py-mercurial/patches/patch-hg | 18 +++++++++++++ devel/py-readline/Makefile | 4 ++- devel/py-test/Makefile | 1 + devel/py-virtualenv/Makefile | 13 +++++++++ devel/py-virtualenv/distinfo | 1 + .../py-virtualenv/patches/patch-virtualenv.py | 27 +++++++++++++++++++ devel/readline/Makefile | 1 + devel/rudiments/Makefile | 1 + devel/snappy/Makefile | 1 + devel/subversion/Makefile.common | 1 + devel/xorg-util-macros/Makefile | 1 + devel/zlib/Makefile | 9 ++++--- devel/zlib/files/Makefile | 2 +- meta-pkgs/boost/Makefile.common | 5 ++-- mk/bsd.pkg.mk | 1 + 105 files changed, 301 insertions(+), 98 deletions(-) create mode 100644 devel/libffi/files/ffi.h create mode 100644 devel/popt/patches/patch-Makefile.in create mode 100644 devel/py-mercurial/patches/patch-hg create mode 100644 devel/py-virtualenv/patches/patch-virtualenv.py diff --git a/devel/GConf/Makefile.common b/devel/GConf/Makefile.common index 685affa01b105..7f04d304605b3 100644 --- a/devel/GConf/Makefile.common +++ b/devel/GConf/Makefile.common @@ -22,6 +22,7 @@ PATCHDIR= ${.CURDIR}/../GConf/patches USE_PKGLOCALEDIR= yes GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake intltool msgfmt perl pkg-config PKGCONFIG_OVERRIDE= gconf-2.0.pc.in diff --git a/devel/SDL/Makefile b/devel/SDL/Makefile index 01456a595b714..10c8c9ad53716 100644 --- a/devel/SDL/Makefile +++ b/devel/SDL/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake GNU_CONFIGURE= yes PTHREAD_OPTS+= require diff --git a/devel/SDL_Pango/Makefile b/devel/SDL_Pango/Makefile index 16932ef24593c..439f0469effd8 100644 --- a/devel/SDL_Pango/Makefile +++ b/devel/SDL_Pango/Makefile @@ -15,6 +15,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= SDL_Pango.pc.in diff --git a/devel/SDL_gfx/Makefile b/devel/SDL_gfx/Makefile index b63a410985c7e..936a8790f480c 100644 --- a/devel/SDL_gfx/Makefile +++ b/devel/SDL_gfx/Makefile @@ -11,6 +11,7 @@ LICENSE= zlib USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= SDL_gfx.pc.in diff --git a/devel/SDL_ttf/Makefile b/devel/SDL_ttf/Makefile index 3aa74db054754..32a484e676072 100644 --- a/devel/SDL_ttf/Makefile +++ b/devel/SDL_ttf/Makefile @@ -11,6 +11,7 @@ COMMENT= Use TrueType fonts in your SDL applications LICENSE= zlib USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= SDL_ttf.pc.in diff --git a/devel/apr-util/Makefile b/devel/apr-util/Makefile index ee7231056a8f9..7202ab36fe5e6 100644 --- a/devel/apr-util/Makefile +++ b/devel/apr-util/Makefile @@ -12,6 +12,7 @@ COMMENT= Apache Portable Runtime utilities LICENSE= apache-2.0 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-apr=${BUILDLINK_PREFIX.apr}/bin/apr-1-config diff --git a/devel/apr-util/distinfo b/devel/apr-util/distinfo index 4e5668eff202a..2d81627f07dab 100644 --- a/devel/apr-util/distinfo +++ b/devel/apr-util/distinfo @@ -4,4 +4,4 @@ SHA1 (apr-util-1.6.1.tar.bz2) = 4cc73bc36ca697419f555476f2fc1c63df6069f4 RMD160 (apr-util-1.6.1.tar.bz2) = 6fb156f827980f21ff9f59039529d55bda824e93 SHA512 (apr-util-1.6.1.tar.bz2) = 40eff8a37c0634f7fdddd6ca5e596b38de15fd10767a34c30bbe49c632816e8f3e1e230678034f578dd5816a94f246fb5dfdf48d644829af13bf28de3225205d Size (apr-util-1.6.1.tar.bz2) = 428595 bytes -SHA1 (patch-aa) = 350b4e8fb3097d4df597c284321ca5dc25ce015c +SHA1 (patch-aa) = 36798ae08fcf5a74dba742e5ced6e5ceb16ba449 diff --git a/devel/apr-util/patches/patch-aa b/devel/apr-util/patches/patch-aa index 2b9dcae6aa600..34f87deb02061 100644 --- a/devel/apr-util/patches/patch-aa +++ b/devel/apr-util/patches/patch-aa @@ -14,7 +14,6 @@ $NetBSD: patch-aa,v 1.7 2013/12/10 08:27:06 obache Exp $ ;; *) - cp $APR_BUILD_DIR/apr_rules.mk $abs_builddir/build/rules.mk -+ sed -e 's:^LIBTOOL=.*:LIBTOOL=$(WRAPPER_DIR)/bin/libtool:' -e "s:^LDFLAGS=.*:LDFLAGS=${LDFLAGS}:" $APR_BUILD_DIR/apr_rules.mk > $abs_builddir/build/rules.mk ++ sed -e 's:^LIBTOOL=.*:LIBTOOL=$(WRAPPER_DIR)/bin$(BINARCHSUFFIX)/libtool:' -e "s:^LDFLAGS=.*:LDFLAGS=${LDFLAGS}:" $APR_BUILD_DIR/apr_rules.mk > $abs_builddir/build/rules.mk ;; esac - diff --git a/devel/apr/Makefile b/devel/apr/Makefile index db28f95c9d66c..597e6d1fb0522 100644 --- a/devel/apr/Makefile +++ b/devel/apr/Makefile @@ -14,19 +14,25 @@ COMMENT= Apache Portable Runtime LICENSE= apache-2.0 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= apr.pc.in GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-devrandom=/dev/urandom -CONFIGURE_ARGS+= --with-installbuilddir=${PREFIX}/libexec/apr +CONFIGURE_ARGS+= --with-installbuilddir=${PREFIX}/libexec${LIBARCHSUFFIX}/apr CONFIGURE_ENV+= LIBS=${LIBS:M*:Q} LIBS.SunOS+= -lnsl +MULTIARCH_DIRS.lib= lib libexec + +# XXX: why is this required for multiarch? +CHECK_INTERPRETER_SKIP+= lib/*.exp + TEST_TARGET= check post-install: - ${RM} ${DESTDIR}${PREFIX}/libexec/apr/libtool - ${INSTALL_SCRIPT} ${PKG_LIBTOOL} ${DESTDIR}${PREFIX}/libexec/apr/libtool + ${RM} ${DESTDIR}${PREFIX}/libexec${LIBARCHSUFFIX}/apr/libtool + ${INSTALL_SCRIPT} ${PKG_LIBTOOL} ${DESTDIR}${PREFIX}/libexec${LIBARCHSUFFIX}/apr/libtool .include "../../mk/bsd.prefs.mk" .if ${OPSYS} == "Linux" || ${OPSYS} == "SunOS" diff --git a/devel/at-spi2-atk/Makefile b/devel/at-spi2-atk/Makefile index 104617ea3ac1f..a0be4509e4e71 100644 --- a/devel/at-spi2-atk/Makefile +++ b/devel/at-spi2-atk/Makefile @@ -12,6 +12,7 @@ COMMENT= Assistive Technology Service Provider Interface A11y Toolkit LICENSE= gnu-lgpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake intltool msgfmt pkg-config GNU_CONFIGURE= yes diff --git a/devel/at-spi2-core/Makefile b/devel/at-spi2-core/Makefile index 924d38f94b3ad..65646fcef869b 100644 --- a/devel/at-spi2-core/Makefile +++ b/devel/at-spi2-core/Makefile @@ -12,6 +12,7 @@ COMMENT= Assistive Technology Service Provider Interface Core LICENSE= gnu-lgpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake intltool msgfmt pkg-config GNU_CONFIGURE= yes diff --git a/devel/atk/Makefile b/devel/atk/Makefile index 8c40a66f91ddc..44b7aad8e6d63 100644 --- a/devel/atk/Makefile +++ b/devel/atk/Makefile @@ -15,6 +15,7 @@ GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_LANGUAGES= c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= atk.pc.in .include "../../devel/gettext-lib/buildlink3.mk" diff --git a/devel/atkmm/Makefile b/devel/atkmm/Makefile index 87f5c9ac6c45a..32467de9df347 100644 --- a/devel/atkmm/Makefile +++ b/devel/atkmm/Makefile @@ -16,6 +16,7 @@ CONFLICTS+= gtkmm<2.22.0 USE_LANGUAGES= c c++11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= bsdtar gmake perl pkg-config GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= atk/atkmm.pc.in diff --git a/devel/autogen/Makefile b/devel/autogen/Makefile index 76dd94cec2476..77ac4f0996a01 100644 --- a/devel/autogen/Makefile +++ b/devel/autogen/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-gpl-v3 USE_TOOLS+= bash:run gmake gzip makeinfo perl:run pkg-config GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib INFO_FILES= yes # embedded in some installed tools diff --git a/devel/boehm-gc/Makefile b/devel/boehm-gc/Makefile index 674f335a6622b..60a9b4c308768 100644 --- a/devel/boehm-gc/Makefile +++ b/devel/boehm-gc/Makefile @@ -13,6 +13,7 @@ COMMENT= Garbage collection and memory leak detection for C and C++ USE_TOOLS+= gmake pkg-config USE_LANGUAGES= c c++ USE_LIBTOOL= YES +USE_MULTIARCH= lib GNU_CONFIGURE= YES CONFIGURE_ARGS+= --enable-cplusplus CONFIGURE_ARGS+= --datadir=${PREFIX}/share/doc diff --git a/devel/boost-headers/PLIST b/devel/boost-headers/PLIST index 0410008358836..4f4686fb946fe 100644 --- a/devel/boost-headers/PLIST +++ b/devel/boost-headers/PLIST @@ -1761,6 +1761,7 @@ include/boost/config/stdlib/stlport.hpp include/boost/config/stdlib/vacpp.hpp include/boost/config/stdlib/xlcpp_zos.hpp include/boost/config/user.hpp +include/boost/config${INCARCHSUFFIX}/user.hpp include/boost/config/warning_disable.hpp include/boost/config/workaround.hpp include/boost/container/adaptive_pool.hpp diff --git a/devel/boost-jam/bjam.mk b/devel/boost-jam/bjam.mk index 165226f8d15dc..1fbd7f6d136c4 100644 --- a/devel/boost-jam/bjam.mk +++ b/devel/boost-jam/bjam.mk @@ -8,6 +8,7 @@ BJAM= ${BUILDLINK_PREFIX.boost-jam}/bin/bjam BJAM_ARGS+= ${MAKE_JOBS:D-j${MAKE_JOBS}} BJAM_ARGS+= --builddir=${WRKSRC}/build BJAM_ARGS+= --layout=system +BJAM_ARGS+= --libdir=${PREFIX}/lib${LIBARCHSUFFIX} BJAM_ARGS+= --toolset=${BOOST_TOOLSET} BJAM_ARGS+= ${BJAM_BUILD} diff --git a/devel/boost-libs/Makefile b/devel/boost-libs/Makefile index adba3bbc2bd99..af1a4ed09fe62 100644 --- a/devel/boost-libs/Makefile +++ b/devel/boost-libs/Makefile @@ -7,7 +7,7 @@ BOOST_INSTALL_LIBS= yes .include "../../meta-pkgs/boost/Makefile.common" -INSTALLATION_DIRS+= lib +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX} BJAM_ARGS+= --without-python PLIST_VARS+= backtrace context fiber log longdbl diff --git a/devel/confuse/Makefile b/devel/confuse/Makefile index c2084423a4455..618a0335b00a6 100644 --- a/devel/confuse/Makefile +++ b/devel/confuse/Makefile @@ -17,6 +17,7 @@ BUILD_DEPENDS+= gettext-tools-[0-9]*:../../devel/gettext-tools GNU_CONFIGURE= YES CONFIGURE_ARGS+= --enable-shared USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_PKGLOCALEDIR= YES USE_TOOLS+= pkg-config msgfmt autoconf automake flex diff --git a/devel/cppunit/Makefile b/devel/cppunit/Makefile index 168c86453c087..334b58065f731 100644 --- a/devel/cppunit/Makefile +++ b/devel/cppunit/Makefile @@ -11,6 +11,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake GNU_CONFIGURE= yes diff --git a/devel/editline/Makefile b/devel/editline/Makefile index 74a815087af30..f880bf28735bd 100644 --- a/devel/editline/Makefile +++ b/devel/editline/Makefile @@ -16,6 +16,7 @@ PKGCONFIG_OVERRIDE+= libedit.pc.in USE_LIBTOOL= yes GNU_CONFIGURE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib USE_TOOLS+= automake autoreconf CONFIGURE_ARGS+= --enable-widec diff --git a/devel/flex/Makefile b/devel/flex/Makefile index c7c7363ae47f0..446f954dfd83e 100644 --- a/devel/flex/Makefile +++ b/devel/flex/Makefile @@ -13,6 +13,7 @@ LICENSE= 2-clause-bsd BUILD_DEPENDS+= help2man-[0-9]*:../../converters/help2man USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gm4:run makeinfo gettext GNU_CONFIGURE= yes diff --git a/devel/fossil/Makefile b/devel/fossil/Makefile index 348b4c88eaf9a..9638ac13b920d 100644 --- a/devel/fossil/Makefile +++ b/devel/fossil/Makefile @@ -12,11 +12,12 @@ HOMEPAGE= http://www.fossil-scm.org/ COMMENT= High-reliability, distributed software configuration management LICENSE= 2-clause-bsd +USE_MULTIARCH= bin HAS_CONFIGURE= yes CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl:Q} CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib:Q} -INSTALLATION_DIRS+= bin ${PKGMANDIR}/man1 share/doc/${PKGBASE} +INSTALLATION_DIRS+= bin${BINARCHSUFFIX} ${PKGMANDIR}/man1 share/doc/${PKGBASE} .include "options.mk" @@ -24,7 +25,7 @@ pre-configure: ${MKDIR} ${WRKSRC}/bld do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/fossil ${DESTDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/fossil ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} ${INSTALL_MAN} ${WRKSRC}/fossil.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 ${INSTALL_DATA} ${WRKSRC}/COPYRIGHT-BSD2.txt \ ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} diff --git a/devel/gettext/Makefile.common b/devel/gettext/Makefile.common index 3cb52a33d7e14..93a8ffc2e4a70 100644 --- a/devel/gettext/Makefile.common +++ b/devel/gettext/Makefile.common @@ -17,4 +17,5 @@ LICENSE= gnu-gpl-v3 CONFLICTS= gettext<=0.10.35 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes diff --git a/devel/glib2/Makefile.common b/devel/glib2/Makefile.common index 5ec05d9fb8d34..5aef58424b6a9 100644 --- a/devel/glib2/Makefile.common +++ b/devel/glib2/Makefile.common @@ -22,6 +22,7 @@ USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config USE_LANGUAGES= c c++ c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib TEST_TARGET= check DISTINFO_FILE= ${.CURDIR}/../../devel/glib2/distinfo diff --git a/devel/glib2/PLIST b/devel/glib2/PLIST index f990e56988bab..86d7d05b2b564 100644 --- a/devel/glib2/PLIST +++ b/devel/glib2/PLIST @@ -294,8 +294,8 @@ share/bash-completion/completions/gapplication share/bash-completion/completions/gdbus share/bash-completion/completions/gresource share/bash-completion/completions/gsettings -share/gdb/auto-load${LOCALBASE}/lib/libglib-2.0.so.0.5600.2-gdb.py -share/gdb/auto-load${LOCALBASE}/lib/libgobject-2.0.so.0.5600.2-gdb.py +share/gdb/auto-load${LOCALBASE}/lib${LIBARCHSUFFIX}/libglib-2.0.so.0.5600.2-gdb.py +share/gdb/auto-load${LOCALBASE}/lib${LIBARCHSUFFIX}/libgobject-2.0.so.0.5600.2-gdb.py share/gettext/its/gschema.its share/gettext/its/gschema.loc share/glib-2.0/gdb/glib_gdb.py diff --git a/devel/glibmm/Makefile b/devel/glibmm/Makefile index 3ec79daf52d9e..ec76b79958a4c 100644 --- a/devel/glibmm/Makefile +++ b/devel/glibmm/Makefile @@ -16,6 +16,7 @@ LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 GCC_REQD+= 4.9 USE_LANGUAGES= c c++11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config perl:run GNU_CONFIGURE= yes diff --git a/devel/gmp/Makefile b/devel/gmp/Makefile index 959a6a095b67e..2195e99568775 100644 --- a/devel/gmp/Makefile +++ b/devel/gmp/Makefile @@ -16,6 +16,7 @@ LICENSE= gnu-lgpl-v3 OR gnu-gpl-v2 INFO_FILES= yes USE_LANGUAGES= c c++ c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gm4 autoconf makeinfo GNU_CONFIGURE= yes CONFIGURE_ARGS+= --without-readline diff --git a/devel/gmp/inplace.mk b/devel/gmp/inplace.mk index e540ac30d0dbb..8542fd13340c4 100644 --- a/devel/gmp/inplace.mk +++ b/devel/gmp/inplace.mk @@ -14,7 +14,7 @@ fetch-inplace-gmp: extract-inplace-gmp: (cd ../../devel/gmp && ${MAKE} WRKDIR=${WRKSRC}/.devel.gmp EXTRACT_DIR=${WRKSRC} \ - WRKSRC='$${EXTRACT_DIR}/$${DISTNAME:C/a$$//}' SKIP_DEPENDS=YES patch) + WRKSRC='$${EXTRACT_DIR}/$${DISTNAME:C/a$$//}' SKIP_DEPENDS=YES MULTIARCH=NO patch) ${MV} ${WRKSRC}/gmp-* ${WRKSRC}/gmp USE_TOOLS+= bzcat tar diff --git a/devel/gobject-introspection/Makefile b/devel/gobject-introspection/Makefile index e5919505f902a..b923d5c0d09d2 100644 --- a/devel/gobject-introspection/Makefile +++ b/devel/gobject-introspection/Makefile @@ -14,6 +14,7 @@ DEPENDS+= ${PYPKGPREFIX}-cElementTree-[0-9]*:../../textproc/py-cElementTree DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config flex bison gmake GMAKE_REQD= 3.81 GNU_CONFIGURE= yes diff --git a/devel/hdf5/Makefile.common b/devel/hdf5/Makefile.common index 7d699d4c4e8d0..54f7620e1afbf 100644 --- a/devel/hdf5/Makefile.common +++ b/devel/hdf5/Makefile.common @@ -12,6 +12,7 @@ HOMEPAGE= https://www.hdfgroup.org/HDF5/ LICENSE= original-bsd USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pax tr GNU_CONFIGURE= yes TEST_TARGET= check @@ -23,7 +24,7 @@ PATCHDIR= ${.CURDIR}/../../devel/hdf5/patches # it appears that this file is informative only and is not actually # used by any installed tools -CHECK_WRKREF_SKIP= ${PREFIX}/lib/libhdf5.settings +CHECK_WRKREF_SKIP= ${PREFIX}/lib${LIBARCHSUFFIX}/libhdf5.settings INSTALL_ENV+= INSTALL_SCRIPT=${INSTALL_SCRIPT:Q} diff --git a/devel/ldapsdk/Makefile b/devel/ldapsdk/Makefile index d7883343a1254..7094767edecfd 100644 --- a/devel/ldapsdk/Makefile +++ b/devel/ldapsdk/Makefile @@ -17,6 +17,7 @@ NOT_FOR_BULK_PLATFORM= Linux-*-* MAKE_JOBS_SAFE= no WRKSRC= ${WRKDIR}/mozilla +USE_MULTIARCH= lib USE_TOOLS+= gmake perl PKG_SYSCONFSUBDIR= ldapsdk @@ -44,14 +45,14 @@ do-install: # # XXX kludge # - ${INSTALL_DATA} ${WRKSRC}/dist/${OPSYS}*/lib/libldap.a ${DESTDIR}${PREFIX}/lib/libldap.a - ${INSTALL_DATA} ${WRKSRC}/dist/${OPSYS}*/lib/liblber.a ${DESTDIR}${PREFIX}/lib/liblber.a - ${INSTALL_LIB} ${WRKSRC}/dist/${OPSYS}*/bin/libldap.so.1.0 ${DESTDIR}${PREFIX}/lib/libldap.so.1.0 - ${LN} -sf libldap.so.1.0 ${DESTDIR}${PREFIX}/lib/libldap.so.1 - ${LN} -sf libldap.so.1.0 ${DESTDIR}${PREFIX}/lib/libldap.so - ${INSTALL_LIB} ${WRKSRC}/dist/${OPSYS}*/bin/liblber.so.1.0 ${DESTDIR}${PREFIX}/lib/liblber.so.1.0 - ${LN} -sf liblber.so.1.0 ${DESTDIR}${PREFIX}/lib/liblber.so.1 - ${LN} -sf liblber.so.1.0 ${DESTDIR}${PREFIX}/lib/liblber.so + ${INSTALL_DATA} ${WRKSRC}/dist/${OPSYS}*/lib/libldap.a ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/libldap.a + ${INSTALL_DATA} ${WRKSRC}/dist/${OPSYS}*/lib/liblber.a ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/liblber.a + ${INSTALL_LIB} ${WRKSRC}/dist/${OPSYS}*/bin/libldap.so.1.0 ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/libldap.so.1.0 + ${LN} -sf libldap.so.1.0 ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/libldap.so.1 + ${LN} -sf libldap.so.1.0 ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/libldap.so + ${INSTALL_LIB} ${WRKSRC}/dist/${OPSYS}*/bin/liblber.so.1.0 ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/liblber.so.1.0 + ${LN} -sf liblber.so.1.0 ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/liblber.so.1 + ${LN} -sf liblber.so.1.0 ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/liblber.so ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR} ${INSTALL_DATA} ${WRKSRC}/dist/${OPSYS}*/etc/ldapfilter.conf ${DESTDIR}${EGDIR}/ldapfilter.conf ${INSTALL_DATA} ${WRKSRC}/dist/${OPSYS}*/etc/ldapsearchprefs.conf ${DESTDIR}${EGDIR}/ldapsearchprefs.conf diff --git a/devel/libatomic_ops/Makefile b/devel/libatomic_ops/Makefile index 73b830034f522..e49b0a4dd0108 100644 --- a/devel/libatomic_ops/Makefile +++ b/devel/libatomic_ops/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-gpl-v2 USE_LANGUAGES+= c USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= pkgconfig/atomic_ops.pc.in diff --git a/devel/libbonobo/Makefile b/devel/libbonobo/Makefile index bc485d2e7f744..c25bb96edd815 100644 --- a/devel/libbonobo/Makefile +++ b/devel/libbonobo/Makefile @@ -15,6 +15,7 @@ CONFLICTS= bonobo-activation-[0-9]* GNU_CONFIGURE= YES USE_PKGLOCALEDIR= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_TOOLS+= bison flex gmake intltool msgfmt perl:run pkg-config PKGCONFIG_OVERRIDE= bonobo/libbonobo-2.0.pc.in diff --git a/devel/libbonoboui/Makefile b/devel/libbonoboui/Makefile index bc4c65440147d..e8f587543c622 100644 --- a/devel/libbonoboui/Makefile +++ b/devel/libbonoboui/Makefile @@ -15,6 +15,7 @@ GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake intltool msgfmt pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= bonobo/libbonoboui-2.0.pc.in diff --git a/devel/libcfg+/Makefile b/devel/libcfg+/Makefile index 664da5424b7eb..1ef9e62131c97 100644 --- a/devel/libcfg+/Makefile +++ b/devel/libcfg+/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-gpl-v2 GNU_CONFIGURE= yes USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib MANCOMPRESSED= yes .include "../../mk/bsd.pkg.mk" diff --git a/devel/libdaemon/Makefile b/devel/libdaemon/Makefile index 6a21e990ae145..23fcd771971dd 100644 --- a/devel/libdaemon/Makefile +++ b/devel/libdaemon/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 USE_PKGLOCALEDIR= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= ${WRKSRC}/libdaemon.pc.in GNU_CONFIGURE= YES diff --git a/devel/libebml/Makefile b/devel/libebml/Makefile index 6bfa4420d3ac7..2059e589bcfad 100644 --- a/devel/libebml/Makefile +++ b/devel/libebml/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_CMAKE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib CMAKE_ARGS+= -DBUILD_SHARED_LIBS=YES PKGCONFIG_OVERRIDE= libebml.pc.in diff --git a/devel/libelf/Makefile b/devel/libelf/Makefile index 9943820699ef7..05af27879d5ac 100644 --- a/devel/libelf/Makefile +++ b/devel/libelf/Makefile @@ -16,6 +16,7 @@ INSTALL_MAKE_FLAGS+= instroot=${DESTDIR} USE_PKGLOCALEDIR= yes GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= autoconf PKGCONFIG_OVERRIDE+= libelf.pc.in diff --git a/devel/libevent/Makefile b/devel/libevent/Makefile index 45f7710f227a0..b7c3e4a5863c1 100644 --- a/devel/libevent/Makefile +++ b/devel/libevent/Makefile @@ -10,6 +10,7 @@ COMMENT= Asynchronous event notification library CONFLICTS+= libev<3.9nb1 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= libevent_core.pc.in PKGCONFIG_OVERRIDE+= libevent_extra.pc.in diff --git a/devel/libffi/Makefile b/devel/libffi/Makefile index d1e109e97ed18..e627ba095a52e 100644 --- a/devel/libffi/Makefile +++ b/devel/libffi/Makefile @@ -12,9 +12,11 @@ LICENSE= mit USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS= --includedir=${PREFIX}/include + PKGCONFIG_OVERRIDE+= libffi.pc.in INFO_FILES= yes @@ -50,5 +52,16 @@ USE_TOOLS+= bash gmake MAKE_FLAGS+= SHELL=${TOOLS_DIR}/bin/bash .endif +.if ${MULTIARCH:U:tl} == "yes" +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/ffi.h \ + ${DESTDIR}/${PREFIX}/include${INCARCHSUFFIX} + +post-install: + ${INSTALL_DATA} ${FILESDIR}/ffi.h \ + ${DESTDIR}/${PREFIX}/include +.endif + .include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/devel/libffi/PLIST b/devel/libffi/PLIST index b3393dd0ca383..9e475558fc903 100644 --- a/devel/libffi/PLIST +++ b/devel/libffi/PLIST @@ -1,5 +1,5 @@ @comment $NetBSD: PLIST,v 1.4 2012/09/14 23:45:27 asau Exp $ -include/ffi.h +include${INCARCHSUFFIX}/ffi.h include/ffitarget.h info/libffi.info lib/libffi.la diff --git a/devel/libffi/files/ffi.h b/devel/libffi/files/ffi.h new file mode 100644 index 0000000000000..8aee77dad942c --- /dev/null +++ b/devel/libffi/files/ffi.h @@ -0,0 +1,10 @@ +/* + * libffi installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/ffi.h" +#else +#include "i86/ffi.h" +#endif diff --git a/devel/libgetopt/Makefile b/devel/libgetopt/Makefile index de29da0456800..cd4b6fb70d795 100644 --- a/devel/libgetopt/Makefile +++ b/devel/libgetopt/Makefile @@ -13,6 +13,7 @@ LICENSE= 2-clause-bsd AND original-bsd CONFLICTS= man-pages-[0-9]* USE_LIBTOOL= YES +USE_MULTIARCH= lib WRKSRC= ${WRKDIR}/libgetopt .include "../../mk/bsd.prefs.mk" @@ -24,7 +25,7 @@ CFLAGS+= -DREPLACE_GETOPT .endif CFLAGS.OSF1+= -I. # stdio.h includes , make sure it's our copy -INSTALLATION_DIRS= include lib ${PKGMANDIR}/man3 +INSTALLATION_DIRS= include lib${LIBARCHSUFFIX} ${PKGMANDIR}/man3 do-extract: ${MKDIR} ${WRKSRC} @@ -32,12 +33,12 @@ do-extract: ${CP} ${FILESDIR}/getopt.h ${WRKSRC} do-build: - cd ${WRKSRC} && ${LIBTOOL} --mode=compile ${COMPILE.c} getopt_long.c - cd ${WRKSRC} && ${LIBTOOL} --mode=link ${LINK.c} -o libgetopt.la getopt_long.lo -version-info 5:1:4 -rpath ${PREFIX}/lib + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${LIBTOOL} --mode=compile ${COMPILE.c} getopt_long.c + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${LIBTOOL} --mode=link ${LINK.c} -o libgetopt.la getopt_long.lo -version-info 5:1:4 -rpath ${PREFIX}/lib${LIBARCHSUFFIX} do-install: ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libgetopt.la \ - ${DESTDIR}${PREFIX}/lib/ + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/ ${INSTALL_DATA} ${WRKSRC}/getopt.h ${DESTDIR}${PREFIX}/include/ ${INSTALL_MAN} ${WRKSRC}/getopt_long.3 \ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3/ diff --git a/devel/libglade/Makefile b/devel/libglade/Makefile index 17999003836bc..cdacedc07d54a 100644 --- a/devel/libglade/Makefile +++ b/devel/libglade/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-lgpl-v2 USE_TOOLS+= gmake msgfmt pkg-config GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= libglade-2.0.pc.in CONFLICTS+= libglade2-[0-9]* diff --git a/devel/libgnome/Makefile b/devel/libgnome/Makefile index 32aeddb5f4d82..a817e57a5c9a5 100644 --- a/devel/libgnome/Makefile +++ b/devel/libgnome/Makefile @@ -15,6 +15,7 @@ LICENSE= gnu-lgpl-v2 GNU_CONFIGURE= YES USE_TOOLS+= gmake intltool msgfmt pkg-config USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_PKGLOCALEDIR= YES PKGCONFIG_OVERRIDE= libgnome/libgnome-2.0.pc.in diff --git a/devel/libgnomeui/Makefile b/devel/libgnomeui/Makefile index 96411588eb6b3..804df4274eaad 100644 --- a/devel/libgnomeui/Makefile +++ b/devel/libgnomeui/Makefile @@ -18,6 +18,7 @@ GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake msgfmt perl pkg-config intltool USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_BASE= ${WRKSRC}/libgnomeui/libgnomeui-2.0.pc PKGCONFIG_OVERRIDE= ${PKGCONFIG_BASE}.in diff --git a/devel/libidn/Makefile b/devel/libidn/Makefile index 93ea93c003b7f..1d42573ef8bf1 100644 --- a/devel/libidn/Makefile +++ b/devel/libidn/Makefile @@ -11,6 +11,7 @@ COMMENT= Internationalized Domain Names command line tool LICENSE= gnu-gpl-v3 AND gnu-lgpl-v2.1 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= makeinfo pkg-config perl:build gsed TEXINFO_REQD= 4.7 diff --git a/devel/libmemcache/Makefile b/devel/libmemcache/Makefile index c8d93e04f33ce..b7bcf629bfca9 100644 --- a/devel/libmemcache/Makefile +++ b/devel/libmemcache/Makefile @@ -14,6 +14,7 @@ COMMENT= C API for memcached USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CPPFLAGS.SunOS+= -Du_int16_t=uint16_t -Du_int32_t=uint32_t -Du_int64_t=uint64_t diff --git a/devel/liboil/Makefile b/devel/liboil/Makefile index 9c46ab751cc35..c253e17980b3f 100644 --- a/devel/liboil/Makefile +++ b/devel/liboil/Makefile @@ -11,6 +11,7 @@ COMMENT= Library of simple, CPU-optimized functions GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib CONFIGURE_ARGS+= --disable-glib # Only used by examples. diff --git a/devel/libsigc++/Makefile b/devel/libsigc++/Makefile index 9de930b702f95..0870529d79233 100644 --- a/devel/libsigc++/Makefile +++ b/devel/libsigc++/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c c++11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gm4 gmake perl:build GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= sigc++.pc.in diff --git a/devel/libslang/Makefile b/devel/libslang/Makefile index 0226ba260e797..18e10b35f2131 100644 --- a/devel/libslang/Makefile +++ b/devel/libslang/Makefile @@ -17,6 +17,7 @@ MAKE_JOBS_SAFE= no USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes DLOPEN_REQUIRE_PTHREADS=no diff --git a/devel/libsmi/Makefile b/devel/libsmi/Makefile index 89e20b9c7720d..5418a9b0973db 100644 --- a/devel/libsmi/Makefile +++ b/devel/libsmi/Makefile @@ -15,6 +15,7 @@ PIBDIR= ${PREFIX}/share/libsmi/pibs DEPENDS+= wget-[0-9]*:../../net/wget USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-mibdir=${MIBDIR:Q} diff --git a/devel/libtool-base/Makefile b/devel/libtool-base/Makefile index 6858b55d5450b..bd849172a6350 100644 --- a/devel/libtool-base/Makefile +++ b/devel/libtool-base/Makefile @@ -65,8 +65,8 @@ USE_TOOLS+= echo .PHONY: fix-libtool fix-libtool: cd ${WRKSRC}; for f in libtool; do \ - ${SED} -e "s,-L${BUILDLINK_DIR}/lib *,,g" \ - -e "s,${BUILDLINK_DIR}/lib *,,g" \ + ${SED} -e "s,-L${BUILDLINK_DIR}/lib${LIBARCHSUFFIX} *,,g" \ + -e "s,${BUILDLINK_DIR}/lib${LIBARCHSUFFIX} *,,g" \ $$f > $$f.new; \ if [ -x $$f ]; then ${CHMOD} +x $$f.new; fi; \ ${MV} -f $$f.new $$f; \ @@ -80,7 +80,7 @@ post-build: ${FILESDIR}/shlibtool.in > ${WRKSRC}/shlibtool post-install: - ${INSTALL_SCRIPT} ${WRKSRC}/shlibtool ${DESTDIR}${PREFIX}/bin/shlibtool + ${INSTALL_SCRIPT} ${WRKSRC}/shlibtool ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/shlibtool BUILDLINK_DEPMETHOD.dlcompat= build diff --git a/devel/libtool-fortran/Makefile b/devel/libtool-fortran/Makefile index 9a2c7d3afcfaf..7bc02ed7c6c9f 100644 --- a/devel/libtool-fortran/Makefile +++ b/devel/libtool-fortran/Makefile @@ -63,13 +63,13 @@ CONFIGURE_ARGS+= --disable-ltdl-install USE_TOOLS+= echo -INSTALLATION_DIRS+= bin +INSTALLATION_DIRS+= bin${BINARCHSUFFIX} .PHONY: fix-libtool fix-libtool: cd ${WRKSRC}; for f in libtool; do \ - ${SED} -e "s,-L${BUILDLINK_DIR}/lib *,,g" \ - -e "s,${BUILDLINK_DIR}/lib *,,g" \ + ${SED} -e "s,-L${BUILDLINK_DIR}/lib${LIBARCHSUFFIX} *,,g" \ + -e "s,${BUILDLINK_DIR}/lib${LIBARCHSUFFIX} *,,g" \ $$f > $$f.new; \ if [ -x $$f ]; then ${CHMOD} +x $$f.new; fi; \ ${MV} -f $$f.new $$f; \ @@ -83,8 +83,8 @@ post-build: ${FILESDIR}/shlibtool-fortran.in > ${WRKSRC}/shlibtool-fortran do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/shlibtool-fortran ${DESTDIR}${PREFIX}/bin/shlibtool-fortran - ${INSTALL_SCRIPT} ${WRKSRC}/libtool ${DESTDIR}${PREFIX}/bin/libtool-fortran + ${INSTALL_SCRIPT} ${WRKSRC}/shlibtool-fortran ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/shlibtool-fortran + ${INSTALL_SCRIPT} ${WRKSRC}/libtool ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/libtool-fortran BUILDLINK_DEPMETHOD.dlcompat= build diff --git a/devel/libtool/Makefile.common b/devel/libtool/Makefile.common index b80b3b8177619..f1b9010af480a 100644 --- a/devel/libtool/Makefile.common +++ b/devel/libtool/Makefile.common @@ -51,6 +51,8 @@ PATCHDIR= ${.CURDIR}/../../devel/libtool/patches AUTOMAKE_OVERRIDE= NO +USE_MULTIARCH= bin lib + .include "../../mk/bsd.prefs.mk" # The configure script persists in trying to find the path to ld, which diff --git a/devel/libusb/Makefile b/devel/libusb/Makefile index 18bce3e95cd6a..546983af3183e 100644 --- a/devel/libusb/Makefile +++ b/devel/libusb/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-build-docs PKGCONFIG_OVERRIDE+= libusb.pc.in @@ -45,10 +46,10 @@ SED_TRANSFORMS+= -e "s,@exec_prefix@,${PREFIX},g" SED_TRANSFORMS+= -e "s,@LIBUSB_VERSION@,${PKGVERSION_NOREV},g" SED_TRANSFORMS+= -e "s,@VERSION@,${PKGVERSION_NOREV},g" SED_TRANSFORMS+= -e "s,@includedir@,${PREFIX}/include,g" -SED_TRANSFORMS+= -e "s,@libdir@,${PREFIX}/lib,g" +SED_TRANSFORMS+= -e "s,@libdir@,${PREFIX}/lib${LIBARCHSUFFIX},g" SED_TRANSFORMS+= -e "s,@OSLIBS@,,g" -INSTALLATION_DIRS+= bin include lib/pkgconfig +INSTALLATION_DIRS+= bin${BINARCHSUFFIX} include lib${LIBARCHSUFFIX}/pkgconfig do-configure: cp ${FILESDIR}/libusbugen* ${WRKSRC}/ @@ -60,23 +61,23 @@ do-build: cd ${WRKSRC} && ${LIBTOOL} --mode=compile --tag=CC ${CC} ${CFLAGS} \ -I. -c libusbugen.c cd ${WRKSRC} && ${LIBTOOL} --mode=link --tag=CC ${CC} \ - -rpath ${PREFIX}/lib -version-info 8:4:4 -release 0.1 \ + -rpath ${PREFIX}/lib${LIBARCHSUFFIX} -version-info 8:4:4 -release 0.1 \ -o libusb.la libusbugen.lo cd ${WRKSRC} && ${LIBTOOL} --mode=compile --tag=CXX ${CXX} ${CXXFLAGS} \ -I. -c usbpp.cpp cd ${WRKSRC} && ${LIBTOOL} --mode=link --tag=CXX ${CXX} \ - -rpath ${PREFIX}/lib -version-info 8:4:4 -release 0.1 \ + -rpath ${PREFIX}/lib${LIBARCHSUFFIX} -version-info 8:4:4 -release 0.1 \ -o libusbpp.la usbpp.lo do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/libusb-config ${DESTDIR}${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKSRC}/libusb-config ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} ${INSTALL_DATA} ${WRKSRC}/usb.h ${DESTDIR}${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/usbpp.h ${DESTDIR}${PREFIX}/include cd ${WRKSRC} && ${LIBTOOL} --mode=install ${INSTALL_LIB} libusb.la \ - ${DESTDIR}${PREFIX}/lib + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} cd ${WRKSRC} && ${LIBTOOL} --mode=install ${INSTALL_LIB} libusbpp.la \ - ${DESTDIR}${PREFIX}/lib - ${INSTALL_DATA} ${WRKSRC}/libusb.pc ${DESTDIR}${PREFIX}/lib/pkgconfig + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} + ${INSTALL_DATA} ${WRKSRC}/libusb.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .endif .include "../../mk/bsd.pkg.mk" diff --git a/devel/libuuid/Makefile.common b/devel/libuuid/Makefile.common index fed4cf283bae5..3fb9d0f9b7d2d 100644 --- a/devel/libuuid/Makefile.common +++ b/devel/libuuid/Makefile.common @@ -16,6 +16,7 @@ PATCHDIR= ${.CURDIR}/../../devel/libuuid/patches USE_GCC_RUNTIME= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config ksh # XXX PR pkg/52877 configure is broken on netbsd6 CONFIG_SHELL= ksh diff --git a/devel/libvolume_id/Makefile b/devel/libvolume_id/Makefile index 0bb96cfb8d971..ab344b1825167 100644 --- a/devel/libvolume_id/Makefile +++ b/devel/libvolume_id/Makefile @@ -12,8 +12,9 @@ HOMEPAGE= ${MASTER_SITES} COMMENT= Library to provide file system type information LICENSE= gnu-gpl-v2 -INSTALLATION_DIRS= include lib lib/pkgconfig +INSTALLATION_DIRS= include lib${LIBARCHSUFFIX} lib${LIBARCHSUFFIX}/pkgconfig USE_TOOLS+= gmake pkg-config +USE_MULTIARCH= lib USE_LIBTOOL=yes diff --git a/devel/libvolume_id/distinfo b/devel/libvolume_id/distinfo index 0b067dfcbf7c1..d7222addde11b 100644 --- a/devel/libvolume_id/distinfo +++ b/devel/libvolume_id/distinfo @@ -8,4 +8,4 @@ SHA1 (patch-aa) = d6fe419f1c79823f87d927ecfcc057f9c0e6009e SHA1 (patch-ab) = 6ef5cf4559578c30bc19db3bca896110374b348b SHA1 (patch-ac) = 0c120065f6cbfd405f3ade37b409a5c2725808c8 SHA1 (patch-ad) = 894b565d3fcf03dd0fee8722066a0730c62a7af9 -SHA1 (patch-ae) = 9382586dab03ed7691d26b029d930940dc3e7302 +SHA1 (patch-ae) = 82a8c6059f813e4145015e4b6ea5803f514421f1 diff --git a/devel/libvolume_id/patches/patch-ae b/devel/libvolume_id/patches/patch-ae index e4b00d331da91..fc0f5917dd846 100644 --- a/devel/libvolume_id/patches/patch-ae +++ b/devel/libvolume_id/patches/patch-ae @@ -28,7 +28,7 @@ $NetBSD: patch-ae,v 1.2 2011/01/18 10:34:39 markd Exp $ +libvolume_id.la: $(OBJS:.o=.lo) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \ -+ $^ -version-info $(SHLIB_CUR):$(SHLIB_REV):$(SHLIB_AGE) -rpath $(PREFIX)/lib ++ $^ -version-info $(SHLIB_CUR):$(SHLIB_REV):$(SHLIB_AGE) -rpath $(PREFIX)/lib${LIBARCHSUFFIX} + +%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) -o $@ $< @@ -51,7 +51,7 @@ $NetBSD: patch-ae,v 1.2 2011/01/18 10:34:39 markd Exp $ - $(Q) echo "Cflags: -I\$${includedir}" >> $@ + echo "prefix=$(PREFIX)" >> $@ + echo "exec_prefix=\$${prefix}" >> $@ -+ echo "libdir=\$${exec_prefix}/lib" >> $@ ++ echo "libdir=\$${exec_prefix}/lib${LIBARCHSUFFIX}" >> $@ + echo "includedir=\$${exec_prefix}/include" >> $@ + echo "" >> $@ + echo "Name: libvolume_id" >> $@ @@ -72,9 +72,9 @@ $NetBSD: patch-ae,v 1.2 2011/01/18 10:34:39 markd Exp $ - ln -sf $(libdir)/$(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so -endif - $(INSTALL_DATA) -D libvolume_id.pc $(DESTDIR)$(usrlibdir)/pkgconfig/libvolume_id.pc -+ $(LIBTOOL) --mode=install $(INSTALL_LIB) libvolume_id.la $(DESTDIR)$(PREFIX)/lib ++ $(LIBTOOL) --mode=install $(INSTALL_LIB) libvolume_id.la $(DESTDIR)$(PREFIX)/lib${LIBARCHSUFFIX} + $(INSTALL_DATA) libvolume_id.h $(DESTDIR)$(PREFIX)/include -+ $(INSTALL_DATA) libvolume_id.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig ++ $(INSTALL_DATA) libvolume_id.pc $(DESTDIR)$(PREFIX)/lib${LIBARCHSUFFIX}/pkgconfig .PHONY: install uninstall: diff --git a/devel/libwnck/Makefile b/devel/libwnck/Makefile index 96c1f4dad08a1..047e52e1cacc3 100644 --- a/devel/libwnck/Makefile +++ b/devel/libwnck/Makefile @@ -16,6 +16,7 @@ GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake intltool msgfmt pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= libwnck-1.0.pc.in diff --git a/devel/libwnck3/Makefile b/devel/libwnck3/Makefile index 4954af45dcde8..2124471f1423a 100644 --- a/devel/libwnck3/Makefile +++ b/devel/libwnck3/Makefile @@ -16,6 +16,7 @@ GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake msgfmt pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= libwnck-3.0.pc.in diff --git a/devel/memcached/Makefile b/devel/memcached/Makefile index fa6b3518e329b..da7662928d67e 100644 --- a/devel/memcached/Makefile +++ b/devel/memcached/Makefile @@ -10,6 +10,7 @@ HOMEPAGE= http://www.memcached.org/ COMMENT= High-performance distributed memory object caching system LICENSE= 2-clause-bsd +USE_MULTIARCH= bin USE_TOOLS+= perl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-coverage # coverage fails on some platforms @@ -45,7 +46,7 @@ TEST_TARGET= test post-install: ${INSTALL_DATA} ${WRKSRC}/doc/*.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} - ${INSTALL_SCRIPT} ${WRKSRC}/scripts/memcached-tool ${DESTDIR}${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/memcached-tool ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} .include "../../devel/libevent/buildlink3.mk" BUILDLINK_API_DEPENDS.libevent+= libevent>=1.0 diff --git a/devel/ncurses/Makefile.common b/devel/ncurses/Makefile.common index 8f5903c04fb22..89c545ce30002 100644 --- a/devel/ncurses/Makefile.common +++ b/devel/ncurses/Makefile.common @@ -16,6 +16,7 @@ LICENSE= mit USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake pkg-config tbl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-libtool @@ -23,7 +24,7 @@ CONFIGURE_ARGS+= --enable-bsdpad CONFIGURE_ARGS+= --enable-overwrite CONFIGURE_ARGS+= --with-cxx-binding CONFIGURE_ARGS+= --enable-pc-files -CONFIGURE_ARGS+= --with-pkg-config-libdir=${PREFIX}/lib/pkgconfig +CONFIGURE_ARGS+= --with-pkg-config-libdir=${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig CONFIGURE_ARGS+= --without-ada CONFIGURE_ARGS+= --without-gpm CONFIGURE_ARGS+= --with-manpage-format=normal diff --git a/devel/ncursesw/Makefile b/devel/ncursesw/Makefile index d93afc4b04feb..82ab29a2a3e92 100644 --- a/devel/ncursesw/Makefile +++ b/devel/ncursesw/Makefile @@ -12,8 +12,8 @@ CONFIGURE_ARGS+= --enable-widec CONFIGURE_ARGS+= --includedir=${PREFIX}/include/ncursesw INSTALLATION_DIRS+= include/ncursesw -INSTALLATION_DIRS+= bin -INSTALLATION_DIRS+= lib +INSTALLATION_DIRS+= bin${BINARCHSUFFIX} +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX} BUILD_TARGET= libs @@ -27,10 +27,10 @@ SUBST_SED.includes+= -e 's,,,' do-install: cd ${WRKSRC}/include && \ ${MAKE_ENV} ${MAKE_PROGRAM} ${INSTALL_MAKE_FLAGS} install - ${INSTALL_SCRIPT} ${WRKSRC}/misc/ncurses-config ${DESTDIR}${PREFIX}/bin/ncursesw${NC_VERS:R}-config + ${INSTALL_SCRIPT} ${WRKSRC}/misc/ncurses-config ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/ncursesw${NC_VERS:R}-config for LIB in gnuform gnumenu ncurses++ ncurses gnupanel; do \ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} \ - ${WRKSRC}/lib/lib$${LIB}w.la ${DESTDIR}${PREFIX}/lib; \ + ${WRKSRC}/lib/lib$${LIB}w.la ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}; \ done BUILDLINK_API_DEPENDS.ncurses+= ncurses-${NC_VERS}{,nb*} diff --git a/devel/netcdf/Makefile b/devel/netcdf/Makefile index bedf153cca4ee..87c8ddf741ecb 100644 --- a/devel/netcdf/Makefile +++ b/devel/netcdf/Makefile @@ -12,6 +12,7 @@ COMMENT= Library for array-oriented data access USE_TOOLS+= m4 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-doxygen CONFIGURE_ARGS+= --disable-examples diff --git a/devel/nspr/Makefile b/devel/nspr/Makefile index 60cb578621955..53d054dcc0924 100644 --- a/devel/nspr/Makefile +++ b/devel/nspr/Makefile @@ -22,12 +22,13 @@ GNU_CONFIGURE_LIBSUBDIR=nspr CONFIGURE_DIRS= nspr USE_GCC_RUNTIME= yes +USE_MULTIARCH= bin lib USE_TOOLS+= autoconf gmake perl REPLACE_PERL+= nspr/pr/src/misc/compile-et.pl CONFIGURE_ARGS+= --disable-debug CONFIGURE_ARGS+= --with-pthreads -CONFIGURE_ENV+= LIBRUNPATH=${PREFIX:Q}/lib/nspr +CONFIGURE_ENV+= LIBRUNPATH=${PREFIX:Q}/lib${LIBARCHSUFFIX}/nspr .include "../../mk/bsd.prefs.mk" @@ -42,7 +43,7 @@ SUBST_SED.nspr-config= -e 's|-L$$libdir|"${COMPILER_RPATH_FLAG}$$libdir -L$$lib SUBST_CLASSES+= nspr-rpath SUBST_STAGE.nspr-rpath= pre-configure SUBST_FILES.nspr-rpath= nspr/lib/libc/src/Makefile.in nspr/lib/ds/Makefile.in -SUBST_SED.nspr-rpath= -e 's|$$$$ORIGIN|${PREFIX}/lib/nspr|g' +SUBST_SED.nspr-rpath= -e 's|$$$$ORIGIN|${PREFIX}/lib${LIBARCHSUFFIX}/nspr|g' .if ${OPSYS} == "OpenBSD" CHECK_SHLIBS_SUPPORTED= no @@ -52,7 +53,7 @@ SUBST_CLASSES.Darwin+= exec_path SUBST_STAGE.exec_path= pre-configure SUBST_MESSAGE.exec_path= Fixing @executable_path SUBST_FILES.exec_path= nspr/configure.in -SUBST_SED.exec_path= -e 's,@executable_path,${PREFIX}/lib/nspr,g' +SUBST_SED.exec_path= -e 's,@executable_path,${PREFIX}/lib${LIBARCHSUFFIX}/nspr,g' .if ${OBJECT_FMT} == "ELF" SO_SUFFIX= so @@ -99,21 +100,11 @@ BUILDLINK_PASSTHRU_DIRS+= Developer/Headers/FlatCarbon pre-configure: cd ${WRKSRC}/nspr && autoconf -post-build: - set -e; ( \ - ${ECHO} "Name: NSPR"; \ - ${ECHO} "Description: The Netscape Portable Runtime"; \ - ${ECHO} "Version: ${NSPR_RELEASE}"; \ - ${ECHO} "Cflags: -I${PREFIX}/include/nspr"; \ - ${ECHO} "Libs: -L${PREFIX}/lib/nspr" \ - "${COMPILER_RPATH_FLAG}${PREFIX}/lib/nspr" \ - "-lplds4 -lplc4 -lnspr4 "${BUILDLINK_LIBS.pthread:Q}; \ - ) > ${WRKDIR}/nspr.pc - -INSTALLATION_DIRS+= lib/pkgconfig +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/pkgconfig post-install: - ${INSTALL_DATA} ${WRKDIR}/nspr.pc ${DESTDIR}${PREFIX}/lib/pkgconfig + ${MV} ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/nspr/pkgconfig/nspr.pc \ + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/devel/nspr/PLIST b/devel/nspr/PLIST index 5261e18ba528e..7494ece17b41a 100644 --- a/devel/nspr/PLIST +++ b/devel/nspr/PLIST @@ -90,6 +90,5 @@ lib/nspr/libplc4.a lib/nspr/libplc4.so lib/nspr/libplds4.a lib/nspr/libplds4.so -lib/nspr/pkgconfig/nspr.pc lib/pkgconfig/nspr.pc share/aclocal/nspr.m4 diff --git a/devel/nspr/buildlink3.mk b/devel/nspr/buildlink3.mk index 5dc5f55ca8ac2..734cc5b75799c 100644 --- a/devel/nspr/buildlink3.mk +++ b/devel/nspr/buildlink3.mk @@ -8,12 +8,12 @@ NSPR_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.nspr+= nspr>=4.9.3.2 BUILDLINK_PKGSRCDIR.nspr?= ../../devel/nspr -BUILDLINK_FILES.nspr+= lib/nspr/* +BUILDLINK_FILES.nspr+= lib${LIBARCHSUFFIX}/nspr/* BUILDLINK_FILES.nspr+= include/nspr/* BUILDLINK_FILES.nspr+= include/nspr/obsolete/* -BUILDLINK_LIBDIRS.nspr+= lib/nspr -BUILDLINK_RPATHDIRS.nspr+= lib/nspr +BUILDLINK_LIBDIRS.nspr+= lib${LIBARCHSUFFIX}/nspr +BUILDLINK_RPATHDIRS.nspr+= lib${LIBARCHSUFFIX}/nspr BUILDLINK_INCDIRS.nspr+= include/nspr diff --git a/devel/nss/Makefile b/devel/nss/Makefile index f2d6594a65d49..85bbfe484f3a8 100644 --- a/devel/nss/Makefile +++ b/devel/nss/Makefile @@ -17,6 +17,7 @@ CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}configure USE_GCC_RUNTIME= yes USE_LANGUAGES= c99 +USE_MULTIARCH= lib USE_TOOLS+= gmake perl pax pkg-config MAKE_JOBS_SAFE= no @@ -28,7 +29,7 @@ SUBST_CLASSES.Darwin+= exec_path SUBST_STAGE.exec_path= pre-configure SUBST_MESSAGE.exec_path= Fixing @executable_path SUBST_FILES.exec_path= nss/coreconf/Darwin.mk -SUBST_SED.exec_path= -e 's,@executable_path,${PREFIX}/lib/nss,g' +SUBST_SED.exec_path= -e 's,@executable_path,${PREFIX}/lib${LIBARCHSUFFIX}/nss,g' SUBST_CLASSES+= zlib SUBST_STAGE.zlib= pre-configure @@ -76,9 +77,9 @@ MAKE_ENV+= BUILD_OPT=1 #MAKE_ENV+= OPTIMIZER=${CFLAGS:Q} MAKE_ENV+= INCLUDES=-I${BUILDLINK_PREFIX.nspr}/include/nspr MAKE_ENV+= NSS_USE_SYSTEM_SQLITE=1 -MAKE_ENV+= ZLIB_LIBS="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.zlib}/lib -L${BUILDLINK_PREFIX.zlib}/lib -lz" +MAKE_ENV+= ZLIB_LIBS="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.zlib}/lib${LIBARCHSUFFIX} -L${BUILDLINK_PREFIX.zlib}/lib${LIBARCHSUFFIX} -lz" MAKE_ENV+= USE_SYSTEM_ZLIB=1 -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} +MAKE_ENV+= EXTRA_SHARED_LIBS="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.nspr}/lib${LIBARCHSUFFIX}/nspr ${COMPILER_RPATH_FLAG}${PREFIX}/lib${LIBARCHSUFFIX}/nss -L${BUILDLINK_PREFIX.nspr}/lib${LIBARCHSUFFIX}/nspr -lplc4 -lplds4 -lnspr4 "${LDFLAGS:Q} MAKE_ENV+= NSS_DISABLE_GTESTS=yes MAKE_ENV+= NSS_ENABLE_TLS_1_3=1 .include "../../mk/compiler.mk" @@ -99,11 +100,12 @@ SUBST_SED.config+= -e "s,@NSS_MINOR_VERSION@,${NSS_MINOR_VERSION}," SUBST_SED.config+= -e "s,@NSS_PATCH_VERSION@,${NSS_PATCH_VERSION}," SUBST_SED.config+= -e "s!@COMPILER_RPATH_FLAG@!${COMPILER_RPATH_FLAG}!" SUBST_SED.config+= -e "s,@PTHREAD@,${BUILDLINK_LIBS.pthread:Q}," +SUBST_SED.config+= -e "s,@LIBARCHSUFFIX@,${LIBARCHSUFFIX}," SUBST_STAGE.config= pre-build SUBST_MESSAGE.config= Preparing *-config files. SUBST_FILES.config+= nss.pc nss-config -INSTALLATION_DIRS= bin include/nss lib/nss lib/pkgconfig +INSTALLATION_DIRS= bin include/nss lib${LIBARCHSUFFIX}/nss lib${LIBARCHSUFFIX}/pkgconfig DIST= ${WRKSRC}/dist INSTALL_CMDS+= certutil cmsutil crlutil derdump makepqg \ @@ -120,10 +122,10 @@ post-extract: do-install: (cd ${DIST}/public && pax -Lrw . ${DESTDIR}${PREFIX}/include/nss/ ) (cd ${DIST}/*_OPT.OBJ/lib && \ - pax -Lrw *.${SO_SUFFIX} ${DESTDIR}${PREFIX}/lib/nss/ ) + pax -Lrw *.${SO_SUFFIX} ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/nss/ ) ${INSTALL_LIB} ${DIST}/*_OPT.OBJ/lib/libcrmf.a \ - ${DESTDIR}${PREFIX}/lib/nss/ - ${INSTALL_DATA} ${WRKSRC}/nss.pc ${DESTDIR}${PREFIX}/lib/pkgconfig/nss.pc + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/nss/ + ${INSTALL_DATA} ${WRKSRC}/nss.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/nss.pc ${INSTALL_SCRIPT} ${WRKSRC}/nss-config ${DESTDIR}${PREFIX}/bin/nss-config .for cmd in ${INSTALL_CMDS} ${INSTALL_PROGRAM} ${DIST}/*_OPT.OBJ/bin/${cmd} ${DESTDIR}${PREFIX}/bin diff --git a/devel/nss/buildlink3.mk b/devel/nss/buildlink3.mk index f41fccff9a0c0..25ec967e76d8b 100644 --- a/devel/nss/buildlink3.mk +++ b/devel/nss/buildlink3.mk @@ -9,8 +9,8 @@ BUILDLINK_API_DEPENDS.nss+= nss>=3.14.0 BUILDLINK_ABI_DEPENDS.nss+= nss>=3.14.0 BUILDLINK_PKGSRCDIR.nss?= ../../devel/nss -BUILDLINK_LIBDIRS.nss+= lib/nss -BUILDLINK_RPATHDIRS.nss+= lib/nss +BUILDLINK_LIBDIRS.nss+= lib${LIBARCHSUFFIX}/nss +BUILDLINK_RPATHDIRS.nss+= lib${LIBARCHSUFFIX}/nss BUILDLINK_INCDIRS.nss+= include/nss/nss diff --git a/devel/nss/files/nss.pc.in b/devel/nss/files/nss.pc.in index 945dffb24620d..55d64df15a51f 100644 --- a/devel/nss/files/nss.pc.in +++ b/devel/nss/files/nss.pc.in @@ -1,6 +1,6 @@ prefix=@PREFIX@ exec_prefix=@PREFIX@/bin -libdir=@PREFIX@/lib/nss +libdir=@PREFIX@/lib@LIBARCHSUFFIX@/nss includedir=@PREFIX@/include/nss Name: NSS diff --git a/devel/orc/Makefile b/devel/orc/Makefile index 76ac9ea01abf4..e0d4eb02443f1 100644 --- a/devel/orc/Makefile +++ b/devel/orc/Makefile @@ -11,6 +11,7 @@ COMMENT= Compiler for vector operations LICENSE= modified-bsd USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= orc.pc.in diff --git a/devel/ossp-uuid/Makefile b/devel/ossp-uuid/Makefile index 1bacafe8ee801..fc1854d81788b 100644 --- a/devel/ossp-uuid/Makefile +++ b/devel/ossp-uuid/Makefile @@ -18,6 +18,7 @@ GNU_CONFIGURE= yes USE_TOOLS+= gmake USE_LANGUAGES= c c++ +USE_MULTIARCH= lib CONFIGURE_ARGS+= --with-dce CONFIGURE_ARGS+= --with-cxx diff --git a/devel/p5-gettext/Makefile b/devel/p5-gettext/Makefile index b5a9475457ccb..1c827844cb64e 100644 --- a/devel/p5-gettext/Makefile +++ b/devel/p5-gettext/Makefile @@ -17,7 +17,7 @@ PERL5_PACKLIST= auto/Locale/gettext/.packlist SUBST_CLASSES+= intlpath SUBST_FILES.intlpath= Makefile.PL -SUBST_SED.intlpath+= -e 's,-lintl,-L${BUILDLINK_PREFIX.gettext}/lib -lintl,g' +SUBST_SED.intlpath+= -e 's,-lintl,-L${BUILDLINK_PREFIX.gettext}/lib${LIBARCHSUFFIX} -lintl,g' SUBST_STAGE.intlpath= pre-configure .include "../../devel/gettext-lib/buildlink3.mk" diff --git a/devel/pango/Makefile b/devel/pango/Makefile index 224ce2058d173..6bc42e561cb8c 100644 --- a/devel/pango/Makefile +++ b/devel/pango/Makefile @@ -16,6 +16,7 @@ BUILD_DEPENDS+= help2man-[0-9]*:../../converters/help2man TEST_TARGET= check USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/libdata diff --git a/devel/pcre/Makefile b/devel/pcre/Makefile index f3b697143899b..4ab2d0ecf4752 100644 --- a/devel/pcre/Makefile +++ b/devel/pcre/Makefile @@ -13,11 +13,18 @@ LICENSE= modified-bsd USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-pcre16 CONFIGURE_ARGS+= --enable-unicode-properties CONFIGURE_ARGS+= --enable-utf8 +SUBST_CLASSES+= lns +SUBST_STAGE.lns= post-patch +SUBST_MESSAGE.lns= Fixing ln -s commands in Makefile.in +SUBST_FILES.lns= Makefile.in +SUBST_SED.lns= -e 's,ln -s,ln -f -s,' + SUBST_CLASSES+= rpath SUBST_STAGE.rpath= pre-configure SUBST_MESSAGE.rpath= Fixing rpath output in pcre-config diff --git a/devel/pkg-config/Makefile b/devel/pkg-config/Makefile index 3e6df48749e40..7272cad161ebc 100644 --- a/devel/pkg-config/Makefile +++ b/devel/pkg-config/Makefile @@ -10,6 +10,7 @@ COMMENT= System for managing library compile/link flags LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-internal-glib CONFIGURE_ARGS+= --disable-host-tool @@ -52,7 +53,7 @@ PKGCONFIG_EXTRA_PATHS+= ${X11BASE}/lib/pkgconfig .endif .if ${LOCALBASE} != "/usr" -PKGCONFIG_EXTRA_PATHS+= /usr/lib/pkgconfig +PKGCONFIG_EXTRA_PATHS+= /usr/lib${LIBARCHSUFFIX}/pkgconfig .endif .if !empty(PKGCONFIG_EXTRA_PATHS) diff --git a/devel/poco/Makefile.common b/devel/poco/Makefile.common index ac01ff8eb1def..2bfad41a8e838 100644 --- a/devel/poco/Makefile.common +++ b/devel/poco/Makefile.common @@ -21,6 +21,7 @@ DISTINFO_FILE= ${.CURDIR}/../../devel/poco/distinfo HAS_CONFIGURE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib USE_TOOLS+= gmake # Various places have: diff --git a/devel/poco/distinfo b/devel/poco/distinfo index b6d968d889224..5639d0cd0d7ba 100644 --- a/devel/poco/distinfo +++ b/devel/poco/distinfo @@ -16,7 +16,7 @@ SHA1 (patch-ab) = a5ebcc44e9ab728d9812cefd01188622bfea172f SHA1 (patch-ac) = 08fa398b76935082dccbfb81bb69877d10996f6f SHA1 (patch-ad) = f6eeb9dc9b3a85525f264edbd1587bc4f124b9e1 SHA1 (patch-ae) = d168bd1e391992b64555373065fb431ad9c23731 -SHA1 (patch-ag) = e1ef2677c25d445cdae97c832211e2407fae9af3 +SHA1 (patch-ag) = d256f46c1136e52102dae6e74d2f42502babeffa SHA1 (patch-ah) = a4ba890ab2501552bf18b2778f3f3593e4b0abcb SHA1 (patch-build_config_Linux) = f1b4eb600a472dfe9dca8d61e9c6ac3c5e4f2f9d SHA1 (patch-build_config_SunOS-GCC) = 11670f41f1f8a3a6833021a234b826b6dbe00acb diff --git a/devel/poco/patches/patch-ag b/devel/poco/patches/patch-ag index 02115dad6ab55..405c5a3108c16 100644 --- a/devel/poco/patches/patch-ag +++ b/devel/poco/patches/patch-ag @@ -1,6 +1,7 @@ $NetBSD: patch-ag,v 1.2 2016/01/16 12:15:12 ryoon Exp $ # Only include only the non-omitted components +# Support multiarch --- Makefile.orig 2015-08-04 05:21:07.000000000 +0000 +++ Makefile @@ -15,3 +16,23 @@ $NetBSD: patch-ag,v 1.2 2016/01/16 12:15:12 ryoon Exp $ cppunit: $(MAKE) -C $(POCO_BASE)/CppUnit +@@ -37,7 +39,7 @@ CppUnit-clean: + + install: libexecs + mkdir -p $(INSTALLDIR)/include/Poco +- mkdir -p $(INSTALLDIR)/lib ++ mkdir -p $(INSTALLDIR)/lib${LIBARCHSUFFIX} + mkdir -p $(INSTALLDIR)/bin + for comp in $(COMPONENTS) ; do \ + if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \ +@@ -47,8 +49,8 @@ install: libexecs + find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \ + fi ; \ + done +- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \; +- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \; ++ find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib${LIBARCHSUFFIX} \; ++ find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib${LIBARCHSUFFIX} \; + + libexecs = Foundation-libexec XML-libexec JSON-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec MongoDB-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec + tests = Foundation-tests XML-tests JSON-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests MongoDB-tests Zip-tests diff --git a/devel/popt/Makefile b/devel/popt/Makefile index 8537db283e996..dd7b07baccaca 100644 --- a/devel/popt/Makefile +++ b/devel/popt/Makefile @@ -17,6 +17,7 @@ USE_PKGLOCALEDIR= yes GNU_CONFIGURE= yes USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= popt.pc PKGCONFIG_OVERRIDE_STAGE= post-configure diff --git a/devel/popt/distinfo b/devel/popt/distinfo index 976bdefb55662..758cf69be925f 100644 --- a/devel/popt/distinfo +++ b/devel/popt/distinfo @@ -4,6 +4,7 @@ SHA1 (popt-1.16.tar.gz) = cfe94a15a2404db85858a81ff8de27c8ff3e235e RMD160 (popt-1.16.tar.gz) = 9c52bff97259de4010499f69c76d2a6396920342 SHA512 (popt-1.16.tar.gz) = bae2dd4e5d682ef023fdc77ae60c4aad01a3a576d45af9d78d22490c11e410e60edda37ede171920746d4ae0d5de3c060d15cecfd41ba75b727a811be828d694 Size (popt-1.16.tar.gz) = 702769 bytes +SHA1 (patch-Makefile.in) = 78d7ceb24a2598cbea3fbf7e2c903ca9118817c3 SHA1 (patch-aa) = 7edb4bbd7fe044da9f388159fdc22327377e267e SHA1 (patch-lookup3.c) = 7643b577c0913742fc4333c4469d606d81b6aa98 SHA1 (patch-poptint.h) = c26b97bdeedf8a057009dfca985eb9287220f54b diff --git a/devel/popt/patches/patch-Makefile.in b/devel/popt/patches/patch-Makefile.in new file mode 100644 index 0000000000000..790c62da1e8eb --- /dev/null +++ b/devel/popt/patches/patch-Makefile.in @@ -0,0 +1,15 @@ +$NetBSD$ + +Support multiarch. + +--- Makefile.in.orig Wed Aug 1 15:00:41 2012 ++++ Makefile.in Wed Aug 1 15:01:22 2012 +@@ -370,7 +370,7 @@ + libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c + libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@ \ + $(am__append_1) +-pkgconfigdir = $(prefix)/lib/pkgconfig ++pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = popt.pc + man_MANS = popt.3 + BUILT_SOURCES = popt.pc # popt.lcd diff --git a/devel/py-gobject-shared/Makefile b/devel/py-gobject-shared/Makefile index a9d50014ac4e1..1e0b4622c26c5 100644 --- a/devel/py-gobject-shared/Makefile +++ b/devel/py-gobject-shared/Makefile @@ -7,7 +7,7 @@ PKGREVISION= 1 NO_BUILD= yes PYTHON_FOR_BUILD_ONLY= yes -INSTALLATION_DIRS= include/pygtk-2.0 lib/pkgconfig +INSTALLATION_DIRS= include/pygtk-2.0 lib${LIBARCHSUFFIX}/pkgconfig # we do not really need py-cairo's pkg-config flags # just some non-empty valid arguments so py-cairo is detected # as found @@ -22,7 +22,7 @@ do-install: ${INSTALL_DATA} ${WRKSRC}/gobject/pygobject.h \ ${DESTDIR}${PREFIX}/include/pygtk-2.0 ${INSTALL_DATA} ${WRKSRC}/pygobject-2.0.pc \ - ${DESTDIR}${PREFIX}/lib/pkgconfig + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../devel/glib2/buildlink3.mk" BUILDLINK_API_DEPENDS.gobject-introspection= gobject-introspection>=0.9.5 diff --git a/devel/py-gobject/Makefile.common b/devel/py-gobject/Makefile.common index b6a36de2796f4..1aa5f8532e27d 100644 --- a/devel/py-gobject/Makefile.common +++ b/devel/py-gobject/Makefile.common @@ -15,6 +15,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes diff --git a/devel/py-gobject/PLIST b/devel/py-gobject/PLIST index 0bd5fa5615c30..86afd8e09bc51 100644 --- a/devel/py-gobject/PLIST +++ b/devel/py-gobject/PLIST @@ -1,6 +1,6 @@ @comment $NetBSD: PLIST,v 1.17 2018/01/23 11:23:13 adam Exp $ ${PLIST.py2x}bin/pygobject-codegen-2.0 -lib/libpyglib-2.0-python${PYVERSSUFFIX}.la +lib${LIBARCHSUFFIX}/libpyglib-2.0-python${PYVERSSUFFIX}.la ${PYSITELIB}/glib/__init__.py ${PYSITELIB}/glib/__init__.pyc ${PYSITELIB}/glib/__init__.pyo diff --git a/devel/py-mercurial/Makefile b/devel/py-mercurial/Makefile index 4375746a18990..7169a794d2d36 100644 --- a/devel/py-mercurial/Makefile +++ b/devel/py-mercurial/Makefile @@ -22,6 +22,13 @@ USE_TOOLS+= gmake msgfmt INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 INSTALLATION_DIRS+= share/doc/mercurial +# Only single script is installed, so handle both multi archs. +SUBST_CLASSES+= libdir +SUBST_STAGE.libdir= pre-configure +SUBST_FILES.libdir= ${WRKSRC}/hg +SUBST_SED.libdir= -e 's|@LIBDIR32@|${PREFIX}/${PYSITELIB.32}|' +SUBST_SED.libdir+= -e 's|@LIBDIR64@|${PREFIX}/${PYSITELIB.64}|' + .include "Makefile.version" # Known test failures: diff --git a/devel/py-mercurial/distinfo b/devel/py-mercurial/distinfo index c5f795aa375f0..b9faad85dea2f 100644 --- a/devel/py-mercurial/distinfo +++ b/devel/py-mercurial/distinfo @@ -4,5 +4,6 @@ SHA1 (mercurial-4.7.tar.gz) = 520f0f50f8763998f1f97667892be42dbae64bfc RMD160 (mercurial-4.7.tar.gz) = 182e2382c09a30e779cb56ea5fea3056470891e3 SHA512 (mercurial-4.7.tar.gz) = a08dfc4e296b5d162097769ab38ab85b7c5de16710bce0b6dce2a39f56cb517455c0ed634f689d07e9bd082fb7641501b7da51963844aee7ab28233cf721dec8 Size (mercurial-4.7.tar.gz) = 6476268 bytes +SHA1 (patch-hg) = e3e6087414733cfeb4fa8e2003f56e130c4b14e2 SHA1 (patch-mercurial_scmutil.py) = cf83e31593f48c8e54a8b733972b96ee5b79ceb5 SHA1 (patch-mercurial_util.py) = 97838dae48198a4b23f0b5fbbcc494f298b27e1d diff --git a/devel/py-mercurial/patches/patch-hg b/devel/py-mercurial/patches/patch-hg new file mode 100644 index 0000000000000..c972afaf1c7c3 --- /dev/null +++ b/devel/py-mercurial/patches/patch-hg @@ -0,0 +1,18 @@ +$NetBSD$ + +Fix Python libdir under MULTIARCH. + +--- hg.orig 2016-09-01 19:01:36.000000000 +0000 ++++ hg +@@ -17,7 +17,10 @@ if os.environ.get('HGUNICODEPEDANTRY', F + except NameError: + pass + +-libdir = '@LIBDIR@' ++if os.environ.get('ABI') == '64': ++ libdir = '@LIBDIR64@' ++else: ++ libdir = '@LIBDIR32@' + + if libdir != '@' 'LIBDIR' '@': + if not os.path.isabs(libdir): diff --git a/devel/py-readline/Makefile b/devel/py-readline/Makefile index 637e313b0a4a0..fe2d486387712 100644 --- a/devel/py-readline/Makefile +++ b/devel/py-readline/Makefile @@ -11,11 +11,13 @@ EXTRACT_ELEMENTS= ${PYSUBDIR}/Modules/readline.c USE_GCC_RUNTIME= yes +MULTIARCH_DIRS.lib= ${PYLIB}/lib-dynload + PYDISTUTILSPKG= yes PY_PATCHPLIST= yes PY_SETUP_SUBST+= RLPREFIX=${BUILDLINK_PREFIX.readline} PY_SETUP_SUBST+= RLRTPREFIX=${BUILDLINK_PREFIX.readline} -PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload +PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload${LIBARCHSUFFIX} # ignore errors due to missing files (EXTRACT_ELEMENTS!) do-patch: diff --git a/devel/py-test/Makefile b/devel/py-test/Makefile index 3f916a939425e..690de6221e4cc 100644 --- a/devel/py-test/Makefile +++ b/devel/py-test/Makefile @@ -35,6 +35,7 @@ REPLACE_PYTHON+= _pytest/standalonetemplate.py post-install: cd ${DESTDIR}${PREFIX}/bin && \ + [ -f py.test ] && \ ${MV} py.test py.test-${PYVERSSUFFIX} && \ ${MV} pytest pytest-${PYVERSSUFFIX} || ${TRUE} diff --git a/devel/py-virtualenv/Makefile b/devel/py-virtualenv/Makefile index 98582bc45938e..9b3f47b6a2179 100644 --- a/devel/py-virtualenv/Makefile +++ b/devel/py-virtualenv/Makefile @@ -17,6 +17,19 @@ USE_LANGUAGES= # none REPLACE_PYTHON= virtualenv.py +.include "../../mk/bsd.prefs.mk" + +SUBST_CLASSES+= arch +SUBST_STAGE.arch= pre-configure +SUBST_FILES.arch= virtualenv.py +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +SUBST_SED.arch= -e 's|@BINARCHSUFFIX32@|${BINARCHSUFFIX.32:S/\///}|' +SUBST_SED.arch+= -e 's|@BINARCHSUFFIX64@|${BINARCHSUFFIX.64:S/\///}|' +.else +SUBST_SED.arch= -e 's|@BINARCHSUFFIX32@||' +SUBST_SED.arch+= -e 's|@BINARCHSUFFIX64@||' +.endif + post-install: cd ${DESTDIR}${PREFIX}/bin && ${MV} virtualenv virtualenv-${PYVERSSUFFIX} || ${TRUE} diff --git a/devel/py-virtualenv/distinfo b/devel/py-virtualenv/distinfo index 2976585c72c98..bf4a946c3114c 100644 --- a/devel/py-virtualenv/distinfo +++ b/devel/py-virtualenv/distinfo @@ -4,3 +4,4 @@ SHA1 (virtualenv-16.0.0.tar.gz) = 33831525c360459671d25f9e5abac931c414d2f7 RMD160 (virtualenv-16.0.0.tar.gz) = ed709651e82f28dd131900010d566dda3fd2c577 SHA512 (virtualenv-16.0.0.tar.gz) = 43bc37f1da1b65e9a2df5a8813a801f27f5783b7211219d441d1c2132789917df42fdc0aba1d5ec51e3d6f7583af9474d59c1f532d8880c8c325ccc96e73b3df Size (virtualenv-16.0.0.tar.gz) = 1970558 bytes +SHA1 (patch-virtualenv.py) = e9a524a2b5f7ea645e86a625da63e91e44619793 diff --git a/devel/py-virtualenv/patches/patch-virtualenv.py b/devel/py-virtualenv/patches/patch-virtualenv.py new file mode 100644 index 0000000000000..b6181ff3e97c3 --- /dev/null +++ b/devel/py-virtualenv/patches/patch-virtualenv.py @@ -0,0 +1,27 @@ +$NetBSD$ + +Add basic multiarch support to virtualenv. Creates copies of real binaries (in addition to the abiexec wrapper.) + +--- virtualenv.py.orig 2016-11-16 02:39:30.000000000 +0000 ++++ virtualenv.py +@@ -1230,6 +1230,20 @@ def install_python(home_dir, lib_dir, in + executable = sys.executable + shutil.copyfile(executable, py_executable) + make_exe(py_executable) ++ # Handle multiarch case ++ binarch32 = '@BINARCHSUFFIX32@' ++ binarch64 = '@BINARCHSUFFIX64@' ++ if binarch32 != binarch64: ++ mkdir(join(bin_dir, binarch32)) ++ mkdir(join(bin_dir, binarch64)) ++ executable32 = os.path.join(os.path.dirname(executable), binarch32, os.path.basename(executable)) ++ executable64 = os.path.join(os.path.dirname(executable), binarch64, os.path.basename(executable)) ++ py_executable32 = os.path.join(os.path.dirname(py_executable), binarch32, os.path.basename(py_executable)) ++ py_executable64 = os.path.join(os.path.dirname(py_executable), binarch64, os.path.basename(py_executable)) ++ shutil.copyfile(executable32, py_executable32) ++ shutil.copyfile(executable64, py_executable64) ++ make_exe(py_executable32) ++ make_exe(py_executable64) + if is_win or is_cygwin: + pythonw = os.path.join(os.path.dirname(sys.executable), 'pythonw.exe') + if os.path.exists(pythonw): diff --git a/devel/readline/Makefile b/devel/readline/Makefile index ac491c7796554..dc3e4ffd03fec 100644 --- a/devel/readline/Makefile +++ b/devel/readline/Makefile @@ -12,6 +12,7 @@ COMMENT= GNU library that can recall and edit previous input LICENSE= gnu-gpl-v3 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes INFO_FILES= yes diff --git a/devel/rudiments/Makefile b/devel/rudiments/Makefile index 47bfed64caad2..b8fd3e7ce09d2 100644 --- a/devel/rudiments/Makefile +++ b/devel/rudiments/Makefile @@ -15,6 +15,7 @@ GNU_CONFIGURE= YES USE_TOOLS+= gmake USE_LANGUAGES= c c++ USE_LIBTOOL= YES +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= YES PTHREAD_AUTO_VARS= YES diff --git a/devel/snappy/Makefile b/devel/snappy/Makefile index 548021c7b7225..c52c98709260a 100644 --- a/devel/snappy/Makefile +++ b/devel/snappy/Makefile @@ -13,6 +13,7 @@ GITHUB_TAG= ${PKGVERSION_NOREV} USE_CMAKE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib CMAKE_ARGS+= -DBUILD_SHARED_LIBS=ON diff --git a/devel/subversion/Makefile.common b/devel/subversion/Makefile.common index 1043dc1601567..1a82e7d937a84 100644 --- a/devel/subversion/Makefile.common +++ b/devel/subversion/Makefile.common @@ -32,6 +32,7 @@ FILESDIR= ${.CURDIR}/../../devel/subversion/files PATCHDIR= ${.CURDIR}/../../devel/subversion/patches USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes GNU_CONFIGURE= yes diff --git a/devel/xorg-util-macros/Makefile b/devel/xorg-util-macros/Makefile index 510dd0d8b4071..7e28e2b07c929 100644 --- a/devel/xorg-util-macros/Makefile +++ b/devel/xorg-util-macros/Makefile @@ -12,6 +12,7 @@ COMMENT= Xorg autotool macros LICENSE= mit GNU_CONFIGURE= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= xorg-macros.pc.in diff --git a/devel/zlib/Makefile b/devel/zlib/Makefile index 3194106ce6836..a358784a73485 100644 --- a/devel/zlib/Makefile +++ b/devel/zlib/Makefile @@ -12,6 +12,7 @@ COMMENT= General purpose data compression library LICENSE= zlib USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= zlib.pc.in @@ -34,19 +35,19 @@ SUBST_SED.pc= -e "s,@prefix@,${PREFIX},g" SUBST_SED.pc+= -e "s,@exec_prefix@,${PREFIX},g" SUBST_SED.pc+= -e "s,@VERSION@,${PKGVERSION_NOREV},g" SUBST_SED.pc+= -e "s,@includedir@,${PREFIX}/include,g" -SUBST_SED.pc+= -e "s,@libdir@,${PREFIX}/lib,g" +SUBST_SED.pc+= -e "s,@libdir@,${PREFIX}/lib${LIBARCHSUFFIX},g" SUBST_SED.pc+= -e "s,@sharedlibdir@,${PREFIX}/lib,g" -INSTALLATION_DIRS= include lib/pkgconfig ${PKGMANDIR}/man3 +INSTALLATION_DIRS= include lib${LIBARCHSUFFIX}/pkgconfig ${PKGMANDIR}/man3 do-extract: ${CP} -r ${FILESDIR} ${WRKSRC} do-install: - ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libz.la ${DESTDIR}${PREFIX}/lib + ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libz.la ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} ${INSTALL_MAN} ${WRKSRC}/zlib.3 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3 ${INSTALL_DATA} ${WRKSRC}/zconf.h ${DESTDIR}${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/zlib.h ${DESTDIR}${PREFIX}/include - ${INSTALL_DATA} ${WRKSRC}/zlib.pc.in ${DESTDIR}${PREFIX}/lib/pkgconfig/zlib.pc + ${INSTALL_DATA} ${WRKSRC}/zlib.pc.in ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/zlib.pc .include "../../mk/bsd.pkg.mk" diff --git a/devel/zlib/files/Makefile b/devel/zlib/files/Makefile index 3af61a3c9a2e8..86143029238e0 100644 --- a/devel/zlib/files/Makefile +++ b/devel/zlib/files/Makefile @@ -11,7 +11,7 @@ all: libz.la libz.la: ${LOBJS} ${LIBTOOL} --mode=link --tag=CC ${CC} ${LDFLAGS} ${CFLAGS} -o ${.TARGET} \ - ${LOBJS} -version-info 1:2 -rpath ${PREFIX}/lib + ${LOBJS} -version-info 1:2 -rpath ${PREFIX}/lib${LIBARCHSUFFIX} libz.a: ${OBJS} ${AR} cq ${.TARGET} ${OBJS} diff --git a/meta-pkgs/boost/Makefile.common b/meta-pkgs/boost/Makefile.common index 6340dbc67db70..14e9d27615da9 100644 --- a/meta-pkgs/boost/Makefile.common +++ b/meta-pkgs/boost/Makefile.common @@ -97,13 +97,14 @@ pre-configure: . include "../../devel/boost-headers/buildlink3.mk" do-configure: ${CP} -f \ - ${BUILDLINK_PREFIX.boost-headers}/include/boost/config/user.hpp \ + ${BUILDLINK_PREFIX.boost-headers}/include/boost/config${INCARCHSUFFIX}/user.hpp \ ${WRKSRC}/boost/config/user.hpp . elif ${BOOST_CONFIG} == "generate" do-configure: cd ${WRKSRC}/libs/config && \ ${SETENV} ${CONFIGURE_ENV} ${SH} ./configure - ${CP} -f ${WRKSRC}/libs/config/user.hpp ${WRKSRC}/boost/config/user.hpp + ${MKDIR} ${WRKSRC}/boost/config${INCARCHSUFFIX} + ${CP} -f ${WRKSRC}/libs/config/user.hpp ${WRKSRC}/boost/config${INCARCHSUFFIX}/user.hpp . endif boost-install-libs: diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index 5d7cae2482f0e..f2c14db25dd58 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -115,6 +115,7 @@ DEPENDS+= abiexec-[0-9]*:../../pkgtools/abiexec . endif MULTIARCH_DIRS.bin?= bin sbin MULTIARCH_DIRS.lib?= lib +MULTIARCH_SKIP_DIRS.lib+= lib/systemd .endif # Override for SU_CMD user check From 8ce3f9e7521c0fbaeff2efcc43be8399c7cb04f0 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:12:09 +0100 Subject: [PATCH 045/141] Convert "fonts" category to multiarch. --- fonts/fontconfig/Makefile | 3 ++- fonts/harfbuzz/Makefile | 1 + fonts/libfontenc/Makefile | 1 + fonts/py-TTFQuery/Makefile | 2 ++ fonts/t1lib/Makefile | 1 + 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fonts/fontconfig/Makefile b/fonts/fontconfig/Makefile index 98ee192149ac2..8d6fb73521b36 100644 --- a/fonts/fontconfig/Makefile +++ b/fonts/fontconfig/Makefile @@ -14,11 +14,12 @@ COMMENT= Library for configuring and customizing font access BUILD_DEPENDS+= gperf-[0-9]*:../../devel/gperf USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config msgfmt GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-default-fonts=${LOCALBASE}/share/fonts/X11 CONFIGURE_ARGS+= --with-expat-includes=${BUILDLINK_PREFIX.expat}/include -CONFIGURE_ARGS+= --with-expat-lib=${BUILDLINK_PREFIX.expat}/lib +CONFIGURE_ARGS+= --with-expat-lib=${BUILDLINK_PREFIX.expat}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= --with-baseconfigdir=${PKG_SYSCONFDIR} CONFIGURE_ARGS+= --with-cache-dir=${VARBASE}/cache/fontconfig CONFIGURE_ARGS+= --enable-docs diff --git a/fonts/harfbuzz/Makefile b/fonts/harfbuzz/Makefile index 0e36e22b37728..544525447da47 100644 --- a/fonts/harfbuzz/Makefile +++ b/fonts/harfbuzz/Makefile @@ -12,6 +12,7 @@ LICENSE= mit USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-cairo=no diff --git a/fonts/libfontenc/Makefile b/fonts/libfontenc/Makefile index 5f2f8084f1956..ee12bd731527d 100644 --- a/fonts/libfontenc/Makefile +++ b/fonts/libfontenc/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Library for handling fonts with different character set encodings USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= fontenc.pc.in GNU_CONFIGURE= yes diff --git a/fonts/py-TTFQuery/Makefile b/fonts/py-TTFQuery/Makefile index 2077c2602babc..9ab253994879f 100644 --- a/fonts/py-TTFQuery/Makefile +++ b/fonts/py-TTFQuery/Makefile @@ -16,7 +16,9 @@ PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 37 # py-fonttools post-install: cd ${DESTDIR}${PREFIX}/bin && for f in ttffamily ttffiles ttfgroups ttfmetadata; do \ + if [ -f $${f} ]; then \ ${MV} $${f} $${f}${PYVERSSUFFIX}; \ + fi; \ done .include "../../lang/python/distutils.mk" diff --git a/fonts/t1lib/Makefile b/fonts/t1lib/Makefile index 7bf4543499648..b4d6c09cf4b64 100644 --- a/fonts/t1lib/Makefile +++ b/fonts/t1lib/Makefile @@ -11,6 +11,7 @@ COMMENT= Library for generating bitmaps from Adobe Type 1 fonts MAKE_JOBS_SAFE= no USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pax GNU_CONFIGURE= yes From e1b94065ff42ea6ab5941aa12377c8b368ae73d3 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:12:23 +0100 Subject: [PATCH 046/141] Convert "geography" category to multiarch. --- geography/geos/Makefile | 1 + geography/proj/Makefile | 1 + 2 files changed, 2 insertions(+) diff --git a/geography/geos/Makefile b/geography/geos/Makefile index a0db000ab1fa6..2991dc92effd2 100644 --- a/geography/geos/Makefile +++ b/geography/geos/Makefile @@ -34,6 +34,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c c++11 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes GNU_CONFIGURE= yes diff --git a/geography/proj/Makefile b/geography/proj/Makefile index 1bff453d12429..844917447d928 100644 --- a/geography/proj/Makefile +++ b/geography/proj/Makefile @@ -20,6 +20,7 @@ PREV_PKGPATH= misc/proj USE_LANGUAGES= c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake GNU_CONFIGURE= yes From 8018112b64a31e3e9ec8e8824b1f40af1864073d Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:12:39 +0100 Subject: [PATCH 047/141] Convert "graphics" category to multiarch. --- graphics/GraphicsMagick/Makefile | 1 + graphics/ImageMagick/Makefile | 1 + graphics/MesaLib/Makefile | 1 + graphics/SDL_image/Makefile | 1 + graphics/cairo-gobject/Makefile | 4 +- graphics/cairo/Makefile.common | 1 + graphics/cairomm/Makefile | 1 + graphics/clutter/Makefile | 1 + graphics/cogl/Makefile | 1 + graphics/exiv2/Makefile.common | 1 + graphics/freetype-lib/Makefile.common | 1 + graphics/freetype2/Makefile | 1 + graphics/gd/Makefile | 1 + graphics/gdchart/Makefile | 5 +- graphics/gdk-pixbuf2/Makefile | 1 + graphics/giflib/Makefile | 2 + graphics/glu/Makefile | 1 + graphics/goocanvas2/Makefile | 1 + graphics/graphviz/Makefile | 11 ++- graphics/graphviz/PLIST | 106 ++++++++++----------- graphics/ilmbase/Makefile | 1 + graphics/jasper/Makefile | 1 + graphics/jbigkit/Makefile | 5 +- graphics/jpeg/Makefile | 1 + graphics/lcms/Makefile | 1 + graphics/lcms2/Makefile | 1 + graphics/libart/Makefile | 1 + graphics/libepoxy/Makefile | 1 + graphics/libexif/Makefile | 1 + graphics/libgnomecanvas/Makefile | 1 + graphics/libjpeg-turbo/Makefile | 1 + graphics/libotf/Makefile | 1 + graphics/librsvg/Makefile | 1 + graphics/libwebp/Makefile | 1 + graphics/mng/Makefile | 1 + graphics/netpbm/Makefile | 6 +- graphics/netpbm/distinfo | 4 +- graphics/netpbm/patches/patch-common.mk | 2 +- graphics/netpbm/patches/patch-lib_Makefile | 47 ++++++--- graphics/ocrad/Makefile | 2 + graphics/opencv/Makefile | 4 +- graphics/opencv/PLIST | 8 +- graphics/openexr/Makefile | 1 + graphics/openjpeg/Makefile | 2 + graphics/openjpeg15/Makefile | 2 + graphics/plotutils/Makefile | 1 + graphics/png/Makefile | 1 + graphics/py-cairo/PLIST | 14 +-- graphics/tiff/Makefile | 3 +- 49 files changed, 167 insertions(+), 92 deletions(-) diff --git a/graphics/GraphicsMagick/Makefile b/graphics/GraphicsMagick/Makefile index a07afd25a78d6..ec381565a73c2 100644 --- a/graphics/GraphicsMagick/Makefile +++ b/graphics/GraphicsMagick/Makefile @@ -12,6 +12,7 @@ DEPENDS+= urw-fonts-[0-9]*:../../fonts/urw-fonts USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake pkg-config:run gs:run USE_FEATURES= vsnprintf # optional but recommended for security GNU_CONFIGURE= yes diff --git a/graphics/ImageMagick/Makefile b/graphics/ImageMagick/Makefile index 34e089edeb80b..db4298502c384 100644 --- a/graphics/ImageMagick/Makefile +++ b/graphics/ImageMagick/Makefile @@ -10,6 +10,7 @@ COMMENT= Package for display and interactive manipulation of images CONFLICTS= geomview<1.8.1nb2 # used to have a program named 'animate' USE_LANGUAGES= c c++ c99 +USE_MULTIARCH= bin lib USE_TOOLS+= gmake pkg-config:run CONFIGURE_ARGS+= --disable-assert CONFIGURE_ARGS+= --with-fontconfig diff --git a/graphics/MesaLib/Makefile b/graphics/MesaLib/Makefile index 9ae8128453b06..5122911a0bab4 100644 --- a/graphics/MesaLib/Makefile +++ b/graphics/MesaLib/Makefile @@ -16,6 +16,7 @@ GNU_CONFIGURE= yes USE_TOOLS+= bison pkg-config gmake flex USE_LANGUAGES= c99 c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib #CFLAGS+= -g -O0 #CXXFLAGS+= -g -O0 diff --git a/graphics/SDL_image/Makefile b/graphics/SDL_image/Makefile index 1c259e350b621..43a3253ef828c 100644 --- a/graphics/SDL_image/Makefile +++ b/graphics/SDL_image/Makefile @@ -13,6 +13,7 @@ LICENSE= zlib CONFLICTS= SDL-image-[0-9]* USE_LIBTOOL= YES +USE_MULTIARCH= lib GNU_CONFIGURE= YES CONFIGURE_ARGS+= --enable-tif CONFIGURE_ENV+= OBJC=${CC:Q} diff --git a/graphics/cairo-gobject/Makefile b/graphics/cairo-gobject/Makefile index a57d37e5b7cbd..4e4f17138e87d 100644 --- a/graphics/cairo-gobject/Makefile +++ b/graphics/cairo-gobject/Makefile @@ -8,13 +8,13 @@ PKGNAME= ${DISTNAME:S/-/-gobject-/} BUILD_DIRS= util/cairo-gobject INSTALL_DIRS= util/cairo-gobject -INSTALLATION_DIRS+= lib/pkgconfig +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/pkgconfig .include "../../mk/bsd.prefs.mk" post-install: ${INSTALL_DATA} ${WRKSRC}/src/cairo-gobject.pc \ - ${DESTDIR}${PREFIX}/lib/pkgconfig + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../graphics/cairo/buildlink3.mk" ### diff --git a/graphics/cairo/Makefile.common b/graphics/cairo/Makefile.common index d254be2b5887a..33a3f639b4c44 100644 --- a/graphics/cairo/Makefile.common +++ b/graphics/cairo/Makefile.common @@ -18,6 +18,7 @@ PATCHDIR= ${.CURDIR}/../../graphics/cairo/patches USE_LANGUAGES= c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/graphics/cairomm/Makefile b/graphics/cairomm/Makefile index 987999df60b49..b7e5f73fc27a8 100644 --- a/graphics/cairomm/Makefile +++ b/graphics/cairomm/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake perl pkg-config GNU_CONFIGURE= yes diff --git a/graphics/clutter/Makefile b/graphics/clutter/Makefile index 0543d71828bd2..6d8ceb003ea1c 100644 --- a/graphics/clutter/Makefile +++ b/graphics/clutter/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config USE_PKGLOCALEDIR= yes diff --git a/graphics/cogl/Makefile b/graphics/cogl/Makefile index faef070659228..9cc1ba2b111bc 100644 --- a/graphics/cogl/Makefile +++ b/graphics/cogl/Makefile @@ -17,6 +17,7 @@ CONFLICTS+= clutter<1.8 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake gsed pkg-config msgfmt USE_PKGLOCALEDIR= yes diff --git a/graphics/exiv2/Makefile.common b/graphics/exiv2/Makefile.common index 0c6bde8af39f9..50ed585f86457 100644 --- a/graphics/exiv2/Makefile.common +++ b/graphics/exiv2/Makefile.common @@ -24,6 +24,7 @@ BUILD_DEPENDS+= gettext-tools-[0-9]*:../../devel/gettext-tools GCC_REQD+= 3.3 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake msgfmt GNU_CONFIGURE= yes # The visibility feature seems complicated and causes problems on DragonFly diff --git a/graphics/freetype-lib/Makefile.common b/graphics/freetype-lib/Makefile.common index 8d5650060058f..d40b41d0f988e 100644 --- a/graphics/freetype-lib/Makefile.common +++ b/graphics/freetype-lib/Makefile.common @@ -17,6 +17,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME:S/.orig//:S/_/-/} USE_TOOLS+= msgfmt USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-locale-dir=${PREFIX}/${PKGLOCALEDIR}/locale diff --git a/graphics/freetype2/Makefile b/graphics/freetype2/Makefile index ac21f9b6834bd..f0979183a9295 100644 --- a/graphics/freetype2/Makefile +++ b/graphics/freetype2/Makefile @@ -14,6 +14,7 @@ COMMENT= Font rendering engine and library API LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= grep gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_DIRS= builds/unix diff --git a/graphics/gd/Makefile b/graphics/gd/Makefile index f075c62955755..e4816e17fe0f6 100644 --- a/graphics/gd/Makefile +++ b/graphics/gd/Makefile @@ -21,6 +21,7 @@ GITHUB_RELEASE= gd-${PKGVERSION_NOREV} .include "options.mk" USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= perl:run pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-werror diff --git a/graphics/gdchart/Makefile b/graphics/gdchart/Makefile index b879fcc0da721..368409ed4d3be 100644 --- a/graphics/gdchart/Makefile +++ b/graphics/gdchart/Makefile @@ -11,7 +11,8 @@ HOMEPAGE= http://www.fred.net/brv/chart/ COMMENT= Easy to use, fast C API for creating charts and graphs USE_LIBTOOL= yes -INSTALLATION_DIRS= include lib +USE_MULTIARCH= lib +INSTALLATION_DIRS= include lib${LIBARCHSUFFIX} #TEST_TARGET= gdc_samp1 gdc_samp2 gdc_pie_samp ft_samp @@ -24,7 +25,7 @@ post-patch: do-install: ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libgdchart.la \ - ${DESTDIR}${PREFIX}/lib + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} ${INSTALL_DATA} ${WRKSRC}/gdchart.h ${DESTDIR}${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/gdc.h ${DESTDIR}${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/gdcpie.h ${DESTDIR}${PREFIX}/include diff --git a/graphics/gdk-pixbuf2/Makefile b/graphics/gdk-pixbuf2/Makefile index 5291f3f59ff10..6fd090a498194 100644 --- a/graphics/gdk-pixbuf2/Makefile +++ b/graphics/gdk-pixbuf2/Makefile @@ -16,6 +16,7 @@ CONFLICTS+= gtk2+<2.22 .include "../../graphics/gdk-pixbuf2/Makefile.version" USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes diff --git a/graphics/giflib/Makefile b/graphics/giflib/Makefile index 175f035d12df9..6e951cdd0df67 100644 --- a/graphics/giflib/Makefile +++ b/graphics/giflib/Makefile @@ -6,6 +6,8 @@ COMMENT= GIF image format library CONFLICTS+= libungif-[0-9]* +USE_MULTIARCH= lib + BUILD_DIRS= lib INSTALL_DIRS= lib diff --git a/graphics/glu/Makefile b/graphics/glu/Makefile index 1b285076fc4de..caf8c2ec4ae7f 100644 --- a/graphics/glu/Makefile +++ b/graphics/glu/Makefile @@ -15,6 +15,7 @@ GNU_CONFIGURE= yes USE_LIBTOOL= yes USE_TOOLS+= pkg-config USE_LANGUAGES= c c++ +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= glu.pc.in diff --git a/graphics/goocanvas2/Makefile b/graphics/goocanvas2/Makefile index b7bcdea704de4..f35e78cda48bb 100644 --- a/graphics/goocanvas2/Makefile +++ b/graphics/goocanvas2/Makefile @@ -15,6 +15,7 @@ LICENSE= gnu-lgpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config msgfmt gmake USE_PKGLOCALEDIR= yes diff --git a/graphics/graphviz/Makefile b/graphics/graphviz/Makefile index d7caab9d65902..2b455cd0ae022 100644 --- a/graphics/graphviz/Makefile +++ b/graphics/graphviz/Makefile @@ -16,6 +16,7 @@ PRIVILEGED_STAGES+= clean USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= automake bison flex pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-java @@ -27,6 +28,8 @@ CONFIGURE_ARGS+= --disable-r # build fails when PHP and/or Ruby are also installed CONFIGURE_ENV+= ac_cv_prog_PHP= CONFIGURE_ENV+= ac_cv_prog_RUBY= +# Not ideal but configure hardcodes paths +CONFIGURE_ENV+= LIBPOSTFIX=${LIBARCHSUFFIX} CPPFLAGS+= -DNO_POSTSCRIPT_ALIAS=1 PKGCONFIG_OVERRIDE+= lib/cdt/libcdt.pc.in PKGCONFIG_OVERRIDE+= lib/cgraph/libcgraph.pc.in @@ -39,6 +42,8 @@ PKGCONFIG_OVERRIDE+= lib/sfdpgen/libsfdp.pc.in PKGCONFIG_OVERRIDE+= lib/xdot/libxdot.pc.in XAW_TYPE= standard +MULTIARCH_DIRS.lib= # defined in PLIST + # With lua51 there's a PLIST divergence and it isn't obvious whether # it's serious or not, or what causes it. LUA_VERSIONS_INCOMPATIBLE= 51 @@ -65,9 +70,9 @@ pre-build: # Remove temporary files and directories created by re-linking "libgv_lua.la". post-install: - ${RM} -rf ${DESTDIR}${PREFIX}/lib/graphviz/lua/gv.so \ - ${DESTDIR}${PREFIX}/lib/graphviz/tcl/tcl \ - ${DESTDIR}${PREFIX}/lib/lua/5.1/gv.so + ${RM} -rf ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/graphviz/lua/gv.so \ + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/graphviz/tcl/tcl \ + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/lua/5.1/gv.so .include "options.mk" diff --git a/graphics/graphviz/PLIST b/graphics/graphviz/PLIST index c0bbc26de2327..3d8ffbb8625bb 100644 --- a/graphics/graphviz/PLIST +++ b/graphics/graphviz/PLIST @@ -67,61 +67,61 @@ include/graphviz/textspan.h include/graphviz/types.h include/graphviz/usershape.h include/graphviz/xdot.h -${PLIST.guile}lib/graphviz/guile/libgv_guile.la -lib/graphviz/libgvplugin_core.la -lib/graphviz/libgvplugin_dot_layout.la -${PLIST.gd}lib/graphviz/libgvplugin_gd.la -${PLIST.gtk}lib/graphviz/libgvplugin_gdk.la -${PLIST.ghostscript}lib/graphviz/libgvplugin_gs.la -${PLIST.gtk}lib/graphviz/libgvplugin_gtk.la -lib/graphviz/libgvplugin_neato_layout.la -lib/graphviz/libgvplugin_pango.la -${PLIST.poppler}lib/graphviz/libgvplugin_poppler.la -${PLIST.quartz}lib/graphviz/libgvplugin_quartz.la -${PLIST.svg}lib/graphviz/libgvplugin_rsvg.la -${PLIST.x11}lib/graphviz/libgvplugin_xlib.la -${PLIST.lua}lib/graphviz/lua/libgv_lua.la -${PLIST.ocaml}lib/graphviz/ocaml/META.gv -${PLIST.ocaml}lib/graphviz/ocaml/gv.a -${PLIST.ocaml}lib/graphviz/ocaml/gv.cma -${PLIST.ocaml}lib/graphviz/ocaml/gv.cmi -${PLIST.ocaml}lib/graphviz/ocaml/gv.cmo -${PLIST.ocaml}lib/graphviz/ocaml/gv.cmx -${PLIST.ocaml}lib/graphviz/ocaml/gv.cmxa -${PLIST.ocaml}lib/graphviz/ocaml/gv.mli -${PLIST.ocaml}lib/graphviz/ocaml/libgv_ocaml.la -${PLIST.perl}lib/graphviz/perl/gv.pm -${PLIST.perl}lib/graphviz/perl/gv.so -${PLIST.perl}lib/graphviz/perl/libgv_perl.la -${PLIST.tcl}${PLIST.gd}lib/graphviz/tcl/libgdtclft.la -${PLIST.tcl}lib/graphviz/tcl/libgv_tcl.la -${PLIST.tcl}lib/graphviz/tcl/libtcldot.la -${PLIST.tcl}lib/graphviz/tcl/libtcldot_builtin.la -${PLIST.tcl}lib/graphviz/tcl/libtclplan.la -${PLIST.tcl}lib/graphviz/tcl/pkgIndex.tcl -lib/libcdt.la -lib/libcgraph.la -lib/libgvc.la -lib/libgvpr.la -lib/liblab_gamut.la -lib/libpathplan.la -lib/libxdot.la -${PLIST.lua}lib/lua/gv.so +${PLIST.guile}lib${LIBARCHSUFFIX}/graphviz/guile/libgv_guile.la +lib${LIBARCHSUFFIX}/graphviz/libgvplugin_core.la +lib${LIBARCHSUFFIX}/graphviz/libgvplugin_dot_layout.la +${PLIST.gd}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_gd.la +${PLIST.gtk}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_gdk.la +${PLIST.ghostscript}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_gs.la +${PLIST.gtk}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_gtk.la +lib${LIBARCHSUFFIX}/graphviz/libgvplugin_neato_layout.la +lib${LIBARCHSUFFIX}/graphviz/libgvplugin_pango.la +${PLIST.poppler}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_poppler.la +${PLIST.quartz}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_quartz.la +${PLIST.svg}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_rsvg.la +${PLIST.x11}lib${LIBARCHSUFFIX}/graphviz/libgvplugin_xlib.la +${PLIST.lua}lib${LIBARCHSUFFIX}/graphviz/lua/libgv_lua.la +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/META.gv +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.a +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.cma +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.cmi +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.cmo +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.cmx +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.cmxa +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/gv.mli +${PLIST.ocaml}lib${LIBARCHSUFFIX}/graphviz/ocaml/libgv_ocaml.la +${PLIST.perl}lib${LIBARCHSUFFIX}/graphviz/perl/gv.pm +${PLIST.perl}lib${LIBARCHSUFFIX}/graphviz/perl/gv.so +${PLIST.perl}lib${LIBARCHSUFFIX}/graphviz/perl/libgv_perl.la +${PLIST.tcl}${PLIST.gd}lib${LIBARCHSUFFIX}/graphviz/tcl/libgdtclft.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/graphviz/tcl/libgv_tcl.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/graphviz/tcl/libtcldot.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/graphviz/tcl/libtcldot_builtin.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/graphviz/tcl/libtclplan.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/graphviz/tcl/pkgIndex.tcl +lib${LIBARCHSUFFIX}/libcdt.la +lib${LIBARCHSUFFIX}/libcgraph.la +lib${LIBARCHSUFFIX}/libgvc.la +lib${LIBARCHSUFFIX}/libgvpr.la +lib${LIBARCHSUFFIX}/liblab_gamut.la +lib${LIBARCHSUFFIX}/libpathplan.la +lib${LIBARCHSUFFIX}/libxdot.la +${PLIST.lua}lib${LIBARCHSUFFIX}/lua/gv.so ${PLIST.perl}${PERL5_SUB_INSTALLVENDORARCH}/gv.pm ${PLIST.perl}${PERL5_SUB_INSTALLVENDORARCH}/gv.so -lib/pkgconfig/libcdt.pc -lib/pkgconfig/libcgraph.pc -lib/pkgconfig/libgvc.pc -lib/pkgconfig/libgvpr.pc -lib/pkgconfig/liblab_gamut.pc -lib/pkgconfig/libpathplan.pc -lib/pkgconfig/libxdot.pc -${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libgdtclft.la -${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libgv_tcl.la -${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libtcldot.la -${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libtcldot_builtin.la -${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libtclplan.la -${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/pkgIndex.tcl +lib${LIBARCHSUFFIX}/pkgconfig/libcdt.pc +lib${LIBARCHSUFFIX}/pkgconfig/libcgraph.pc +lib${LIBARCHSUFFIX}/pkgconfig/libgvc.pc +lib${LIBARCHSUFFIX}/pkgconfig/libgvpr.pc +lib${LIBARCHSUFFIX}/pkgconfig/liblab_gamut.pc +lib${LIBARCHSUFFIX}/pkgconfig/libpathplan.pc +lib${LIBARCHSUFFIX}/pkgconfig/libxdot.pc +${PLIST.tcl}lib${LIBARCHSUFFIX}/tcl${TCL_BASEVER}/graphviz/libgdtclft.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/tcl${TCL_BASEVER}/graphviz/libgv_tcl.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/tcl${TCL_BASEVER}/graphviz/libtcldot.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/tcl${TCL_BASEVER}/graphviz/libtcldot_builtin.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/tcl${TCL_BASEVER}/graphviz/libtclplan.la +${PLIST.tcl}lib${LIBARCHSUFFIX}/tcl${TCL_BASEVER}/graphviz/pkgIndex.tcl man/man1/acyclic.1 man/man1/bcomps.1 man/man1/ccomps.1 diff --git a/graphics/ilmbase/Makefile b/graphics/ilmbase/Makefile index 4588fb234dda4..cbb16cb55bd7c 100644 --- a/graphics/ilmbase/Makefile +++ b/graphics/ilmbase/Makefile @@ -11,6 +11,7 @@ LICENSE= modified-bsd USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= bash gmake GNU_CONFIGURE= yes TEST_TARGET= check diff --git a/graphics/jasper/Makefile b/graphics/jasper/Makefile index 8ae269ba8b190..3c0c3690b13f5 100644 --- a/graphics/jasper/Makefile +++ b/graphics/jasper/Makefile @@ -11,6 +11,7 @@ LICENSE= modified-bsd USE_CMAKE= yes USE_LANGUAGES= c99 c++ +USE_MULTIARCH= lib CMAKE_ARGS+= -DALLOW_IN_SOURCE_BUILD=ON PKGCONFIG_OVERRIDE= pkgconfig/jasper.pc diff --git a/graphics/jbigkit/Makefile b/graphics/jbigkit/Makefile index 07a5ecbc8daa2..a255c35fba489 100644 --- a/graphics/jbigkit/Makefile +++ b/graphics/jbigkit/Makefile @@ -10,11 +10,12 @@ COMMENT= JBIG-KIT lossless image compression library LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake TEST_TARGET= test -INSTALLATION_DIRS= bin include lib ${PKGMANDIR}/man1 share/doc/jbig +INSTALLATION_DIRS= bin include lib${LIBARCHSUFFIX} ${PKGMANDIR}/man1 share/doc/jbig do-install: ${RUN} cd ${WRKSRC}/libjbig; \ @@ -23,7 +24,7 @@ do-install: done; \ for l in *.la; do \ ${LIBTOOL} --mode=install ${INSTALL_LIB} "$${l}" \ - ${DESTDIR}${PREFIX}/lib; \ + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}; \ done; \ for t in *.txt; do \ ${INSTALL_DATA} "$${t}" ${DESTDIR}${PREFIX}/share/doc/jbig; \ diff --git a/graphics/jpeg/Makefile b/graphics/jpeg/Makefile index 7af3e81b6eacb..e969a09a9afe7 100644 --- a/graphics/jpeg/Makefile +++ b/graphics/jpeg/Makefile @@ -14,6 +14,7 @@ CONFLICTS= libjpeg-turbo-[0-9]* WRKSRC= ${WRKDIR}/${PKGNAME_NOREV} USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-ld-version-script diff --git a/graphics/lcms/Makefile b/graphics/lcms/Makefile index a6336099b1439..362bf6ff0e4ac 100644 --- a/graphics/lcms/Makefile +++ b/graphics/lcms/Makefile @@ -13,6 +13,7 @@ COMMENT= Little Color Management System -- a color management library GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib TEST_TARGET= check # lcms does not need zlib, but will look for it and link it to tifficc diff --git a/graphics/lcms2/Makefile b/graphics/lcms2/Makefile index 3b24b049ae9f5..2b76145706e69 100644 --- a/graphics/lcms2/Makefile +++ b/graphics/lcms2/Makefile @@ -10,6 +10,7 @@ COMMENT= Little Color Management System - a color management library LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes TEST_TARGET= check diff --git a/graphics/libart/Makefile b/graphics/libart/Makefile index be2fe9a429a9d..836d151862010 100644 --- a/graphics/libart/Makefile +++ b/graphics/libart/Makefile @@ -12,6 +12,7 @@ COMMENT= High-performance 2D graphics library GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= bin lib PKGCONFIG_OVERRIDE= libart-2.0.pc.in # bmake cannot handle the self-made libtool logic in Makefile.am. USE_TOOLS+= gmake diff --git a/graphics/libepoxy/Makefile b/graphics/libepoxy/Makefile index da4b7122ba67a..4f263d15cd296 100644 --- a/graphics/libepoxy/Makefile +++ b/graphics/libepoxy/Makefile @@ -13,6 +13,7 @@ LICENSE= mit BUILD_DEPENDS+= ${PYPKGPREFIX}-expat>=0:../../textproc/py-expat USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config autoconf autoreconf automake GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= epoxy.pc.in diff --git a/graphics/libexif/Makefile b/graphics/libexif/Makefile index 7976350509952..1efa3b7cdcbe5 100644 --- a/graphics/libexif/Makefile +++ b/graphics/libexif/Makefile @@ -11,6 +11,7 @@ COMMENT= EXIF file library LICENSE= gnu-lgpl-v2.1 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake GNU_CONFIGURE= yes diff --git a/graphics/libgnomecanvas/Makefile b/graphics/libgnomecanvas/Makefile index fec3440109904..9ef62c4c21d63 100644 --- a/graphics/libgnomecanvas/Makefile +++ b/graphics/libgnomecanvas/Makefile @@ -15,6 +15,7 @@ GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake msgfmt pkg-config intltool USE_LIBTOOL= yes +USE_MULTIARCH= lib # XXX not sure whether it is useful, just to keep status quo CONFIGURE_ARGS+= --enable-glade diff --git a/graphics/libjpeg-turbo/Makefile b/graphics/libjpeg-turbo/Makefile index 835dbce03bb25..08d51a6ceaaae 100644 --- a/graphics/libjpeg-turbo/Makefile +++ b/graphics/libjpeg-turbo/Makefile @@ -24,6 +24,7 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-jpeg8 USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= release/libturbojpeg.pc.in release/libjpeg.pc.in diff --git a/graphics/libotf/Makefile b/graphics/libotf/Makefile index 7aba30b5940bc..fd3d98c2919f4 100644 --- a/graphics/libotf/Makefile +++ b/graphics/libotf/Makefile @@ -11,6 +11,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= libotf.pc.in diff --git a/graphics/librsvg/Makefile b/graphics/librsvg/Makefile index d0e462d193a36..1c5a9bbd7425c 100644 --- a/graphics/librsvg/Makefile +++ b/graphics/librsvg/Makefile @@ -15,6 +15,7 @@ CONFLICTS+= librsvg2-gtk-[0-9]* librsvg2-[0-9]* MAKE_JOBS_SAFE= NO USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config gmake USE_LANGUAGES+= c c++ GNU_CONFIGURE= yes diff --git a/graphics/libwebp/Makefile b/graphics/libwebp/Makefile index 9c5bef4e75519..64551feaf8c5e 100644 --- a/graphics/libwebp/Makefile +++ b/graphics/libwebp/Makefile @@ -12,6 +12,7 @@ LICENSE= modified-bsd .include "options.mk" USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-libwebpdemux diff --git a/graphics/mng/Makefile b/graphics/mng/Makefile index a0daa11de1e44..65245087d2d3a 100644 --- a/graphics/mng/Makefile +++ b/graphics/mng/Makefile @@ -13,6 +13,7 @@ COMMENT= Multiple-image Network Graphics (MNG) reference library GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib CONFIGURE_ARGS+= --with-jpeg=${JPEGBASE} CONFIGURE_ARGS+= --with-lcms2 diff --git a/graphics/netpbm/Makefile b/graphics/netpbm/Makefile index f0b011d16ae16..08c4c1d94a867 100644 --- a/graphics/netpbm/Makefile +++ b/graphics/netpbm/Makefile @@ -21,10 +21,12 @@ LICENSE= gnu-gpl-v2 USE_TOOLS+= gmake flex pax perl USE_FEATURES= snprintf +USE_MULTIARCH= lib INSTALL_TARGET= install-dev install-run MAKE_ENV+= INSTALL=${INSTALL:Q} STRIPFLAG=${_STRIPFLAG_INSTALL:Q} \ - pkgdir=${STAGEDIR} MACHINE=${MACHINE:Q} + pkgdir=${STAGEDIR} MACHINE=${MACHINE:Q} \ + LIBARCHSUFFIX=${LIBARCHSUFFIX:Q} MAKE_FLAGS+= PKGMANDIR=${PKGMANDIR} MAKE_FLAGS+= CFLAGS_FOR_BUILD=${CFLAGS:Q} MAKE_FLAGS+= LDFLAGS_FOR_BUILD=${LDFLAGS:Q} @@ -38,7 +40,7 @@ REPLACE_PERL+= editor/ppmshadow REPLACE_PERL+= generator/ppmrainbow REPLACE_PERL+= manweb REPLACE_SH+= buildtools/stamp-date -STAGEDIR= ${WRKDIR}/staging +STAGEDIR= ${WRKDIR}/staging-${ABI} WRKSRC= ${WRKDIR}/netpbm WRAPPER_REORDER_CMDS+= reorder:l:rle:netpbm diff --git a/graphics/netpbm/distinfo b/graphics/netpbm/distinfo index 0a808929fa0bc..f772a8c9d0ef1 100644 --- a/graphics/netpbm/distinfo +++ b/graphics/netpbm/distinfo @@ -8,6 +8,6 @@ SHA1 (netpbm-docs-r3052.tar.gz) = 6986a401717fd1ecb330fd426738bd8069eaf85c RMD160 (netpbm-docs-r3052.tar.gz) = 3486f2df6e2e1b83cc5221a969da5db8b842c9ef SHA512 (netpbm-docs-r3052.tar.gz) = 0217139aaf8ddba720df3b5242988674d4e5c2ab8f7399de1ecbe169e702eb79dbb55e1622b1af14058cfd3110d1ef0453237e57fb498d3220369d99afa4d77f Size (netpbm-docs-r3052.tar.gz) = 472779 bytes -SHA1 (patch-common.mk) = f590cc66e0fe6a07e848b9b46662bca350557bea -SHA1 (patch-lib_Makefile) = ff67c418c9d16bdc9d9c95ba658686aa36f213a0 +SHA1 (patch-common.mk) = cb8d252595055903877464015f3bcd393e7dd043 +SHA1 (patch-lib_Makefile) = 65906b58afadb92d35ace01f357a890d5831a9bc SHA1 (patch-pm__config.in.h) = dfe51691507a2c7be2946013b1f1b6bdd9b39f49 diff --git a/graphics/netpbm/patches/patch-common.mk b/graphics/netpbm/patches/patch-common.mk index 791775ae1e9d5..b71a1eb6d650c 100644 --- a/graphics/netpbm/patches/patch-common.mk +++ b/graphics/netpbm/patches/patch-common.mk @@ -8,7 +8,7 @@ Simplify install target. PKGMANSUBDIRS = man1 man3 man5 web -PKGSUBDIRS = bin include include/netpbm lib link misc \ -+PKGSUBDIRS = bin include include/netpbm lib misc \ ++PKGSUBDIRS = bin include include/netpbm lib$(LIBARCHSUFFIX) misc \ $(PKGMANSUBDIRS:%=$(PKGMANDIR)/%) $(PKGSUBDIRS:%=$(PKGDIR)/%): diff --git a/graphics/netpbm/patches/patch-lib_Makefile b/graphics/netpbm/patches/patch-lib_Makefile index 22f1c5086417c..54814f6ce800c 100644 --- a/graphics/netpbm/patches/patch-lib_Makefile +++ b/graphics/netpbm/patches/patch-lib_Makefile @@ -3,7 +3,7 @@ $NetBSD: patch-lib_Makefile,v 1.2 2017/07/12 09:00:33 wiz Exp $ Honor LDFLAGS. Simplify install target. ---- lib/Makefile.orig 2017-02-04 18:09:33.000000000 +0000 +--- lib/Makefile.orig 2017-09-04 20:04:32.000000000 +0000 +++ lib/Makefile @@ -130,7 +130,7 @@ $(SONAME): libnetpbm.$(NETPBMLIBSUFFIX). $(SYMLINK) $< $@ @@ -14,34 +14,57 @@ Simplify install target. endif ifeq ($(NETPBMLIBTYPE),dll) -@@ -217,7 +217,7 @@ libpm.o: compile.h +@@ -220,11 +220,11 @@ libpm.o: compile.h .PHONY: install.lib ifeq ($(NETPBMLIBTYPE),unixshared) # install a Unix-style shared library -install.lib: $(PKGDIR)/lib $(PKGDIR)/link -+install.lib: $(PKGDIR)/lib - cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).* +- cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).* ++install.lib: $(PKGDIR)/lib$(LIBARCHSUFFIX) ++ cd $(PKGDIR)/lib$(LIBARCHSUFFIX) ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).* $(INSTALL) -c -m $(INSTALL_PERM_LIBD) \ - libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/ -@@ -259,28 +259,28 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(P +- libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/ +- cd $(PKGDIR)/lib/ ; \ ++ libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib$(LIBARCHSUFFIX)/ ++ cd $(PKGDIR)/lib$(LIBARCHSUFFIX)/ ; \ + rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ); \ + $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(SONAME) + endif +@@ -239,11 +239,11 @@ install.lib: $(PKGDIR)/bin + endif + ifeq ($(NETPBMLIBTYPE),dylib) + # install a Darwin-style shared library +-install.lib: $(PKGDIR)/lib +- cd $(PKGDIR)/lib ; rm -f libnetpbm.*.dylib ++install.lib: $(PKGDIR)/lib$(LIBARCHSUFFIX) ++ cd $(PKGDIR)/lib$(LIBARCHSUFFIX) ; rm -f libnetpbm.*.dylib + $(INSTALL) -c -m $(INSTALL_PERM_LIBD) libnetpbm.$(MAJ).$(MIN).dylib \ +- $(PKGDIR)/lib +- cd $(PKGDIR)/lib ; \ ++ $(PKGDIR)/lib$(LIBARCHSUFFIX) ++ cd $(PKGDIR)/lib$(LIBARCHSUFFIX) ; \ + rm -f libnetpbm.$(MAJ).dylib; \ + $(SYMLINK) libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.$(MAJ).dylib + endif +@@ -262,28 +262,28 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(P $(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/netpbm/ .PHONY: install.staticlib -install.staticlib: $(PKGDIR)/link -+install.staticlib: $(PKGDIR)/lib ++install.staticlib: $(PKGDIR)/lib$(LIBARCHSUFFIX) $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \ - $(PKGDIR)/link -+ $(PKGDIR)/lib ++ $(PKGDIR)/lib$(LIBARCHSUFFIX) # Install a shared library stub -- the ".so" file used at link time to # prepare a program for dynamically linking a library at run time .PHONY: install.sharedlibstub -install.sharedlibstub: $(PKGDIR)/link -+install.sharedlibstub: $(PKGDIR)/lib ++install.sharedlibstub: $(PKGDIR)/lib$(LIBARCHSUFFIX) ifeq ($(NETPBMLIBTYPE),unixshared) # install the link-time (.so) links to the runtime libraries - cd $(PKGDIR)/link ; \ -+ cd $(PKGDIR)/lib ; \ ++ cd $(PKGDIR)/lib$(LIBARCHSUFFIX) ; \ rm -f libnetpbm.$(NETPBMLIBSUFFIX); \ - $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \ + $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \ @@ -49,11 +72,11 @@ Simplify install target. endif ifeq ($(NETPBMLIBTYPE),dll) - $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/link -+ $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/lib ++ $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/lib$(LIBARCHSUFFIX) endif ifeq ($(NETPBMLIBTYPE),dylib) - cd $(PKGDIR)/link/ ; \ -+ cd $(PKGDIR)/lib/ ; \ ++ cd $(PKGDIR)/lib$(LIBARCHSUFFIX)/ ; \ rm -f libnetpbm.dylib; \ - $(SYMLINK) ../lib/libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.dylib + $(SYMLINK) libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.dylib diff --git a/graphics/ocrad/Makefile b/graphics/ocrad/Makefile index 8c67f188d37f3..1aa67d1a0012e 100644 --- a/graphics/ocrad/Makefile +++ b/graphics/ocrad/Makefile @@ -11,10 +11,12 @@ COMMENT= GNU OCR (Optical Character Recognition) program LICENSE= gnu-gpl-v3 USE_LANGUAGES= c++ +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes HAS_CONFIGURE= yes CONFIGURE_ARGS+= --prefix=${PREFIX} CONFIGURE_ARGS+= --infodir=${PREFIX}/${PKGINFODIR} +CONFIGURE_ARGS+= --libdir=${PREFIX}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} CONFIGURE_ENV+= CXXFLAGS=${CXXFLAGS:Q} INFO_FILES= yes diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile index cc7e51f061569..476d45c0c1b51 100644 --- a/graphics/opencv/Makefile +++ b/graphics/opencv/Makefile @@ -13,6 +13,7 @@ LICENSE= modified-bsd USE_CMAKE= yes USE_LANGUAGES= c c++11 +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config @@ -27,7 +28,7 @@ PY_PATCHPLIST= yes REPLACE_PYTHON+= samples/python/*.py # includes configure output and paths to gmake etc. -CHECK_WRKREF_SKIP= ${PREFIX}/lib/libopencv_core.* +CHECK_WRKREF_SKIP= ${PREFIX}/lib*/libopencv_core.* .include "options.mk" @@ -36,6 +37,7 @@ CMAKE_ARGS+= -DZLIB_ROOT=${BUILDLINK_PREFIX.zlib} CMAKE_ARGS.SunOS+= -DENABLE_PRECOMPILED_HEADERS=NO CMAKE_ARGS.SunOS+= -DOPENCV_PYTHON_SKIP_LINKER_EXCLUDE_LIBS=YES CMAKE_ARGS+= -DWITH_EIGEN=NO +CMAKE_ARGS+= -DOPENCV_CONFIG_INSTALL_PATH=lib${LIBARCHSUFFIX}/cmake/opencv CONFIGURE_ENV+= MACHINE_ARCH=${MACHINE_ARCH} diff --git a/graphics/opencv/PLIST b/graphics/opencv/PLIST index e06f80e5ff9c8..cc65abfec1e4a 100644 --- a/graphics/opencv/PLIST +++ b/graphics/opencv/PLIST @@ -242,6 +242,10 @@ include/opencv2/videostab/outlier_rejection.hpp include/opencv2/videostab/ring_buffer.hpp include/opencv2/videostab/stabilizer.hpp include/opencv2/videostab/wobble_suppression.hpp +lib/cmake/opencv/OpenCVConfig-version.cmake +lib/cmake/opencv/OpenCVConfig.cmake +lib/cmake/opencv/OpenCVModules-release.cmake +lib/cmake/opencv/OpenCVModules.cmake lib/libopencv_calib3d.so lib/libopencv_calib3d.so.3.4 lib/libopencv_calib3d.so.${PKGVERSION} @@ -295,10 +299,6 @@ lib/libopencv_videostab.so.3.4 lib/libopencv_videostab.so.${PKGVERSION} lib/pkgconfig/opencv.pc ${PYSITELIB}/cv2.so -share/OpenCV/OpenCVConfig-version.cmake -share/OpenCV/OpenCVConfig.cmake -share/OpenCV/OpenCVModules-release.cmake -share/OpenCV/OpenCVModules.cmake share/OpenCV/haarcascades/haarcascade_eye.xml share/OpenCV/haarcascades/haarcascade_eye_tree_eyeglasses.xml share/OpenCV/haarcascades/haarcascade_frontalcatface.xml diff --git a/graphics/openexr/Makefile b/graphics/openexr/Makefile index 11e62c1941e3f..bf38bfe4fb575 100644 --- a/graphics/openexr/Makefile +++ b/graphics/openexr/Makefile @@ -11,6 +11,7 @@ LICENSE= modified-bsd USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= OpenEXR.pc.in diff --git a/graphics/openjpeg/Makefile b/graphics/openjpeg/Makefile index ba1812bd3691f..23ce08519f781 100644 --- a/graphics/openjpeg/Makefile +++ b/graphics/openjpeg/Makefile @@ -12,6 +12,8 @@ LICENSE= 2-clause-bsd USE_CMAKE= yes USE_LANGUAGES= c99 c++ +USE_MULTIARCH= lib +CMAKE_ARGS+= -DOPENJPEG_INSTALL_LIB_DIR=lib${LIBARCHSUFFIX} CMAKE_ARGS+= -DOPENJPEG_INSTALL_MAN_DIR=${PKGMANDIR} .include "../../devel/zlib/buildlink3.mk" diff --git a/graphics/openjpeg15/Makefile b/graphics/openjpeg15/Makefile index 93972ef4c39da..613ddac8fea07 100644 --- a/graphics/openjpeg15/Makefile +++ b/graphics/openjpeg15/Makefile @@ -11,6 +11,8 @@ COMMENT= JPEG 2000 library LICENSE= 2-clause-bsd USE_CMAKE= yes +USE_MULTIARCH= lib +CMAKE_ARGS+= -DOPENJPEG_INSTALL_LIB_DIR=lib${LIBARCHSUFFIX} CFLAGS+= -DHAVE_POSIX_MEMALIGN diff --git a/graphics/plotutils/Makefile b/graphics/plotutils/Makefile index 77c8e96312aef..8d67ce159f8a5 100644 --- a/graphics/plotutils/Makefile +++ b/graphics/plotutils/Makefile @@ -14,6 +14,7 @@ CONFLICTS+= plotutils-nox11-[0-9]* USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= lex:run yacc GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-libplotter diff --git a/graphics/png/Makefile b/graphics/png/Makefile index 4a0a74a31af19..c7542fa6d683e 100644 --- a/graphics/png/Makefile +++ b/graphics/png/Makefile @@ -14,6 +14,7 @@ COMMENT= Library for manipulating PNG images LICENSE= zlib USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes # do not create libpng.la CONFIGURE_ARGS+= --disable-unversioned-links diff --git a/graphics/py-cairo/PLIST b/graphics/py-cairo/PLIST index c5354b771325b..ba554b3fabd68 100644 --- a/graphics/py-cairo/PLIST +++ b/graphics/py-cairo/PLIST @@ -3,15 +3,15 @@ ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt -${PYSITELIB}/cairo/__init__.py -${PYSITELIB}/cairo/__init__.pyc -${PYSITELIB}/cairo/__init__.pyi -${PYSITELIB}/cairo/__init__.pyo -${PYSITELIB}/cairo/_cairo.so +${PYSITELIB}${LIBARCHSUFFIX}/cairo/__init__.py +${PYSITELIB}${LIBARCHSUFFIX}/cairo/__init__.pyc +${PYSITELIB}${LIBARCHSUFFIX}/cairo/__init__.pyi +${PYSITELIB}${LIBARCHSUFFIX}/cairo/__init__.pyo +${PYSITELIB}${LIBARCHSUFFIX}/cairo/_cairo.so ${PYSITELIB}/cairo/py.typed ${PLIST.py2x}${PYSITELIB}/cairo/include/pycairo.h ${PLIST.py3x}${PYSITELIB}/cairo/include/py3cairo.h ${PLIST.py2x}include/pycairo/pycairo.h ${PLIST.py3x}include/pycairo/py3cairo.h -${PLIST.py2x}lib/pkgconfig/pycairo.pc -${PLIST.py3x}lib/pkgconfig/py3cairo.pc +${PLIST.py2x}lib${LIBARCHSUFFIX}/pkgconfig/pycairo.pc +${PLIST.py3x}lib${LIBARCHSUFFIX}/pkgconfig/py3cairo.pc diff --git a/graphics/tiff/Makefile b/graphics/tiff/Makefile index cbc0f4798ee27..39af90726fbaf 100644 --- a/graphics/tiff/Makefile +++ b/graphics/tiff/Makefile @@ -14,6 +14,7 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-rpath CONFIGURE_ARGS+= --enable-cxx @@ -27,7 +28,7 @@ TEST_TARGET= check post-install: cd ${DESTDIR}/${PREFIX}/${PKGMANDIR}/man3 && for file in *.3tiff; do\ target=`${ECHO} $$file | sed "s/3tiff/3/"`; \ - ${MV} $$file $$target; \ + [ -f $$file ] && ${MV} $$file $$target || ${TRUE}; \ done .include "options.mk" From 367176cd3249f1b696ab2e1ecc3ebece4f8c5033 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 8 Jan 2015 13:28:46 +0000 Subject: [PATCH 048/141] Convert "inputmethod" category to multiarch. --- inputmethod/input-pad/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/inputmethod/input-pad/Makefile b/inputmethod/input-pad/Makefile index 1640c94509229..987271edbccd2 100644 --- a/inputmethod/input-pad/Makefile +++ b/inputmethod/input-pad/Makefile @@ -9,6 +9,7 @@ COMMENT= On-screen Input Pad to Send Characters with Mouse GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config intltool msgfmt xgettext msgmerge From 47fbc0596cd26758038aa6ac997c94efe54908d2 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:12:57 +0100 Subject: [PATCH 049/141] Convert "lang" category to multiarch. --- lang/gcc49/Makefile | 14 ++ lang/gcc49/distinfo | 8 +- lang/gcc49/patches/patch-gcc_config.gcc | 37 ++++- .../patches/patch-gcc_config_i386_i386.h | 27 ++++ .../patches/patch-gcc_config_i386_sol2-bi.c | 49 ++++++ .../patches/patch-gcc_config_i386_sol2-bi.h | 38 +++++ .../patches/patch-gcc_config_i386_t-sol2-64 | 17 +++ lang/gcc49/patches/patch-gcc_config_sol2-bi.h | 18 +++ lang/gcc49/patches/patch-gcc_config_sol2.h | 18 +++ lang/guile20/Makefile | 3 + lang/lua/buildlink3.mk | 2 +- lang/lua51/Makefile | 6 +- lang/lua51/distinfo | 2 +- lang/lua51/patches/patch-aa | 18 ++- lang/lua52/Makefile | 7 +- lang/lua52/distinfo | 2 +- lang/lua52/files/lua.pc.in | 8 +- lang/lua52/patches/patch-aa | 17 ++- lang/perl5/Makefile | 29 ++-- lang/perl5/Makefile.common | 4 + lang/perl5/PLIST | 6 +- lang/perl5/dirs.mk | 4 + lang/perl5/distinfo | 2 +- lang/perl5/files/Policy.sh | 15 +- lang/perl5/files/deinstall.tmpl | 3 +- lang/perl5/module.mk | 11 ++ lang/perl5/packlist.mk | 12 +- lang/perl5/patches/patch-Configure | 8 + lang/python/extension.mk | 12 +- lang/python/pyversion.mk | 6 + lang/python26/files/pyconfig.h | 10 ++ .../patches/patch-Lib_distutils_sysconfig.py | 30 ++++ lang/python26/patches/patch-Lib_site.py | 21 +++ lang/python26/patches/patch-Modules_getpath.c | 71 +++++++++ lang/python27/Makefile | 31 ++++ lang/python27/PLIST | 138 ++++++++--------- lang/python27/PLIST.SunOS | 2 +- lang/python27/distinfo | 10 +- lang/python27/files/pyconfig.h | 10 ++ .../patch-Lib_distutils_command_install.py | 32 ++++ .../patches/patch-Lib_distutils_sysconfig.py | 30 ++++ lang/python27/patches/patch-Lib_site.py | 21 +++ lang/python27/patches/patch-Lib_sysconfig.py | 34 +++++ lang/python27/patches/patch-Makefile.pre.in | 44 +++++- lang/python27/patches/patch-Modules_getpath.c | 60 +++++++- lang/python32/files/pyconfig.h | 10 ++ .../patches/patch-Lib_distutils_sysconfig.py | 30 ++++ lang/python32/patches/patch-Lib_site.py | 21 +++ lang/python32/patches/patch-Modules_getpath.c | 71 +++++++++ lang/python34/Makefile | 33 ++++ lang/python34/PLIST | 142 +++++++++--------- lang/python34/PLIST.Darwin | 2 +- lang/python34/PLIST.Linux | 4 +- lang/python34/PLIST.SunOS | 2 +- lang/python34/buildlink3.mk | 2 +- lang/python34/distinfo | 10 +- lang/python34/files/pyconfig.h | 10 ++ .../patch-Lib_distutils_command_install.py | 36 ++++- .../patches/patch-Lib_distutils_sysconfig.py | 30 ++++ lang/python34/patches/patch-Lib_site.py | 21 +++ lang/python34/patches/patch-Lib_sysconfig.py | 40 +++++ lang/python34/patches/patch-Makefile.pre.in | 42 +++++- lang/python34/patches/patch-Modules_getpath.c | 71 +++++++++ lang/python34/patches/patch-configure | 9 ++ lang/python35/Makefile | 32 ++++ lang/python35/PLIST | 142 +++++++++--------- lang/python35/PLIST.Linux | 4 +- lang/python35/PLIST.SunOS | 2 +- lang/python35/distinfo | 10 +- lang/python35/files/pyconfig.h | 10 ++ .../patch-Lib_distutils_command_install.py | 34 ++++- .../patches/patch-Lib_distutils_sysconfig.py | 30 ++++ lang/python35/patches/patch-Lib_site.py | 21 +++ lang/python35/patches/patch-Lib_sysconfig.py | 49 ++++++ lang/python35/patches/patch-Makefile.pre.in | 44 +++++- lang/python35/patches/patch-Modules_getpath.c | 62 ++++++++ lang/python35/patches/patch-configure | 9 ++ lang/python36/PLIST.SunOS | 2 +- lang/ruby/buildlink3.mk | 2 +- lang/see/Makefile | 1 + lang/spidermonkey/Makefile | 5 +- lang/tcl/Makefile | 4 +- lang/tcl/PLIST | 68 ++++----- lang/tcl/buildlink3.mk | 2 +- 84 files changed, 1737 insertions(+), 329 deletions(-) create mode 100644 lang/gcc49/patches/patch-gcc_config_i386_i386.h create mode 100644 lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.c create mode 100644 lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.h create mode 100644 lang/gcc49/patches/patch-gcc_config_i386_t-sol2-64 create mode 100644 lang/gcc49/patches/patch-gcc_config_sol2-bi.h create mode 100644 lang/gcc49/patches/patch-gcc_config_sol2.h create mode 100644 lang/python26/files/pyconfig.h create mode 100644 lang/python26/patches/patch-Lib_distutils_sysconfig.py create mode 100644 lang/python26/patches/patch-Lib_site.py create mode 100644 lang/python26/patches/patch-Modules_getpath.c create mode 100644 lang/python27/files/pyconfig.h create mode 100644 lang/python27/patches/patch-Lib_distutils_sysconfig.py create mode 100644 lang/python27/patches/patch-Lib_site.py create mode 100644 lang/python32/files/pyconfig.h create mode 100644 lang/python32/patches/patch-Lib_distutils_sysconfig.py create mode 100644 lang/python32/patches/patch-Lib_site.py create mode 100644 lang/python32/patches/patch-Modules_getpath.c create mode 100644 lang/python34/files/pyconfig.h create mode 100644 lang/python34/patches/patch-Lib_distutils_sysconfig.py create mode 100644 lang/python34/patches/patch-Lib_site.py create mode 100644 lang/python34/patches/patch-Lib_sysconfig.py create mode 100644 lang/python34/patches/patch-Modules_getpath.c create mode 100644 lang/python35/files/pyconfig.h create mode 100644 lang/python35/patches/patch-Lib_distutils_sysconfig.py create mode 100644 lang/python35/patches/patch-Lib_site.py create mode 100644 lang/python35/patches/patch-Lib_sysconfig.py create mode 100644 lang/python35/patches/patch-Modules_getpath.c diff --git a/lang/gcc49/Makefile b/lang/gcc49/Makefile index 4954d5095fd23..af44c8e54b23c 100644 --- a/lang/gcc49/Makefile +++ b/lang/gcc49/Makefile @@ -47,10 +47,24 @@ UNLIMIT_RESOURCES+= stacksize SUBST_CLASSES+= vars SUBST_STAGE.vars= pre-configure SUBST_FILES.vars= gcc/Makefile.in +SUBST_FILES.vars+= gcc/config/sol2-bi.h gcc/config/sol2.h SUBST_VARS.vars= GCC_TARGET_MACHINE +SUBST_VARS.vars+= PREFIX .include "../../mk/bsd.prefs.mk" +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +SUBST_SED.vars+= -e 's,@MARCH64_SUBDIR@,ARCH64_SUBDIR,g' +.else +SUBST_SED.vars+= -e 's,@MARCH64_SUBDIR@,,g' +.endif + +# For the tools build (i.e. when not using USE_GCC_LOCALBASE_PREFIX) we +# do not want the PREFIX rpaths added above to leak into final binaries. +.if ${USE_GCC_LOCALBASE_PREFIX:Uno:tl} == "no" +SUBST_SED.vars+= -e '/-R/d' +.endif + LANGS= c # In some cases LINKER_RPATH_FLAG needs a trailing space. diff --git a/lang/gcc49/distinfo b/lang/gcc49/distinfo index 1e0770ee20d3e..46cc35b9120bc 100644 --- a/lang/gcc49/distinfo +++ b/lang/gcc49/distinfo @@ -10,7 +10,7 @@ SHA512 (gcc-4.9.4.tar.bz2) = 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b Size (gcc-4.9.4.tar.bz2) = 90097606 bytes SHA1 (patch-contrib_make__sunver.pl) = 49cbd1a83c9b65d07a373262fcf6f71069283d2e SHA1 (patch-gcc_Makefile.in) = 45c7a61cf22d02299d2308ba34f0ceb272ad5c5e -SHA1 (patch-gcc_config.gcc) = f8dc39c70aff31b1b9479895a14710ee9b168b3c +SHA1 (patch-gcc_config.gcc) = 1d29d247a5bfb21f00436cad4991e5e461c7bc7e SHA1 (patch-gcc_config.host) = 1b1e11cd199eb93f49443d51c0063b09b7327858 SHA1 (patch-gcc_config_dragonfly-stdint.h) = 249e78bf2171fcd29eae498e41a12bf747015a19 SHA1 (patch-gcc_config_dragonfly.h) = 5d671b7cdf8b8e3798dd7ec47f56708aa3548f38 @@ -18,8 +18,14 @@ SHA1 (patch-gcc_config_dragonfly.opt) = b01bee26978f7feb62fc2ec21186449ccaea0db7 SHA1 (patch-gcc_config_host-netbsd.c) = 765295f07edb8a68f1910e3a9b4dd2a7dcd491a5 SHA1 (patch-gcc_config_i386_dragonfly.h) = 5756b62791273f77866f06be1df0c267dc90a2ee SHA1 (patch-gcc_config_i386_i386.c) = 61df9f4677f599f1ba3845849f334bbd568a479f +SHA1 (patch-gcc_config_i386_i386.h) = ee2709f54cfab843ecb6d50da377502232d9da96 +SHA1 (patch-gcc_config_i386_sol2-bi.c) = 2f916f07fd9840e7f5f17722e0d0fc13732f8254 +SHA1 (patch-gcc_config_i386_sol2-bi.h) = e8c8cc14d163370a710e1a638a4fc6b149936e35 +SHA1 (patch-gcc_config_i386_t-sol2-64) = 8be9d385356b49848d4a7f0a3a9f4c0b6e4ba672 SHA1 (patch-gcc_config_netbsd-stdint.h) = fc430c80adda9d3f58eea47816338f697a659889 SHA1 (patch-gcc_config_netbsd.h) = 1d21dbe5082dd149d59dbc471d4148d0651df7d4 +SHA1 (patch-gcc_config_sol2-bi.h) = 92cd32e95ca1524e777952fef033025a3ac6970d +SHA1 (patch-gcc_config_sol2.h) = 5ae9d98e069ee9173a57ac1182e5a1439d73fe62 SHA1 (patch-gcc_config_x-netbsd) = 6dc3d78e26df62054ea29f98ca51592858e671e3 SHA1 (patch-gcc_configure) = b925cb971ec547a9c25b518927493a168391d7da SHA1 (patch-gcc_fortran_f95-lang.c) = 9dbac16c146821eed9b06e1e9f0da85ff5c4ee75 diff --git a/lang/gcc49/patches/patch-gcc_config.gcc b/lang/gcc49/patches/patch-gcc_config.gcc index 925a357beb904..76cbd144f5716 100644 --- a/lang/gcc49/patches/patch-gcc_config.gcc +++ b/lang/gcc49/patches/patch-gcc_config.gcc @@ -4,10 +4,33 @@ $NetBSD: patch-gcc_config.gcc,v 1.1 2014/09/04 18:43:11 jperkin Exp $ * Add netbsd-stdint.h to tm_file on NetBSD. * wrap the system stdint.h on NetBSD. * Add DragonFly support. +* Set default -m32 on SunOS for multiarch. ---- gcc/config.gcc.orig 2014-06-16 08:15:35.000000000 +0000 +--- gcc/config.gcc.orig 2015-05-21 20:50:59.000000000 +0000 +++ gcc/config.gcc -@@ -687,6 +687,26 @@ case ${target} in +@@ -538,10 +538,17 @@ aarch64*-*-*) + esac + ;; + i[34567]86-*-*) +- if test "x$with_abi" != x; then +- echo "This target does not support --with-abi." +- exit 1 +- fi ++ case ${target} in ++ i[34567]86-*-solaris2.1[123456789]) ++ with_abi=32 ++ ;; ++ *) ++ if test "x$with_abi" != x; then ++ echo "This target does not support --with-abi." ++ exit 1 ++ fi ++ ;; ++ esac + if test "x$enable_cld" = xyes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi +@@ -687,6 +694,26 @@ case ${target} in # need_64bit_hwint=yes # system compiler has this for all arch! use_gcc_stdint=wrap ;; @@ -74,7 +97,15 @@ $NetBSD: patch-gcc_config.gcc,v 1.1 2014/09/04 18:43:11 jperkin Exp $ ;; i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h" -@@ -4108,6 +4139,8 @@ case ${target} in +@@ -1549,6 +1587,7 @@ i[34567]86-*-solaris2* | x86_64-*-solari + tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h" + tm_defines="${tm_defines} TARGET_BI_ARCH=1" + tmake_file="$tmake_file i386/t-sol2-64" ++ extra_gcc_objs="sol2-bi.o" + need_64bit_isa=yes + if test x$with_cpu = x; then + if test x$with_cpu_64 = x; then +@@ -4124,6 +4161,8 @@ case ${target} in ;; i[34567]86-*-mingw* | x86_64-*-mingw*) ;; diff --git a/lang/gcc49/patches/patch-gcc_config_i386_i386.h b/lang/gcc49/patches/patch-gcc_config_i386_i386.h new file mode 100644 index 0000000000000..077059d1dd843 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_config_i386_i386.h @@ -0,0 +1,27 @@ +$NetBSD$ + +Support setting -m32/-m64 via ${ABI} environment variable. + +--- gcc/config/i386/i386.h.orig 2014-08-21 18:03:49.000000000 +0000 ++++ gcc/config/i386/i386.h +@@ -573,11 +573,18 @@ extern tree x86_mfence; + #if defined(__i386__) || defined(__x86_64__) + /* In driver-i386.c. */ + extern const char *host_detect_local_cpu (int argc, const char **argv); +-#define EXTRA_SPEC_FUNCTIONS \ +- { "local_cpu_detect", host_detect_local_cpu }, + #define HAVE_LOCAL_CPU_DETECT ++#define TARGET_EXTRA_SPEC_FUNCTIONS \ ++ { "local_cpu_detect", host_detect_local_cpu }, + #endif + ++#ifndef TARGET_EXTRA_SPEC_FUNCTIONS ++#define TARGET_EXTRA_SPEC_FUNCTIONS ++#endif ++ ++#define EXTRA_SPEC_FUNCTIONS \ ++ TARGET_EXTRA_SPEC_FUNCTIONS ++ + #if TARGET_64BIT_DEFAULT + #define OPT_ARCH64 "!m32" + #define OPT_ARCH32 "m32" diff --git a/lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.c b/lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.c new file mode 100644 index 0000000000000..3ac8411c6727d --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.c @@ -0,0 +1,49 @@ +$NetBSD$ + +Support setting -m32/-m64 via ${ABI} environment variable. + +--- gcc/config/i386/sol2-bi.c.orig 2014-07-23 21:48:12.270236541 +0000 ++++ gcc/config/i386/sol2-bi.c +@@ -0,0 +1,42 @@ ++/* Multilib support for illumos ++ Copyright (C) 2015 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 3, or (at your option) ++any later version. ++ ++GCC is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "target.h" ++ ++const char * ++illumos_abi_bits (int argc, const char **argv) ++{ ++ const char *env_abi; ++ ++ if (argc != 1) ++ return NULL; ++ ++ if ((env_abi = getenv("ABI")) == NULL) ++ return argv[0]; ++ if (strcmp(env_abi, "32") == 0 || strcmp(env_abi, "i86") == 0) ++ return "32"; ++ else if (strcmp(env_abi, "64") == 0 || strcmp(env_abi, "amd64") == 0) ++ return "64"; ++ ++ return argv[0]; ++} diff --git a/lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.h b/lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.h new file mode 100644 index 0000000000000..4c51476c5d7c9 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_config_i386_sol2-bi.h @@ -0,0 +1,38 @@ +$NetBSD$ + +Support setting -m32/-m64 via ${ABI} environment variable. + +--- gcc/config/i386/sol2-bi.h.orig 2014-01-02 22:23:26.000000000 +0000 ++++ gcc/config/i386/sol2-bi.h +@@ -28,6 +28,31 @@ along with GCC; see the file COPYING3. + #define SUBTARGET_OPTIMIZATION_OPTIONS \ + { OPT_LEVELS_1_PLUS, OPT_momit_leaf_frame_pointer, NULL, 1 } + ++/* All of this is needed to allow ABI={32|64|i86|amd64} in the environment to ++ provide an alternate default value for -m32/-m64. The compiler default is ++ always 32-bit; in the absence of this variable, we will do nothing. If the ++ variable is set to a bogus value, we'll also ignore it. And any option on ++ the command line overrides ABI. The only exception here is if ABI is set ++ and neither -m32 nor -m64 is specified on the command line, if a -mcpu or ++ -mtune option is provided that is inconsistent with the ABI setting, the ++ compiler will fail exactly as it would have if -m32 or -m64 were explicitly ++ provided on the command line. */ ++#undef EXTRA_SPEC_FUNCTIONS ++extern const char *illumos_abi_bits (int argc, const char **argv); ++#define EXTRA_SPEC_FUNCTIONS \ ++ TARGET_EXTRA_SPEC_FUNCTIONS \ ++ { "env_abi_bits", illumos_abi_bits }, ++ ++#undef OPTION_DEFAULT_SPECS ++#define OPTION_DEFAULT_SPECS \ ++ {"abi", "%{!m32:%{!m64:-m%:env_abi_bits(%(VALUE))}}" }, \ ++ {"tune_32", "%{" OPT_ARCH32 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ ++ {"tune_64", "%{" OPT_ARCH64 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ ++ {"cpu_32", "%{" OPT_ARCH32 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ ++ {"cpu_64", "%{" OPT_ARCH64 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ ++ {"arch_32", "%{" OPT_ARCH32 ":%{!march=*:-march=%(VALUE)}}"}, \ ++ {"arch_64", "%{" OPT_ARCH64 ":%{!march=*:-march=%(VALUE)}}"}, ++ + /* GNU as understands --32 and --64, but the native Solaris + assembler requires -xarch=generic or -xarch=generic64 instead. */ + #ifdef USE_GAS diff --git a/lang/gcc49/patches/patch-gcc_config_i386_t-sol2-64 b/lang/gcc49/patches/patch-gcc_config_i386_t-sol2-64 new file mode 100644 index 0000000000000..337d3497decb8 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_config_i386_t-sol2-64 @@ -0,0 +1,17 @@ +$NetBSD$ + +Support setting -m32/-m64 via ${ABI} environment variable. + +--- gcc/config/i386/t-sol2-64.orig 2014-01-02 22:23:26.000000000 +0000 ++++ gcc/config/i386/t-sol2-64 +@@ -19,3 +19,10 @@ + MULTILIB_OPTIONS = m32/m64 + MULTILIB_DIRNAMES = 32 amd64 + MULTILIB_OSDIRNAMES = . amd64 ++ ++sol2-bi.o: $(srcdir)/config/i386/sol2-bi.c \ ++ $(srcdir)/config/i386/i386-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \ ++ $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \ ++ $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H) ++ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ ++ $(srcdir)/config/i386/sol2-bi.c diff --git a/lang/gcc49/patches/patch-gcc_config_sol2-bi.h b/lang/gcc49/patches/patch-gcc_config_sol2-bi.h new file mode 100644 index 0000000000000..7016818f9554e --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_config_sol2-bi.h @@ -0,0 +1,18 @@ +$NetBSD$ + +Pull in ${PREFIX}/lib by default and handle for multiarch. + +--- gcc/config/sol2-bi.h.orig 2014-01-02 22:23:26.000000000 +0000 ++++ gcc/config/sol2-bi.h +@@ -74,8 +74,9 @@ + "%{G:-G} \ + %{YP,*} \ + %{R*} \ +- %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/" ARCH64_SUBDIR ":%R/lib/" ARCH64_SUBDIR ":%R/usr/lib/" ARCH64_SUBDIR "} \ +- %{!p:%{!pg:-Y P,%R/lib/" ARCH64_SUBDIR ":%R/usr/lib/" ARCH64_SUBDIR "}}}" ++ -R@PREFIX@/lib/" @MARCH64_SUBDIR@ " \ ++ %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/" ARCH64_SUBDIR ":%R/lib/" ARCH64_SUBDIR ":%R/usr/lib/" ARCH64_SUBDIR ":%R@PREFIX@/lib/" @MARCH64_SUBDIR@ "} \ ++ %{!p:%{!pg:-Y P,%R/lib/" ARCH64_SUBDIR ":%R/usr/lib/" ARCH64_SUBDIR ":%R@PREFIX@/lib/" @MARCH64_SUBDIR@ "}}}" + + #undef LINK_ARCH64_SPEC + #ifndef USE_GLD diff --git a/lang/gcc49/patches/patch-gcc_config_sol2.h b/lang/gcc49/patches/patch-gcc_config_sol2.h new file mode 100644 index 0000000000000..eacf123687e15 --- /dev/null +++ b/lang/gcc49/patches/patch-gcc_config_sol2.h @@ -0,0 +1,18 @@ +$NetBSD$ + +Pull in ${PREFIX}/lib by default. + +--- gcc/config/sol2.h.orig 2014-05-28 11:37:50.000000000 +0000 ++++ gcc/config/sol2.h +@@ -154,8 +154,9 @@ along with GCC; see the file COPYING3. + "%{G:-G} \ + %{YP,*} \ + %{R*} \ +- %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib} \ +- %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/lib:%R/usr/lib}}}" ++ -R@PREFIX@/lib \ ++ %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R@PREFIX@/lib} \ ++ %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R@PREFIX@/lib}}}" + + #undef LINK_ARCH32_SPEC + #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE diff --git a/lang/guile20/Makefile b/lang/guile20/Makefile index a2fffde1b7c52..f326475792ba5 100644 --- a/lang/guile20/Makefile +++ b/lang/guile20/Makefile @@ -28,16 +28,19 @@ GUILE_PREFIX= ${PREFIX}/${GUILE_SUBDIR} CONFIGURE_ARGS+= --prefix=${GUILE_PREFIX:Q} CONFIGURE_ARGS+= --infodir=${GUILE_PREFIX:Q}/info CONFIGURE_ARGS+= --mandir=${GUILE_PREFIX:Q}/man +CONFIGURE_ARGS+= --libdir=${GUILE_PREFIX:Q}/lib${LIBARCHSUFFIX} BUILDLINK_PASSTHRU_DIRS+= ${GUILE_PREFIX} LDFLAGS+= ${COMPILER_RPATH_FLAG}${GUILE_PREFIX}/lib .else CONFIGURE_ARGS+= --prefix=${PREFIX:Q} CONFIGURE_ARGS+= --infodir=${PREFIX:Q}/${PKGINFODIR:Q} CONFIGURE_ARGS+= --mandir=${PREFIX:Q}/${PKGMANDIR:Q} +CONFIGURE_ARGS+= --libdir=${PREFIX:Q}/lib${LIBARCHSUFFIX} .endif INFO_FILES= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config PKGCONFIG_OVERRIDE+= meta/guile-2.0.pc.in diff --git a/lang/lua/buildlink3.mk b/lang/lua/buildlink3.mk index 9a0566960f2a8..90f9d6ba6bb4b 100644 --- a/lang/lua/buildlink3.mk +++ b/lang/lua/buildlink3.mk @@ -17,5 +17,5 @@ LUA_BUILDLINK3_MK:= BUILDLINK_TARGETS+= buildlink-bin-unversioned buildlink-bin-unversioned: - ${LN} -s ${BUILDLINK_DIR}/lib/pkgconfig/lua-${_LUA_DOT_VERSION}.pc ${BUILDLINK_DIR}/lib/pkgconfig/lua.pc + ${LN} -s ${BUILDLINK_DIR}/lib${LIBARCHSUFFIX}/pkgconfig/lua-${_LUA_DOT_VERSION}.pc ${BUILDLINK_DIR}/lib${LIBARCHSUFFIX}/pkgconfig/lua.pc .endif # LUA_BUILDLINK3_MK diff --git a/lang/lua51/Makefile b/lang/lua51/Makefile index cf6eb36f40186..353bd7d320c77 100644 --- a/lang/lua51/Makefile +++ b/lang/lua51/Makefile @@ -16,6 +16,8 @@ LICENSE= mit CONFLICTS+= lua-[0-9]* +USE_MULTIARCH= bin lib + .include "../../mk/bsd.prefs.mk" USE_LIBTOOL= yes @@ -57,7 +59,7 @@ BUILD_TARGET= generic PKGCONFIG_OVERRIDE= ${WRKSRC}/etc/lua.pc -INSTALLATION_DIRS+= lib/pkgconfig +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/pkgconfig SUBST_CLASSES+= pc-prefix SUBST_FILES.pc-prefix+= ${WRKSRC}/etc/lua.pc @@ -85,7 +87,7 @@ post-install: ${INSTALL_DATA} "$$f" ${DESTDIR}${EGDIR}/etc; \ done ${INSTALL_DATA} ${WRKSRC}/etc/lua.pc \ - ${DESTDIR}${PREFIX}/lib/pkgconfig/lua-5.1.pc + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/lua-5.1.pc .include "../../mk/readline.buildlink3.mk" .include "../../mk/dlopen.buildlink3.mk" diff --git a/lang/lua51/distinfo b/lang/lua51/distinfo index 7e9494ce806e7..d2cf254b330fe 100644 --- a/lang/lua51/distinfo +++ b/lang/lua51/distinfo @@ -4,7 +4,7 @@ SHA1 (lua-5.1.5.tar.gz) = b3882111ad02ecc6b972f8c1241647905cb2e3fc RMD160 (lua-5.1.5.tar.gz) = b0c2234675335a8bf158a125b6778cf800c754a0 SHA512 (lua-5.1.5.tar.gz) = 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9 Size (lua-5.1.5.tar.gz) = 221213 bytes -SHA1 (patch-aa) = df332b80cd10c82b1398357028338026616ee1fb +SHA1 (patch-aa) = 40f460fdd6893605e232f51e27bbe578e8a8564c SHA1 (patch-ab) = 088af3cc9c6ef53474ed7934a62d967bfd8362c0 SHA1 (patch-ac) = bd2348dcb273de09ddc09da906c93de6cc209c5c SHA1 (patch-etc_lua.pc) = 24311df8dbfc09b97d5b89ea03f211d9c1339d93 diff --git a/lang/lua51/patches/patch-aa b/lang/lua51/patches/patch-aa index f5e81a187d7f9..d69adde65e8f4 100644 --- a/lang/lua51/patches/patch-aa +++ b/lang/lua51/patches/patch-aa @@ -6,22 +6,28 @@ DESTDIR support. --- Makefile.orig 2012-02-10 09:50:23.000000000 +0000 +++ Makefile -@@ -9,11 +9,11 @@ PLAT= none +@@ -9,22 +9,22 @@ PLAT= none # Where to install. The installation starts in the src and doc directories, # so take care if INSTALL_TOP is not an absolute path. -INSTALL_TOP= /usr/local -+INSTALL_TOP= ${PREFIX} - INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_BIN= $(INSTALL_TOP)/bin -INSTALL_INC= $(INSTALL_TOP)/include -+INSTALL_INC= $(INSTALL_TOP)/include/lua-5.1 - INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_LIB= $(INSTALL_TOP)/lib -INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_TOP= ${PREFIX} ++INSTALL_BIN= $(INSTALL_TOP)/bin${BINARCHSUFFIX} ++INSTALL_INC= $(INSTALL_TOP)/include/lua-5.1 ++INSTALL_LIB= $(INSTALL_TOP)/lib${LIBARCHSUFFIX} +INSTALL_MAN= $(INSTALL_TOP)/${PKGMANDIR}/man1 # # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h (and also with etc/lua.pc). -@@ -24,7 +24,7 @@ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V +-INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V ++INSTALL_CMOD= $(INSTALL_TOP)/lib${LIBARCHSUFFIX}/lua/$V + + # How to install. If your install program does not support "-p", then you # may have to run ranlib on the installed liblua.a (do "make ranlib"). INSTALL= install -p INSTALL_EXEC= $(INSTALL) -m 0755 diff --git a/lang/lua52/Makefile b/lang/lua52/Makefile index 4b743c9820437..9da893d86478d 100644 --- a/lang/lua52/Makefile +++ b/lang/lua52/Makefile @@ -19,6 +19,7 @@ CONFLICTS+= lua-[0-9]* .include "../../mk/bsd.prefs.mk" USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake MAKE_ENV+= DLLIB=${BUILDLINK_LDADD.dl:Q} MAKE_ENV+= INSTALL_DATA=${INSTALL_DATA:Q} @@ -35,7 +36,7 @@ LDFLAGS+= -pthread .endif PKGCONFIG_OVERRIDE= ${WRKSRC}/lua.pc -INSTALLATION_DIRS+= lib/pkgconfig share/doc/lua-5.2 +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/pkgconfig share/doc/lua-5.2 .if ${OPSYS} == "FreeBSD" BUILD_TARGET= freebsd @@ -59,6 +60,8 @@ DOCDIR= ${PREFIX}/share/doc/lua-5.2 pre-configure: sed -e 's,@PREFIX@,${PREFIX},g' \ + -e 's,@BINARCHSUFFIX@,${BINARCHSUFFIX},g' \ + -e 's,@LIBARCHSUFFIX@,${LIBARCHSUFFIX},g' \ -e 's,@VER@,${PKGVERSION_NOREV:R},g' \ -e 's,@REV@,${PKGVERSION_NOREV},g' \ ${FILESDIR}/lua.pc.in > ${WRKSRC}/lua.pc @@ -69,7 +72,7 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/doc/*.[a-z][a-z][a-z] \ ${WRKSRC}/doc/*.html ${DESTDIR}${DOCDIR} ${INSTALL_DATA} ${WRKSRC}/lua.pc \ - ${DESTDIR}${PREFIX}/lib/pkgconfig/lua-5.2.pc + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/lua-5.2.pc .include "../../mk/readline.buildlink3.mk" .include "../../mk/dlopen.buildlink3.mk" diff --git a/lang/lua52/distinfo b/lang/lua52/distinfo index 9f63adcdab2d2..dac9cd739aad0 100644 --- a/lang/lua52/distinfo +++ b/lang/lua52/distinfo @@ -4,7 +4,7 @@ SHA1 (lua-5.2.4.tar.gz) = ef15259421197e3d85b7d6e4871b8c26fd82c1cf RMD160 (lua-5.2.4.tar.gz) = 3bad2da85f354132da6a53b45882006f0a451b5c SHA512 (lua-5.2.4.tar.gz) = cd77148aba4b707b6c159758b5e8444e04f968092eb98f6b4c405b2fb647e709370d5a8dcf604176101d3407e196a7433b5dcdce4fe9605c76191d3649d61a8c Size (lua-5.2.4.tar.gz) = 252651 bytes -SHA1 (patch-aa) = abcc38841386df3072dce282a6139d541564c90f +SHA1 (patch-aa) = 25bc2b84a0e8f79f9e0aa75df08ae1c6c48eb2bc SHA1 (patch-ab) = 16c84008b67a272c7bb1d90448ffdd0d43f9d0fe SHA1 (patch-ac) = 76d0d9d28a8d3c0a26aeabc5459d443e2f984981 SHA1 (patch-src_liolib.c) = 28de216dec83bfdc94fbd1d2d28fe1159ea009c9 diff --git a/lang/lua52/files/lua.pc.in b/lang/lua52/files/lua.pc.in index f290c3d048517..be5e3d398ed07 100644 --- a/lang/lua52/files/lua.pc.in +++ b/lang/lua52/files/lua.pc.in @@ -2,15 +2,15 @@ # lua.pc is not any longer distributed, but is still required by other packages. prefix= @PREFIX@ -INSTALL_BIN= ${prefix}/bin +INSTALL_BIN= ${prefix}/bin@BINARCHSUFFIX@ INSTALL_INC= ${prefix}/include -INSTALL_LIB= ${prefix}/lib +INSTALL_LIB= ${prefix}/lib@LIBARCHSUFFIX@ INSTALL_MAN= ${prefix}/man/man1 INSTALL_LMOD= ${prefix}/share/lua/@VER@ -INSTALL_CMOD= ${prefix}/lib/lua/@VER@ +INSTALL_CMOD= ${prefix}/lib@LIBARCHSUFFIX@/lua/@VER@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/lib@LIBARCHSUFFIX@ includedir=${prefix}/include/lua-5.2 Name: Lua diff --git a/lang/lua52/patches/patch-aa b/lang/lua52/patches/patch-aa index c1cbeb3a51a1f..6649eef97ab47 100644 --- a/lang/lua52/patches/patch-aa +++ b/lang/lua52/patches/patch-aa @@ -6,22 +6,25 @@ DESTDIR support. --- Makefile.orig 2013-11-10 00:49:35.000000000 +0000 +++ Makefile -@@ -10,11 +10,11 @@ PLAT= none +@@ -10,19 +10,19 @@ PLAT= none # so take care if INSTALL_TOP is not an absolute path. See the local target. # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. -INSTALL_TOP= /usr/local -+INSTALL_TOP= ${PREFIX} - INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_BIN= $(INSTALL_TOP)/bin -INSTALL_INC= $(INSTALL_TOP)/include -+INSTALL_INC= $(INSTALL_TOP)/include/lua-5.2 - INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_LIB= $(INSTALL_TOP)/lib -INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_TOP= ${PREFIX} ++INSTALL_BIN= $(INSTALL_TOP)/bin${BINARCHSUFFIX} ++INSTALL_INC= $(INSTALL_TOP)/include/lua-5.2 ++INSTALL_LIB= $(INSTALL_TOP)/lib${LIBARCHSUFFIX} +INSTALL_MAN= $(INSTALL_TOP)/${PKGMANDIR}/man1 INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V - INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V +-INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V ++INSTALL_CMOD= $(INSTALL_TOP)/lib${LIBARCHSUFFIX}/lua/$V -@@ -22,7 +22,7 @@ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + # How to install. If your install program does not support "-p", then # you may have to run ranlib on the installed liblua.a. INSTALL= install -p INSTALL_EXEC= $(INSTALL) -m 0755 diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile index ffa8212692348..0d103a61e8ba6 100644 --- a/lang/perl5/Makefile +++ b/lang/perl5/Makefile @@ -120,6 +120,7 @@ HAS_CONFIGURE= yes CONFIGURE_SCRIPT= ./Configure CONFIGURE_ARGS+= -sde CONFIGURE_ARGS+= -Dldflags=${LDFLAGS:Q} +CONFIGURE_ARGS+= -Dstartperl="\#!${PREFIX}/bin/perl" MAKE_ENV+= LC_ALL="C" .if ${OPSYS} == "SunOS" @@ -141,6 +142,8 @@ SUBST_VARS.policysh+= CC SUBST_VARS.policysh+= CFLAGS SUBST_VARS.policysh+= LDFLAGS SUBST_VARS.policysh+= COMPILER_RPATH_FLAG +SUBST_VARS.policysh+= BINARCHSUFFIX +SUBST_VARS.policysh+= LIBARCHSUFFIX SUBST_VARS.policysh+= PERL5_PREFIX SUBST_VARS.policysh+= PERL5_SITEPREFIX SUBST_VARS.policysh+= PERL5_VENDORPREFIX @@ -299,8 +302,16 @@ post-build: -e "s,@PKGMANDIR@,"${PKGMANDIR}",g" \ ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh -INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 -PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib +INSTALLATION_DIRS= bin${BINARCHSUFFIX} ${PKGMANDIR}/man1 +INSTALLATION_DIRS+= ${PERL5_PERLBASE}/bin${BINARCHSUFFIX} +PERL5_PACKLIST_DIR_cmd= for conf in ${WRKSRC}*/config.sh; do \ + if [ -f $$conf ]; then \ + . $$conf; \ + echo $$installarchlib; \ + else \ + echo; \ + fi; \ + done PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} PERL5_PACKLIST= .packlist PERL5_PACKLIST_DESTDIR= no @@ -310,21 +321,21 @@ FILES_SUBST+= PERL5_PACKLIST= post-install: perl5-post-install perl5-post-install: - ${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \ - strip ${DESTDIR}${PREFIX}/bin/a2p; \ + ${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/a2p; then \ + strip ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/a2p; \ fi ${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh \ - ${DESTDIR}${PERL5_PERLBASE}/bin/perllink + ${DESTDIR}${PERL5_PERLBASE}/bin${BINARCHSUFFIX}/perllink ${INSTALL_MAN} ${FILESDIR}/perllink.1 \ ${DESTDIR}${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1 - ${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \ + ${RM} -f ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/perllink \ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1 - ${LN} -s ${PERL5_PERLBASE}/bin/perllink \ - ${DESTDIR}${PREFIX}/bin/perllink + ${LN} -s ${PERL5_PERLBASE}/bin${BINARCHSUFFIX}/perllink \ + ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/perllink ${LN} -s ${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1 \ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1 .if ${OPSYS} == "Haiku" - ${CHMOD} a+x ${DESTDIR}${PREFIX}/bin/perl + ${CHMOD} a+x ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/perl .endif .include "packlist.mk" diff --git a/lang/perl5/Makefile.common b/lang/perl5/Makefile.common index 23d2ed5871141..d99d88b16b5bf 100644 --- a/lang/perl5/Makefile.common +++ b/lang/perl5/Makefile.common @@ -12,3 +12,7 @@ EXTRACT_SUFX= .tar.xz MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= https://www.perl.org/ LICENSE= ${PERL5_LICENSE} + +USE_MULTIARCH= bin lib +MULTIARCH_DIRS.bin= # configured manually +MULTIARCH_DIRS.lib= # empty diff --git a/lang/perl5/PLIST b/lang/perl5/PLIST index 7ab007d5e6019..61c753b6f531a 100644 --- a/lang/perl5/PLIST +++ b/lang/perl5/PLIST @@ -1,5 +1,7 @@ @comment $NetBSD: PLIST,v 1.6 2012/11/02 07:29:30 sbd Exp $ -bin/perllink -lib/perl5/bin/perllink +bin${BINARCHSUFFIX}/perl +bin${BINARCHSUFFIX}/perl${PKGVERSION} +bin${BINARCHSUFFIX}/perllink +lib/perl5/bin${BINARCHSUFFIX}/perllink lib/perl5/${PKGMANDIR}/man1/perllink.1 man/man1/perllink.1 diff --git a/lang/perl5/dirs.mk b/lang/perl5/dirs.mk index f641d2cad426b..15a6006a31f64 100644 --- a/lang/perl5/dirs.mk +++ b/lang/perl5/dirs.mk @@ -15,6 +15,10 @@ BUILD_DEFS+= PERL5_SITEPREFIX PERL5= ${PERL5_PREFIX}/bin/perl PERL5_PERLBASE= ${PERL5_PREFIX}/lib/perl5 PERL5_VENDORBASE= ${PERL5_VENDORPREFIX}/lib/perl5/vendor_perl + +# Permit for libperl.so +BUILDLINK_PASSTHRU_DIRS+= ${PERL5_PERLBASE} + # # The unusual check for empty(PERL5_SITEPREFIX) is because ${PREFIX} isn't # defined until bsd.pkg.mk is included, so when we inspect its value at diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo index 82d489cbdc934..c9e61d4dd2afa 100644 --- a/lang/perl5/distinfo +++ b/lang/perl5/distinfo @@ -4,7 +4,7 @@ SHA1 (perl-5.28.0.tar.xz) = c0e9e7a0dea97ec9816687d865fd461a99ef185c RMD160 (perl-5.28.0.tar.xz) = 34c9ad0560a2eed134e09282696bfae307cbeb6a SHA512 (perl-5.28.0.tar.xz) = de701e37371b81cecf06098bb2c09017bde9cebaf9537d58838d0adf605ac2ecf739897b0a73576a7adb74d4cf65591ec4d2ed1f94b7191e695f88cb7e214a39 Size (perl-5.28.0.tar.xz) = 12410536 bytes -SHA1 (patch-Configure) = e4ae2c84bece8823ec1bf98415706b4d2491a5e9 +SHA1 (patch-Configure) = 9d243fc533640a034b7ece6207475fc0d057d01f SHA1 (patch-Makefile.SH) = febb87d876a44091a761d3ef99c649f3e4bdd394 SHA1 (patch-aa) = 3a2b39c9eb903e68ef7d03ae448c51c147c19aa1 SHA1 (patch-ab) = 0ad5988b7cadfb13d9646a59a57f6cf884a6238a diff --git a/lang/perl5/files/Policy.sh b/lang/perl5/files/Policy.sh index d203fe3386543..cf2632da1c5fa 100644 --- a/lang/perl5/files/Policy.sh +++ b/lang/perl5/files/Policy.sh @@ -37,9 +37,15 @@ vendorscript='@PERL5_VENDORBASE@/bin' # Put any compiled binaries into vendor- and site-specific locations to # avoid conflicts with each other. The perllink script will handle all # the appropriate symlinking. +bin='@PERL5_PREFIX@/bin@BINARCHSUFFIX@' sitebin='@PERL5_SITEBIN@' vendorbin='@PERL5_VENDORBASE@/bin' +# Paths required for multiarch. XXX: arch-specific dirs are still used in +# some places. +perlpath="@PERL5_PREFIX@/bin/perl" +startperl="#!@PERL5_PREFIX@/bin/perl" + # Put the API-specific files into API-specific directories instead # of the default version-specific directories. privlib='@PERL5_PRIVLIB@' @@ -94,7 +100,7 @@ fi # Set pkgsrc defaults for library and header search paths: # nail down the directories in which headers and libraries of # locally-installed software may be found. -loclibpth="@LOCALBASE@/lib" +loclibpth="@LOCALBASE@/lib@LIBARCHSUFFIX@" locincpth="@LOCALBASE@/include" # Set pkgsrc defaults for "plateform"/general path used to @@ -103,13 +109,18 @@ if $test -n "@SYSLIBPATH@"; then glibpth="@SYSLIBPATH@" fi -# Strip /usr/local/lib... from ldflags +# Strip /usr/local/lib... from ldflags, unless LOCALBASE=/usr/local +case "@LOCALBASE@" in +/usr/local) ;; +*) case "\$ldflags" in */usr/local/lib*) set \`echo "X \$ldflags " | sed 's, [^ ]*/usr/local/lib[^ ]* , ,g'\` shift ldflags="\$*" ;; esac +;; +esac # Strip gdbm from libswanted case "\$libswanted" in *gdbm*) diff --git a/lang/perl5/files/deinstall.tmpl b/lang/perl5/files/deinstall.tmpl index 4280fed56d4f1..91a4f69257bd0 100644 --- a/lang/perl5/files/deinstall.tmpl +++ b/lang/perl5/files/deinstall.tmpl @@ -9,7 +9,8 @@ DEINSTALL) case "$archlib" in $prefix/*) archlib="${PKG_PREFIX-@PREFIX@}/${archlib#$prefix/}" ;; esac - ${RM} -f $archlib/perllocal.pod + # XXX: multiarch + ${RM} -f $archlib/../*/perllocal.pod ${RMDIR} -p $archlib 2>/dev/null || ${TRUE} # Remove any symlinked bits that belong to this module. diff --git a/lang/perl5/module.mk b/lang/perl5/module.mk index 4959e991fbbdd..c5a6817b45216 100644 --- a/lang/perl5/module.mk +++ b/lang/perl5/module.mk @@ -42,6 +42,17 @@ PERL5_MODULE_MK= # defined .include "../../mk/bsd.prefs.mk" +.include "../../mk/compiler.mk" + +# +# Automatically handle multiarch of perl modules. The multiarch library +# dirs are under PERL5_INSTALLVENDORARCH so ensure that lib/perl5 is not +# expanded. +# +.if !empty(USE_LANGUAGES) +USE_MULTIARCH= lib +MULTIARCH_SKIP_DIRS.lib= lib/perl5 +.endif PERL5_MODULE_TYPE?= MakeMaker diff --git a/lang/perl5/packlist.mk b/lang/perl5/packlist.mk index 6c1bf53295f77..3de3175136d7e 100644 --- a/lang/perl5/packlist.mk +++ b/lang/perl5/packlist.mk @@ -36,9 +36,16 @@ PERL5_USE_PACKLIST?= yes PERL5_PACKLIST_DESTDIR?= yes .if defined(PERL5_PACKLIST) +. if defined(MULTIARCH) && !empty(MULTIARCH:M[Yy][Ee][Ss]) && defined(USE_MULTIARCH) && !empty(USE_MULTIARCH:Mlib) && !defined(PERL5_PACKLIST_DIR) +PERL5_PACKLIST_DIR_cmd= for abi in ${MULTIARCH_ABIS}; do ${MAKE} ${MAKE_FLAGS} ABI=$${abi} show-var VARNAME=PERL5_INSTALLVENDORARCH; done +PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} +. else PERL5_PACKLIST_DIR?= ${PERL5_INSTALLVENDORARCH} -_PERL5_REAL_PACKLIST= ${PERL5_PACKLIST:S/^/${PERL5_PACKLIST_DIR}\//} -_PERL5_PACKLIST= ${_PERL5_REAL_PACKLIST:S/^/${DESTDIR}/} +. endif +_PERL5_REAL_PACKLIST_cmd= for file in ${PERL5_PACKLIST}; do for dir in ${PERL5_PACKLIST_DIR}; do echo $${dir}/$${file}; done; done +_PERL5_PACKLIST_cmd= for pl in ${_PERL5_REAL_PACKLIST}; do echo ${DESTDIR}$${pl}; done +_PERL5_REAL_PACKLIST= ${_PERL5_REAL_PACKLIST_cmd:sh} +_PERL5_PACKLIST= ${_PERL5_PACKLIST_cmd:sh} .endif ########################################################################### @@ -65,6 +72,7 @@ PERL5_PLIST_COMMENT_CMD= \ PERL5_PLIST_FILES_CMD= \ { ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_REAL_PACKLIST}; do ${TEST} ! -f "${DESTDIR}$$f" || ${ECHO} "$$f"; done; } \ | ${SED} -e "s,[ ].*,," -e "s,/\\./,/,g" -e "s,${PREFIX}/,," \ + | ${SED} -e "/^bin/d" \ | ${SORT} -u PERL5_GENERATE_PLIST= ${PERL5_PLIST_COMMENT_CMD}; \ ${PERL5_PLIST_FILES_CMD}; diff --git a/lang/perl5/patches/patch-Configure b/lang/perl5/patches/patch-Configure index 4364ee070fadd..5e90a32f41cdd 100644 --- a/lang/perl5/patches/patch-Configure +++ b/lang/perl5/patches/patch-Configure @@ -8,6 +8,14 @@ $NetBSD: patch-Configure,v 1.6 2018/08/22 08:37:46 wiz Exp $ --- Configure.orig 2018-05-21 12:29:23.000000000 +0000 +++ Configure +@@ -1332,6 +1332,7 @@ + : Possible local library directories to search. + loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" + loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" ++loclibpth='' + + : general looking path for locating libraries + glibpth="/lib /usr/lib $xlibpth" @@ -3471,13 +3471,14 @@ EOM osvers="$3" ;; diff --git a/lang/python/extension.mk b/lang/python/extension.mk index 4777c42195b69..7735eb9de01b9 100644 --- a/lang/python/extension.mk +++ b/lang/python/extension.mk @@ -2,6 +2,9 @@ .include "../../lang/python/pyversion.mk" +# Python packages need to be multiarch by default. +USE_MULTIARCH?= lib + # Packages that are a non-egg distutils extension should set # PYDISTUTILSPKG=YES and include this mk file. @@ -61,8 +64,15 @@ INSTALL_ENV+= PKGSRC_PYTHON_NO_EGG=defined .endif .if defined(PY_PATCHPLIST) -PLIST_SUBST+= PYINC=${PYINC} PYLIB=${PYLIB} PYSITELIB=${PYSITELIB} +PLIST_SUBST+= PYINC=${PYINC} PYLIB=${PYLIB} PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX} +# Ok, this is ugly :/ +. if defined(MULTIARCH) +PLIST_SUBST+= PYSITELIB=${PYSITELIB.32}${LIBARCHSUFFIX} +MULTIARCH_DIRS.lib?= ${PYSITELIB.32} +. else +PLIST_SUBST+= PYSITELIB=${PYSITELIB} +. endif .endif # mostly for ALTERNATIVES files diff --git a/lang/python/pyversion.mk b/lang/python/pyversion.mk index 0efe057443255..dc65316d88d0e 100644 --- a/lang/python/pyversion.mk +++ b/lang/python/pyversion.mk @@ -187,6 +187,12 @@ PYLIB!= ${PYTHONBIN} -c "import distutils.sysconfig; \ print (distutils.sysconfig.get_python_lib(0, 1, \"\"))" || ${ECHO} "" PYSITELIB!= ${PYTHONBIN} -c "import distutils.sysconfig; \ print (distutils.sysconfig.get_python_lib(0, 0, \"\"))" || ${ECHO} "" +.if defined(MULTIARCH) +PYSITELIB.32!= ABI=32 ${PYTHONBIN} -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_lib(0, 0, \"\"))" || ${ECHO} "" +PYSITELIB.64!= ABI=64 ${PYTHONBIN} -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_lib(0, 0, \"\"))" || ${ECHO} "" +.endif PRINT_PLIST_AWK+= /^${PYINC:S|/|\\/|g}/ \ { gsub(/${PYINC:S|/|\\/|g}/, "$${PYINC}") } diff --git a/lang/python26/files/pyconfig.h b/lang/python26/files/pyconfig.h new file mode 100644 index 0000000000000..ea3572433b467 --- /dev/null +++ b/lang/python26/files/pyconfig.h @@ -0,0 +1,10 @@ +/* + * Python installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pyconfig.h" +#else +#include "i86/pyconfig.h" +#endif diff --git a/lang/python26/patches/patch-Lib_distutils_sysconfig.py b/lang/python26/patches/patch-Lib_distutils_sysconfig.py new file mode 100644 index 0000000000000..b507dc48292ee --- /dev/null +++ b/lang/python26/patches/patch-Lib_distutils_sysconfig.py @@ -0,0 +1,30 @@ +$NetBSD$ + +Support multiarch. + +--- Lib/distutils/sysconfig.py.orig 2012-04-10 15:32:04.000000000 +0000 ++++ Lib/distutils/sysconfig.py 2012-12-13 09:44:24.270222135 +0000 +@@ -124,7 +124,10 @@ + if standard_lib: + return libpython + else: +- return os.path.join(libpython, "site-packages") ++ if sys.maxsize > 2**32: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.64@".lstrip('/')).rstrip('/') ++ else: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.32@".lstrip('/')).rstrip('/') + + elif os.name == "nt": + if standard_lib: +@@ -225,7 +228,10 @@ + return os.path.join(os.path.dirname(os.path.realpath(sys.executable)), + "Makefile") + lib_dir = get_python_lib(plat_specific=1, standard_lib=1) +- return os.path.join(lib_dir, "config", "Makefile") ++ if sys.maxsize > 2**32: ++ return os.path.join(lib_dir, "config", "@LIBARCHSUFFIX.64@".lstrip('/'), "Makefile") ++ else: ++ return os.path.join(lib_dir, "config", "@LIBARCHSUFFIX.32@".lstrip('/'), "Makefile") + + + def parse_config_h(fp, g=None): diff --git a/lang/python26/patches/patch-Lib_site.py b/lang/python26/patches/patch-Lib_site.py new file mode 100644 index 0000000000000..0e488db248973 --- /dev/null +++ b/lang/python26/patches/patch-Lib_site.py @@ -0,0 +1,21 @@ +$NetBSD$ + +Support multiarch site-packages. + +--- Lib/site.py.orig 2012-04-10 15:32:06.000000000 +0000 ++++ Lib/site.py 2012-12-13 09:41:52.556961721 +0000 +@@ -265,9 +265,13 @@ + if sys.platform in ('os2emx', 'riscos'): + sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) + elif os.sep == '/': ++ if sys.maxsize > 2**32: ++ libarchsuffix = "@LIBARCHSUFFIX.64@".lstrip('/') ++ else: ++ libarchsuffix = "@LIBARCHSUFFIX.32@".lstrip('/') + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], +- "site-packages")) ++ "site-packages", libarchsuffix).rstrip('/')) + sitedirs.append(os.path.join(prefix, "lib", "site-python")) + else: + sitedirs.append(prefix) diff --git a/lang/python26/patches/patch-Modules_getpath.c b/lang/python26/patches/patch-Modules_getpath.c new file mode 100644 index 0000000000000..2e08e154110e2 --- /dev/null +++ b/lang/python26/patches/patch-Modules_getpath.c @@ -0,0 +1,71 @@ +$NetBSD$ + +Multiarch support. + +--- Modules/getpath.c.orig Mon Apr 9 23:07:34 2012 ++++ Modules/getpath.c Mon Aug 13 06:37:50 2012 +@@ -118,7 +118,7 @@ + + #ifndef PYTHONPATH + #define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ +- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++ EXEC_PREFIX "/lib/python" VERSION "/lib-dynload@LIBARCHSUFFIX@" + #endif + + #ifndef LANDMARK +@@ -331,7 +331,7 @@ + else + strncpy(exec_prefix, home, MAXPATHLEN); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, "lib-dynload"); ++ joinpath(exec_prefix, "lib-dynload@LIBARCHSUFFIX@"); + return 1; + } + +@@ -348,7 +348,7 @@ + do { + n = strlen(exec_prefix); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, "lib-dynload"); ++ joinpath(exec_prefix, "lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + exec_prefix[n] = '\0'; +@@ -358,7 +358,7 @@ + /* Look at configure's EXEC_PREFIX */ + strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, "lib-dynload"); ++ joinpath(exec_prefix, "lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + +@@ -381,6 +381,7 @@ + char *prog = Py_GetProgramName(); + char argv0_path[MAXPATHLEN+1]; + char zip_path[MAXPATHLEN+1]; ++ char *libarchsuffix = "@LIBARCHSUFFIX@"; + int pfound, efound; /* 1 if found; -1 if found build directory */ + char *buf; + size_t bufsz; +@@ -538,7 +539,7 @@ + fprintf(stderr, + "Could not find platform dependent libraries \n"); + strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); +- joinpath(exec_prefix, "lib/lib-dynload"); ++ joinpath(exec_prefix, "lib/lib-dynload@LIBARCHSUFFIX@"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +@@ -649,6 +650,11 @@ + reduce(exec_prefix); + reduce(exec_prefix); + reduce(exec_prefix); ++ for (; *libarchsuffix != '\0'; *libarchsuffix++) { ++ if (*libarchsuffix == '/') { ++ reduce(exec_prefix); ++ } ++ } + if (!exec_prefix[0]) + strcpy(exec_prefix, separator); + } diff --git a/lang/python27/Makefile b/lang/python27/Makefile index f3e87785a41c2..8c33b8c070e1b 100644 --- a/lang/python27/Makefile +++ b/lang/python27/Makefile @@ -25,6 +25,11 @@ CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} CONFIGURE_ENV+= OPT=${CFLAGS:Q} PKGCONFIG_OVERRIDE+= Misc/python.pc.in +USE_MULTIARCH= bin lib +MULTIARCH_DIRS.lib= # empty, manually set in PLIST +NO_MULTIARCH_LIBDIR= # defined, manually set +CHECK_INTERPRETER=no # $PREFIX/bin/python2.7 not created until pkg_add + LDFLAGS+= -L${WRKSRC} # $RANDOM usage there is fine @@ -203,11 +208,31 @@ SUBST_STAGE.cacert= pre-configure SUBST_FILES.cacert= Modules/_ssl.c SUBST_SED.cacert= -e 's,@PREFIX@,${PREFIX},' +SUBST_CLASSES+= vars +SUBST_MESSAGE.vars= Substituting multiarch vars. +SUBST_STAGE.vars= pre-configure +SUBST_FILES.vars= Makefile.pre.in Modules/getpath.c +SUBST_FILES.vars+= Lib/distutils/command/install.py Lib/site.py +SUBST_FILES.vars+= Lib/distutils/sysconfig.py Lib/sysconfig.py +SUBST_SED.vars= -e 's,@LIBARCHSUFFIX@,${LIBARCHSUFFIX},' +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.32@,${LIBARCHSUFFIX.32},' +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.64@,${LIBARCHSUFFIX.64},' +.else +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.32@,,' +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.64@,,' +.endif + post-extract: ${LN} -s ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Tools/scripts/smtpd${PY_VER_SUFFIX}.py ${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX} ${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX} +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/pyconfig.h \ + ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/${INCARCHSUFFIX} + .if ${OPSYS} == "HPUX" post-install: ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.7.sl \ @@ -220,6 +245,12 @@ post-install: CONFIGURE_ENV+= ac_cv_type_socklen_t=yes .endif +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +post-install: + ${INSTALL_DATA} ${FILESDIR}/pyconfig.h \ + ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX} +.endif + BUILDLINK_DEPMETHOD.readline= build .include "../../archivers/bzip2/buildlink3.mk" diff --git a/lang/python27/PLIST b/lang/python27/PLIST index 5c6d7fc01d802..9581fcc067389 100644 --- a/lang/python27/PLIST +++ b/lang/python27/PLIST @@ -63,7 +63,7 @@ include/python${PY_VER_SUFFIX}/pgenheaders.h include/python${PY_VER_SUFFIX}/py_curses.h include/python${PY_VER_SUFFIX}/pyarena.h include/python${PY_VER_SUFFIX}/pycapsule.h -include/python${PY_VER_SUFFIX}/pyconfig.h +include/python${PY_VER_SUFFIX}${INCARCHSUFFIX}/pyconfig.h include/python${PY_VER_SUFFIX}/pyctype.h include/python${PY_VER_SUFFIX}/pydebug.h include/python${PY_VER_SUFFIX}/pyerrors.h @@ -96,9 +96,9 @@ include/python${PY_VER_SUFFIX}/ucnhash.h include/python${PY_VER_SUFFIX}/unicodeobject.h include/python${PY_VER_SUFFIX}/warnings.h include/python${PY_VER_SUFFIX}/weakrefobject.h -${PLIST.dll}lib/libpython${PY_VER_SUFFIX}.so -${PLIST.dll}lib/libpython${PY_VER_SUFFIX}.so.1.0 -lib/pkgconfig/python-${PY_VER_SUFFIX}.pc +${PLIST.dll}lib${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.so +${PLIST.dll}lib${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.so.1.0 +lib${LIBARCHSUFFIX}/pkgconfig/python-${PY_VER_SUFFIX}.pc lib/python${PY_VER_SUFFIX}/BaseHTTPServer.py lib/python${PY_VER_SUFFIX}/BaseHTTPServer.pyc lib/python${PY_VER_SUFFIX}/BaseHTTPServer.pyo @@ -391,16 +391,16 @@ lib/python${PY_VER_SUFFIX}/compiler/transformer.pyo lib/python${PY_VER_SUFFIX}/compiler/visitor.py lib/python${PY_VER_SUFFIX}/compiler/visitor.pyc lib/python${PY_VER_SUFFIX}/compiler/visitor.pyo -lib/python${PY_VER_SUFFIX}/config/Makefile -lib/python${PY_VER_SUFFIX}/config/Setup -lib/python${PY_VER_SUFFIX}/config/Setup.config -lib/python${PY_VER_SUFFIX}/config/Setup.local -lib/python${PY_VER_SUFFIX}/config/config.c -lib/python${PY_VER_SUFFIX}/config/config.c.in -lib/python${PY_VER_SUFFIX}/config/install-sh -lib/python${PY_VER_SUFFIX}/config/libpython${PY_VER_SUFFIX}.a -lib/python${PY_VER_SUFFIX}/config/makesetup -lib/python${PY_VER_SUFFIX}/config/python.o +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/Makefile +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/Setup +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/Setup.config +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/Setup.local +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/config.c +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/config.c.in +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/install-sh +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.a +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/makesetup +lib/python${PY_VER_SUFFIX}/config${LIBARCHSUFFIX}/python.o lib/python${PY_VER_SUFFIX}/contextlib.py lib/python${PY_VER_SUFFIX}/contextlib.pyc lib/python${PY_VER_SUFFIX}/contextlib.pyo @@ -1892,63 +1892,63 @@ lib/python${PY_VER_SUFFIX}/json/tool.pyo lib/python${PY_VER_SUFFIX}/keyword.py lib/python${PY_VER_SUFFIX}/keyword.pyc lib/python${PY_VER_SUFFIX}/keyword.pyo -lib/python${PY_VER_SUFFIX}/lib-dynload/Python-${PKGVERSION}-py${PY_VER_SUFFIX}.egg-info -lib/python${PY_VER_SUFFIX}/lib-dynload/_bisect.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_cn.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_hk.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_iso2022.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_jp.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_kr.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_tw.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_collections.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_csv.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ctypes.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ctypes_test.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_functools.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_hashlib.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_heapq.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_hotshot.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_io.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_json.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_locale.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_lsprof.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_multibytecodec.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_multiprocessing.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_random.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_socket.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ssl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_struct.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testcapi.so -lib/python${PY_VER_SUFFIX}/lib-dynload/array.so -lib/python${PY_VER_SUFFIX}/lib-dynload/audioop.so -lib/python${PY_VER_SUFFIX}/lib-dynload/binascii.so -lib/python${PY_VER_SUFFIX}/lib-dynload/bz2.so -lib/python${PY_VER_SUFFIX}/lib-dynload/cPickle.so -lib/python${PY_VER_SUFFIX}/lib-dynload/cStringIO.so -lib/python${PY_VER_SUFFIX}/lib-dynload/cmath.so -lib/python${PY_VER_SUFFIX}/lib-dynload/crypt.so -lib/python${PY_VER_SUFFIX}/lib-dynload/datetime.so -lib/python${PY_VER_SUFFIX}/lib-dynload/dbm.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/Python-${PKGVERSION}-py${PY_VER_SUFFIX}.egg-info +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_bisect.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_cn.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_hk.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_iso2022.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_jp.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_kr.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_tw.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_collections.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_csv.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ctypes.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ctypes_test.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_functools.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_hashlib.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_heapq.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_hotshot.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_io.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_json.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_locale.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_lsprof.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_multibytecodec.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_multiprocessing.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_random.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_socket.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ssl.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_struct.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testcapi.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/array.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/audioop.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/binascii.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/bz2.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/cPickle.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/cStringIO.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/cmath.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/crypt.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/datetime.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/dbm.so ${PLIST.dl}lib/python${PY_VER_SUFFIX}/lib-dynload/dl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/fcntl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/future_builtins.so -lib/python${PY_VER_SUFFIX}/lib-dynload/grp.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/fcntl.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/future_builtins.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/grp.so ${PLIST.extra-so}lib/python${PY_VER_SUFFIX}/lib-dynload/imageop.so -lib/python${PY_VER_SUFFIX}/lib-dynload/itertools.so -lib/python${PY_VER_SUFFIX}/lib-dynload/math.so -lib/python${PY_VER_SUFFIX}/lib-dynload/mmap.so -${PLIST.nis}lib/python${PY_VER_SUFFIX}/lib-dynload/nis.so -${PLIST.no-nis}lib/python${PY_VER_SUFFIX}/lib-dynload/nis_failed.so -lib/python${PY_VER_SUFFIX}/lib-dynload/operator.so -lib/python${PY_VER_SUFFIX}/lib-dynload/parser.so -lib/python${PY_VER_SUFFIX}/lib-dynload/resource.so -lib/python${PY_VER_SUFFIX}/lib-dynload/select.so -lib/python${PY_VER_SUFFIX}/lib-dynload/strop.so -lib/python${PY_VER_SUFFIX}/lib-dynload/syslog.so -lib/python${PY_VER_SUFFIX}/lib-dynload/termios.so -lib/python${PY_VER_SUFFIX}/lib-dynload/time.so -lib/python${PY_VER_SUFFIX}/lib-dynload/unicodedata.so -lib/python${PY_VER_SUFFIX}/lib-dynload/zlib.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/itertools.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/math.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/mmap.so +${PLIST.nis}lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/nis.so +${PLIST.no-nis}lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/nis_failed.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/operator.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/parser.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/resource.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/select.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/strop.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/syslog.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/termios.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/time.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/unicodedata.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/zlib.so lib/python${PY_VER_SUFFIX}/lib-tk/Canvas.py lib/python${PY_VER_SUFFIX}/lib-tk/Canvas.pyc lib/python${PY_VER_SUFFIX}/lib-tk/Canvas.pyo diff --git a/lang/python27/PLIST.SunOS b/lang/python27/PLIST.SunOS index b9881edc73d4d..0c6d33a1169b8 100644 --- a/lang/python27/PLIST.SunOS +++ b/lang/python27/PLIST.SunOS @@ -1,5 +1,5 @@ @comment $NetBSD: PLIST.SunOS,v 1.2 2018/06/17 19:31:50 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/spwd.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/spwd.so lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.py lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyc lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyo diff --git a/lang/python27/distinfo b/lang/python27/distinfo index 6828be437b77d..0ad1dd1dd9ae7 100644 --- a/lang/python27/distinfo +++ b/lang/python27/distinfo @@ -8,18 +8,20 @@ SHA1 (patch-Include_pyerrors.h) = 0d2cd52d18cc719b895fa32ed7e11c6cb15bae54 SHA1 (patch-Include_pyport.h) = f3e4ddbc954425a65301465410911222ca471320 SHA1 (patch-Lib_ctypes_util.py) = 6fa516c7b43f08992427a0afcbe80c17bcc070f1 SHA1 (patch-Lib_distutils_command_build__ext.py) = ea4feba4e93dbcff07050c82a00d591bb650e934 -SHA1 (patch-Lib_distutils_command_install.py) = e6aef090b444b455fe351308d251e670329b7dc3 +SHA1 (patch-Lib_distutils_command_install.py) = ae9abdc9057d2533b4ed2c5126ee7bcdee0e7908 +SHA1 (patch-Lib_distutils_sysconfig.py) = 3f12d8cd3f12e80150e3b13d56cd973c3d655f79 SHA1 (patch-Lib_distutils_unixccompiler.py) = db16c9aca2f29730945f28247b88b18828739bbb SHA1 (patch-Lib_distutils_util.py) = 5bcfad96f8e490351160f1a7c1f4ece7706a33fa SHA1 (patch-Lib_multiprocessing_process.py) = 15699bd8ec822bf54a0631102e00e0a34f882803 SHA1 (patch-Lib_plistlib.py) = 96ae702995d434e2d7ec0ac62e37427a90b61d13 -SHA1 (patch-Lib_sysconfig.py) = 8a7a0e5cbfec279a05945dffafea1b1131a76f0e -SHA1 (patch-Makefile.pre.in) = ceaf34237588b527478ce1f9163c9168382fa201 +SHA1 (patch-Lib_site.py) = 195d3fa0c3eefd2c183fb07dcde58e0c350d00b3 +SHA1 (patch-Lib_sysconfig.py) = bbb26965b57cb6f4ea9d0493cf813f9d3e0e7614 +SHA1 (patch-Makefile.pre.in) = 37ef6b3c6665c6341d0eb209626781fa9196e531 SHA1 (patch-Modules___multiprocessing_multiprocessing.h) = 7ca8fe22ba4bdcde6d39dd50fe2e86c25994c146 SHA1 (patch-Modules___multiprocessing_semaphore.c) = 03b9c33ef38da383d5f7c2c84c17fe38cdd2911e SHA1 (patch-Modules__ssl.c) = 6e68f88ad205106691900f091a897ffe0a4c363c SHA1 (patch-Modules_getaddrinfo.c) = aa699d257f1bc98b9a3183a21324053e134409d1 -SHA1 (patch-Modules_getpath.c) = 9bb2c040895ad6bbe4d0b5807803723b5437d47b +SHA1 (patch-Modules_getpath.c) = 76888dcca47b3ef451bc7f29ad239a11336f9144 SHA1 (patch-Modules_makesetup) = 9aad78714c4fe1a21cf66a6627d97d164ecea196 SHA1 (patch-Modules_nismodule.c) = 129ef7b32779944c2f1827c6b078a3aafab60729 SHA1 (patch-Modules_posixmodule.c) = 5105d380cd49bf49b8adbd9aa5ffb245195728ed diff --git a/lang/python27/files/pyconfig.h b/lang/python27/files/pyconfig.h new file mode 100644 index 0000000000000..ea3572433b467 --- /dev/null +++ b/lang/python27/files/pyconfig.h @@ -0,0 +1,10 @@ +/* + * Python installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pyconfig.h" +#else +#include "i86/pyconfig.h" +#endif diff --git a/lang/python27/patches/patch-Lib_distutils_command_install.py b/lang/python27/patches/patch-Lib_distutils_command_install.py index c16e8cd8f2aa7..2b2f0dcf24ee6 100644 --- a/lang/python27/patches/patch-Lib_distutils_command_install.py +++ b/lang/python27/patches/patch-Lib_distutils_command_install.py @@ -3,8 +3,40 @@ Add a knob (enviroment variable) for disabling installation of egg metadata in extensions until we have infrastructure in place for dealing w/ it. +Support multiarch. + --- Lib/distutils/command/install.py.orig 2014-12-10 15:59:34.000000000 +0000 +++ Lib/distutils/command/install.py +@@ -41,8 +41,8 @@ + + INSTALL_SCHEMES = { + 'unix_prefix': { +- 'purelib': '$base/lib/python$py_version_short/site-packages', +- 'platlib': '$platbase/lib/python$py_version_short/site-packages', ++ 'purelib': '$base/lib/python$py_version_short/site-packages$libarchsuffix', ++ 'platlib': '$platbase/lib/python$py_version_short/site-packages$libarchsuffix', + 'headers': '$base/include/python$py_version_short/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +@@ -298,6 +298,10 @@ + + py_version = (string.split(sys.version))[0] + (prefix, exec_prefix) = get_config_vars('prefix', 'exec_prefix') ++ if sys.maxsize > 2**32: ++ self.libarchsuffix = "@LIBARCHSUFFIX.64@" ++ else: ++ self.libarchsuffix = "@LIBARCHSUFFIX.32@" + self.config_vars = {'dist_name': self.distribution.get_name(), + 'dist_version': self.distribution.get_version(), + 'dist_fullname': self.distribution.get_fullname(), +@@ -310,6 +314,7 @@ + 'exec_prefix': exec_prefix, + 'userbase': self.install_userbase, + 'usersite': self.install_usersite, ++ 'libarchsuffix': self.libarchsuffix, + } + self.expand_basedirs() + @@ -666,7 +666,8 @@ class install (Command): ('install_headers', has_headers), ('install_scripts', has_scripts), diff --git a/lang/python27/patches/patch-Lib_distutils_sysconfig.py b/lang/python27/patches/patch-Lib_distutils_sysconfig.py new file mode 100644 index 0000000000000..e96c32414de0b --- /dev/null +++ b/lang/python27/patches/patch-Lib_distutils_sysconfig.py @@ -0,0 +1,30 @@ +$NetBSD$ + +Support multiarch. + +--- Lib/distutils/sysconfig.py.orig 2015-12-05 19:46:57.000000000 +0000 ++++ Lib/distutils/sysconfig.py +@@ -124,7 +124,10 @@ def get_python_lib(plat_specific=0, stan + if standard_lib: + return libpython + else: +- return os.path.join(libpython, "site-packages") ++ if sys.maxsize > 2**32: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.64@".lstrip('/')).rstrip('/') ++ else: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.32@".lstrip('/')).rstrip('/') + + elif os.name == "nt": + if standard_lib: +@@ -244,7 +247,10 @@ def get_makefile_filename(): + if python_build: + return os.path.join(project_base, "Makefile") + lib_dir = get_python_lib(plat_specific=1, standard_lib=1) +- return os.path.join(lib_dir, "config", "Makefile") ++ if sys.maxsize > 2**32: ++ return os.path.join(lib_dir, "config", "@LIBARCHSUFFIX.64@".lstrip('/'), "Makefile") ++ else: ++ return os.path.join(lib_dir, "config", "@LIBARCHSUFFIX.32@".lstrip('/'), "Makefile") + + + def parse_config_h(fp, g=None): diff --git a/lang/python27/patches/patch-Lib_site.py b/lang/python27/patches/patch-Lib_site.py new file mode 100644 index 0000000000000..39aeb5b2fd1d1 --- /dev/null +++ b/lang/python27/patches/patch-Lib_site.py @@ -0,0 +1,21 @@ +$NetBSD$ + +Support multiarch site-packages. + +--- Lib/site.py.orig 2015-12-05 19:47:02.000000000 +0000 ++++ Lib/site.py +@@ -288,9 +288,13 @@ def getsitepackages(): + if sys.platform in ('os2emx', 'riscos'): + sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) + elif os.sep == '/': ++ if sys.maxsize > 2**32: ++ libarchsuffix = "@LIBARCHSUFFIX.64@".lstrip('/') ++ else: ++ libarchsuffix = "@LIBARCHSUFFIX.32@".lstrip('/') + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], +- "site-packages")) ++ "site-packages", libarchsuffix).rstrip('/')) + sitepackages.append(os.path.join(prefix, "lib", "site-python")) + else: + sitepackages.append(prefix) diff --git a/lang/python27/patches/patch-Lib_sysconfig.py b/lang/python27/patches/patch-Lib_sysconfig.py index 88b1dc9809c41..61295b809af4b 100644 --- a/lang/python27/patches/patch-Lib_sysconfig.py +++ b/lang/python27/patches/patch-Lib_sysconfig.py @@ -4,6 +4,40 @@ --- Lib/sysconfig.py.orig 2014-12-10 15:59:40.000000000 +0000 +++ Lib/sysconfig.py +@@ -9,8 +9,8 @@ _INSTALL_SCHEMES = { + 'posix_prefix': { + 'stdlib': '{base}/lib/python{py_version_short}', + 'platstdlib': '{platbase}/lib/python{py_version_short}', +- 'purelib': '{base}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', ++ 'purelib': '{base}/lib/python{py_version_short}/site-packages{libarchsuffix}', ++ 'platlib': '{platbase}/lib/python{py_version_short}/site-packages{libarchsuffix}', + 'include': '{base}/include/python{py_version_short}', + 'platinclude': '{platbase}/include/python{py_version_short}', + 'scripts': '{base}/bin', +@@ -277,7 +277,10 @@ def get_makefile_filename(): + """Return the path of the Makefile.""" + if _PYTHON_BUILD: + return os.path.join(_PROJECT_BASE, "Makefile") +- return os.path.join(get_path('platstdlib'), "config", "Makefile") ++ if sys.maxsize > 2**32: ++ return os.path.join(get_path('platstdlib'), "config", "@LIBARCHSUFFIX.64@".lstrip('/'), "Makefile") ++ else: ++ return os.path.join(get_path('platstdlib'), "config", "@LIBARCHSUFFIX.32@".lstrip('/'), "Makefile") + + # Issue #22199: retain undocumented private name for compatibility + _get_makefile_filename = get_makefile_filename +@@ -465,6 +468,10 @@ def get_config_vars(*args): + _CONFIG_VARS['base'] = _PREFIX + _CONFIG_VARS['platbase'] = _EXEC_PREFIX + _CONFIG_VARS['projectbase'] = _PROJECT_BASE ++ if sys.maxsize > 2**32: ++ _CONFIG_VARS['libarchsuffix'] = "@LIBARCHSUFFIX.64@" ++ else: ++ _CONFIG_VARS['libarchsuffix'] = "@LIBARCHSUFFIX.32@" + + if os.name in ('nt', 'os2'): + _init_non_posix(_CONFIG_VARS) @@ -607,6 +607,8 @@ def get_platform(): osname, release, machine = _osx_support.get_platform_osx( get_config_vars(), diff --git a/lang/python27/patches/patch-Makefile.pre.in b/lang/python27/patches/patch-Makefile.pre.in index ce2a582ce4cdb..7f08de4251bc9 100644 --- a/lang/python27/patches/patch-Makefile.pre.in +++ b/lang/python27/patches/patch-Makefile.pre.in @@ -4,6 +4,15 @@ Fix for unpriviliged build. --- Makefile.pre.in.orig 2017-09-16 17:38:35.000000000 +0000 +++ Makefile.pre.in +@@ -124,7 +124,7 @@ SO= @SO@ + LDSHARED= @LDSHARED@ $(LDFLAGS) + BLDSHARED= @BLDSHARED@ $(LDFLAGS) + LDCXXSHARED= @LDCXXSHARED@ +-DESTSHARED= $(BINLIBDEST)/lib-dynload ++DESTSHARED= $(BINLIBDEST)/lib-dynload@LIBARCHSUFFIX@ + + # Executable suffix (.exe on Windows and Mac OS X) + EXE= @EXEEXT@ @@ -554,7 +554,7 @@ gdbhooks: $(BUILDPYTHON)-gdb.py SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py @@ -13,13 +22,42 @@ Fix for unpriviliged build. # This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary # minimal framework (not including the Lib directory and such) in the current -@@ -993,7 +993,8 @@ altbininstall: $(BUILDPYTHON) - (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ +@@ -975,7 +975,7 @@ bininstall: altbininstall + # Install the interpreter with $(VERSION) affixed + # This goes into $(exec_prefix) + altbininstall: $(BUILDPYTHON) +- @for i in $(BINDIR) $(LIBDIR); \ ++ @for i in $(BINDIR) $(LIBDIR)@LIBARCHSUFFIX@; \ + do \ + if test ! -d $(DESTDIR)$$i; then \ + echo "Creating directory $$i"; \ +@@ -988,12 +988,13 @@ altbininstall: $(BUILDPYTHON) + if test -n "$(DLLLIBRARY)" ; then \ + $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \ + else \ +- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \ ++ $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@/$(INSTSONAME); \ + if test $(LDLIBRARY) != $(INSTSONAME); then \ +- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ ++ (cd $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@; $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ fi \ fi; \ - else true; \ + elif test -f $(INSTSONAME); then \ -+ $(INSTALL_SHARED) $(INSTSONAME) $(DESTDIR)$(LIBDIR); \ ++ $(INSTALL_SHARED) $(INSTSONAME) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@; \ fi # Install the versioned manual page +@@ -1179,10 +1180,10 @@ inclinstall: + + # Install the library and miscellaneous stuff needed for extending/embedding + # This goes into $(exec_prefix) +-LIBPL= $(LIBP)/config ++LIBPL= $(LIBP)/config@LIBARCHSUFFIX@ + + # pkgconfig directory +-LIBPC= $(LIBDIR)/pkgconfig ++LIBPC= $(LIBDIR)@LIBARCHSUFFIX@/pkgconfig + + libainstall: @DEF_MAKE_RULE@ python-config + @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \ diff --git a/lang/python27/patches/patch-Modules_getpath.c b/lang/python27/patches/patch-Modules_getpath.c index b19be6cbe2a30..07ee451484d87 100644 --- a/lang/python27/patches/patch-Modules_getpath.c +++ b/lang/python27/patches/patch-Modules_getpath.c @@ -2,9 +2,44 @@ * from cygport 2.7.3-getpath-exe-extension.patch ---- Modules/getpath.c.orig 2014-12-10 15:59:55.000000000 +0000 +--- Modules/getpath.c.orig 2016-06-25 21:49:31.000000000 +0000 +++ Modules/getpath.c -@@ -451,6 +451,28 @@ calculate_path(void) +@@ -310,7 +310,7 @@ search_for_exec_prefix(char *argv0_path, + else + strncpy(exec_prefix, home, MAXPATHLEN); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, "lib-dynload"); ++ joinpath(exec_prefix, "lib-dynload@LIBARCHSUFFIX@"); + return 1; + } + +@@ -342,7 +342,7 @@ search_for_exec_prefix(char *argv0_path, + do { + n = strlen(exec_prefix); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, "lib-dynload"); ++ joinpath(exec_prefix, "lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + exec_prefix[n] = '\0'; +@@ -352,7 +352,7 @@ search_for_exec_prefix(char *argv0_path, + /* Look at configure's EXEC_PREFIX */ + strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, "lib-dynload"); ++ joinpath(exec_prefix, "lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + +@@ -375,6 +375,7 @@ calculate_path(void) + char *prog = Py_GetProgramName(); + char argv0_path[MAXPATHLEN+1]; + char zip_path[MAXPATHLEN+1]; ++ char *libarchsuffix = "@LIBARCHSUFFIX@"; + int pfound, efound; /* 1 if found; -1 if found build directory */ + char *buf; + size_t bufsz; +@@ -430,6 +431,28 @@ calculate_path(void) if (isxfile(progpath)) break; @@ -33,3 +68,24 @@ if (!delim) { progpath[0] = '\0'; break; +@@ -532,7 +555,7 @@ calculate_path(void) + fprintf(stderr, + "Could not find platform dependent libraries \n"); + strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); +- joinpath(exec_prefix, "lib/lib-dynload"); ++ joinpath(exec_prefix, "lib/lib-dynload@LIBARCHSUFFIX@"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +@@ -643,6 +666,11 @@ calculate_path(void) + reduce(exec_prefix); + reduce(exec_prefix); + reduce(exec_prefix); ++ for (; *libarchsuffix != '\0'; *libarchsuffix++) { ++ if (*libarchsuffix == '/') { ++ reduce(exec_prefix); ++ } ++ } + if (!exec_prefix[0]) + strcpy(exec_prefix, separator); + } diff --git a/lang/python32/files/pyconfig.h b/lang/python32/files/pyconfig.h new file mode 100644 index 0000000000000..ea3572433b467 --- /dev/null +++ b/lang/python32/files/pyconfig.h @@ -0,0 +1,10 @@ +/* + * Python installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pyconfig.h" +#else +#include "i86/pyconfig.h" +#endif diff --git a/lang/python32/patches/patch-Lib_distutils_sysconfig.py b/lang/python32/patches/patch-Lib_distutils_sysconfig.py new file mode 100644 index 0000000000000..db7890f450819 --- /dev/null +++ b/lang/python32/patches/patch-Lib_distutils_sysconfig.py @@ -0,0 +1,30 @@ +$NetBSD$ + +Support multiarch. + +--- Lib/distutils/sysconfig.py.orig 2012-04-11 06:54:02.000000000 +0000 ++++ Lib/distutils/sysconfig.py 2012-12-13 15:00:26.568376396 +0000 +@@ -127,7 +127,10 @@ + if standard_lib: + return libpython + else: +- return os.path.join(libpython, "site-packages") ++ if sys.maxsize > 2**32: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.64@".lstrip('/')).rstrip('/') ++ else: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.32@".lstrip('/')).rstrip('/') + elif os.name == "nt": + if standard_lib: + return os.path.join(prefix, "Lib") +@@ -251,7 +254,10 @@ + return os.path.join(os.path.dirname(sys.executable), "Makefile") + lib_dir = get_python_lib(plat_specific=0, standard_lib=1) + config_file = 'config-{}{}'.format(get_python_version(), build_flags) +- return os.path.join(lib_dir, config_file, 'Makefile') ++ if sys.maxsize > 2**32: ++ return os.path.join(lib_dir, config_file, "@LIBARCHSUFFIX.64@".lstrip('/'), 'Makefile') ++ else: ++ return os.path.join(lib_dir, config_file, "@LIBARCHSUFFIX.32@".lstrip('/'), 'Makefile') + + + def parse_config_h(fp, g=None): diff --git a/lang/python32/patches/patch-Lib_site.py b/lang/python32/patches/patch-Lib_site.py new file mode 100644 index 0000000000000..90b7f373ce7e4 --- /dev/null +++ b/lang/python32/patches/patch-Lib_site.py @@ -0,0 +1,21 @@ +$NetBSD$ + +Support multiarch site-packages. + +--- Lib/site.py.orig 2012-04-11 06:54:03.000000000 +0000 ++++ Lib/site.py 2012-12-13 15:07:50.954286242 +0000 +@@ -285,9 +285,13 @@ + if sys.platform in ('os2emx', 'riscos'): + sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) + elif os.sep == '/': ++ if sys.maxsize > 2**32: ++ libarchsuffix = "@LIBARCHSUFFIX.64@".lstrip('/') ++ else: ++ libarchsuffix = "@LIBARCHSUFFIX.32@".lstrip('/') + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], +- "site-packages")) ++ "site-packages", libarchsuffix).rstrip('/')) + sitepackages.append(os.path.join(prefix, "lib", "site-python")) + else: + sitepackages.append(prefix) diff --git a/lang/python32/patches/patch-Modules_getpath.c b/lang/python32/patches/patch-Modules_getpath.c new file mode 100644 index 0000000000000..00e42459a342e --- /dev/null +++ b/lang/python32/patches/patch-Modules_getpath.c @@ -0,0 +1,71 @@ +$NetBSD$ + +Multiarch support. + +--- Modules/getpath.c.orig 2012-04-11 06:54:07.000000000 +0000 ++++ Modules/getpath.c 2012-12-13 15:09:29.380392481 +0000 +@@ -123,7 +123,7 @@ + + #ifndef PYTHONPATH + #define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ +- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++ EXEC_PREFIX "/lib/python" VERSION "/lib-dynload@LIBARCHSUFFIX@" + #endif + + #ifndef LANDMARK +@@ -339,7 +339,7 @@ + else + wcsncpy(exec_prefix, home, MAXPATHLEN); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + return 1; + } + +@@ -380,7 +380,7 @@ + do { + n = wcslen(exec_prefix); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + exec_prefix[n] = L'\0'; +@@ -390,7 +390,7 @@ + /* Look at configure's EXEC_PREFIX */ + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + +@@ -414,6 +414,7 @@ + wchar_t *prog = Py_GetProgramName(); + wchar_t argv0_path[MAXPATHLEN+1]; + wchar_t zip_path[MAXPATHLEN+1]; ++ char *libarchsuffix = "@LIBARCHSUFFIX@"; + int pfound, efound; /* 1 if found; -1 if found build directory */ + wchar_t *buf; + size_t bufsz; +@@ -593,7 +594,7 @@ + fprintf(stderr, + "Could not find platform dependent libraries \n"); + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); +- joinpath(exec_prefix, L"lib/lib-dynload"); ++ joinpath(exec_prefix, L"lib/lib-dynload@LIBARCHSUFFIX@"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +@@ -710,6 +711,11 @@ + reduce(exec_prefix); + reduce(exec_prefix); + reduce(exec_prefix); ++ for (; *libarchsuffix != '\0'; *libarchsuffix++) { ++ if (*libarchsuffix == '/') { ++ reduce(exec_prefix); ++ } ++ } + if (!exec_prefix[0]) + wcscpy(exec_prefix, separator); + } diff --git a/lang/python34/Makefile b/lang/python34/Makefile index cbe6e8e758c9a..3dfc486cf17aa 100644 --- a/lang/python34/Makefile +++ b/lang/python34/Makefile @@ -29,6 +29,11 @@ CONFIGURE_ENV+= OPT=${CFLAGS:M*:Q} CONFIGURE_ENV+= ac_cv_path_mkdir=${TOOLS_PATH.mkdir} PKGCONFIG_OVERRIDE+= Misc/python.pc.in +USE_MULTIARCH= bin lib +MULTIARCH_DIRS.lib= # empty, manually set in PLIST +NO_MULTIARCH_LIBDIR= # defined, manually set +CHECK_INTERPRETER=no # $PREFIX/bin/python3.4 not created until pkg_add + PTHREAD_OPTS+= require .include "../../mk/pthread.buildlink3.mk" @@ -178,6 +183,34 @@ SUBST_VARS.sslbase= SSLBASE CHECK_INTERPRETER_SKIP= lib/python${PY_VER_SUFFIX}/venv/scripts/posix/pydoc +SUBST_CLASSES+= vars +SUBST_MESSAGE.vars= Substituting multiarch vars. +SUBST_STAGE.vars= pre-configure +SUBST_FILES.vars= Makefile.pre.in Modules/getpath.c +SUBST_FILES.vars+= Lib/distutils/command/install.py Lib/site.py +SUBST_FILES.vars+= Lib/distutils/sysconfig.py Lib/sysconfig.py +SUBST_SED.vars= -e 's,@LIBARCHSUFFIX@,${LIBARCHSUFFIX},' +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.32@,${LIBARCHSUFFIX.32},' +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.64@,${LIBARCHSUFFIX.64},' +.else +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.32@,,' +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.64@,,' +.endif + +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/pyconfig.h \ + ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/${INCARCHSUFFIX} + +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +post-install: + ${INSTALL_DATA} ${FILESDIR}/pyconfig.h \ + ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX} + # XXX: figure out why this isn't removed in 64-bit case + #${RM} -rf ${DESTDIR}/${PREFIX}/lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/__pycache__ +.endif + .if ${OPSYS} == "HPUX" post-install: ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython3.4.sl \ diff --git a/lang/python34/PLIST b/lang/python34/PLIST index 1c19798afb93f..e590addd93ec7 100644 --- a/lang/python34/PLIST +++ b/lang/python34/PLIST @@ -65,7 +65,7 @@ include/python${PY_VER_SUFFIX}/py_curses.h include/python${PY_VER_SUFFIX}/pyarena.h include/python${PY_VER_SUFFIX}/pyatomic.h include/python${PY_VER_SUFFIX}/pycapsule.h -include/python${PY_VER_SUFFIX}/pyconfig.h +include/python${PY_VER_SUFFIX}${INCARCHSUFFIX}/pyconfig.h include/python${PY_VER_SUFFIX}/pyctype.h include/python${PY_VER_SUFFIX}/pydebug.h include/python${PY_VER_SUFFIX}/pyerrors.h @@ -99,9 +99,9 @@ include/python${PY_VER_SUFFIX}/ucnhash.h include/python${PY_VER_SUFFIX}/unicodeobject.h include/python${PY_VER_SUFFIX}/warnings.h include/python${PY_VER_SUFFIX}/weakrefobject.h -lib/libpython${PY_VER_SUFFIX}.so -lib/libpython${PY_VER_SUFFIX}.so.1.0 -lib/pkgconfig/python-${PY_VER_SUFFIX}.pc +lib${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.so +lib${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.so.1.0 +lib${LIBARCHSUFFIX}/pkgconfig/python-${PY_VER_SUFFIX}.pc lib/python${PY_VER_SUFFIX}/LICENSE.txt lib/python${PY_VER_SUFFIX}/__future__.py lib/python${PY_VER_SUFFIX}/__future__.pyc @@ -307,19 +307,19 @@ lib/python${PY_VER_SUFFIX}/concurrent/futures/process.pyo lib/python${PY_VER_SUFFIX}/concurrent/futures/thread.py lib/python${PY_VER_SUFFIX}/concurrent/futures/thread.pyc lib/python${PY_VER_SUFFIX}/concurrent/futures/thread.pyo -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Makefile -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Setup -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Setup.config -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Setup.local -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/config.c -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/config.c.in -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/install-sh -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/libpython${PY_VER_SUFFIX}.a -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/makesetup -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python-config.py -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python-config.pyc -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python-config.pyo -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python.o +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Makefile +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Setup +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Setup.config +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Setup.local +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/config.c +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/config.c.in +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/install-sh +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.a +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/makesetup +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python-config.py +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python-config.pyc +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python-config.pyo +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python.o lib/python${PY_VER_SUFFIX}/configparser.py lib/python${PY_VER_SUFFIX}/configparser.pyc lib/python${PY_VER_SUFFIX}/configparser.pyo @@ -1735,60 +1735,60 @@ lib/python${PY_VER_SUFFIX}/json/tool.pyo lib/python${PY_VER_SUFFIX}/keyword.py lib/python${PY_VER_SUFFIX}/keyword.pyc lib/python${PY_VER_SUFFIX}/keyword.pyo -lib/python${PY_VER_SUFFIX}/lib-dynload/_bisect.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_bz2.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_cn.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_hk.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_iso2022.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_jp.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_kr.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_tw.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_crypt.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_csv.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ctypes.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ctypes_test.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_datetime.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_dbm.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_decimal.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_hashlib.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_heapq.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_json.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_lsprof.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_lzma.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_md5.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_multibytecodec.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_multiprocessing.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_opcode.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_pickle.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_posixsubprocess.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_random.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_sha1.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_sha256.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_sha512.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_socket.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ssl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_struct.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testbuffer.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testcapi.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testimportmultiple.so -lib/python${PY_VER_SUFFIX}/lib-dynload/array.so -lib/python${PY_VER_SUFFIX}/lib-dynload/audioop.so -lib/python${PY_VER_SUFFIX}/lib-dynload/binascii.so -lib/python${PY_VER_SUFFIX}/lib-dynload/cmath.so -lib/python${PY_VER_SUFFIX}/lib-dynload/fcntl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/grp.so -lib/python${PY_VER_SUFFIX}/lib-dynload/math.so -lib/python${PY_VER_SUFFIX}/lib-dynload/mmap.so -${PLIST.nis}lib/python${PY_VER_SUFFIX}/lib-dynload/nis.so -${PLIST.no-nis}lib/python${PY_VER_SUFFIX}/lib-dynload/nis_failed.so -lib/python${PY_VER_SUFFIX}/lib-dynload/parser.so -lib/python${PY_VER_SUFFIX}/lib-dynload/resource.so -lib/python${PY_VER_SUFFIX}/lib-dynload/select.so -lib/python${PY_VER_SUFFIX}/lib-dynload/syslog.so -lib/python${PY_VER_SUFFIX}/lib-dynload/termios.so -lib/python${PY_VER_SUFFIX}/lib-dynload/time.so -lib/python${PY_VER_SUFFIX}/lib-dynload/unicodedata.so -lib/python${PY_VER_SUFFIX}/lib-dynload/zlib.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_bisect.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_bz2.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_cn.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_hk.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_iso2022.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_jp.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_kr.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_tw.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_crypt.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_csv.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ctypes.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ctypes_test.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_datetime.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_dbm.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_decimal.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_hashlib.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_heapq.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_json.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_lsprof.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_lzma.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_md5.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_multibytecodec.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_multiprocessing.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_opcode.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_pickle.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_posixsubprocess.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_random.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_sha1.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_sha256.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_sha512.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_socket.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ssl.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_struct.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testbuffer.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testcapi.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testimportmultiple.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/array.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/audioop.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/binascii.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/cmath.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/fcntl.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/grp.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/math.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/mmap.so +${PLIST.nis}lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/nis.so +${PLIST.no-nis}lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/nis_failed.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/parser.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/resource.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/select.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/syslog.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/termios.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/time.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/unicodedata.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/zlib.so lib/python${PY_VER_SUFFIX}/lib2to3/Grammar${PKGVERSION}.final.0.pickle lib/python${PY_VER_SUFFIX}/lib2to3/Grammar.txt lib/python${PY_VER_SUFFIX}/lib2to3/PatternGrammar${PKGVERSION}.final.0.pickle diff --git a/lang/python34/PLIST.Darwin b/lang/python34/PLIST.Darwin index 3bce5e48c964f..05f076d34697e 100644 --- a/lang/python34/PLIST.Darwin +++ b/lang/python34/PLIST.Darwin @@ -1,2 +1,2 @@ @comment $NetBSD: PLIST.Darwin,v 1.2 2014/05/09 16:33:56 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/_scproxy.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_scproxy.so diff --git a/lang/python34/PLIST.Linux b/lang/python34/PLIST.Linux index cfa63467acd4f..bdaf1cf8a15b9 100644 --- a/lang/python34/PLIST.Linux +++ b/lang/python34/PLIST.Linux @@ -1,6 +1,6 @@ @comment $NetBSD: PLIST.Linux,v 1.2 2018/06/17 19:21:21 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/ossaudiodev.so -lib/python${PY_VER_SUFFIX}/lib-dynload/spwd.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/ossaudiodev.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/spwd.so lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.py lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.pyc lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.pyo diff --git a/lang/python34/PLIST.SunOS b/lang/python34/PLIST.SunOS index c1a4cc215314b..f1f5cc4f69942 100644 --- a/lang/python34/PLIST.SunOS +++ b/lang/python34/PLIST.SunOS @@ -1,5 +1,5 @@ @comment $NetBSD: PLIST.SunOS,v 1.2 2018/06/17 19:31:50 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/spwd.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/spwd.so lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.py lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyc lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyo diff --git a/lang/python34/buildlink3.mk b/lang/python34/buildlink3.mk index 5bf34f77f4c2f..cf7c45b2b951d 100644 --- a/lang/python34/buildlink3.mk +++ b/lang/python34/buildlink3.mk @@ -13,7 +13,7 @@ BUILDLINK_DEPMETHOD.python34?= ${BUILDLINK_DEPMETHOD.python} .endif BUILDLINK_INCDIRS.python34+= include/python3.4 -BUILDLINK_LIBDIRS.python34+= lib/python3.4/config +BUILDLINK_LIBDIRS.python34+= lib${LIBARCHSUFFIX}/python3.4/config BUILDLINK_TRANSFORM+= l:python:python3.4 .include "../../mk/dlopen.buildlink3.mk" diff --git a/lang/python34/distinfo b/lang/python34/distinfo index 241e3339aaa32..220006411185f 100644 --- a/lang/python34/distinfo +++ b/lang/python34/distinfo @@ -5,15 +5,19 @@ RMD160 (Python-3.4.9.tar.xz) = 941536bcadacd7c42c3f3fa94aa42186443ea673 SHA512 (Python-3.4.9.tar.xz) = 4ca37abfb99d04ed360002dbba18cc9fbecc6c02b14e3796c353800a2982ad2d18dd73150c29f37f57a02f60a7b3b34364b95f454e3cda68bd174fce2341bd3f Size (Python-3.4.9.tar.xz) = 14541804 bytes SHA1 (patch-Lib_ctypes_util.py) = 2bd826c0996bbbc8f8986ba0502a33ab90194ed9 -SHA1 (patch-Lib_distutils_command_install.py) = 9b44f339f65f029b7f17dbc654739a7ae3c12780 +SHA1 (patch-Lib_distutils_command_install.py) = ccb4bf23121705878f01ed2c2a117c4cfd8bcefc +SHA1 (patch-Lib_distutils_sysconfig.py) = 916720ecb03753e498f48684232c81911b799dc1 SHA1 (patch-Lib_distutils_unixccompiler.py) = 7d6df07921ad3357757d4681a964256b560b3f57 -SHA1 (patch-Makefile.pre.in) = 06402b33a01076b6cbea9659f4c6beb4cd0b80f1 +SHA1 (patch-Lib_site.py) = 78240a934ef17422f9ad5bdd60cce8acc3828427 +SHA1 (patch-Lib_sysconfig.py) = d07ebe4184cf2f03cd3a97466f18499bbdbcee3b +SHA1 (patch-Makefile.pre.in) = 067ec84486a1d22cb11796be2b2eb03e3f4807da SHA1 (patch-Modules___cursesmodule.c) = ae0f7a69d74058a5a7853fcd2319360d8b083065 +SHA1 (patch-Modules_getpath.c) = 4750ee297ae336c804abae1b257abf17d7ebb1e6 SHA1 (patch-Modules_makesetup) = c9b571eb54fdf0b1e93524a6de6780e8c4119221 SHA1 (patch-Modules_nismodule.c) = bd290417c265846e238660180e60e76c0f5f696a SHA1 (patch-Modules_socketmodule.c) = 3b091755d7c104b5d1fc696a0d4a679ed3565ef4 SHA1 (patch-Modules_socketmodule.h) = ed334a97c2a6662c5b44b4e50c1b8efcc220fa1f SHA1 (patch-Python_thread__pthread.h) = fb81eaa604b4ed7c1b64c3f4731d58a8aee257be -SHA1 (patch-configure) = 5cf4d44d24020a9b6fe41deeb916edbe87a937cb +SHA1 (patch-configure) = 456150c3ce93cf87f8557a5be1adf96cdade18f1 SHA1 (patch-pyconfig.h.in) = 1fbd8b94a6317e31a3b9db683db0c2c9c4334713 SHA1 (patch-setup.py) = 42c81cb89b2568124b40d1bc2134d3221b4bca1e diff --git a/lang/python34/files/pyconfig.h b/lang/python34/files/pyconfig.h new file mode 100644 index 0000000000000..ea3572433b467 --- /dev/null +++ b/lang/python34/files/pyconfig.h @@ -0,0 +1,10 @@ +/* + * Python installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pyconfig.h" +#else +#include "i86/pyconfig.h" +#endif diff --git a/lang/python34/patches/patch-Lib_distutils_command_install.py b/lang/python34/patches/patch-Lib_distutils_command_install.py index a0e84c73fe82b..1bdd2868ef894 100644 --- a/lang/python34/patches/patch-Lib_distutils_command_install.py +++ b/lang/python34/patches/patch-Lib_distutils_command_install.py @@ -1,8 +1,40 @@ $NetBSD: patch-Lib_distutils_command_install.py,v 1.1 2018/06/17 19:21:21 adam Exp $ ---- Lib/distutils/command/install.py.orig 2012-02-23 20:22:44.000000000 +0000 +Support multiarch. + +--- Lib/distutils/command/install.py.orig 2014-10-08 08:18:12.000000000 +0000 +++ Lib/distutils/command/install.py -@@ -676,5 +676,6 @@ class install(Command): +@@ -29,8 +29,8 @@ WINDOWS_SCHEME = { + + INSTALL_SCHEMES = { + 'unix_prefix': { +- 'purelib': '$base/lib/python$py_version_short/site-packages', +- 'platlib': '$platbase/lib/python$py_version_short/site-packages', ++ 'purelib': '$base/lib/python$py_version_short/site-packages$libarchsuffix', ++ 'platlib': '$platbase/lib/python$py_version_short/site-packages$libarchsuffix', + 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +@@ -281,6 +281,10 @@ class install(Command): + + py_version = sys.version.split()[0] + (prefix, exec_prefix) = get_config_vars('prefix', 'exec_prefix') ++ if sys.maxsize > 2**32: ++ self.libarchsuffix = "@LIBARCHSUFFIX.64@" ++ else: ++ self.libarchsuffix = "@LIBARCHSUFFIX.32@" + try: + abiflags = sys.abiflags + except AttributeError: +@@ -297,6 +301,7 @@ class install(Command): + 'sys_exec_prefix': exec_prefix, + 'exec_prefix': exec_prefix, + 'abiflags': abiflags, ++ 'libarchsuffix': self.libarchsuffix, + } + + if HAS_USER_SITE: +@@ -646,5 +651,6 @@ class install(Command): ('install_headers', has_headers), ('install_scripts', has_scripts), ('install_data', has_data), diff --git a/lang/python34/patches/patch-Lib_distutils_sysconfig.py b/lang/python34/patches/patch-Lib_distutils_sysconfig.py new file mode 100644 index 0000000000000..dc232cbc66906 --- /dev/null +++ b/lang/python34/patches/patch-Lib_distutils_sysconfig.py @@ -0,0 +1,30 @@ +$NetBSD$ + +Support multiarch. + +--- Lib/distutils/sysconfig.py.orig 2014-10-08 08:18:12.000000000 +0000 ++++ Lib/distutils/sysconfig.py +@@ -146,7 +146,10 @@ def get_python_lib(plat_specific=0, stan + if standard_lib: + return libpython + else: +- return os.path.join(libpython, "site-packages") ++ if sys.maxsize > 2**32: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.64@".lstrip('/')).rstrip('/') ++ else: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.32@".lstrip('/')).rstrip('/') + elif os.name == "nt": + if standard_lib: + return os.path.join(prefix, "Lib") +@@ -251,7 +254,10 @@ def get_makefile_filename(): + return os.path.join(_sys_home or project_base, "Makefile") + lib_dir = get_python_lib(plat_specific=0, standard_lib=1) + config_file = 'config-{}{}'.format(get_python_version(), build_flags) +- return os.path.join(lib_dir, config_file, 'Makefile') ++ if sys.maxsize > 2**32: ++ return os.path.join(lib_dir, config_file, "@LIBARCHSUFFIX.64@".lstrip('/'), 'Makefile') ++ else: ++ return os.path.join(lib_dir, config_file, "@LIBARCHSUFFIX.32@".lstrip('/'), 'Makefile') + + + def parse_config_h(fp, g=None): diff --git a/lang/python34/patches/patch-Lib_site.py b/lang/python34/patches/patch-Lib_site.py new file mode 100644 index 0000000000000..a5b855e99f4a8 --- /dev/null +++ b/lang/python34/patches/patch-Lib_site.py @@ -0,0 +1,21 @@ +$NetBSD$ + +Support multiarch site-packages. + +--- Lib/site.py.orig 2014-10-08 08:18:12.000000000 +0000 ++++ Lib/site.py +@@ -304,9 +304,13 @@ def getsitepackages(prefixes=None): + seen.add(prefix) + + if os.sep == '/': ++ if sys.maxsize > 2**32: ++ libarchsuffix = "@LIBARCHSUFFIX.64@".lstrip('/') ++ else: ++ libarchsuffix = "@LIBARCHSUFFIX.32@".lstrip('/') + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], +- "site-packages")) ++ "site-packages", libarchsuffix).rstrip('/')) + sitepackages.append(os.path.join(prefix, "lib", "site-python")) + else: + sitepackages.append(prefix) diff --git a/lang/python34/patches/patch-Lib_sysconfig.py b/lang/python34/patches/patch-Lib_sysconfig.py new file mode 100644 index 0000000000000..496b0595e8909 --- /dev/null +++ b/lang/python34/patches/patch-Lib_sysconfig.py @@ -0,0 +1,40 @@ +$NetBSD$ + +Support multiarch. + +--- Lib/sysconfig.py.orig 2012-09-29 08:00:31.000000000 +0000 ++++ Lib/sysconfig.py 2012-12-14 14:49:45.294023933 +0000 +@@ -23,8 +23,8 @@ + 'posix_prefix': { + 'stdlib': '{installed_base}/lib/python{py_version_short}', + 'platstdlib': '{platbase}/lib/python{py_version_short}', +- 'purelib': '{base}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', ++ 'purelib': '{base}/lib/python{py_version_short}/site-packages{libarchsuffix}', ++ 'platlib': '{platbase}/lib/python{py_version_short}/site-packages{libarchsuffix}', + 'include': + '{installed_base}/include/python{py_version_short}{abiflags}', + 'platinclude': +@@ -359,7 +359,10 @@ + config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags) + else: + config_dir_name = 'config' +- return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile') ++ if sys.maxsize > 2**32: ++ return os.path.join(get_path('stdlib'), config_dir_name, "@LIBARCHSUFFIX.64@".lstrip('/'), 'Makefile') ++ else: ++ return os.path.join(get_path('stdlib'), config_dir_name, "@LIBARCHSUFFIX.32@".lstrip('/'), 'Makefile') + + def _generate_posix_vars(): + """Generate the Python module containing build-time variables.""" +@@ -518,6 +521,10 @@ + _CONFIG_VARS['installed_platbase'] = _BASE_EXEC_PREFIX + _CONFIG_VARS['platbase'] = _EXEC_PREFIX + _CONFIG_VARS['projectbase'] = _PROJECT_BASE ++ if sys.maxsize > 2**32: ++ _CONFIG_VARS['libarchsuffix'] = "@LIBARCHSUFFIX.64@" ++ else: ++ _CONFIG_VARS['libarchsuffix'] = "@LIBARCHSUFFIX.32@" + try: + _CONFIG_VARS['abiflags'] = sys.abiflags + except AttributeError: diff --git a/lang/python34/patches/patch-Makefile.pre.in b/lang/python34/patches/patch-Makefile.pre.in index 997fec117b27e..a73bce40dfb2b 100644 --- a/lang/python34/patches/patch-Makefile.pre.in +++ b/lang/python34/patches/patch-Makefile.pre.in @@ -14,6 +14,15 @@ Swap targets libinstall and libainstall, to byte-compile python-config.py. NO_AS_NEEDED= @NO_AS_NEEDED@ LDLAST= @LDLAST@ SGI_ABI= @SGI_ABI@ +@@ -135,7 +135,7 @@ EXT_SUFFIX= @EXT_SUFFIX@ + LDSHARED= @LDSHARED@ $(PY_LDFLAGS) + BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS) + LDCXXSHARED= @LDCXXSHARED@ +-DESTSHARED= $(BINLIBDEST)/lib-dynload ++DESTSHARED= $(BINLIBDEST)/lib-dynload@LIBARCHSUFFIX@ + + # Executable suffix (.exe on Windows and Mac OS X) + EXE= @EXEEXT@ @@ -194,7 +194,7 @@ DIST= $(DISTFILES) $(DISTDIRS) LIBRARY= @LIBRARY@ LDLIBRARY= @LDLIBRARY@ @@ -50,9 +59,29 @@ Swap targets libinstall and libainstall, to byte-compile python-config.py. sharedinstall oldsharedinstall altmaninstall \ @FRAMEWORKALTINSTALLLAST@ -@@ -1066,7 +1066,8 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORK +@@ -1035,7 +1035,7 @@ $(DESTSHARED): + # Install the interpreter with $(VERSION) affixed + # This goes into $(exec_prefix) + altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ +- @for i in $(BINDIR) $(LIBDIR); \ ++ @for i in $(BINDIR) $(LIBDIR)@LIBARCHSUFFIX@; \ + do \ + if test ! -d $(DESTDIR)$$i; then \ + echo "Creating directory $$i"; \ +@@ -1058,15 +1058,16 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORK + if test -n "$(DLLLIBRARY)" ; then \ + $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \ + else \ +- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \ ++ $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@/$(INSTSONAME); \ + if test $(LDLIBRARY) != $(INSTSONAME); then \ +- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ ++ (cd $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@; $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ + fi \ + fi; \ if test -n "$(PY3LIBRARY)"; then \ - $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)/$(PY3LIBRARY); \ +- $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)/$(PY3LIBRARY); \ ++ $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@/$(PY3LIBRARY); \ fi; \ - else true; \ + elif test -f $(INSTSONAME); then \ @@ -60,3 +89,12 @@ Swap targets libinstall and libainstall, to byte-compile python-config.py. fi if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ rm -f $(DESTDIR)$(BINDIR)python$(VERSION)-32$(EXE); \ +@@ -1313,7 +1314,7 @@ inclinstall: + LIBPL= @LIBPL@ + + # pkgconfig directory +-LIBPC= $(LIBDIR)/pkgconfig ++LIBPC= $(LIBDIR)@LIBARCHSUFFIX@/pkgconfig + + libainstall: all python-config + @for i in $(LIBDIR) $(LIBPL) $(LIBPC); \ diff --git a/lang/python34/patches/patch-Modules_getpath.c b/lang/python34/patches/patch-Modules_getpath.c new file mode 100644 index 0000000000000..6f2cf6a1e24d2 --- /dev/null +++ b/lang/python34/patches/patch-Modules_getpath.c @@ -0,0 +1,71 @@ +$NetBSD$ + +Multiarch support. + +--- Modules/getpath.c.orig 2013-11-17 07:23:01.000000000 +0000 ++++ Modules/getpath.c +@@ -123,7 +123,7 @@ + + #ifndef PYTHONPATH + #define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ +- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++ EXEC_PREFIX "/lib/python" VERSION "/lib-dynload@LIBARCHSUFFIX@" + #endif + + #ifndef LANDMARK +@@ -397,7 +397,7 @@ search_for_exec_prefix(wchar_t *argv0_pa + wcsncpy(exec_prefix, home, MAXPATHLEN); + exec_prefix[MAXPATHLEN] = L'\0'; + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + return 1; + } + +@@ -440,7 +440,7 @@ search_for_exec_prefix(wchar_t *argv0_pa + do { + n = wcslen(exec_prefix); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + exec_prefix[n] = L'\0'; +@@ -451,7 +451,7 @@ search_for_exec_prefix(wchar_t *argv0_pa + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); + exec_prefix[MAXPATHLEN] = L'\0'; + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + +@@ -475,6 +475,7 @@ calculate_path(void) + wchar_t *prog = Py_GetProgramName(); + wchar_t argv0_path[MAXPATHLEN+1]; + wchar_t zip_path[MAXPATHLEN+1]; ++ char *libarchsuffix = "@LIBARCHSUFFIX@"; + int pfound, efound; /* 1 if found; -1 if found build directory */ + wchar_t *buf; + size_t bufsz; +@@ -695,7 +696,7 @@ calculate_path(void) + fprintf(stderr, + "Could not find platform dependent libraries \n"); + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); +- joinpath(exec_prefix, L"lib/lib-dynload"); ++ joinpath(exec_prefix, L"lib/lib-dynload@LIBARCHSUFFIX@"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +@@ -812,6 +813,11 @@ calculate_path(void) + reduce(exec_prefix); + reduce(exec_prefix); + reduce(exec_prefix); ++ for (; *libarchsuffix != '\0'; *libarchsuffix++) { ++ if (*libarchsuffix == '/') { ++ reduce(exec_prefix); ++ } ++ } + if (!exec_prefix[0]) + wcscpy(exec_prefix, separator); + } diff --git a/lang/python34/patches/patch-configure b/lang/python34/patches/patch-configure index 0140f0d0ed01b..7aeaa9ed2d40c 100644 --- a/lang/python34/patches/patch-configure +++ b/lang/python34/patches/patch-configure @@ -107,3 +107,12 @@ detect netcan/can.h on NetBSD *) EXT_SUFFIX=${SHLIB_SUFFIX};; esac +@@ -14030,7 +14026,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)' + $as_echo "$LDVERSION" >&6; } + + +-LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" ++LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}${LIBARCHSUFFIX}" + + + # Check whether right shifting a negative integer extends the sign bit diff --git a/lang/python35/Makefile b/lang/python35/Makefile index 001145fb13402..2fb2cc2b57f90 100644 --- a/lang/python35/Makefile +++ b/lang/python35/Makefile @@ -31,6 +31,11 @@ CONFIGURE_ENV+= OPT=${CFLAGS:M*:Q} CONFIGURE_ENV+= ac_cv_path_mkdir=${TOOLS_PATH.mkdir} PKGCONFIG_OVERRIDE+= Misc/python.pc.in +USE_MULTIARCH= bin lib +MULTIARCH_DIRS.lib= # empty, manually set in PLIST +NO_MULTIARCH_LIBDIR= # defined, manually set +CHECK_INTERPRETER=no # $PREFIX/bin/python2.7 not created until pkg_add + PTHREAD_OPTS+= require .include "../../mk/pthread.buildlink3.mk" @@ -185,12 +190,39 @@ CHECK_INTERPRETER_SKIP= lib/python${PY_VER_SUFFIX}/venv/scripts/posix/pydoc post-configure: touch ${WRKSRC}/Include/opcode.h +SUBST_CLASSES+= vars +SUBST_MESSAGE.vars= Substituting multiarch vars. +SUBST_STAGE.vars= pre-configure +SUBST_FILES.vars= Makefile.pre.in Modules/getpath.c +SUBST_FILES.vars+= Lib/distutils/command/install.py Lib/site.py +SUBST_FILES.vars+= Lib/distutils/sysconfig.py Lib/sysconfig.py +SUBST_SED.vars= -e 's,@LIBARCHSUFFIX@,${LIBARCHSUFFIX},' +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.32@,${LIBARCHSUFFIX.32},' +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.64@,${LIBARCHSUFFIX.64},' +.else +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.32@,,' +SUBST_SED.vars+= -e 's,@LIBARCHSUFFIX.64@,,' +.endif + +do-install-multiarch-hook: + ${MKDIR} ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/pyconfig.h \ + ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX}/${INCARCHSUFFIX} + .if ${OPSYS} == "HPUX" post-install: ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython3.5.sl \ ${DESTDIR}${PREFIX}/lib/libpython3.5.sl.1.0 .endif +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +post-install: + ${INSTALL_DATA} ${FILESDIR}/pyconfig.h \ + ${DESTDIR}/${PREFIX}/include/python${PY_VER_SUFFIX} + #${RM} -rf ${DESTDIR}/${PREFIX}/lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/__pycache__ +.endif + BUILDLINK_DEPMETHOD.readline= build .include "../../archivers/bzip2/buildlink3.mk" diff --git a/lang/python35/PLIST b/lang/python35/PLIST index dd9db24a3643a..9371668b3223f 100644 --- a/lang/python35/PLIST +++ b/lang/python35/PLIST @@ -66,7 +66,7 @@ include/python${PY_VER_SUFFIX}/py_curses.h include/python${PY_VER_SUFFIX}/pyarena.h include/python${PY_VER_SUFFIX}/pyatomic.h include/python${PY_VER_SUFFIX}/pycapsule.h -include/python${PY_VER_SUFFIX}/pyconfig.h +include/python${PY_VER_SUFFIX}${INCARCHSUFFIX}/pyconfig.h include/python${PY_VER_SUFFIX}/pyctype.h include/python${PY_VER_SUFFIX}/pydebug.h include/python${PY_VER_SUFFIX}/pyerrors.h @@ -102,9 +102,9 @@ include/python${PY_VER_SUFFIX}/ucnhash.h include/python${PY_VER_SUFFIX}/unicodeobject.h include/python${PY_VER_SUFFIX}/warnings.h include/python${PY_VER_SUFFIX}/weakrefobject.h -lib/libpython${PY_VER_SUFFIX}.so -lib/libpython${PY_VER_SUFFIX}.so.1.0 -lib/pkgconfig/python-${PY_VER_SUFFIX}.pc +lib${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.so +lib${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.so.1.0 +lib${LIBARCHSUFFIX}/pkgconfig/python-${PY_VER_SUFFIX}.pc lib/python${PY_VER_SUFFIX}/LICENSE.txt lib/python${PY_VER_SUFFIX}/__future__.py lib/python${PY_VER_SUFFIX}/__future__.pyc @@ -316,19 +316,19 @@ lib/python${PY_VER_SUFFIX}/concurrent/futures/process.pyo lib/python${PY_VER_SUFFIX}/concurrent/futures/thread.py lib/python${PY_VER_SUFFIX}/concurrent/futures/thread.pyc lib/python${PY_VER_SUFFIX}/concurrent/futures/thread.pyo -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Makefile -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Setup -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Setup.config -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/Setup.local -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/config.c -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/config.c.in -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/install-sh -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/libpython${PY_VER_SUFFIX}.a -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/makesetup -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python-config.py -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python-config.pyc -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python-config.pyo -lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}/python.o +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Makefile +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Setup +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Setup.config +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/Setup.local +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/config.c +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/config.c.in +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/install-sh +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/libpython${PY_VER_SUFFIX}.a +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/makesetup +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python-config.py +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python-config.pyc +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python-config.pyo +lib/python${PY_VER_SUFFIX}/config-${PY_VER_SUFFIX}${LIBARCHSUFFIX}/python.o lib/python${PY_VER_SUFFIX}/config-3.5/python-config.pyc lib/python${PY_VER_SUFFIX}/config-3.5/python-config.pyo lib/python${PY_VER_SUFFIX}/configparser.py @@ -1785,60 +1785,60 @@ lib/python${PY_VER_SUFFIX}/json/tool.pyo lib/python${PY_VER_SUFFIX}/keyword.py lib/python${PY_VER_SUFFIX}/keyword.pyc lib/python${PY_VER_SUFFIX}/keyword.pyo -lib/python${PY_VER_SUFFIX}/lib-dynload/_bisect.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_bz2.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_cn.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_hk.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_iso2022.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_jp.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_kr.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_codecs_tw.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_crypt.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_csv.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ctypes.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ctypes_test.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_datetime.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_dbm.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_decimal.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_hashlib.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_heapq.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_json.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_lsprof.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_lzma.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_md5.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_multibytecodec.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_multiprocessing.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_opcode.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_pickle.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_posixsubprocess.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_random.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_sha1.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_sha256.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_sha512.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_socket.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_ssl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_struct.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testbuffer.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testcapi.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testimportmultiple.so -lib/python${PY_VER_SUFFIX}/lib-dynload/_testmultiphase.so -lib/python${PY_VER_SUFFIX}/lib-dynload/array.so -lib/python${PY_VER_SUFFIX}/lib-dynload/audioop.so -lib/python${PY_VER_SUFFIX}/lib-dynload/binascii.so -lib/python${PY_VER_SUFFIX}/lib-dynload/cmath.so -lib/python${PY_VER_SUFFIX}/lib-dynload/fcntl.so -lib/python${PY_VER_SUFFIX}/lib-dynload/grp.so -lib/python${PY_VER_SUFFIX}/lib-dynload/math.so -lib/python${PY_VER_SUFFIX}/lib-dynload/mmap.so -${PLIST.nis}lib/python${PY_VER_SUFFIX}/lib-dynload/nis.so -${PLIST.no-nis}lib/python${PY_VER_SUFFIX}/lib-dynload/nis_failed.so -lib/python${PY_VER_SUFFIX}/lib-dynload/parser.so -lib/python${PY_VER_SUFFIX}/lib-dynload/resource.so -lib/python${PY_VER_SUFFIX}/lib-dynload/select.so -lib/python${PY_VER_SUFFIX}/lib-dynload/syslog.so -lib/python${PY_VER_SUFFIX}/lib-dynload/termios.so -lib/python${PY_VER_SUFFIX}/lib-dynload/unicodedata.so -lib/python${PY_VER_SUFFIX}/lib-dynload/zlib.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_bisect.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_bz2.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_cn.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_hk.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_iso2022.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_jp.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_kr.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_codecs_tw.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_crypt.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_csv.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ctypes.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ctypes_test.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_datetime.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_dbm.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_decimal.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_hashlib.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_heapq.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_json.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_lsprof.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_lzma.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_md5.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_multibytecodec.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_multiprocessing.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_opcode.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_pickle.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_posixsubprocess.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_random.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_sha1.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_sha256.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_sha512.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_socket.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_ssl.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_struct.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testbuffer.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testcapi.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testimportmultiple.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/_testmultiphase.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/array.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/audioop.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/binascii.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/cmath.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/fcntl.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/grp.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/math.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/mmap.so +${PLIST.nis}lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/nis.so +${PLIST.no-nis}lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/nis_failed.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/parser.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/resource.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/select.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/syslog.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/termios.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/unicodedata.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/zlib.so lib/python${PY_VER_SUFFIX}/lib2to3/Grammar${PKGVERSION}.final.0.pickle lib/python${PY_VER_SUFFIX}/lib2to3/Grammar.txt lib/python${PY_VER_SUFFIX}/lib2to3/PatternGrammar${PKGVERSION}.final.0.pickle diff --git a/lang/python35/PLIST.Linux b/lang/python35/PLIST.Linux index dc7591a753df8..c9924b15e9218 100644 --- a/lang/python35/PLIST.Linux +++ b/lang/python35/PLIST.Linux @@ -1,6 +1,6 @@ @comment $NetBSD: PLIST.Linux,v 1.2 2018/06/17 19:21:22 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/ossaudiodev.so -lib/python${PY_VER_SUFFIX}/lib-dynload/spwd.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/ossaudiodev.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/spwd.so lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.py lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.pyc lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.pyo diff --git a/lang/python35/PLIST.SunOS b/lang/python35/PLIST.SunOS index c1a4cc215314b..f1f5cc4f69942 100644 --- a/lang/python35/PLIST.SunOS +++ b/lang/python35/PLIST.SunOS @@ -1,5 +1,5 @@ @comment $NetBSD: PLIST.SunOS,v 1.2 2018/06/17 19:31:50 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/spwd.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/spwd.so lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.py lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyc lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyo diff --git a/lang/python35/distinfo b/lang/python35/distinfo index e92e77dc2f280..f9baefcad8d90 100644 --- a/lang/python35/distinfo +++ b/lang/python35/distinfo @@ -5,15 +5,19 @@ RMD160 (Python-3.5.6.tar.xz) = 5a02cb3664ad98d1767c79dfdd88a850b866241f SHA512 (Python-3.5.6.tar.xz) = 1ccf287dbe8594eb577c1197c19d882fbe235c72f4c01cda23258f2add8a93e639b41ebaf556508b867cbe1b4c1fc4e1cf457d70b98cf7a1502013660a7e0ac1 Size (Python-3.5.6.tar.xz) = 15412832 bytes SHA1 (patch-Lib_ctypes_util.py) = 24ee6d33e39edc2168adabb2065941ff4efb977c -SHA1 (patch-Lib_distutils_command_install.py) = 9b44f339f65f029b7f17dbc654739a7ae3c12780 +SHA1 (patch-Lib_distutils_command_install.py) = 3e712214ae7520e99a9ce5e8764c4769a3d20ff2 +SHA1 (patch-Lib_distutils_sysconfig.py) = 4e8bc772b0ba39a907c5311e8faa0186f97f3a46 SHA1 (patch-Lib_distutils_unixccompiler.py) = 7d0b70a64b79ee6084c41d8fbb01c8e8e4553419 -SHA1 (patch-Makefile.pre.in) = 213f57b7130507e541ee23d6b8da097fd6168fb7 +SHA1 (patch-Lib_site.py) = e940e8bbbbc151365dc673699a91180575c9ff44 +SHA1 (patch-Lib_sysconfig.py) = 9c58a5cecd5b69db4e73ec65a6b67d8032733e96 +SHA1 (patch-Makefile.pre.in) = 650a20d8561e871bc9784e91c7b66d802575f03a SHA1 (patch-Modules___cursesmodule.c) = 5b0e9253186c58f5364f2dcd230b1c04f4eba7b7 +SHA1 (patch-Modules_getpath.c) = 29c86aa43524020fa276e307779026396214832f SHA1 (patch-Modules_makesetup) = c9b571eb54fdf0b1e93524a6de6780e8c4119221 SHA1 (patch-Modules_nismodule.c) = bd290417c265846e238660180e60e76c0f5f696a SHA1 (patch-Modules_socketmodule.c) = 63d583340b071b07ff3e31cf332fcc2ca9ab50e3 SHA1 (patch-Modules_socketmodule.h) = 13a3290eb72078067060d3e71b7baa08f3eb591c SHA1 (patch-Python_thread__pthread.h) = fb81eaa604b4ed7c1b64c3f4731d58a8aee257be -SHA1 (patch-configure) = bce1b2f7dfedb23c561e1d8f32959cd043cdd0df +SHA1 (patch-configure) = c4602ab27b009ce168fecaf26fb03ee95e7638b4 SHA1 (patch-pyconfig.h.in) = e0aa80eb1ed3677da77fcd0a93f72b61ce148d0d SHA1 (patch-setup.py) = 26ea130352cf73a49110d86bbccf1803795211e5 diff --git a/lang/python35/files/pyconfig.h b/lang/python35/files/pyconfig.h new file mode 100644 index 0000000000000..ea3572433b467 --- /dev/null +++ b/lang/python35/files/pyconfig.h @@ -0,0 +1,10 @@ +/* + * Python installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/pyconfig.h" +#else +#include "i86/pyconfig.h" +#endif diff --git a/lang/python35/patches/patch-Lib_distutils_command_install.py b/lang/python35/patches/patch-Lib_distutils_command_install.py index d5fe32b9c4dfd..382e621aa68f7 100644 --- a/lang/python35/patches/patch-Lib_distutils_command_install.py +++ b/lang/python35/patches/patch-Lib_distutils_command_install.py @@ -1,8 +1,40 @@ $NetBSD: patch-Lib_distutils_command_install.py,v 1.1 2015/12/05 17:12:13 adam Exp $ +Support multiarch. + --- Lib/distutils/command/install.py.orig 2012-02-23 20:22:44.000000000 +0000 +++ Lib/distutils/command/install.py -@@ -676,5 +676,6 @@ class install(Command): +@@ -29,8 +29,8 @@ WINDOWS_SCHEME = { + + INSTALL_SCHEMES = { + 'unix_prefix': { +- 'purelib': '$base/lib/python$py_version_short/site-packages', +- 'platlib': '$platbase/lib/python$py_version_short/site-packages', ++ 'purelib': '$base/lib/python$py_version_short/site-packages$libarchsuffix', ++ 'platlib': '$platbase/lib/python$py_version_short/site-packages$libarchsuffix', + 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +@@ -281,6 +281,10 @@ class install(Command): + + py_version = sys.version.split()[0] + (prefix, exec_prefix) = get_config_vars('prefix', 'exec_prefix') ++ if sys.maxsize > 2**32: ++ self.libarchsuffix = "@LIBARCHSUFFIX.64@" ++ else: ++ self.libarchsuffix = "@LIBARCHSUFFIX.32@" + try: + abiflags = sys.abiflags + except AttributeError: +@@ -297,6 +301,7 @@ class install(Command): + 'sys_exec_prefix': exec_prefix, + 'exec_prefix': exec_prefix, + 'abiflags': abiflags, ++ 'libarchsuffix': self.libarchsuffix, + } + + if HAS_USER_SITE: +@@ -646,5 +651,6 @@ class install(Command): ('install_headers', has_headers), ('install_scripts', has_scripts), ('install_data', has_data), diff --git a/lang/python35/patches/patch-Lib_distutils_sysconfig.py b/lang/python35/patches/patch-Lib_distutils_sysconfig.py new file mode 100644 index 0000000000000..15c1c47f6a291 --- /dev/null +++ b/lang/python35/patches/patch-Lib_distutils_sysconfig.py @@ -0,0 +1,30 @@ +$NetBSD$ + +Support multiarch. + +--- Lib/distutils/sysconfig.py.orig 2016-06-25 21:38:35.000000000 +0000 ++++ Lib/distutils/sysconfig.py +@@ -137,7 +137,10 @@ def get_python_lib(plat_specific=0, stan + if standard_lib: + return libpython + else: +- return os.path.join(libpython, "site-packages") ++ if sys.maxsize > 2**32: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.64@".lstrip('/')).rstrip('/') ++ else: ++ return os.path.join(libpython, "site-packages", "@LIBARCHSUFFIX.32@".lstrip('/')).rstrip('/') + elif os.name == "nt": + if standard_lib: + return os.path.join(prefix, "Lib") +@@ -242,7 +245,10 @@ def get_makefile_filename(): + return os.path.join(_sys_home or project_base, "Makefile") + lib_dir = get_python_lib(plat_specific=0, standard_lib=1) + config_file = 'config-{}{}'.format(get_python_version(), build_flags) +- return os.path.join(lib_dir, config_file, 'Makefile') ++ if sys.maxsize > 2**32: ++ return os.path.join(lib_dir, config_file, "@LIBARCHSUFFIX.64@".lstrip('/'), "Makefile") ++ else: ++ return os.path.join(lib_dir, config_file, "@LIBARCHSUFFIX.32@".lstrip('/'), "Makefile") + + + def parse_config_h(fp, g=None): diff --git a/lang/python35/patches/patch-Lib_site.py b/lang/python35/patches/patch-Lib_site.py new file mode 100644 index 0000000000000..5c4fc69f3728c --- /dev/null +++ b/lang/python35/patches/patch-Lib_site.py @@ -0,0 +1,21 @@ +$NetBSD$ + +Support multiarch site-packages. + +--- Lib/site.py.orig 2016-06-25 21:38:36.000000000 +0000 ++++ Lib/site.py +@@ -303,9 +303,13 @@ def getsitepackages(prefixes=None): + seen.add(prefix) + + if os.sep == '/': ++ if sys.maxsize > 2**32: ++ libarchsuffix = "@LIBARCHSUFFIX.64@".lstrip('/') ++ else: ++ libarchsuffix = "@LIBARCHSUFFIX.32@".lstrip('/') + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], +- "site-packages")) ++ "site-packages", libarchsuffix).rstrip('/')) + else: + sitepackages.append(prefix) + sitepackages.append(os.path.join(prefix, "lib", "site-packages")) diff --git a/lang/python35/patches/patch-Lib_sysconfig.py b/lang/python35/patches/patch-Lib_sysconfig.py new file mode 100644 index 0000000000000..cfc9075e48c08 --- /dev/null +++ b/lang/python35/patches/patch-Lib_sysconfig.py @@ -0,0 +1,49 @@ +$NetBSD: patch-ax,v 1.6 2015/04/24 03:01:36 rodent Exp $ + +chop "-RELEASE" or "-DEVELOPMENT" from release for DragonFly. + +--- Lib/sysconfig.py.orig 2016-06-25 21:38:36.000000000 +0000 ++++ Lib/sysconfig.py +@@ -22,8 +22,8 @@ _INSTALL_SCHEMES = { + 'posix_prefix': { + 'stdlib': '{installed_base}/lib/python{py_version_short}', + 'platstdlib': '{platbase}/lib/python{py_version_short}', +- 'purelib': '{base}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', ++ 'purelib': '{base}/lib/python{py_version_short}/site-packages{libarchsuffix}', ++ 'platlib': '{platbase}/lib/python{py_version_short}/site-packages{libarchsuffix}', + 'include': + '{installed_base}/include/python{py_version_short}{abiflags}', + 'platinclude': +@@ -337,7 +337,10 @@ def get_makefile_filename(): + config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags) + else: + config_dir_name = 'config' +- return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile') ++ if sys.maxsize > 2**32: ++ return os.path.join(get_path('stdlib'), config_dir_name, "@LIBARCHSUFFIX.64@".lstrip('/'), "Makefile") ++ else: ++ return os.path.join(get_path('stdlib'), config_dir_name, "@LIBARCHSUFFIX.32@".lstrip('/'), "Makefile") + + def _generate_posix_vars(): + """Generate the Python module containing build-time variables.""" +@@ -529,6 +532,10 @@ def get_config_vars(*args): + except AttributeError: + # sys.abiflags may not be defined on all platforms. + _CONFIG_VARS['abiflags'] = '' ++ if sys.maxsize > 2**32: ++ _CONFIG_VARS['libarchsuffix'] = "@LIBARCHSUFFIX.64@" ++ else: ++ _CONFIG_VARS['libarchsuffix'] = "@LIBARCHSUFFIX.32@" + + if os.name == 'nt': + _init_non_posix(_CONFIG_VARS) +@@ -674,6 +681,8 @@ def get_platform(): + osname, release, machine = _osx_support.get_platform_osx( + get_config_vars(), + osname, release, machine) ++ elif osname[:9] == "dragonfly": ++ release = str.split(release, '-')[0] + + return "%s-%s-%s" % (osname, release, machine) + diff --git a/lang/python35/patches/patch-Makefile.pre.in b/lang/python35/patches/patch-Makefile.pre.in index 50cab9059020d..9d7f09aed969d 100644 --- a/lang/python35/patches/patch-Makefile.pre.in +++ b/lang/python35/patches/patch-Makefile.pre.in @@ -14,6 +14,15 @@ Swap targets libinstall and libainstall, to byte-compile python-config.py. NO_AS_NEEDED= @NO_AS_NEEDED@ LDLAST= @LDLAST@ SGI_ABI= @SGI_ABI@ +@@ -143,7 +143,7 @@ EXT_SUFFIX= @EXT_SUFFIX@ + LDSHARED= @LDSHARED@ $(PY_LDFLAGS) + BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS) + LDCXXSHARED= @LDCXXSHARED@ +-DESTSHARED= $(BINLIBDEST)/lib-dynload ++DESTSHARED= $(BINLIBDEST)/lib-dynload@LIBARCHSUFFIX@ + + # Executable suffix (.exe on Windows and Mac OS X) + EXE= @EXEEXT@ @@ -202,7 +202,7 @@ DIST= $(DISTFILES) $(DISTDIRS) LIBRARY= @LIBRARY@ LDLIBRARY= @LDLIBRARY@ @@ -40,13 +49,33 @@ Swap targets libinstall and libainstall, to byte-compile python-config.py. sharedinstall oldsharedinstall altmaninstall \ @FRAMEWORKALTINSTALLLAST@ -@@ -1110,7 +1109,8 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORK +@@ -1079,7 +1079,7 @@ $(DESTSHARED): + # Install the interpreter with $(VERSION) affixed + # This goes into $(exec_prefix) + altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ +- @for i in $(BINDIR) $(LIBDIR); \ ++ @for i in $(BINDIR) $(LIBDIR)@LIBARCHSUFFIX@; \ + do \ + if test ! -d $(DESTDIR)$$i; then \ + echo "Creating directory $$i"; \ +@@ -1102,15 +1102,16 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORK + if test -n "$(DLLLIBRARY)" ; then \ + $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \ + else \ +- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \ ++ $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@/$(INSTSONAME); \ + if test $(LDLIBRARY) != $(INSTSONAME); then \ +- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ ++ (cd $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@; $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ + fi \ + fi; \ if test -n "$(PY3LIBRARY)"; then \ - $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)/$(PY3LIBRARY); \ +- $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)/$(PY3LIBRARY); \ ++ $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@/$(PY3LIBRARY); \ fi; \ - else true; \ + elif test -f $(INSTSONAME); then \ -+ $(INSTALL_SHARED) $(INSTSONAME) $(DESTDIR)$(LIBDIR); \ ++ $(INSTALL_SHARED) $(INSTSONAME) $(DESTDIR)$(LIBDIR)@LIBARCHSUFFIX@; \ fi if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ rm -f $(DESTDIR)$(BINDIR)python$(VERSION)-32$(EXE); \ @@ -73,3 +102,12 @@ Swap targets libinstall and libainstall, to byte-compile python-config.py. $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt +@@ -1376,7 +1368,7 @@ inclinstall: + LIBPL= @LIBPL@ + + # pkgconfig directory +-LIBPC= $(LIBDIR)/pkgconfig ++LIBPC= $(LIBDIR)@LIBARCHSUFFIX@/pkgconfig + + libainstall: @DEF_MAKE_RULE@ python-config + @for i in $(LIBDIR) $(LIBPL) $(LIBPC); \ diff --git a/lang/python35/patches/patch-Modules_getpath.c b/lang/python35/patches/patch-Modules_getpath.c new file mode 100644 index 0000000000000..2a3e0c396cc24 --- /dev/null +++ b/lang/python35/patches/patch-Modules_getpath.c @@ -0,0 +1,62 @@ +$NetBSD: patch-Modules_getpath.c,v 1.3 2015/04/24 03:01:36 rodent Exp $ + +* from cygport 2.7.3-getpath-exe-extension.patch + +--- Modules/getpath.c.orig 2016-06-25 21:38:38.000000000 +0000 ++++ Modules/getpath.c +@@ -393,7 +393,7 @@ search_for_exec_prefix(wchar_t *argv0_pa + wcsncpy(exec_prefix, home, MAXPATHLEN); + exec_prefix[MAXPATHLEN] = L'\0'; + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + return 1; + } + +@@ -436,7 +436,7 @@ search_for_exec_prefix(wchar_t *argv0_pa + do { + n = wcslen(exec_prefix); + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + exec_prefix[n] = L'\0'; +@@ -447,7 +447,7 @@ search_for_exec_prefix(wchar_t *argv0_pa + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); + exec_prefix[MAXPATHLEN] = L'\0'; + joinpath(exec_prefix, lib_python); +- joinpath(exec_prefix, L"lib-dynload"); ++ joinpath(exec_prefix, L"lib-dynload@LIBARCHSUFFIX@"); + if (isdir(exec_prefix)) + return 1; + +@@ -471,6 +471,7 @@ calculate_path(void) + wchar_t *prog = Py_GetProgramName(); + wchar_t argv0_path[MAXPATHLEN+1]; + wchar_t zip_path[MAXPATHLEN+1]; ++ char *libarchsuffix = "@LIBARCHSUFFIX@"; + int pfound, efound; /* 1 if found; -1 if found build directory */ + wchar_t *buf; + size_t bufsz; +@@ -695,7 +696,7 @@ calculate_path(void) + fprintf(stderr, + "Could not find platform dependent libraries \n"); + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); +- joinpath(exec_prefix, L"lib/lib-dynload"); ++ joinpath(exec_prefix, L"lib/lib-dynload@LIBARCHSUFFIX@"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +@@ -805,6 +806,11 @@ calculate_path(void) + reduce(exec_prefix); + reduce(exec_prefix); + reduce(exec_prefix); ++ for (; *libarchsuffix != '\0'; *libarchsuffix++) { ++ if (*libarchsuffix == '/') { ++ reduce(exec_prefix); ++ } ++ } + if (!exec_prefix[0]) + wcscpy(exec_prefix, separator); + } diff --git a/lang/python35/patches/patch-configure b/lang/python35/patches/patch-configure index e264f15b1071b..268477582905a 100644 --- a/lang/python35/patches/patch-configure +++ b/lang/python35/patches/patch-configure @@ -95,6 +95,15 @@ Detect netcan/can.h on NetBSD *) EXT_SUFFIX=${SHLIB_SUFFIX};; esac +@@ -14770,7 +14771,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)' + $as_echo "$LDVERSION" >&6; } + + +-LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" ++LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}${LIBARCHSUFFIX}" + + + # Check whether right shifting a negative integer extends the sign bit @@ -15694,6 +15695,36 @@ $as_echo "#define WINDOW_HAS_FLAGS 1" >> fi diff --git a/lang/python36/PLIST.SunOS b/lang/python36/PLIST.SunOS index 6e99a7c5ac52c..6c96bac970ed9 100644 --- a/lang/python36/PLIST.SunOS +++ b/lang/python36/PLIST.SunOS @@ -1,2 +1,2 @@ @comment $NetBSD: PLIST.SunOS,v 1.3 2018/06/17 19:31:50 adam Exp $ -lib/python${PY_VER_SUFFIX}/lib-dynload/spwd.so +lib/python${PY_VER_SUFFIX}/lib-dynload${LIBARCHSUFFIX}/spwd.so diff --git a/lang/ruby/buildlink3.mk b/lang/ruby/buildlink3.mk index 074d2f2183a8b..6a5e1ce20842a 100644 --- a/lang/ruby/buildlink3.mk +++ b/lang/ruby/buildlink3.mk @@ -21,7 +21,7 @@ buildlink-bin-ruby: ${RUN} \ f=${BUILDLINK_PREFIX.${RUBY_BASE}}"/bin/ruby${RUBY_SUFFIX}"; \ if ${TEST} -f $$f; then \ - ${LN} -s $$f ${BUILDLINK_DIR}/bin/ruby; \ + ${LN} -fs $$f ${BUILDLINK_DIR}/bin/ruby; \ fi .if empty(RUBY_USE_PTHREAD:M[nN][oO]) diff --git a/lang/see/Makefile b/lang/see/Makefile index 82b8816322d8e..d9eac733ee7ea 100644 --- a/lang/see/Makefile +++ b/lang/see/Makefile @@ -15,6 +15,7 @@ INSTALLATION_DIRS+= share/doc/see GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config perl aclocal autoconf automake CONFIGURE_ARGS+= --with-readline diff --git a/lang/spidermonkey/Makefile b/lang/spidermonkey/Makefile index a64d0408657bc..8bedfddfe9f84 100644 --- a/lang/spidermonkey/Makefile +++ b/lang/spidermonkey/Makefile @@ -17,13 +17,14 @@ WRKSRC= ${WRKDIR}/js/src MAKE_JOBS_SAFE= no NO_CONFIGURE= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config MAKE_FILE= Makefile.ref CFLAGS+= -DJS_USE_FDLIBM_MATH=0 MAKE_FLAGS+= BUILD_OPT=1 LDFLAGS=${LDFLAGS:Q} PREFIX=${PREFIX} -INSTALLATION_DIRS= bin include lib +INSTALLATION_DIRS= bin include lib${LIBARCHSUFFIX} .include "../../mk/bsd.prefs.mk" @@ -60,7 +61,7 @@ do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${BUILDDIRPREFIX}_OPT.OBJ/js \ ${DESTDIR}${PREFIX}/bin ${INSTALL_LIB} ${WRKSRC}/${BUILDDIRPREFIX}_OPT.OBJ/libjs.${SO_SUFFIX} \ - ${DESTDIR}${PREFIX}/lib + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} ${INSTALL_DATA} ${WRKSRC}/${BUILDDIRPREFIX}_OPT.OBJ/jsautocfg.h ${WRKSRC} ${INSTALL_DATA} ${WRKSRC}/*.h ${DESTDIR}${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/*.tbl ${DESTDIR}${PREFIX}/include diff --git a/lang/tcl/Makefile b/lang/tcl/Makefile index 4059bacb65b08..2f71a2cad50e0 100644 --- a/lang/tcl/Makefile +++ b/lang/tcl/Makefile @@ -16,6 +16,8 @@ LICENSE= 2-clause-bsd WRKSRC= ${WRKDIR}/tcl${TCL_VERSION} USE_GCC_RUNTIME= yes +USE_MULTIARCH= lib +MULTIARCH_DIRS.lib= # manually set in PLIST GNU_CONFIGURE= yes CONFIGURE_DIRS= unix @@ -41,7 +43,7 @@ CONFIGURE_ARGS.NetBSD+= ac_cv_func_gethostbyname_r=no SUBST_CLASSES+= tcl-config SUBST_STAGE.tcl-config= post-build SUBST_FILES.tcl-config= unix/tclConfig.sh -SUBST_SED.tcl-config+= -e "s|${WRKSRC}/unix|${PREFIX}/lib|" +SUBST_SED.tcl-config+= -e "s|${WRKSRC}/unix|${PREFIX}/lib${LIBARCHSUFFIX}|" SUBST_SED.tcl-config+= -e "s|${WRKSRC}|${PREFIX}/include/tcl|" PLIST_SUBST+= SONUM=${TCL_SONUM} diff --git a/lang/tcl/PLIST b/lang/tcl/PLIST index 18a4cd42e3e32..c12d06e319a08 100644 --- a/lang/tcl/PLIST +++ b/lang/tcl/PLIST @@ -52,20 +52,20 @@ include/tclThread.h include/tdbc.h include/tdbcDecls.h include/tdbcInt.h -lib/itcl${ITCL_VERSION}/itcl.tcl -lib/itcl${ITCL_VERSION}/itclConfig.sh -lib/itcl${ITCL_VERSION}/itclHullCmds.tcl -lib/itcl${ITCL_VERSION}/itclWidget.tcl -lib/itcl${ITCL_VERSION}/libitcl${ITCL_VERSION}.so -lib/itcl${ITCL_VERSION}/libitclstub${ITCL_VERSION}.a -lib/itcl${ITCL_VERSION}/pkgIndex.tcl -lib/libtcl${SONUM}.a -lib/libtcl${SONUM}.so -lib/libtcl${SONUM}.so.1.0 -lib/libtclstub${SONUM}.a -lib/pkgconfig/tcl.pc -lib/sqlite${SQLITE3_VERSION}/libsqlite${SQLITE3_VERSION}.so -lib/sqlite${SQLITE3_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/itcl.tcl +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/itclConfig.sh +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/itclHullCmds.tcl +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/itclWidget.tcl +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/libitcl${ITCL_VERSION}.so +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/libitclstub${ITCL_VERSION}.a +lib${LIBARCHSUFFIX}/itcl${ITCL_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/libtcl${SONUM}.a +lib${LIBARCHSUFFIX}/libtcl${SONUM}.so +lib${LIBARCHSUFFIX}/libtcl${SONUM}.so.1.0 +lib${LIBARCHSUFFIX}/libtclstub${SONUM}.a +lib${LIBARCHSUFFIX}/pkgconfig/tcl.pc +lib${LIBARCHSUFFIX}/sqlite${SQLITE3_VERSION}/libsqlite${SQLITE3_VERSION}.so +lib${LIBARCHSUFFIX}/sqlite${SQLITE3_VERSION}/pkgIndex.tcl lib/tcl${BASEVER}/auto.tcl lib/tcl${BASEVER}/clock.tcl lib/tcl${BASEVER}/encoding/ascii.enc @@ -301,26 +301,26 @@ lib/tcl8/8.4/platform/shell-1.1.4.tm lib/tcl8/8.5/msgcat-1.6.1.tm lib/tcl8/8.5/tcltest-2.4.1.tm lib/tcl8/8.6/http-2.8.12.tm -lib/tcl8/8.6/tdbc/sqlite3-${TDBC_VERSION}.tm -lib/tclConfig.sh -lib/tclooConfig.sh -lib/tdbc${TDBC_VERSION}/libtdbc${TDBC_VERSION}.so -lib/tdbc${TDBC_VERSION}/libtdbcstub${TDBC_VERSION}.a -lib/tdbc${TDBC_VERSION}/pkgIndex.tcl -lib/tdbc${TDBC_VERSION}/tdbc.tcl -lib/tdbc${TDBC_VERSION}/tdbcConfig.sh -lib/tdbcmysql${TDBC_VERSION}/libtdbcmysql${TDBC_VERSION}.so -lib/tdbcmysql${TDBC_VERSION}/pkgIndex.tcl -lib/tdbcmysql${TDBC_VERSION}/tdbcmysql.tcl -lib/tdbcodbc${TDBC_VERSION}/libtdbcodbc${TDBC_VERSION}.so -lib/tdbcodbc${TDBC_VERSION}/pkgIndex.tcl -lib/tdbcodbc${TDBC_VERSION}/tdbcodbc.tcl -lib/tdbcpostgres${TDBC_VERSION}/libtdbcpostgres${TDBC_VERSION}.so -lib/tdbcpostgres${TDBC_VERSION}/pkgIndex.tcl -lib/tdbcpostgres${TDBC_VERSION}/tdbcpostgres.tcl -lib/thread${THREAD_VERSION}/libthread${THREAD_VERSION}.so -lib/thread${THREAD_VERSION}/pkgIndex.tcl -lib/thread${THREAD_VERSION}/ttrace.tcl +lib${LIBARCHSUFFIX}/tcl8/8.6/tdbc/sqlite3-${TDBC_VERSION}.tm +lib${LIBARCHSUFFIX}/tclConfig.sh +lib${LIBARCHSUFFIX}/tclooConfig.sh +lib${LIBARCHSUFFIX}/tdbc${TDBC_VERSION}/libtdbc${TDBC_VERSION}.so +lib${LIBARCHSUFFIX}/tdbc${TDBC_VERSION}/libtdbcstub${TDBC_VERSION}.a +lib${LIBARCHSUFFIX}/tdbc${TDBC_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/tdbc${TDBC_VERSION}/tdbc.tcl +lib${LIBARCHSUFFIX}/tdbc${TDBC_VERSION}/tdbcConfig.sh +lib${LIBARCHSUFFIX}/tdbcmysql${TDBC_VERSION}/libtdbcmysql${TDBC_VERSION}.so +lib${LIBARCHSUFFIX}/tdbcmysql${TDBC_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/tdbcmysql${TDBC_VERSION}/tdbcmysql.tcl +lib${LIBARCHSUFFIX}/tdbcodbc${TDBC_VERSION}/libtdbcodbc${TDBC_VERSION}.so +lib${LIBARCHSUFFIX}/tdbcodbc${TDBC_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/tdbcodbc${TDBC_VERSION}/tdbcodbc.tcl +lib${LIBARCHSUFFIX}/tdbcpostgres${TDBC_VERSION}/libtdbcpostgres${TDBC_VERSION}.so +lib${LIBARCHSUFFIX}/tdbcpostgres${TDBC_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/tdbcpostgres${TDBC_VERSION}/tdbcpostgres.tcl +lib${LIBARCHSUFFIX}/thread${THREAD_VERSION}/libthread${THREAD_VERSION}.so +lib${LIBARCHSUFFIX}/thread${THREAD_VERSION}/pkgIndex.tcl +lib${LIBARCHSUFFIX}/thread${THREAD_VERSION}/ttrace.tcl man/man1/tclsh.1 man/man3/TCL_MEM_DEBUG.3 man/man3/Tcl_Access.3 diff --git a/lang/tcl/buildlink3.mk b/lang/tcl/buildlink3.mk index dd6b75a980af9..64874bda51911 100644 --- a/lang/tcl/buildlink3.mk +++ b/lang/tcl/buildlink3.mk @@ -19,7 +19,7 @@ BUILDLINK_TRANSFORM+= l:tcl8.6:tcl86 _TOOLS_USE_PKGSRC.tclsh= yes -TCLCONFIG_SH?= ${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh +TCLCONFIG_SH?= ${BUILDLINK_PREFIX.tcl}/lib${LIBARCHSUFFIX}/tclConfig.sh TCLSH= ${BUILDLINK_PREFIX.tcl}/bin/tclsh # Bundled library ITCL_VERSION= 4.1.1 From 900b1d5248c2171733661c0f9632516456794cbf Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:13:15 +0100 Subject: [PATCH 050/141] Convert "mail" category to multiarch. --- mail/gmime/Makefile | 1 + mail/libspf2/Makefile | 1 + mail/pfqueue/Makefile | 1 + 3 files changed, 3 insertions(+) diff --git a/mail/gmime/Makefile b/mail/gmime/Makefile index 7cae83fd423b6..9b1e69d713d0b 100644 --- a/mail/gmime/Makefile +++ b/mail/gmime/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-gtk-doc=no diff --git a/mail/libspf2/Makefile b/mail/libspf2/Makefile index 2834980943a46..d0cf82f0a3bb9 100644 --- a/mail/libspf2/Makefile +++ b/mail/libspf2/Makefile @@ -12,6 +12,7 @@ LICENSE= modified-bsd OR gnu-lgpl-v2.1 GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib CONFLICTS+= libspf_alt-[0-9]* diff --git a/mail/pfqueue/Makefile b/mail/pfqueue/Makefile index 6bbcd2388e7b2..0e5ef7664ee2e 100644 --- a/mail/pfqueue/Makefile +++ b/mail/pfqueue/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib FAKE_NCURSES= yes .include "options.mk" From 4be379f18aabb7b91235afa12a6547217267b143 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:13:20 +0100 Subject: [PATCH 051/141] Convert "math" category to multiarch. --- math/blas/Makefile | 2 +- math/fftw/Makefile | 1 + math/lapack/Makefile | 2 +- math/lapack/Makefile.common | 3 ++- math/mpcomplex/inplace.mk | 2 +- math/mpfr/inplace.mk | 2 +- math/pari/Makefile | 5 +++++ math/pari/PLIST | 4 ++-- math/pari23/distinfo | 2 +- math/pari23/patches/patch-ad | 2 +- 10 files changed, 16 insertions(+), 9 deletions(-) diff --git a/math/blas/Makefile b/math/blas/Makefile index aca0869db2fbb..9349d349df743 100644 --- a/math/blas/Makefile +++ b/math/blas/Makefile @@ -12,6 +12,6 @@ BUILD_TARGET= blaslib do-install: ${LIBTOOL} --mode=install ${INSTALL_DATA} ${WRKSRC}/BLAS/SRC/libblas.la \ - ${DESTDIR}${PREFIX}/lib + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} .include "../../mk/bsd.pkg.mk" diff --git a/math/fftw/Makefile b/math/fftw/Makefile index 47ce3983fab3e..817f298d0b08d 100644 --- a/math/fftw/Makefile +++ b/math/fftw/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v2 USE_LANGUAGES= c USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-shared diff --git a/math/lapack/Makefile b/math/lapack/Makefile index e415d532ce56e..5d3dd32c50ee6 100644 --- a/math/lapack/Makefile +++ b/math/lapack/Makefile @@ -21,7 +21,7 @@ do-configure: do-install: ${LIBTOOL} --mode=install ${INSTALL_DATA} ${WRKSRC}/liblapack.la \ - ${DESTDIR}${PREFIX}/lib + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} .include "../../math/blas/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/math/lapack/Makefile.common b/math/lapack/Makefile.common index d4490e13d65cc..9a541cbaf5589 100644 --- a/math/lapack/Makefile.common +++ b/math/lapack/Makefile.common @@ -14,13 +14,14 @@ LICENSE= modified-bsd USE_LANGUAGES= c fortran USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake MAKE_ENV+= BUILD_DEPRECATED=yes DISTINFO_FILE= ${.CURDIR}/../../math/lapack/distinfo PATCHDIR= ${.CURDIR}/../../math/lapack/patches -INSTALLATION_DIRS= lib +INSTALLATION_DIRS= lib${LIBARCHSUFFIX} # blas fails using the gold linker with: # fatal error: --sysroot=: must take a non-empty argument diff --git a/math/mpcomplex/inplace.mk b/math/mpcomplex/inplace.mk index 11ccafe7268ae..49de692d8ec00 100644 --- a/math/mpcomplex/inplace.mk +++ b/math/mpcomplex/inplace.mk @@ -14,5 +14,5 @@ fetch-inplace-mpcomplex: extract-inplace-mpcomplex: (cd ../../math/mpcomplex && ${MAKE} WRKDIR=${WRKSRC}/.devel.mpcomplex EXTRACT_DIR=${WRKSRC} \ - WRKSRC='$${EXTRACT_DIR}/$${DISTNAME}' SKIP_DEPENDS=YES patch) + WRKSRC='$${EXTRACT_DIR}/$${DISTNAME}' SKIP_DEPENDS=YES MULTIARCH=NO patch) ${MV} ${WRKSRC}/mpc-* ${WRKSRC}/mpc diff --git a/math/mpfr/inplace.mk b/math/mpfr/inplace.mk index 970bfeaff22b0..c0bfe6b93bab8 100644 --- a/math/mpfr/inplace.mk +++ b/math/mpfr/inplace.mk @@ -15,5 +15,5 @@ fetch-inplace-mpfr: extract-inplace-mpfr: (cd ../../math/mpfr && ${MAKE} WRKDIR=${WRKSRC}/.devel.mpfr EXTRACT_DIR=${WRKSRC} \ - WRKSRC='$${EXTRACT_DIR}/$${DISTNAME}' SKIP_DEPENDS=YES patch) + WRKSRC='$${EXTRACT_DIR}/$${DISTNAME}' SKIP_DEPENDS=YES MULTIARCH=NO patch) ${MV} ${WRKSRC}/mpfr-* ${WRKSRC}/mpfr diff --git a/math/pari/Makefile b/math/pari/Makefile index e68373893a668..250486c8cb59f 100644 --- a/math/pari/Makefile +++ b/math/pari/Makefile @@ -13,18 +13,23 @@ LICENSE= gnu-gpl-v2 MAKE_JOBS_SAFE= no USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake perl:run USE_LANGUAGES+= c c++ HAS_CONFIGURE= yes +CONFIGURE_ENV+= LIBARCHSUFFIX=${LIBARCHSUFFIX} CONFIGURE_ENV+= LOCALBASE=${LOCALBASE} CONFIGURE_ENV+= PERL5=${PERL5:Q} MAKE_ENV+= PERL_USE_UNSAFE_INC=1 CONFIGURE_SCRIPT= ${WRKSRC}/Configure CONFIGURE_ARGS+= --prefix=${PREFIX} +CONFIGURE_ARGS+= --libdir=${PREFIX}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}/man1 CONFIGURE_ARGS+= --share-prefix=${PREFIX}/share +MULTIARCH_DIRS.lib= # manually specified in PLIST + REPLACE_PERL+= src/desc/PARI/822.pm REPLACE_PERL+= doc/gphelp REPLACE_PERL+= misc/tex2mail diff --git a/math/pari/PLIST b/math/pari/PLIST index 47d59d26d7e39..c0417355041ea 100644 --- a/math/pari/PLIST +++ b/math/pari/PLIST @@ -17,8 +17,8 @@ include/pari/paripriv.h include/pari/paristio.h include/pari/parisys.h include/pari/paritune.h -${PLIST.gmp}lib/libpari-gmp.la -${PLIST.nogmp}lib/libpari.la +${PLIST.gmp}lib${LIBARCHSUFFIX}/libpari-gmp.la +${PLIST.nogmp}lib${LIBARCHSUFFIX}/libpari.la lib/pari/pari.cfg man/man1/gp-2.7.1 man/man1/gp.1 diff --git a/math/pari23/distinfo b/math/pari23/distinfo index 1b90e88fa3b54..31a6f2fd886f4 100644 --- a/math/pari23/distinfo +++ b/math/pari23/distinfo @@ -7,7 +7,7 @@ Size (pari-2.3.5.tar.gz) = 2018097 bytes SHA1 (patch-aa) = 34efbc67afe5a98874c4fb3f18f4591bfa859d1f SHA1 (patch-ab) = b008e8c3388fe7dae4eecbb6613408492ba03e14 SHA1 (patch-ac) = a53784be5a94a289f86e1e6bae108adecd2d01c3 -SHA1 (patch-ad) = 5399688168b6f55073a460459fb3a89971583a6d +SHA1 (patch-ad) = 0399de4c09c59dc92c4c8475c3b7f351c06b2bff SHA1 (patch-ae) = 34e174cf1c97ee8b627691f3a5bf19fbbea43324 SHA1 (patch-af) = 985b3a35f4c69124336c23c9c78690eb7e7d1567 SHA1 (patch-ag) = 8c50e5b01832bc876874d51df02905dddb7839f3 diff --git a/math/pari23/patches/patch-ad b/math/pari23/patches/patch-ad index a5f989e3455d8..863fd4e5fcccc 100644 --- a/math/pari23/patches/patch-ad +++ b/math/pari23/patches/patch-ad @@ -30,7 +30,7 @@ $NetBSD: patch-ad,v 1.1 2016/03/03 13:23:22 wiz Exp $ - /usr/ccs/lib\ - /usc/ucblib\ - /usr/shlib\ -+ $LOCALBASE/lib\ ++ $LOCALBASE/lib$LIBARCHSUFFIX\ .\ ";; esac From b6f06d51f02759a0c5523bc6ced68ffccfb3d07e Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:13:34 +0100 Subject: [PATCH 052/141] Convert "meta-pkgs" category to multiarch. --- meta-pkgs/boost/Makefile.common | 5 +++-- meta-pkgs/boost/distinfo | 3 ++- meta-pkgs/boost/patches/patch-boostcpp.jam | 2 +- meta-pkgs/xfce4/Makefile.common | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/meta-pkgs/boost/Makefile.common b/meta-pkgs/boost/Makefile.common index 14e9d27615da9..5c154d9ba39bc 100644 --- a/meta-pkgs/boost/Makefile.common +++ b/meta-pkgs/boost/Makefile.common @@ -40,6 +40,7 @@ PATCHDIR= ${.CURDIR}/../../meta-pkgs/boost/patches USE_TOOLS+= pax USE_LANGUAGES= c c++ +USE_MULTIARCH= lib # IMPORTANT: sync this with devel/boost-libs/buildlink3.mk # GCC 4.5 or later is required to build, and GCC 4.5 is not provided for OpenBSD @@ -59,7 +60,7 @@ SUBST_CLASSES+= prefix SUBST_STAGE.prefix= pre-configure SUBST_MESSAGE.prefix= Fixing prefix. SUBST_FILES.prefix= boostcpp.jam -SUBST_VARS.prefix= PREFIX +SUBST_VARS.prefix= PREFIX LIBARCHSUFFIX SUBST_CLASSES+= darwin SUBST_STAGE.darwin= pre-configure @@ -109,6 +110,6 @@ do-configure: boost-install-libs: ${INSTALL_LIB_DIR} ${DESTDIR}${PREFIX}/lib - cd ${WRKSRC}/stage/lib && pax -rw -p p libboost* ${DESTDIR}${PREFIX}/lib + cd ${WRKSRC}/stage/lib && pax -rw -p p libboost* ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} .endif # ${BOOST_PACKAGE} == "meta-pkg" diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo index 57c123e0feb78..ad0bc3635b525 100644 --- a/meta-pkgs/boost/distinfo +++ b/meta-pkgs/boost/distinfo @@ -22,7 +22,8 @@ SHA1 (patch-boost_property__tree_detail_xml__parser__read__rapidxml.hpp) = 3499f SHA1 (patch-boost_regex_config.hpp) = 6b752c7c23168c591cd391739c7a4539bef44c12 SHA1 (patch-boost_stacktrace_detail_collect__unwind.ipp) = a0e9722872121ddc0db6b0d370e848ad5b315d43 SHA1 (patch-boost_test_impl_execution__monitor.ipp) = 573e2c8a4575ce1fc50338ddff0968e1c3ed1a61 -SHA1 (patch-boostcpp.jam) = f624d0bede17c61de9758033705eaff94d42775b +SHA1 (patch-boost_wave_cpplexer_re2clex_cpp__re.hpp) = 3f8c14994e68b9aa0efbfc9153e20e9285938d2f +SHA1 (patch-boostcpp.jam) = 6451bcbeb4f89d07d17819357b82c15376c36880 SHA1 (patch-libs_config_configure) = e2f204d4fa4f1bd9b4131d28f9be0a1ac22bf711 SHA1 (patch-libs_config_test_boost__no__range__based__for.ipp) = d9936c472fc2c696d86522b36eb12813ae91bee4 SHA1 (patch-libs_context_src_asm_jump_arm_aapcs_elf_gas.S) = 644ecdae0f72fc02a529cd432f9261fb31e9b4e3 diff --git a/meta-pkgs/boost/patches/patch-boostcpp.jam b/meta-pkgs/boost/patches/patch-boostcpp.jam index fe67ac6ea75dc..e058377ccb9b5 100644 --- a/meta-pkgs/boost/patches/patch-boostcpp.jam +++ b/meta-pkgs/boost/patches/patch-boostcpp.jam @@ -9,7 +9,7 @@ Allow exclusion of all libraries. : $(stage-locate)/lib on LIB on -+ @PREFIX@/lib ++ @PREFIX@/lib@LIBARCHSUFFIX@ ; $(p).mark-target-as-explicit stage-proper ; diff --git a/meta-pkgs/xfce4/Makefile.common b/meta-pkgs/xfce4/Makefile.common index 65e4d05e7810f..9faa6ef85421f 100644 --- a/meta-pkgs/xfce4/Makefile.common +++ b/meta-pkgs/xfce4/Makefile.common @@ -75,6 +75,7 @@ XFCE4_VERSION= 4.12.0 USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= gmake pkg-config msgfmt perl intltool From 57f08bfa8e27b74af1669276625bf67d3f60878c Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:13:51 +0100 Subject: [PATCH 053/141] Convert "misc" category to multiarch. --- misc/dialog/Makefile | 5 +++-- misc/dialog/distinfo | 1 + misc/dialog/patches/patch-dialog-config.in | 13 +++++++++++++ misc/libcdio/Makefile | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 misc/dialog/patches/patch-dialog-config.in diff --git a/misc/dialog/Makefile b/misc/dialog/Makefile index 2ef6de5451f5b..b22285e83bd63 100644 --- a/misc/dialog/Makefile +++ b/misc/dialog/Makefile @@ -14,14 +14,15 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes MAKE_FILE= makefile USE_LIBTOOL= yes +USE_MULTIARCH= bin lib CONFIGURE_ARGS+= --with-libtool -INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 +INSTALLATION_DIRS= bin${BINARCHSUFFIX} ${PKGMANDIR}/man1 SUBST_CLASSES+= rpath SUBST_FILES.rpath= dialog-config.in SUBST_MESSAGE.rpath= Fixing rpath in dialog-config -SUBST_SED.rpath= -e 's;-L\(.\);${_COMPILER_RPATH_FLAG}\1\{exec_prefix\}/lib -L\1;' +SUBST_SED.rpath= -e 's;-L\(.\);${_COMPILER_RPATH_FLAG}\1\{libdir\}${LIBARCHSUFFIX} -L\1;' SUBST_STAGE.rpath= pre-configure .include "../../mk/bsd.prefs.mk" diff --git a/misc/dialog/distinfo b/misc/dialog/distinfo index 27443dcfd6a85..78c23c1b0fd47 100644 --- a/misc/dialog/distinfo +++ b/misc/dialog/distinfo @@ -4,3 +4,4 @@ SHA1 (dialog-1.3-20170509.tgz) = b576b64d0a780186b26a606bd5fb132eeda0825f RMD160 (dialog-1.3-20170509.tgz) = b03c51a97abf5654a8547e16b6852a988fa8777b SHA512 (dialog-1.3-20170509.tgz) = dd3fe2041a15dd344ea39a1ba111d3b26daca1cda91a4e82f1223385a49cdf3de15f11129366a20c5a24b16b5301f215543850a390d70d0559f98247bbd49a56 Size (dialog-1.3-20170509.tgz) = 509135 bytes +SHA1 (patch-dialog-config.in) = e4a8de6c9aed482055266b95aacd88dc9393a69c diff --git a/misc/dialog/patches/patch-dialog-config.in b/misc/dialog/patches/patch-dialog-config.in new file mode 100644 index 0000000000000..24f29bb7564b5 --- /dev/null +++ b/misc/dialog/patches/patch-dialog-config.in @@ -0,0 +1,13 @@ +$NetBSD$ + +--- dialog-config.in.orig Tue Aug 14 15:01:29 2012 ++++ dialog-config.in Tue Aug 14 15:01:39 2012 +@@ -77,7 +77,7 @@ + ;; + --libs) + sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO +- -L${exec_prefix}/lib -l${THIS} @LIBS@ ++ -L${libdir} -l${THIS} @LIBS@ + ENDECHO + ;; + # identification diff --git a/misc/libcdio/Makefile b/misc/libcdio/Makefile index 1fb8ac7f00c8d..fc8b96e1d44a5 100644 --- a/misc/libcdio/Makefile +++ b/misc/libcdio/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v3 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake perl:run pkg-config PKGCONFIG_OVERRIDE+= libcdio.pc.in From e7ebb75fbaf25559f682faf71a8e8ad57db2f3f6 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:14:07 +0100 Subject: [PATCH 054/141] Convert "multimedia" category to multiarch. --- multimedia/farsight2/PLIST | 24 ++++++++++---------- multimedia/gst-plugins0.10-base/plugins.mk | 1 + multimedia/gst-plugins1-base/Makefile.common | 2 ++ multimedia/gstreamer0.10/Makefile | 1 + multimedia/gstreamer1/Makefile | 1 + multimedia/libass/Makefile | 1 + multimedia/libdvbpsi/Makefile | 1 + multimedia/libdvdnav/Makefile | 1 + multimedia/libdvdplay/Makefile | 1 + multimedia/libdvdread/Makefile | 1 + multimedia/libmatroska/Makefile | 1 + multimedia/libmp4v2/Makefile | 1 + multimedia/libmpeg2/Makefile | 1 + multimedia/libogg/Makefile | 1 + multimedia/libtheora/Makefile | 1 + multimedia/libvdpau/Makefile | 1 + multimedia/libvpx/Makefile | 2 ++ multimedia/ming/Makefile | 1 + multimedia/py-gstreamer0.10/PLIST | 4 ++-- multimedia/smpeg/Makefile | 1 + multimedia/x264-devel/Makefile | 3 +++ multimedia/xvidcore/Makefile | 1 + 22 files changed, 38 insertions(+), 14 deletions(-) diff --git a/multimedia/farsight2/PLIST b/multimedia/farsight2/PLIST index ea8065221ad93..55a32841b131e 100644 --- a/multimedia/farsight2/PLIST +++ b/multimedia/farsight2/PLIST @@ -14,18 +14,18 @@ include/gstreamer-0.10/gst/farsight/fs-stream-transmitter.h include/gstreamer-0.10/gst/farsight/fs-stream.h include/gstreamer-0.10/gst/farsight/fs-transmitter.h include/gstreamer-0.10/gst/farsight/fs-utils.h -lib/farsight2-0.0/libmulticast-transmitter.la -lib/farsight2-0.0/libnice-transmitter.la -lib/farsight2-0.0/librawudp-transmitter.la -lib/farsight2-0.0/libshm-transmitter.la -lib/gstreamer-0.10/libfsfunnel.la -lib/gstreamer-0.10/libfsmsnconference.la -lib/gstreamer-0.10/libfsrawconference.la -lib/gstreamer-0.10/libfsrtcpfilter.la -lib/gstreamer-0.10/libfsrtpconference.la -lib/gstreamer-0.10/libfsvideoanyrate.la -lib/libgstfarsight-0.10.la -lib/pkgconfig/farsight2-0.10.pc +lib${LIBARCHSUFFIX}/farsight2-0.0/libmulticast-transmitter.la +lib${LIBARCHSUFFIX}/farsight2-0.0/libnice-transmitter.la +lib${LIBARCHSUFFIX}/farsight2-0.0/librawudp-transmitter.la +lib${LIBARCHSUFFIX}/farsight2-0.0/libshm-transmitter.la +lib${LIBARCHSUFFIX}/gstreamer-0.10/libfsfunnel.la +lib${LIBARCHSUFFIX}/gstreamer-0.10/libfsmsnconference.la +lib${LIBARCHSUFFIX}/gstreamer-0.10/libfsrawconference.la +lib${LIBARCHSUFFIX}/gstreamer-0.10/libfsrtcpfilter.la +lib${LIBARCHSUFFIX}/gstreamer-0.10/libfsrtpconference.la +lib${LIBARCHSUFFIX}/gstreamer-0.10/libfsvideoanyrate.la +lib${LIBARCHSUFFIX}/libgstfarsight-0.10.la +lib${LIBARCHSUFFIX}/pkgconfig/farsight2-0.10.pc ${PYSITELIB}/farsight.la share/farsight2/0.0/fsrtpconference/default-codec-preferences share/farsight2/0.0/fsrtpconference/default-element-properties diff --git a/multimedia/gst-plugins0.10-base/plugins.mk b/multimedia/gst-plugins0.10-base/plugins.mk index bcca6ed8ec3fd..ab680a5633a51 100644 --- a/multimedia/gst-plugins0.10-base/plugins.mk +++ b/multimedia/gst-plugins0.10-base/plugins.mk @@ -23,6 +23,7 @@ PATCHDIR= ${.CURDIR}/../../multimedia/gst-plugins0.10-${GST_PLUGINS0.10_TYPE}/pa GNU_CONFIGURE= yes USE_TOOLS+= gmake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes CONFIGURE_ARGS+= --disable-examples diff --git a/multimedia/gst-plugins1-base/Makefile.common b/multimedia/gst-plugins1-base/Makefile.common index dad00ae860252..6ebbf15bc7400 100644 --- a/multimedia/gst-plugins1-base/Makefile.common +++ b/multimedia/gst-plugins1-base/Makefile.common @@ -16,6 +16,8 @@ GST_PLUGINS1_VER= 1.14.2 BUILDLINK_API_DEPENDS.gstreamer1+= gstreamer1>=1.14.2 LICENSE= gnu-lgpl-v2 +USE_MULTIARCH= lib + # Disable all drivers and features by default. .for driver in alsa \ cdparanoia \ diff --git a/multimedia/gstreamer0.10/Makefile b/multimedia/gstreamer0.10/Makefile index 1adac977720a1..a6e6e92127ddf 100644 --- a/multimedia/gstreamer0.10/Makefile +++ b/multimedia/gstreamer0.10/Makefile @@ -14,6 +14,7 @@ COMMENT= Open source multimedia framework GNU_CONFIGURE= yes USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= bison flex gmake perl pkg-config # queue2 moved from gst-plugins-base to here diff --git a/multimedia/gstreamer1/Makefile b/multimedia/gstreamer1/Makefile index 7d90cd3602e6b..8aec7587aa443 100644 --- a/multimedia/gstreamer1/Makefile +++ b/multimedia/gstreamer1/Makefile @@ -13,6 +13,7 @@ COMMENT= Open source multimedia framework LICENSE= gnu-lgpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes USE_TOOLS+= bison flex gmake perl pkg-config GNU_CONFIGURE= yes diff --git a/multimedia/libass/Makefile b/multimedia/libass/Makefile index e52796ce726d7..d81e4a48907cf 100644 --- a/multimedia/libass/Makefile +++ b/multimedia/libass/Makefile @@ -14,6 +14,7 @@ COMMENT= Portable subtitle renderer for the ASS/SSA subtitle format LICENSE= isc USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-asm diff --git a/multimedia/libdvbpsi/Makefile b/multimedia/libdvbpsi/Makefile index a2363f057fe0b..ae0a76f2eba0f 100644 --- a/multimedia/libdvbpsi/Makefile +++ b/multimedia/libdvbpsi/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= libdvbpsi.pc.in diff --git a/multimedia/libdvdnav/Makefile b/multimedia/libdvdnav/Makefile index d433838744bac..e92ce5e9c58ba 100644 --- a/multimedia/libdvdnav/Makefile +++ b/multimedia/libdvdnav/Makefile @@ -11,6 +11,7 @@ COMMENT= Library to navigate DVDs LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= misc/dvdnav.pc.in diff --git a/multimedia/libdvdplay/Makefile b/multimedia/libdvdplay/Makefile index b85c22b5becf0..7d8319fba02e9 100644 --- a/multimedia/libdvdplay/Makefile +++ b/multimedia/libdvdplay/Makefile @@ -12,6 +12,7 @@ COMMENT= Simple API library designed for DVD navigation GNU_CONFIGURE= yes USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib .include "../../multimedia/libdvdread/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/multimedia/libdvdread/Makefile b/multimedia/libdvdread/Makefile index 7dcfa27757d55..caaade6fcb8be 100644 --- a/multimedia/libdvdread/Makefile +++ b/multimedia/libdvdread/Makefile @@ -11,6 +11,7 @@ COMMENT= DVD access library LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= misc/dvdread.pc.in diff --git a/multimedia/libmatroska/Makefile b/multimedia/libmatroska/Makefile index 00848b11ee1ff..cc4863778d085 100644 --- a/multimedia/libmatroska/Makefile +++ b/multimedia/libmatroska/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_CMAKE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib CMAKE_ARGS+= -DBUILD_SHARED_LIBS=YES PKGCONFIG_OVERRIDE= libmatroska.pc.in diff --git a/multimedia/libmp4v2/Makefile b/multimedia/libmp4v2/Makefile index 6feec06300fe5..b604a1b08c529 100644 --- a/multimedia/libmp4v2/Makefile +++ b/multimedia/libmp4v2/Makefile @@ -15,6 +15,7 @@ COMMENT= Library for reading and modifying mp4 files USE_LANGUAGES= c c++03 USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= USENASM=no # the "bootstrap" script checks too much, and isn't useful anyway diff --git a/multimedia/libmpeg2/Makefile b/multimedia/libmpeg2/Makefile index d5f55a709cbbb..aa4b3158d76e3 100644 --- a/multimedia/libmpeg2/Makefile +++ b/multimedia/libmpeg2/Makefile @@ -12,6 +12,7 @@ COMMENT= Library for decoding mpeg-2 and mpeg-1 video streams GNU_CONFIGURE= yes USE_TOOLS+= gmake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= libmpeg2/convert/libmpeg2convert.pc.in PKGCONFIG_OVERRIDE+= libmpeg2/libmpeg2.pc.in diff --git a/multimedia/libogg/Makefile b/multimedia/libogg/Makefile index a6c0954171165..86dbacd23f9f9 100644 --- a/multimedia/libogg/Makefile +++ b/multimedia/libogg/Makefile @@ -12,6 +12,7 @@ LICENSE= modified-bsd USE_TOOLS+= pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes GCC_REQD+= 2.95.3 diff --git a/multimedia/libtheora/Makefile b/multimedia/libtheora/Makefile index df08d57a4aa3b..71dec6945c798 100644 --- a/multimedia/libtheora/Makefile +++ b/multimedia/libtheora/Makefile @@ -6,6 +6,7 @@ PKGREVISION= 2 PKGCONFIG_OVERRIDE= theora.pc.in theoradec.pc.in theoraenc.pc.in USE_LIBTOOL= YES +USE_MULTIARCH= lib TEST_TARGET= check # disable doxygen, see libtheora-docs package diff --git a/multimedia/libvdpau/Makefile b/multimedia/libvdpau/Makefile index ee997461ef0e0..acc08a41bff61 100644 --- a/multimedia/libvdpau/Makefile +++ b/multimedia/libvdpau/Makefile @@ -14,6 +14,7 @@ LICENSE= mit USE_LIBTOOL= yes USE_TOOLS+= pkg-config gmake USE_LANGUAGES= c c++ +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-documentation diff --git a/multimedia/libvpx/Makefile b/multimedia/libvpx/Makefile index ecd6c6ec01889..cac032bbd0509 100644 --- a/multimedia/libvpx/Makefile +++ b/multimedia/libvpx/Makefile @@ -14,6 +14,7 @@ LICENSE= modified-bsd USE_LANGUAGES= c c++11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake bash:build perl:build HAS_CONFIGURE= yes CONFIG_SHELL= ${BASH} @@ -21,6 +22,7 @@ CONFIGURE_ARGS+= --disable-postproc CONFIGURE_ARGS+= --enable-pic CONFIGURE_ARGS+= --enable-runtime-cpu-detect CONFIGURE_ARGS+= --prefix=${PREFIX} +CONFIGURE_ARGS+= --libdir=${PREFIX}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= --disable-unit-tests .include "../../mk/bsd.prefs.mk" diff --git a/multimedia/ming/Makefile b/multimedia/ming/Makefile index d0db603bf9cdc..e9cffc93a6338 100644 --- a/multimedia/ming/Makefile +++ b/multimedia/ming/Makefile @@ -15,6 +15,7 @@ GNU_CONFIGURE= yes USE_TOOLS+= pkg-config bison flex USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib CONFIGURE_ARGS+= --disable-python CONFIGURE_ARGS+= --disable-perl diff --git a/multimedia/py-gstreamer0.10/PLIST b/multimedia/py-gstreamer0.10/PLIST index 40ca55295e096..ba6d9c7d2f590 100644 --- a/multimedia/py-gstreamer0.10/PLIST +++ b/multimedia/py-gstreamer0.10/PLIST @@ -3,8 +3,8 @@ include/gstreamer-0.10/gst/pygst.h include/gstreamer-0.10/gst/pygstexception.h include/gstreamer-0.10/gst/pygstminiobject.h include/gstreamer-0.10/gst/pygstvalue.h -lib/gstreamer-0.10/libgstpython.la -lib/pkgconfig/gst-python-0.10.pc +lib${LIBARCHSUFFIX}/gstreamer-0.10/libgstpython.la +lib${LIBARCHSUFFIX}/pkgconfig/gst-python-0.10.pc ${PYSITELIB}/gst-0.10/gst/__init__.py ${PYSITELIB}/gst-0.10/gst/__init__.pyc ${PYSITELIB}/gst-0.10/gst/__init__.pyo diff --git a/multimedia/smpeg/Makefile b/multimedia/smpeg/Makefile index aa9af14ee8f79..9117b030b1057 100644 --- a/multimedia/smpeg/Makefile +++ b/multimedia/smpeg/Makefile @@ -15,6 +15,7 @@ USE_TOOLS+= gmake GNU_CONFIGURE= yes USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib CPPFLAGS+= -Dunix=1 diff --git a/multimedia/x264-devel/Makefile b/multimedia/x264-devel/Makefile index f5060fa31a1b0..47e792bcccca7 100644 --- a/multimedia/x264-devel/Makefile +++ b/multimedia/x264-devel/Makefile @@ -11,6 +11,8 @@ HOMEPAGE= http://www.videolan.org/developers/x264.html COMMENT= GPL licensed H.264 encoder LICENSE= gnu-gpl-v2 +USE_MULTIARCH= lib + .include "../../mk/bsd.prefs.mk" # Assembler code still needs to be disabled on at least SunOS @@ -30,6 +32,7 @@ CONFIGURE_ARGS+= --enable-shared CONFIGURE_ARGS+= --enable-static CONFIGURE_ARGS+= --enable-pic CONFIGURE_ARGS+= --prefix=${PREFIX} +CONFIGURE_ARGS+= --libdir=${PREFIX}/lib${LIBARCHSUFFIX} .if ${OPSYS} == "Darwin" USE_TOOLS+= perl .else diff --git a/multimedia/xvidcore/Makefile b/multimedia/xvidcore/Makefile index d80219059f0a4..a80df3c6b01d3 100644 --- a/multimedia/xvidcore/Makefile +++ b/multimedia/xvidcore/Makefile @@ -12,6 +12,7 @@ COMMENT= ISO MPEG-4 compliant video codec LICENSE= gnu-gpl-v2 USE_GCC_RUNTIME=yes +USE_MULTIARCH= lib USE_TOOLS+= gmake .include "../../mk/bsd.prefs.mk" From 33fbb8eaedd86dd787ef979870efeab05895bc13 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:14:14 +0100 Subject: [PATCH 055/141] Convert "net" category to multiarch. --- net/GeoIP/Makefile | 1 + net/ORBit2/Makefile | 1 + net/SDL_net/Makefile | 1 + net/avahi/Makefile | 1 + net/bind910/Makefile | 2 ++ net/glib-networking/Makefile | 2 ++ net/gssdp/Makefile | 1 + net/gupnp-av/Makefile | 1 + net/gupnp-dlna/Makefile | 1 + net/gupnp-igd/Makefile | 1 + net/gupnp/Makefile | 3 ++- net/libIDL/Makefile | 1 + net/libfetch/Makefile | 3 ++- net/libnice/Makefile.common | 1 + net/libnice/distinfo | 2 +- net/libnice/patches/patch-ad | 2 +- net/libpcap/Makefile | 1 + net/libsoup/Makefile | 1 + net/nagios-base/Makefile.common | 2 ++ net/py-ORBit/PLIST | 2 +- net/wireshark/Makefile | 1 + net/zeromq/Makefile | 1 + 22 files changed, 27 insertions(+), 5 deletions(-) diff --git a/net/GeoIP/Makefile b/net/GeoIP/Makefile index a05f5dde8caa7..d5efd497429a7 100644 --- a/net/GeoIP/Makefile +++ b/net/GeoIP/Makefile @@ -13,6 +13,7 @@ GITHUB_PROJECT= geoip-api-c GITHUB_RELEASE= v${PKGVERSION_NOREV} USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes TEST_TARGET= check diff --git a/net/ORBit2/Makefile b/net/ORBit2/Makefile index 6f4528b7b3464..103b06cf04a36 100644 --- a/net/ORBit2/Makefile +++ b/net/ORBit2/Makefile @@ -18,6 +18,7 @@ MAKE_JOBS_SAFE= no USE_TOOLS+= gmake pkg-config USE_LIBTOOL= YES +USE_MULTIARCH= bin lib GNU_CONFIGURE= YES # needs interaction #TEST_TARGET= check diff --git a/net/SDL_net/Makefile b/net/SDL_net/Makefile index f287e3b262fd8..6789e472e5557 100644 --- a/net/SDL_net/Makefile +++ b/net/SDL_net/Makefile @@ -12,6 +12,7 @@ LICENSE= zlib USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-gui PKGCONFIG_OVERRIDE= SDL_net.pc.in diff --git a/net/avahi/Makefile b/net/avahi/Makefile index 01c06ab4f08ff..9608116d15dba 100644 --- a/net/avahi/Makefile +++ b/net/avahi/Makefile @@ -14,6 +14,7 @@ EXTRACT_USING= bsdtar GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_PKGINSTALL= YES USE_PKGLOCALEDIR= YES USE_TOOLS+= pkg-config gmake intltool msgfmt xgettext diff --git a/net/bind910/Makefile b/net/bind910/Makefile index 10fbfb1f0b979..95011823ba339 100644 --- a/net/bind910/Makefile +++ b/net/bind910/Makefile @@ -17,6 +17,8 @@ MAKE_JOBS_SAFE= no BIND_VERSION= 9.10.8-P1 +USE_MULTIARCH= lib + .include "../../mk/bsd.prefs.mk" BUILD_DEFS+= BIND_DIR VARBASE diff --git a/net/glib-networking/Makefile b/net/glib-networking/Makefile index 47aa30d58b830..d42f5c315ac64 100644 --- a/net/glib-networking/Makefile +++ b/net/glib-networking/Makefile @@ -12,7 +12,9 @@ LICENSE= gnu-lgpl-v2 DEPENDS= mozilla-rootcerts>=1.0.20150804nb1:../../security/mozilla-rootcerts + MESON_ARGS+= -Dca_certificates_path=${PREFIX}/share/mozilla-rootcerts/cacert.pem +USE_MULTIARCH= lib USE_TOOLS+= pkg-config gmake gettext REPLACE_PYTHON+= find-ca-certificates diff --git a/net/gssdp/Makefile b/net/gssdp/Makefile index 3cebcdff9fe9b..f7f25fbce7af0 100644 --- a/net/gssdp/Makefile +++ b/net/gssdp/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-lgpl-v2 GNU_CONFIGURE= yes CONFIGURE_ARGS+= --without-gtk USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config gmake PKGCONFIG_OVERRIDE+= gssdp-1.0.pc.in diff --git a/net/gupnp-av/Makefile b/net/gupnp-av/Makefile index c932593dfdf0d..fa568f4b3cb5b 100644 --- a/net/gupnp-av/Makefile +++ b/net/gupnp-av/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config PKGCONFIG_OVERRIDE+= gupnp-av-1.0.pc.in diff --git a/net/gupnp-dlna/Makefile b/net/gupnp-dlna/Makefile index 316591cfe09bb..76baeb63a499f 100644 --- a/net/gupnp-dlna/Makefile +++ b/net/gupnp-dlna/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config PKGCONFIG_OVERRIDE+= gupnp-dlna-2.0.pc.in diff --git a/net/gupnp-igd/Makefile b/net/gupnp-igd/Makefile index a857e0ddcfcc1..8fe83739370ca 100644 --- a/net/gupnp-igd/Makefile +++ b/net/gupnp-igd/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config PKGCONFIG_OVERRIDE+= gupnp-igd-1.0.pc.in diff --git a/net/gupnp/Makefile b/net/gupnp/Makefile index e39d00832b6ab..508ea2c33ff33 100644 --- a/net/gupnp/Makefile +++ b/net/gupnp/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config PKGCONFIG_OVERRIDE+= gupnp-1.0.pc.in @@ -27,7 +28,7 @@ TEST_TARGET= check .if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Darwin" pre-configure: - cp ${FILESDIR}/uuid.pc ${BUILDLINK_DIR}/lib/pkgconfig/ + cp ${FILESDIR}/uuid.pc ${BUILDLINK_DIR}/lib${LIBARCHSUFFIX}/pkgconfig/ .else .include "../../devel/libuuid/buildlink3.mk" .endif diff --git a/net/libIDL/Makefile b/net/libIDL/Makefile index 863ee1350535c..acd2adbac4703 100644 --- a/net/libIDL/Makefile +++ b/net/libIDL/Makefile @@ -11,6 +11,7 @@ COMMENT= CORBA Interface Definition Language parser LICENSE= gnu-lgpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= bison flex pkg-config PKGCONFIG_OVERRIDE= libIDL-2.0.pc.in GNU_CONFIGURE= yes diff --git a/net/libfetch/Makefile b/net/libfetch/Makefile index 78443f4fc16d9..e169bac654043 100644 --- a/net/libfetch/Makefile +++ b/net/libfetch/Makefile @@ -11,6 +11,7 @@ COMMENT= Library to access HTTP/FTP server LICENSE= modified-bsd USE_FEATURES= nbcompat +USE_MULTIARCH= lib USE_BSD_MAKEFILE= yes @@ -19,7 +20,7 @@ USE_BSD_MAKEFILE= yes CHECK_PERMS= no .endif -INSTALLATION_DIRS= include lib ${PKGMANDIR}/cat3 ${PKGMANDIR}/man3 +INSTALLATION_DIRS= include lib${LIBARCHSUFFIX} ${PKGMANDIR}/cat3 ${PKGMANDIR}/man3 BUILD_TARGET= depend all INSTALL_TARGET= install includes diff --git a/net/libnice/Makefile.common b/net/libnice/Makefile.common index a762da82846fa..50d0185a51cd3 100644 --- a/net/libnice/Makefile.common +++ b/net/libnice/Makefile.common @@ -17,6 +17,7 @@ DISTINFO_FILE= ${.CURDIR}/../../net/libnice/distinfo GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config .include "../../mk/bsd.prefs.mk" diff --git a/net/libnice/distinfo b/net/libnice/distinfo index 017ab05e618df..4ec650caa7fbd 100644 --- a/net/libnice/distinfo +++ b/net/libnice/distinfo @@ -4,4 +4,4 @@ SHA1 (libnice-0.1.14.tar.gz) = bc33999b547c14d40be42e67aa813b0d87bbd98f RMD160 (libnice-0.1.14.tar.gz) = e1e0bd020518852fbd78c2bd32dccb11592ed585 SHA512 (libnice-0.1.14.tar.gz) = 58bd0e0f630f4f14fe4765f2dab24215d71d61a4e7dc260cdb34eb0254b3dcdc9ce3b6fb010800250fb85f91e06b1c48cfcdd6e18867324609ead17a9106d4dd Size (libnice-0.1.14.tar.gz) = 1024116 bytes -SHA1 (patch-ad) = abf11727342cbf5a48cdd394355ec2f93ce471f2 +SHA1 (patch-ad) = 11ab758592b82cceca452c3e111d2946dfb13ba6 diff --git a/net/libnice/patches/patch-ad b/net/libnice/patches/patch-ad index cf32497d7bbb6..d77f68968d8e3 100644 --- a/net/libnice/patches/patch-ad +++ b/net/libnice/patches/patch-ad @@ -9,7 +9,7 @@ Change linking for gst-plugins0.10-libnice package. COMMON_LIBADD = \ - $(top_builddir)/nice/libnice.la -+ $(prefix)/lib/libnice.la ++ $(libdir)/libnice.la # libgstnice diff --git a/net/libpcap/Makefile b/net/libpcap/Makefile index 841d9843000bc..838fc2f29959f 100644 --- a/net/libpcap/Makefile +++ b/net/libpcap/Makefile @@ -13,6 +13,7 @@ NOT_FOR_PLATFORM+= Interix-*-* # no raw interface access USE_LIBTOOL= yes USE_TOOLS+= bison flex gm4 +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes CONFIGURE_ARGS.Darwin+= --disable-universal diff --git a/net/libsoup/Makefile b/net/libsoup/Makefile index ae125128c418a..07a1772630b9b 100644 --- a/net/libsoup/Makefile +++ b/net/libsoup/Makefile @@ -14,6 +14,7 @@ DEPENDS+= glib-networking-[0-9]*:../../net/glib-networking USE_TOOLS+= pkg-config gmake intltool msgfmt USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes # XXX work around botched gettext check (ignores libintl) diff --git a/net/nagios-base/Makefile.common b/net/nagios-base/Makefile.common index ce1e8057deddc..457d6cf0fd284 100644 --- a/net/nagios-base/Makefile.common +++ b/net/nagios-base/Makefile.common @@ -30,3 +30,5 @@ CONFIGURE_ARGS+= --with-cgiurl=/nagios/cgi-bin CONFIGURE_ARGS+= --with-htmurl=/nagios BUILD_DEFS+= NAGIOSDIR + +CONFIGURE_ENV+= ABI=${ABI:Q} diff --git a/net/py-ORBit/PLIST b/net/py-ORBit/PLIST index 4ae569d806ca7..76ed0eb3898a3 100644 --- a/net/py-ORBit/PLIST +++ b/net/py-ORBit/PLIST @@ -1,6 +1,6 @@ @comment $NetBSD: PLIST,v 1.4 2009/06/14 18:09:39 joerg Exp $ include/pyorbit-2/pyorbit.h -lib/pkgconfig/pyorbit-2.pc +lib${LIBARCHSUFFIX}/pkgconfig/pyorbit-2.pc ${PYSITELIB}/CORBA.py ${PYSITELIB}/CORBA.pyc ${PYSITELIB}/CORBA.pyo diff --git a/net/wireshark/Makefile b/net/wireshark/Makefile index 41ed63eccf2ba..4aa2c8cdfda7f 100644 --- a/net/wireshark/Makefile +++ b/net/wireshark/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v2 CONFLICTS+= ethereal-[0-9]* USE_LANGUAGES= c c++ +USE_MULTIARCH= lib USE_TOOLS+= gmake perl pkg-config yacc lex USE_LIBTOOL= yes diff --git a/net/zeromq/Makefile b/net/zeromq/Makefile index d6eac82ecd453..1430af5a5797a 100644 --- a/net/zeromq/Makefile +++ b/net/zeromq/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-lgpl-v3 USE_LANGUAGES= c c99 gnu++11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-libsodium=${BUILDLINK_PREFIX.libsodium} From 98a879e7ff8ae47f45a694b442458a1614046886 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:14:35 +0100 Subject: [PATCH 056/141] Convert "pkgtools" category to multiarch. --- pkgtools/digest/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgtools/digest/Makefile b/pkgtools/digest/Makefile index bb9bef2840b72..b761fa4233203 100644 --- a/pkgtools/digest/Makefile +++ b/pkgtools/digest/Makefile @@ -14,6 +14,7 @@ LICENSE= original-bsd CHECK_PERMS= no GNU_CONFIGURE= yes +USE_MULTIARCH= bin .include "../../mk/bsd.prefs.mk" From 26d39373de7c506556e44779e141e2a77d785d5f Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 18:14:41 +0100 Subject: [PATCH 057/141] Convert "print" category to multiarch. --- print/ghostscript-agpl/distinfo | 2 +- .../ghostscript-agpl/patches/patch-base_unix-dll.mak | 4 ++-- print/ghostscript-gpl/Makefile | 3 ++- print/ghostscript-gpl/distinfo | 3 +-- print/ghostscript-gpl/patches/patch-af | 4 ++-- print/kpathsea/Makefile | 12 ++++++++---- print/libpaper/Makefile | 1 + print/poppler-glib/Makefile | 6 +++--- print/poppler-qt5/Makefile | 4 ++-- print/poppler/Makefile.common | 1 + print/pslib/Makefile | 1 + print/ptexenc/Makefile | 1 + 12 files changed, 25 insertions(+), 17 deletions(-) diff --git a/print/ghostscript-agpl/distinfo b/print/ghostscript-agpl/distinfo index 729d3867397f3..b1f47ac90b952 100644 --- a/print/ghostscript-agpl/distinfo +++ b/print/ghostscript-agpl/distinfo @@ -7,6 +7,6 @@ Size (ghostscript-9.25.tar.xz) = 33027708 bytes SHA1 (patch-base_gserrors_h) = ce75cfb7528871842a3bd35e18a6d91c89823909 SHA1 (patch-base_lib.mak) = 723926f167b49568376ef0c0da6aa4ec01fe1516 SHA1 (patch-base_mkromfs.c) = 96006928e0b5381e7101027372b6e6408f1c4a0b -SHA1 (patch-base_unix-dll.mak) = 73b5ee7fcbc7940ce72f44b35417d624f7ae5bca +SHA1 (patch-base_unix-dll.mak) = 6b7f81afd418ec7c343c9db52f3b7ab535d4b1f1 SHA1 (patch-configure) = 08ed9451fc3cf1aade8992e4297c7df736416c8b SHA1 (patch-devices_devs.mak) = 9857c177e7a6a28ee326dbc878bbe52ccbcfedce diff --git a/print/ghostscript-agpl/patches/patch-base_unix-dll.mak b/print/ghostscript-agpl/patches/patch-base_unix-dll.mak index 44340d0360407..0ea575df83761 100644 --- a/print/ghostscript-agpl/patches/patch-base_unix-dll.mak +++ b/print/ghostscript-agpl/patches/patch-base_unix-dll.mak @@ -25,12 +25,12 @@ Add some rpaths. $(GSSOC_XE): gs-so-links-subtarget $(PSSRC)dxmainc.c $(UNIX_DLL_MAK) $(MAKEDIRS) $(GLCC) $(GLO_)dxmainc.$(OBJ) $(C_) $(PSSRC)dxmainc.c - $(GLCC) -L$(BINDIR) $(LDFLAGS) $(O_) $(GSSOC_XE) $(GLOBJ)dxmainc.$(OBJ) -l$(GS_SO_BASE) -+ $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib $(LDFLAGS) $(O_) $(GSSOC_XE) $(GLOBJ)dxmainc.$(OBJ) -l$(GS_SO_BASE) ++ $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib$(LIBARCHSUFFIX) -Wl,-R$(PREFIX)/lib$(LIBARCHSUFFIX) $(LDFLAGS) $(O_) $(GSSOC_XE) $(GLOBJ)dxmainc.$(OBJ) -l$(GS_SO_BASE) $(GSSOX_XE): gs-so-links-subtarget $(PSSRC)$(SOC_LOADER).c $(UNIX_DLL_MAK) $(MAKEDIRS) $(GLCC) $(SOC_CFLAGS) $(GLO_)$(SOC_LOADER).$(OBJ) $(C_) $(PSSRC)$(SOC_LOADER).c - $(GLCC) -L$(BINDIR) $(LDFLAGS) $(O_) $(GSSOX_XE) $(GLOBJ)$(SOC_LOADER).$(OBJ) -l$(GS_SO_BASE) $(SOC_LIBS) -+ $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib $(LDFLAGS) $(O_) $(GSSOX_XE) $(GLOBJ)$(SOC_LOADER).$(OBJ) -l$(GS_SO_BASE) $(SOC_LIBS) ++ $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib$(LIBARCHSUFFIX) -Wl,-R$(PREFIX)/lib$(LIBARCHSUFFIX) $(LDFLAGS) $(O_) $(GSSOX_XE) $(GLOBJ)$(SOC_LOADER).$(OBJ) -l$(GS_SO_BASE) $(SOC_LIBS) $(PCLSOC_XE): gpcl6-so-links-subtarget $(UNIX_DLL_MAK) $(PLOBJ)$(REALMAIN_SRC).$(OBJ) $(MAKEDIRS) $(GLCC) -L$(BINDIR) $(LDFLAGS) $(O_) $(PCLSOC_XE) $(PLOBJ)$(REALMAIN_SRC).$(OBJ) -l$(PCL_SO_BASE) diff --git a/print/ghostscript-gpl/Makefile b/print/ghostscript-gpl/Makefile index 1e2af7598803a..92650b36cec69 100644 --- a/print/ghostscript-gpl/Makefile +++ b/print/ghostscript-gpl/Makefile @@ -28,6 +28,7 @@ CONFLICTS+= ghostscript-gnu-nox11-[0-9]* USE_TOOLS+= gmake perl:run lex pkg-config USE_LANGUAGES+= c c++ +USE_MULTIARCH= lib GNU_CONFIGURE= yes UNLIMIT_RESOURCES+= datasize # gsromfs1.c @@ -86,7 +87,7 @@ CPPFLAGS.SunOS+= -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ BUILDLINK_TRANSFORM.IRIX+= l:fontconfig:fontconfig:iconv CONFIGURE_ENV+= LPLIBDIR=${PREFIX}/lib -CONFIGURE_ENV+= ZLIB_DIR=${BUILDLINK_PREFIX.zlib}/lib +CONFIGURE_ENV+= ZLIB_DIR=${BUILDLINK_PREFIX.zlib}/lib${LIBARCHSUFFIX} # On OpenBSD 5.3, libxcb is required libXt. LDFLAGS.OpenBSD+= -lxcb diff --git a/print/ghostscript-gpl/distinfo b/print/ghostscript-gpl/distinfo index d44950a549355..91a461e431ae5 100644 --- a/print/ghostscript-gpl/distinfo +++ b/print/ghostscript-gpl/distinfo @@ -16,7 +16,7 @@ SHA1 (patch-CVE-2016-10220) = 6edfa87948ff0f9412a5509efb98bf2d063a5951 SHA1 (patch-CVE-2017-5951) = a4af8e561b9f5a6a330fbc2f915257bf5ba3cb2a SHA1 (patch-CVE-2017-6196) = 311d9236dd5abcd48ae0f412bf481e105b6207dc SHA1 (patch-CVE-2017-7207) = 31f4a73b49b52942385eaa3c8cf2a94b5bbde6df -SHA1 (patch-af) = 9644b665deee3e11a4510f9edf4c35ebabc192ea +SHA1 (patch-af) = ade76a99fdf5a1c5b05caf7641c4833fde612fd7 SHA1 (patch-ah) = 7548f6f78b8029febec044bc11214f9d6674c9d3 SHA1 (patch-ai) = 3962a3acac1d4537dbbe3fc3b205aba87387d485 SHA1 (patch-aj) = 620d921210b5c0efec0a84e33bc416e4ab4bd11c @@ -30,4 +30,3 @@ SHA1 (patch-base_gsmalloc.c) = 891bdcef49e0f2c435744eaf7bbcd31f5dbcbaba SHA1 (patch-base_memento.c) = d30cfb9285a0268e743c90cdf831674eaa24789b SHA1 (patch-cups_colord.h) = ab5c4bfa7184d2c1756697b87e7046645bdc2bc2 SHA1 (patch-openjpeg_libopenjpeg_opj_malloc_h) = 24f15c55cd7961afc1254f6c4bccd6d0c2a5e737 -SHA1 (patch-psi_zfile.c) = 24626fed9b161a77d9ab43233bad4c8391120b16 diff --git a/print/ghostscript-gpl/patches/patch-af b/print/ghostscript-gpl/patches/patch-af index f3110f7ec2c3a..3c1f02be40053 100644 --- a/print/ghostscript-gpl/patches/patch-af +++ b/print/ghostscript-gpl/patches/patch-af @@ -42,13 +42,13 @@ the best way to fix that. at least it compiles now.... - $(GLCC) -g -o $(GSSOC_XE) $(PSSRC)dxmainc.c \ - -L$(BINDIR) -l$(GS) + $(GLCC) -g -o $(GSSOC_XE) $(LDFLAGS) $(PSSRC)dxmainc.c \ -+ -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib -l$(GS) ++ -L$(BINDIR) -L$(PREFIX)/lib$(LIBARCHSUFFIX) -Wl,-R$(PREFIX)/lib$(LIBARCHSUFFIX) -l$(GS) $(GSSOX_XE): $(GS_SO) $(PSSRC)$(SOC_LOADER) - $(GLCC) -g $(SOC_CFLAGS) -o $(GSSOX_XE) $(PSSRC)$(SOC_LOADER) \ - -L$(BINDIR) -l$(GS) $(SOC_LIBS) + $(GLCC) -g $(SOC_CFLAGS) -o $(GSSOX_XE) $(LDFLAGS) $(PSSRC)$(SOC_LOADER) \ -+ -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib -l$(GS) $(SOC_LIBS) ++ -L$(BINDIR) -L$(PREFIX)/lib$(LIBARCHSUFFIX) -Wl,-R$(PREFIX)/lib$(LIBARCHSUFFIX) -l$(GS) $(SOC_LIBS) # ------------------------- Recursive make targets ------------------------- # diff --git a/print/kpathsea/Makefile b/print/kpathsea/Makefile index 7379690073be7..360f9d7068c9a 100644 --- a/print/kpathsea/Makefile +++ b/print/kpathsea/Makefile @@ -17,8 +17,11 @@ EXTRACT_ELEMENTS= ${DISTNAME}/build-aux \ GNU_CONFIGURE= yes INFO_FILES= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake -WRKSRC= ${WRKDIR}/${DISTNAME}/texk/kpathsea +# XXX: multiarch +CONFIGURE_DIRS= texk/kpathsea +PATCH_ARGS= -d ${WRKSRC}/${CONFIGURE_DIRS} --forward --quiet -E ${PATCH_STRIP} CONFIG_GUESS_OVERRIDE+= ${WRKDIR}/${DISTNAME}/build-aux/config.guess CONFIG_SUB_OVERRIDE+= ${WRKDIR}/${DISTNAME}/build-aux/config.sub @@ -38,7 +41,7 @@ MAKE_FLAGS+= LIBTOOL=${LIBTOOL:Q} SUBST_CLASSES+= texmfdir SUBST_MESSAGE.texmfdir= Setting texmf directories. SUBST_STAGE.texmfdir= pre-configure -SUBST_FILES.texmfdir= texmf.cnf +SUBST_FILES.texmfdir= ${CONFIGURE_DIRS}/texmf.cnf SUBST_SED.texmfdir= -e 's,@PREFIX@,${PREFIX:C;///*;/;g:C;/$;;},' SUBST_SED.texmfdir+= -e 's,@TEXMFLOCAL@,${TEXMFLOCAL:C;///*;/;g:C;/$;;},' SUBST_SED.texmfdir+= -e 's,@VARBASE@,${VARBASE:C;///*;/;g:C;/$;;},' @@ -47,8 +50,9 @@ SUBST_SED.texmfdir+= -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR:C;///*;/;g:C;/$;;}, SUBST_CLASSES+= paths SUBST_MESSAGE.paths= Setting paths to commands. SUBST_STAGE.paths= pre-configure -SUBST_FILES.paths= mktex.opt mktexdir mktexlsr mktexmf \ - mktexnam mktexnam.opt mktexpk mktextfm mktexupd +.for file in mktex.opt mktexdir mktexlsr mktexmf mktexnam mktexnam.opt mktexpk mktextfm mktexupd +SUBST_FILES.paths+= ${CONFIGURE_DIRS}/${file} +.endfor SUBST_SED.paths= -e 's,@KPSEWHICH@,${PREFIX}/bin/kpsewhich,g' SUBST_SED.paths+= -e 's,@MKTEXMF@,${PREFIX}/bin/mktexmf,g' diff --git a/print/libpaper/Makefile b/print/libpaper/Makefile index 0e6043fffd746..6f20d60987720 100644 --- a/print/libpaper/Makefile +++ b/print/libpaper/Makefile @@ -14,6 +14,7 @@ WRKSRC= ${WRKDIR}/${PKGNAME_NOREV} GNU_CONFIGURE= yes CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake EGDIR= ${PREFIX}/share/examples/libpaper diff --git a/print/poppler-glib/Makefile b/print/poppler-glib/Makefile index 7745ae4cf932b..b298a296ab7af 100644 --- a/print/poppler-glib/Makefile +++ b/print/poppler-glib/Makefile @@ -37,11 +37,11 @@ BUILDLINK_API_DEPENDS.poppler+= poppler-${POPPLER_VERS}{,nb*} INSTALL_DIRS= glib -INSTALLATION_DIRS+= lib/pkgconfig +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/pkgconfig post-install: - ${INSTALL_DATA} ${WRKSRC}/poppler-cairo.pc ${DESTDIR}${PREFIX}/lib/pkgconfig - ${INSTALL_DATA} ${WRKSRC}/poppler-glib.pc ${DESTDIR}${PREFIX}/lib/pkgconfig + ${INSTALL_DATA} ${WRKSRC}/poppler-cairo.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig + ${INSTALL_DATA} ${WRKSRC}/poppler-glib.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../lang/python/tool.mk" BUILDLINK_ABI_DEPENDS.glib2+= glib2>=2.41.0 diff --git a/print/poppler-qt5/Makefile b/print/poppler-qt5/Makefile index 3ddcd37853cd9..b74774260f69d 100644 --- a/print/poppler-qt5/Makefile +++ b/print/poppler-qt5/Makefile @@ -20,7 +20,7 @@ BUILDLINK_API_DEPENDS.poppler+= poppler>=${POPPLER_VERS} PKGCONFIG_OVERRIDE+= ${WRKSRC}/poppler-qt5.pc.in -INSTALLATION_DIRS+= lib include/poppler lib/pkgconfig +INSTALLATION_DIRS+= lib include/poppler lib${LIBARCHSUFFIX}/pkgconfig BUILD_DIRS= qt5/src @@ -28,7 +28,7 @@ pre-build: cd ${WRKSRC}/qt5/src && ${BUILD_MAKE_CMD} post-install: - ${INSTALL_DATA} ${WRKSRC}/poppler-qt5.pc ${DESTDIR}${PREFIX}/lib/pkgconfig + ${INSTALL_DATA} ${WRKSRC}/poppler-qt5.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig .include "../../x11/qt5-qtbase/buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" diff --git a/print/poppler/Makefile.common b/print/poppler/Makefile.common index 3e54a770aa871..2258a3bddab35 100644 --- a/print/poppler/Makefile.common +++ b/print/poppler/Makefile.common @@ -22,6 +22,7 @@ PATCHDIR= ${.CURDIR}/../../print/poppler/patches USE_TOOLS+= pkg-config USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib USE_CMAKE= yes diff --git a/print/pslib/Makefile b/print/pslib/Makefile index 64da98014e00f..acae5f51ca34d 100644 --- a/print/pslib/Makefile +++ b/print/pslib/Makefile @@ -15,6 +15,7 @@ BUILD_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= ${WRKSRC}/libps.pc.in GNU_CONFIGURE= yes USE_TOOLS+= msgfmt perl gmake diff --git a/print/ptexenc/Makefile b/print/ptexenc/Makefile index 25d95f8d0e478..be884bcb31049 100644 --- a/print/ptexenc/Makefile +++ b/print/ptexenc/Makefile @@ -16,6 +16,7 @@ EXTRACT_ELEMENTS= ${DISTNAME}/build-aux \ GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config WRKSRC= ${WRKDIR}/${DISTNAME}/texk/ptexenc CONFIG_GUESS_OVERRIDE+= ${WRKDIR}/${DISTNAME}/build-aux/config.guess From efa389dab154187dade1af2086ebaeceb32e2a5b Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 20:59:20 +0100 Subject: [PATCH 058/141] Convert "security" category to multiarch. --- security/clamav/Makefile | 1 + security/cyrus-sasl/Makefile.common | 2 ++ security/cyrus-sasl/PLIST | 4 +-- security/gnutls/Makefile | 1 + security/heimdal/Makefile | 17 +++++++++-- security/libgcrypt/Makefile | 1 + security/libgnome-keyring/Makefile | 1 + security/libgpg-error/Makefile | 1 + security/libmcrypt/Makefile | 3 +- security/libsecret/Makefile | 1 + security/libsodium/Makefile | 1 + security/libssh2/Makefile | 1 + security/libtasn1/Makefile | 1 + security/mhash/Makefile | 1 + security/mit-krb5/Makefile | 24 ++++++++-------- security/nettle/Makefile | 1 + security/opencdk/Makefile | 1 + security/openssl/Makefile | 28 ++++++++----------- security/openssl/distinfo | 6 ++-- security/openssl/patches/patch-Makefile.org | 25 ++++++++++++++--- security/openssl/patches/patch-apps_Makefile | 12 +++++++- security/openssl/patches/patch-tools_Makefile | 11 +++++++- security/p5-GSSAPI/Makefile | 1 + security/policykit/Makefile | 1 + security/tcp_wrappers/Makefile | 5 ++-- 25 files changed, 108 insertions(+), 43 deletions(-) diff --git a/security/clamav/Makefile b/security/clamav/Makefile index f9cd2465ea340..9839fa27c05da 100644 --- a/security/clamav/Makefile +++ b/security/clamav/Makefile @@ -7,6 +7,7 @@ COMMENT= Anti-virus toolkit USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gsed GNU_CONFIGURE= yes SET_LIBDIR= yes diff --git a/security/cyrus-sasl/Makefile.common b/security/cyrus-sasl/Makefile.common index 6c14434609353..a4ce3ad1bd89c 100644 --- a/security/cyrus-sasl/Makefile.common +++ b/security/cyrus-sasl/Makefile.common @@ -50,6 +50,8 @@ MAKE_JOBS_SAFE= no USE_TOOLS+= gmake USE_LIBTOOL= yes +USE_MULTIARCH= lib +MULTIARCH_DIRS.lib= # manually defined in PLIST DOCDIR= ${PREFIX}/share/doc/cyrus-sasl PLUGINDIR= ${PREFIX}/lib/sasl2 diff --git a/security/cyrus-sasl/PLIST b/security/cyrus-sasl/PLIST index 87835ed748ba4..3984ab8df878e 100644 --- a/security/cyrus-sasl/PLIST +++ b/security/cyrus-sasl/PLIST @@ -6,8 +6,8 @@ include/sasl/prop.h include/sasl/sasl.h include/sasl/saslplug.h include/sasl/saslutil.h -lib/libsasl2.la -lib/pkgconfig/libsasl2.pc +lib${LIBARCHSUFFIX}/libsasl2.la +lib${LIBARCHSUFFIX}/pkgconfig/libsasl2.pc lib/sasl2/libsasldb.la man/man3/sasl.3 man/man3/sasl_authorize_t.3 diff --git a/security/gnutls/Makefile b/security/gnutls/Makefile index 693593c16e054..4295c2199c713 100644 --- a/security/gnutls/Makefile +++ b/security/gnutls/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-gpl-v3 AND gnu-lgpl-v2.1 USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake gsed perl pkg-config bash GNU_CONFIGURE= yes diff --git a/security/heimdal/Makefile b/security/heimdal/Makefile index fc185a84f2326..80a52306a63a0 100644 --- a/security/heimdal/Makefile +++ b/security/heimdal/Makefile @@ -18,7 +18,9 @@ CONFLICTS+= kth-krb4-[0-9]* MAKE_JOBS_SAFE= no +USE_LANGUAGES= c99 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= bison flex:run PKGCONFIG_OVERRIDE+= tools/heimdal-gssapi.pc.in MAKE_ENV+= INSTALL_CATPAGES=no @@ -87,11 +89,22 @@ PLIST.afskauth= yes .endif OWN_DIRS_PERMS= ${HEIMDAL_HDB_DIR} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700 -SPECIAL_PERMS+= ${PREFIX}/bin/otp ${SETUID_ROOT_PERMS} -SPECIAL_PERMS= ${PREFIX}/bin/${KRB5_PREFIX}su ${SETUID_ROOT_PERMS} +SPECIAL_PERMS+= ${PREFIX}/bin${BINARCHSUFFIX}/otp ${SETUID_ROOT_PERMS} +SPECIAL_PERMS= ${PREFIX}/bin${BINARCHSUFFIX}/${KRB5_PREFIX}su ${SETUID_ROOT_PERMS} RCD_SCRIPTS= kadmind kcm kdc kpasswdd INFO_FILES= yes +# Dynamically determine the "replacement" headers for bits needed by +# Heimdal but are missing in the base system and add them to the PLIST. +.if !empty(MULTIARCH:M[Yy][Ee][Ss]) +ROKENDIR= ${WRKSRC}-${MULTIARCH_ABIS:C/ .*//W}/lib/roken +.else +ROKENDIR= ${WRKSRC}/lib/roken +.endif +GENERATE_PLIST+= \ + ( cd ${ROKENDIR} && ${BUILD_MAKE_CMD} print-xheaders | \ + ${XARGS} -n 1 | ${SED} -e "s,^,include/krb5/roken/," ); + TEST_TARGET= check # remove manpages conficting with OpenSSL keeping only the important ones diff --git a/security/libgcrypt/Makefile b/security/libgcrypt/Makefile index f25345de8c6e4..00270867c7076 100644 --- a/security/libgcrypt/Makefile +++ b/security/libgcrypt/Makefile @@ -11,6 +11,7 @@ COMMENT= GNU cryptographic library LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes TEST_TARGET= check diff --git a/security/libgnome-keyring/Makefile b/security/libgnome-keyring/Makefile index 013e9a15e7724..ad1f3dbdced50 100644 --- a/security/libgnome-keyring/Makefile +++ b/security/libgnome-keyring/Makefile @@ -15,6 +15,7 @@ CONFLICTS+= gnome-keyring<2.30 USE_TOOLS+= gmake intltool msgfmt pkg-config xgettext GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= library/gnome-keyring-1.pc.in diff --git a/security/libgpg-error/Makefile b/security/libgpg-error/Makefile index 719ef07d874f6..90ff220248e99 100644 --- a/security/libgpg-error/Makefile +++ b/security/libgpg-error/Makefile @@ -14,6 +14,7 @@ COMMENT= Definitions of common error values for all GnuPG components LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake GNU_CONFIGURE= yes diff --git a/security/libmcrypt/Makefile b/security/libmcrypt/Makefile index 9d854966d59ee..fc2f742c2e902 100644 --- a/security/libmcrypt/Makefile +++ b/security/libmcrypt/Makefile @@ -11,11 +11,12 @@ COMMENT= Crypto algorithms library USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes INSTALLATION_DIRS= include/mutils post-install: - rmdir ${DESTDIR}${PREFIX}/lib/libmcrypt + rmdir ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/libmcrypt .include "../../mk/bsd.pkg.mk" diff --git a/security/libsecret/Makefile b/security/libsecret/Makefile index ede0b870c0e30..fde805f058cf8 100644 --- a/security/libsecret/Makefile +++ b/security/libsecret/Makefile @@ -16,6 +16,7 @@ TOOL_DEPENDS+= gdbus-codegen-[0-9]*:../../devel/gdbus-codegen GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake intltool pkg-config msgfmt gsed PKGCONFIG_OVERRIDE+= libsecret/libsecret-unstable.pc.in diff --git a/security/libsodium/Makefile b/security/libsodium/Makefile index 9805703b22d17..c23f267e7e9a7 100644 --- a/security/libsodium/Makefile +++ b/security/libsodium/Makefile @@ -10,6 +10,7 @@ COMMENT= Library for build higher-level cryptographic tools LICENSE= isc USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= libsodium.pc.in diff --git a/security/libssh2/Makefile b/security/libssh2/Makefile index 30ab04b5f4f18..5fa4d42ebf4aa 100644 --- a/security/libssh2/Makefile +++ b/security/libssh2/Makefile @@ -11,6 +11,7 @@ LICENSE= modified-bsd GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib CONFIGURE_ARGS+= --with-libgcrypt=no CONFIGURE_ARGS+= --with-libz=${BUILDLINK_PREFIX.zlib:Q} diff --git a/security/libtasn1/Makefile b/security/libtasn1/Makefile index fec9c200c7f0f..fc016446a926e 100644 --- a/security/libtasn1/Makefile +++ b/security/libtasn1/Makefile @@ -11,6 +11,7 @@ COMMENT= ASN.1 structure parser library LICENSE= gnu-fdl-v1.3 AND gnu-lgpl-v2.1 AND gnu-gpl-v3 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= bison makeinfo GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-packager="pkgsrc" diff --git a/security/mhash/Makefile b/security/mhash/Makefile index a535982cb2857..5b3b1a7c6d019 100644 --- a/security/mhash/Makefile +++ b/security/mhash/Makefile @@ -15,6 +15,7 @@ COMMENT= Hash algorithms library USE_TOOLS+= gmake perl autoconf USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes INSTALLATION_DIRS= include/mutils diff --git a/security/mit-krb5/Makefile b/security/mit-krb5/Makefile index f340a26a32ef8..2f70297d719a9 100644 --- a/security/mit-krb5/Makefile +++ b/security/mit-krb5/Makefile @@ -17,8 +17,7 @@ COMMENT= MIT Kerberos 5 authentication system MAKE_JOBS_SAFE= no -WRKSRC= ${WRKDIR}/${DISTNAME}/src - +CONFIGURE_DIRS= src BUILD_TARGET= generate-files-mac all .include "../../mk/bsd.prefs.mk" @@ -28,6 +27,7 @@ CONFLICTS+= kth-krb4-[0-9]* USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes USE_TOOLS+= autoconf gzip m4 perl msgfmt .if ${OPSYS} == "SunOS" @@ -48,6 +48,7 @@ CONFIGURE_ARGS+= --enable-shared CONFIGURE_ARGS+= --enable-dns-for-realm CONFIGURE_ARGS+= --enable-kdc-replay-cache CONFIGURE_ARGS+= --disable-thread-support +CONFIGURE_ARGS+= --without-system-verto CONFIGURE_ARGS+= --without-tcl CONFIGURE_ARGS+= --enable-pkgsrc-libtool CONFIGURE_ARGS+= --without-system-verto @@ -57,7 +58,8 @@ CONFIGURE_ENV+= DEFKTNAME=FILE:${PKG_SYSCONFDIR}/krb5.keytab MAKE_ENV+= ROOT_USER=${ROOT_USER} LIBS.SunOS= -lrt -PATCH_DIST_ARGS= -d ${WRKSRC} -p2 +PATCH_ARGS= -d ${WRKSRC}/src -p0 +PATCH_DIST_ARGS= -d ${WRKSRC} -p1 INFO_FILES= YES @@ -65,21 +67,21 @@ OWN_DIRS_PERMS= ${MIT_KRB5_STATEDIR}/krb5kdc \ ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700 RCD_SCRIPTS= kadmind kdc -INSTALLATION_DIRS= bin include/gssapi include/gssrpc ${PKGINFODIR} \ +INSTALLATION_DIRS= bin${BINARCHSUFFIX} include/gssapi include/gssrpc ${PKGINFODIR} \ ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 \ - ${PKGMANDIR}/man8 sbin share/examples/krb5 \ + ${PKGMANDIR}/man8 sbin${BINARCHSUFFIX} share/examples/krb5 \ share/et share/examples/rc.d share/gnats \ - lib/krb5/plugins/kdb lib/krb5/plugins/preauth \ - lib/krb5/plugins/tls include/krb5 include/kadm5 \ - lib/pkgconfig + lib${LIBARCHSUFFIX}/krb5/plugins/kdb lib${LIBARCHSUFFIX}/krb5/plugins/preauth \ + lib${LIBARCHSUFFIX}/krb5/plugins/tls include/krb5 include/kadm5 \ + lib${LIBARCHSUFFIX}/pkgconfig pre-configure: - @${ECHO} "=> Generating configure"; \ - cd ${WRKSRC}; autoconf -I ${WRKSRC} -f; + @${ECHO} "=> Generating configure" + cd ${WRKSRC}/src; autoconf -I ${WRKSRC}/src -f; post-install: @${ECHO} "=> Installing info files"; \ - cd ${WRKDIR}/${DISTNAME}/doc; \ + cd ${WRKSRC}/doc; \ for f in *.info *.info-[0-9]*; do \ ${TEST} ! -f "$$f" || \ ${INSTALL_MAN} "$$f" ${DESTDIR}${PREFIX}/${PKGINFODIR}; \ diff --git a/security/nettle/Makefile b/security/nettle/Makefile index de0517c1febeb..dc91d07d7c96f 100644 --- a/security/nettle/Makefile +++ b/security/nettle/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 USE_LANGUAGES= c USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gm4 gmake GNU_CONFIGURE= yes SET_LIBDIR= yes diff --git a/security/opencdk/Makefile b/security/opencdk/Makefile index e99c6f163af05..d07d525699668 100644 --- a/security/opencdk/Makefile +++ b/security/opencdk/Makefile @@ -12,6 +12,7 @@ COMMENT= Open Crypto Development Kit LICENSE= gnu-gpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes TEST_TARGET= check diff --git a/security/openssl/Makefile b/security/openssl/Makefile index 656944eec6138..c0deac8ee89d2 100644 --- a/security/openssl/Makefile +++ b/security/openssl/Makefile @@ -15,6 +15,7 @@ BUILD_DEPENDS+= p5-Perl4-CoreLibs-[0-9]*:../../devel/p5-Perl4-CoreLibs USE_GCC_RUNTIME= yes +USE_MULTIARCH= bin lib USE_TOOLS+= fgrep gmake makedepend perl:run BUILD_TARGET= depend all TEST_TARGET= tests @@ -25,6 +26,7 @@ CONFIGURE_SCRIPT= ./config CONFIGURE_ARGS+= --prefix=${PREFIX} CONFIGURE_ARGS+= --install_prefix=${DESTDIR} CONFIGURE_ARGS+= --openssldir=${PKG_SYSCONFDIR} +CONFIGURE_ARGS+= --libdir=lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= shared no-fips .include "../../mk/compiler.mk" @@ -36,24 +38,18 @@ CC= gcc .endif .if ${OPSYS} == "SunOS" -. if ${MACHINE_ARCH} == "sparc" -OPENSSL_MACHINE_ARCH= sparcv7 -. elif ${MACHINE_ARCH} == "sparc64" -OPENSSL_MACHINE_ARCH= sparcv9 -. elif ${MACHINE_ARCH} == "i386" -OPENSSL_MACHINE_ARCH= x86 -. elif ${MACHINE_ARCH} == "x86_64" -OPENSSL_MACHINE_ARCH= ${MACHINE_ARCH} +. if !empty(MACHINE_ARCH:Msparc) +OPENSSL_MACHINE_ARCH.32= sparcv7 +OPENSSL_MACHINE_ARCH.64= sparcv9 +. elif ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" +OPENSSL_MACHINE_ARCH.32= x86 +OPENSSL_MACHINE_ARCH.64= x86_64 . endif -# only override the configure target if we know the platform, falling -# back to ./config's autodetection if not. -. if defined(OPENSSL_MACHINE_ARCH) && !empty(OPENSSL_MACHINE_ARCH) CONFIGURE_SCRIPT= ./Configure -. if ${PKGSRC_COMPILER} == "clang" || ${PKGSRC_COMPILER} == "gcc" -CONFIGURE_ARGS+= solaris${${ABI}==64:?64:}-${OPENSSL_MACHINE_ARCH}-gcc -. else -CONFIGURE_ARGS+= solaris${${ABI}==64:?64:}-${OPENSSL_MACHINE_ARCH}-cc -. endif +. if ${PKGSRC_COMPILER} == "clang" || ${PKGSRC_COMPILER} == "gcc" +CONFIGURE_ARGS+= solaris${${ABI}==64:?64:}-${OPENSSL_MACHINE_ARCH.${ABI}}-gcc +. else +CONFIGURE_ARGS+= solaris${${ABI}==64:?64:}-${OPENSSL_MACHINE_ARCH.${ABI}}-cc . endif .elif ${OPSYS} == "IRIX" CONFIGURE_ARGS+= no-asm diff --git a/security/openssl/distinfo b/security/openssl/distinfo index 44a0efbb6e65f..56abece9a76e0 100644 --- a/security/openssl/distinfo +++ b/security/openssl/distinfo @@ -5,10 +5,10 @@ RMD160 (openssl-1.0.2p.tar.gz) = 0df40a7f180e381bff7d7d9593bdfece4b054951 SHA512 (openssl-1.0.2p.tar.gz) = 958c5a7c3324bbdc8f07dfb13e11329d9a1b4452c07cf41fbd2d42b5fe29c95679332a3476d24c2dc2b88be16e4a24744aba675a05a388c0905756c77a8a2f16 Size (openssl-1.0.2p.tar.gz) = 5338192 bytes SHA1 (patch-Configure) = 2d963d781314276a0ee1bc531df6bc50f0f6b32b -SHA1 (patch-Makefile.org) = d2a9295003a8b88718a328b01ff6bcbbc102ec0b +SHA1 (patch-Makefile.org) = b990414c1e6707831e6d193dc95796aef2761ef1 SHA1 (patch-Makefile.shared) = 273154600c6cf0cf4de4ae16d56c5555bca5f9ad -SHA1 (patch-apps_Makefile) = 60113291f2a25f5f1c1dba35e8173087bcd4cc30 +SHA1 (patch-apps_Makefile) = 60e786f07b4c005535de824ba7695e7296652148 SHA1 (patch-config) = 345cadece3bdf0ef0a273a6c9ba6d0cbb1026a31 SHA1 (patch-crypto_bn_bn__prime.pl) = a516f3709a862d85e659d466e895419b1e0a94c8 SHA1 (patch-crypto_des_Makefile) = 7a23f9883ff6c93ec0e5d08e1332cc95de8cdba2 -SHA1 (patch-tools_Makefile) = 67f0b9b501969382fd89b678c277d32bf5d294bc +SHA1 (patch-tools_Makefile) = 7f751fd1ecd01c4ee95eb53727f17530a9796f4a diff --git a/security/openssl/patches/patch-Makefile.org b/security/openssl/patches/patch-Makefile.org index 95db775ddca9f..6982ee9c599de 100644 --- a/security/openssl/patches/patch-Makefile.org +++ b/security/openssl/patches/patch-Makefile.org @@ -2,7 +2,7 @@ $NetBSD: patch-Makefile.org,v 1.5 2016/01/28 16:30:43 jperkin Exp $ Adjust build procedure. ---- Makefile.org.orig 2016-01-28 13:56:08.000000000 +0000 +--- Makefile.org.orig 2016-03-01 13:35:53.000000000 +0000 +++ Makefile.org @@ -28,6 +28,7 @@ INSTALLTOP=/usr/local/ssl @@ -25,11 +25,11 @@ Adjust build procedure. SHARED_SSL=libssl$(SHLIB_EXT) SHARED_LIBS= SHARED_LIBS_LINK_EXTS= -+LIBRPATH=$(INSTALLTOP)/lib ++LIBRPATH=$(INSTALLTOP)/lib$(LIBARCHSUFFIX) SHARED_LDFLAGS= GENERAL= Makefile -@@ -528,7 +530,7 @@ dist: +@@ -528,10 +530,10 @@ dist: @$(MAKE) SDIRS='$(SDIRS)' clean @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar @@ -37,7 +37,24 @@ Adjust build procedure. +install: install_docs install_sw install_sw: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ +- @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ ++ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX) \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ +@@ -563,9 +565,9 @@ install_sw: + ( echo installing $$i; \ + if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ + c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ +- cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ +- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ +- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ ++ cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$c.new; \ ++ chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$c.new; \ ++ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$c; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ @@ -637,41 +639,56 @@ install_docs: @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ here="`pwd`"; \ diff --git a/security/openssl/patches/patch-apps_Makefile b/security/openssl/patches/patch-apps_Makefile index 50c1838d524e5..d6db8452a8ddc 100644 --- a/security/openssl/patches/patch-apps_Makefile +++ b/security/openssl/patches/patch-apps_Makefile @@ -12,7 +12,17 @@ Adjust build procedure. CC= cc INCLUDES= -I$(TOP) -I../include $(KRB5_INCLUDES) CFLAG= -g -static -@@ -112,13 +113,13 @@ install: +@@ -105,20 +106,20 @@ install: + @set -e; for i in $(EXE); \ + do \ + (echo installing $$i; \ +- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ +- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ +- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ ++ cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i.new; \ ++ chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i.new; \ ++ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i ); \ + done; @set -e; for i in $(SCRIPTS); \ do \ (echo installing $$i; \ diff --git a/security/openssl/patches/patch-tools_Makefile b/security/openssl/patches/patch-tools_Makefile index 7d2612b2e6916..b21bdd190d77f 100644 --- a/security/openssl/patches/patch-tools_Makefile +++ b/security/openssl/patches/patch-tools_Makefile @@ -12,7 +12,16 @@ Adjust build procedure. CC= cc INCLUDES= -I$(TOP) -I../../include CFLAG=-g -@@ -28,9 +29,9 @@ install: +@@ -22,15 +23,15 @@ + @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... + @for i in $(APPS) ; \ + do \ +- (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ +- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ +- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ ++ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i.new; \ ++ chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i.new; \ ++ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin$(BINARCHSUFFIX)/$$i ); \ done; @for i in $(MISC_APPS) ; \ do \ diff --git a/security/p5-GSSAPI/Makefile b/security/p5-GSSAPI/Makefile index c934059fd2024..b563dd7c9f079 100644 --- a/security/p5-GSSAPI/Makefile +++ b/security/p5-GSSAPI/Makefile @@ -12,6 +12,7 @@ HOMEPAGE= http://perlgssapi.sourceforge.net/ COMMENT= Perl extension providing access to the GSSAPIv2 library LICENSE= ${PERL5_LICENSE} +USE_MULTIARCH= lib PERL5_PACKLIST= auto/GSSAPI/.packlist MAKE_PARAMS+= --gssapiimpl=${KRB5BASE} diff --git a/security/policykit/Makefile b/security/policykit/Makefile index ff314ee19d812..07c1db9acc9e6 100644 --- a/security/policykit/Makefile +++ b/security/policykit/Makefile @@ -30,6 +30,7 @@ GNU_CONFIGURE= YES USE_PKGLOCALEDIR= YES USE_TOOLS+= gmake intltool msgfmt perl pkg-config autoconf USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_LANGUAGES= c99 diff --git a/security/tcp_wrappers/Makefile b/security/tcp_wrappers/Makefile index e5755a0f948d7..ad32f88361fe3 100644 --- a/security/tcp_wrappers/Makefile +++ b/security/tcp_wrappers/Makefile @@ -11,6 +11,7 @@ COMMENT= Monitor and filter incoming requests for network services LICENSE= 2-clause-bsd # not exactly but close enough USE_LIBTOOL= yes +USE_MULTIARCH= lib PKG_OPTIONS_VAR= PKG_OPTIONS.tcp_wrappers PKG_SUPPORTED_OPTIONS= inet6 @@ -49,7 +50,7 @@ MAKE_ENV+= IPV6=-DHAVE_IPV6 PKG_SYSCONFDIR.tcp_wrappers?= /etc MAKE_ENV+= PKGSYSCONFDIR=${PKG_SYSCONFDIR} -INSTALLATION_DIRS= bin include lib libexec ${PKGMANDIR}/man3 ${PKGMANDIR}/man5 ${PKGMANDIR}/man8 +INSTALLATION_DIRS= bin include lib${LIBARCHSUFFIX} libexec ${PKGMANDIR}/man3 ${PKGMANDIR}/man5 ${PKGMANDIR}/man8 post-build: set -e; cd ${WRKSRC}; for file in *.[0-9]; do \ @@ -63,7 +64,7 @@ INSTALLATION_DIRS+= ${DOCDIR} do-install: ${LIBTOOL} --mode=install ${INSTALL_LIB} \ - ${WRKSRC}/libwrap.la ${DESTDIR}${PREFIX}/lib + ${WRKSRC}/libwrap.la ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX} ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} \ ${WRKSRC}/tcpdchk ${WRKSRC}/tcpdmatch ${WRKSRC}/try-from \ ${WRKSRC}/safe_finger ${DESTDIR}${PREFIX}/bin From 7acd10a36a684f3e6211344f699b44a27fa55122 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 20:59:31 +0100 Subject: [PATCH 059/141] Convert "sysutils" category to multiarch. --- sysutils/consolekit/Makefile | 4 ++-- sysutils/dbus-glib/Makefile | 1 + sysutils/dbus/Makefile | 1 + sysutils/eventlog/Makefile | 1 + sysutils/fam/Makefile | 1 + sysutils/gnome-vfs/Makefile.common | 9 +++++---- sysutils/gsettings-desktop-schemas/Makefile | 1 + sysutils/hal/Makefile | 1 + sysutils/libol/Makefile | 1 + sysutils/libpciaccess/Makefile | 1 + 10 files changed, 15 insertions(+), 6 deletions(-) diff --git a/sysutils/consolekit/Makefile b/sysutils/consolekit/Makefile index 40d942df22d90..2ab9e8fd66efb 100644 --- a/sysutils/consolekit/Makefile +++ b/sysutils/consolekit/Makefile @@ -31,7 +31,6 @@ MAKE_DIRS= ${PKG_SYSCONFDIR}/run-seat.d \ ${PKG_SYSCONFBASE}/logrotate.d \ ${PKG_SYSCONFBASE}/X11/xinit/xinitrc.d - CONF_FILES+= ${EGDIR}/ConsoleKit/seats.d/00-primary.seat \ ${PKG_SYSCONFDIR}/seats.d/00-primary.seat \ ${EGDIR}/dbus-1/system.d/ConsoleKit.conf \ @@ -44,12 +43,13 @@ CONF_FILES+= ${EGDIR}/ConsoleKit/seats.d/00-primary.seat \ GNU_CONFIGURE= YES USE_TOOLS+= gmake intltool msgfmt perl pkg-config automake USE_LIBTOOL= YES +USE_MULTIARCH= lib CONFIGURE_ARGS+=--sysconfdir=${PKG_SYSCONFBASE} \ --localstatedir=${VARBASE} \ --disable-pam-module #--enable-pam-module \ - #--with-pam-module-dir=${PREFIX}/lib/security \ + #--with-pam-module-dir=${PREFIX}/lib${LIBARCHSUFFIX}/security \ CONFIGURE_ARGS.SunOS+= --enable-rbac-shutdown=solaris.system.shutdown diff --git a/sysutils/dbus-glib/Makefile b/sysutils/dbus-glib/Makefile index d83fe6754fd36..b9f1aefb90cd9 100644 --- a/sysutils/dbus-glib/Makefile +++ b/sysutils/dbus-glib/Makefile @@ -14,6 +14,7 @@ MAKE_JOBS_SAFE= NO GNU_CONFIGURE= YES USE_TOOLS+= gmake msgfmt pkg-config USE_LIBTOOL= YES +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= dbus-glib-1.pc.in diff --git a/sysutils/dbus/Makefile b/sysutils/dbus/Makefile index f80079858d713..c737be4639952 100644 --- a/sysutils/dbus/Makefile +++ b/sysutils/dbus/Makefile @@ -17,6 +17,7 @@ BUILD_DEPENDS+= xmlto-[0-9]*:../../textproc/xmlto GNU_CONFIGURE= YES USE_TOOLS+= gmake msgfmt pkg-config USE_LIBTOOL= YES +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= dbus-1.pc.in diff --git a/sysutils/eventlog/Makefile b/sysutils/eventlog/Makefile index 72f372d1dfd87..fefe8a64fb872 100644 --- a/sysutils/eventlog/Makefile +++ b/sysutils/eventlog/Makefile @@ -14,5 +14,6 @@ LICENSE= modified-bsd GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib .include "../../mk/bsd.pkg.mk" diff --git a/sysutils/fam/Makefile b/sysutils/fam/Makefile index a568d979b3052..b645a3aa7eebc 100644 --- a/sysutils/fam/Makefile +++ b/sysutils/fam/Makefile @@ -18,6 +18,7 @@ NOT_FOR_PLATFORM= IRIX-*-* USE_TOOLS+= gmake USE_LIBTOOL= YES +USE_MULTIARCH= lib GNU_CONFIGURE= YES USE_LANGUAGES= c c++ CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q} diff --git a/sysutils/gnome-vfs/Makefile.common b/sysutils/gnome-vfs/Makefile.common index 9ade9a21c20b6..69561b2b6b9fe 100644 --- a/sysutils/gnome-vfs/Makefile.common +++ b/sysutils/gnome-vfs/Makefile.common @@ -23,6 +23,7 @@ GNU_CONFIGURE= YES USE_PKGLOCALEDIR= YES USE_TOOLS+= gmake intltool msgfmt pkg-config USE_LIBTOOL= YES +USE_MULTIARCH= lib CONFIGURE_ARGS+= --disable-cdda CONFIGURE_ARGS+= --disable-howl @@ -81,19 +82,19 @@ SUBST_CLASSES+= libs SUBST_MESSAGE.libs= Fixing path to dependent libraries. SUBST_STAGE.libs= pre-configure SUBST_FILES.libs= modules/Makefile.in -SUBST_SED.libs= -e 's|../libgnomevfs/libgnomevfs-2.la|${BUILDLINK_PREFIX.gnome-vfs}/lib/libgnomevfs-2.la|g' +SUBST_SED.libs= -e 's|../libgnomevfs/libgnomevfs-2.la|${BUILDLINK_PREFIX.gnome-vfs}/lib${LIBARCHSUFFIX}/libgnomevfs-2.la|g' BUILDLINK_API_DEPENDS.gnome-vfs+= gnome-vfs>=${GNOME_VFS_VERSION} .include "../../sysutils/gnome-vfs/buildlink3.mk" -INSTALLATION_DIRS+= lib/gnome-vfs-2.0/modules +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/gnome-vfs-2.0/modules do-install: cd ${WRKSRC}/modules && ${LIBTOOL} --mode=install \ ${INSTALL_DATA} lib${GNOME_VFS_NAME}.la \ - ${DESTDIR}${PREFIX}/lib/gnome-vfs-2.0/modules + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/gnome-vfs-2.0/modules cd ${WRKSRC}/modules && ${LIBTOOL} --mode=finish \ - ${DESTDIR}${PREFIX}/lib/gnome-vfs-2.0/modules + ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/gnome-vfs-2.0/modules .endif .include "../../archivers/bzip2/buildlink3.mk" diff --git a/sysutils/gsettings-desktop-schemas/Makefile b/sysutils/gsettings-desktop-schemas/Makefile index 153581032b48c..7c168b6de1edf 100644 --- a/sysutils/gsettings-desktop-schemas/Makefile +++ b/sysutils/gsettings-desktop-schemas/Makefile @@ -11,6 +11,7 @@ COMMENT= Collection of GSettings schemas for the GNOME desktop LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake intltool msgfmt pkg-config USE_PKGLOCALEDIR= yes # Necessary because of configure test diff --git a/sysutils/hal/Makefile b/sysutils/hal/Makefile index 9410470850f78..7106daba8d36c 100644 --- a/sysutils/hal/Makefile +++ b/sysutils/hal/Makefile @@ -20,6 +20,7 @@ USE_PKGLOCALEDIR= YES USE_TOOLS+= gmake intltool msgfmt perl pkg-config USE_TOOLS+= autoconf automake autoreconf USE_LIBTOOL= YES +USE_MULTIARCH= lib MAKE_DIRS+= /media MAKE_DIRS+= ${VARBASE}/cache/hald diff --git a/sysutils/libol/Makefile b/sysutils/libol/Makefile index 2443aa8b3fd34..cc640f2e52384 100644 --- a/sysutils/libol/Makefile +++ b/sysutils/libol/Makefile @@ -12,5 +12,6 @@ LICENSE= gnu-gpl-v2 GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= bin lib .include "../../mk/bsd.pkg.mk" diff --git a/sysutils/libpciaccess/Makefile b/sysutils/libpciaccess/Makefile index 4107bdfecc4d8..64bc72a106d8e 100644 --- a/sysutils/libpciaccess/Makefile +++ b/sysutils/libpciaccess/Makefile @@ -18,6 +18,7 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-zlib CONFIGURE_ARGS+= --with-pciids-path=${PREFIX}/share/pciids USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= pciaccess.pc.in From 4a79a3c0a6f23eb98021ee4575595731deb706bf Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 20:59:42 +0100 Subject: [PATCH 060/141] Convert "textproc" category to multiarch. --- textproc/aspell/Makefile | 3 +++ textproc/aspell/PLIST | 16 ++++++++-------- textproc/enca/Makefile | 7 +++++++ textproc/enchant/Makefile | 1 + textproc/expat/Makefile | 1 + textproc/gnome-doc-utils/Makefile | 1 + textproc/hunspell/Makefile | 1 + textproc/hyperestraier/Makefile | 1 + textproc/icu/Makefile | 1 + textproc/json-c/Makefile | 1 + textproc/json-glib/Makefile | 1 + textproc/libclucene/Makefile | 1 + textproc/libcroco/Makefile | 1 + textproc/libunistring/Makefile | 1 + textproc/libxml2/Makefile | 1 + textproc/libxslt/Makefile | 1 + textproc/libyaml/Makefile | 1 + textproc/openjade/Makefile | 3 ++- textproc/opensp/Makefile | 1 + textproc/p5-XML-LibXML/Makefile | 1 + textproc/py-cElementTree/Makefile | 5 ++++- textproc/py-expat/Makefile | 5 ++++- textproc/py-expat/files/setup.py | 4 ++-- textproc/py-libxml2/Makefile | 1 + textproc/rarian/Makefile | 1 + textproc/xerces-c/Makefile | 1 + textproc/xmlrpc-c/Makefile | 1 + 27 files changed, 50 insertions(+), 13 deletions(-) diff --git a/textproc/aspell/Makefile b/textproc/aspell/Makefile index 3d2f8eee3616f..0be9316f1c51a 100644 --- a/textproc/aspell/Makefile +++ b/textproc/aspell/Makefile @@ -20,10 +20,13 @@ USE_TOOLS+= gmake USE_TOOLS+= perl:run USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= bin lib USE_NCURSES= yes USE_PKGLOCALEDIR= yes INFO_FILES= yes +MULTIARCH_DIRS.lib= # manually configured in PLIST + CONFIGURE_ARGS+= --enable-doc-dir=${PREFIX}/share/doc/aspell CONFIGURE_ARGS+= --enable-curses=ncurses CONFIGURE_ARGS+= --enable-pkgdatadir=${PREFIX}/share/aspell diff --git a/textproc/aspell/PLIST b/textproc/aspell/PLIST index a0586f915c899..87b37f70d0e88 100644 --- a/textproc/aspell/PLIST +++ b/textproc/aspell/PLIST @@ -14,23 +14,23 @@ info/aspell-dev.info info/aspell.info lib/aspell/ccpp.amf lib/aspell/comment.amf -${PLIST.filters}lib/aspell/context-filter.la -${PLIST.filters}lib/aspell/email-filter.la +${PLIST.filters}lib${LIBARCHSUFFIX}/aspell/context-filter.la +${PLIST.filters}lib${LIBARCHSUFFIX}/aspell/email-filter.la lib/aspell/email.amf lib/aspell/html.amf lib/aspell/none.amf -${PLIST.filters}lib/aspell/nroff-filter.la +${PLIST.filters}lib${LIBARCHSUFFIX}/aspell/nroff-filter.la lib/aspell/nroff.amf lib/aspell/perl.amf -${PLIST.filters}lib/aspell/sgml-filter.la +${PLIST.filters}lib${LIBARCHSUFFIX}/aspell/sgml-filter.la lib/aspell/sgml.amf -${PLIST.filters}lib/aspell/tex-filter.la +${PLIST.filters}lib${LIBARCHSUFFIX}/aspell/tex-filter.la lib/aspell/tex.amf -${PLIST.filters}lib/aspell/texinfo-filter.la +${PLIST.filters}lib${LIBARCHSUFFIX}/aspell/texinfo-filter.la lib/aspell/texinfo.amf lib/aspell/url.amf -lib/libaspell.la -lib/libpspell.la +lib${LIBARCHSUFFIX}/libaspell.la +lib${LIBARCHSUFFIX}/libpspell.la man/man1/aspell-import.1 man/man1/aspell.1 man/man1/prezip-bin.1 diff --git a/textproc/enca/Makefile b/textproc/enca/Makefile index 98c056e245bec..63329af912742 100644 --- a/textproc/enca/Makefile +++ b/textproc/enca/Makefile @@ -12,8 +12,15 @@ LICENSE= gnu-gpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake PKGCONFIG_OVERRIDE+= ${WRKSRC}/enca.pc.in +# XXX: multiarch +SUBST_CLASSES+= lns +SUBST_STAGE.lns= pre-build +SUBST_FILES.lns= Makefile src/Makefile +SUBST_SED.lns= -e '/^LN_S =/s/-s/-sf/' + .include "../../mk/bsd.pkg.mk" diff --git a/textproc/enchant/Makefile b/textproc/enchant/Makefile index 0c7134b2c1862..a2be080a7fdb9 100644 --- a/textproc/enchant/Makefile +++ b/textproc/enchant/Makefile @@ -15,6 +15,7 @@ USE_TOOLS+= pkg-config autoconf USE_LANGUAGES= c c++ USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= enchant.pc.in GNU_CONFIGURE= yes CFLAGS.SunOS+= -D__EXTENSIONS__ diff --git a/textproc/expat/Makefile b/textproc/expat/Makefile index e247b5213aba2..dfa77fc52be7e 100644 --- a/textproc/expat/Makefile +++ b/textproc/expat/Makefile @@ -12,6 +12,7 @@ LICENSE= mit GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib # C++ is needed for tests only #USE_LANGUAGES= c c++ diff --git a/textproc/gnome-doc-utils/Makefile b/textproc/gnome-doc-utils/Makefile index e6bced995b77c..a98896c728123 100644 --- a/textproc/gnome-doc-utils/Makefile +++ b/textproc/gnome-doc-utils/Makefile @@ -22,6 +22,7 @@ USE_TOOLS+= intltool pkg-config gmake gawk msgfmt bash:run GNU_CONFIGURE= YES MAKE_JOBS_SAFE= no TEST_TARGET= check +USE_MULTIARCH= lib USE_PKGLOCALEDIR= YES REPLACE_BASH= tools/gnome-doc-tool.in diff --git a/textproc/hunspell/Makefile b/textproc/hunspell/Makefile index b296b40d10f51..a20ecf48d32f1 100644 --- a/textproc/hunspell/Makefile +++ b/textproc/hunspell/Makefile @@ -13,6 +13,7 @@ LICENSE= mpl-1.1 OR gnu-lgpl-v2.1 OR gnu-gpl-v2 WRKSRC= ${WRKDIR}/${DISTNAME:C/-[0-9]+$//} GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config perl:run USE_PKGLOCALEDIR= yes USE_LANGUAGES= c c++03 diff --git a/textproc/hyperestraier/Makefile b/textproc/hyperestraier/Makefile index 567e4b7069dbf..a719c9b1df1e2 100644 --- a/textproc/hyperestraier/Makefile +++ b/textproc/hyperestraier/Makefile @@ -8,6 +8,7 @@ COMMENT= Full-text search system for communities LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE= hyperestraier.pc.in TEST_TARGET= check diff --git a/textproc/icu/Makefile b/textproc/icu/Makefile index b8c9738f12f6c..77532bf4b872d 100644 --- a/textproc/icu/Makefile +++ b/textproc/icu/Makefile @@ -13,6 +13,7 @@ LICENSE= mit WRKSRC= ${WRKDIR}/icu/source USE_LANGUAGES= c99 c++ +USE_MULTIARCH= lib USE_TOOLS+= gmake GCC_REQD+= 4.8 TEST_TARGET= check diff --git a/textproc/json-c/Makefile b/textproc/json-c/Makefile index d851e7a10c20a..860e178aea71b 100644 --- a/textproc/json-c/Makefile +++ b/textproc/json-c/Makefile @@ -10,6 +10,7 @@ COMMENT= JSON library in C LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= json-c.pc.in diff --git a/textproc/json-glib/Makefile b/textproc/json-glib/Makefile index d445678fe39ba..a09c80355ec48 100644 --- a/textproc/json-glib/Makefile +++ b/textproc/json-glib/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake msgfmt msgmerge pkg-config xgettext CONFIGURE_ARGS+= --disable-man diff --git a/textproc/libclucene/Makefile b/textproc/libclucene/Makefile index 9f9b775bd3c12..9e872b5da1d25 100644 --- a/textproc/libclucene/Makefile +++ b/textproc/libclucene/Makefile @@ -18,6 +18,7 @@ USE_CMAKE= yes CMAKE_ARGS+= -DBUILD_CONTRIBS_LIB=ON #BUILD_TARGET+= clucene-contribs-lib USE_LIBTOOL= yes +USE_MULTIARCH= lib .include "../../devel/boost-libs/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" diff --git a/textproc/libcroco/Makefile b/textproc/libcroco/Makefile index 2e7a1c1679a84..f3b9b695fc0f1 100644 --- a/textproc/libcroco/Makefile +++ b/textproc/libcroco/Makefile @@ -12,6 +12,7 @@ LICENSE= gnu-lgpl-v2 USE_TOOLS+= gmake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= libcroco-0.6.pc diff --git a/textproc/libunistring/Makefile b/textproc/libunistring/Makefile index 0b751b97aa0dd..6803a675effd3 100644 --- a/textproc/libunistring/Makefile +++ b/textproc/libunistring/Makefile @@ -11,6 +11,7 @@ LICENSE= gnu-lgpl-v3 OR gnu-gpl-v2 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib INFO_FILES= yes .include "../../converters/libiconv/buildlink3.mk" diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile index 38d7c29d4b3af..517c2a3cea0b4 100644 --- a/textproc/libxml2/Makefile +++ b/textproc/libxml2/Makefile @@ -9,6 +9,7 @@ LICENSE= modified-bsd USE_FEATURES= glob USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-html-subdir=libxml2 diff --git a/textproc/libxslt/Makefile b/textproc/libxslt/Makefile index 51c3c7a05fba6..3e42c2a541248 100644 --- a/textproc/libxslt/Makefile +++ b/textproc/libxslt/Makefile @@ -7,6 +7,7 @@ BUILD_DEPENDS+= docbook-xml-[0-9]*:../../textproc/docbook-xml BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake perl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-libxml-prefix=${BUILDLINK_PREFIX.libxml2} diff --git a/textproc/libyaml/Makefile b/textproc/libyaml/Makefile index 961e5e24b6e74..936f42ad909f4 100644 --- a/textproc/libyaml/Makefile +++ b/textproc/libyaml/Makefile @@ -11,6 +11,7 @@ COMMENT= YAML 1.1 parser and emitter written in C LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE= yaml-0.1.pc.in TEST_TARGET= check diff --git a/textproc/openjade/Makefile b/textproc/openjade/Makefile index 025f654e6bc3b..55e8caee9fdba 100644 --- a/textproc/openjade/Makefile +++ b/textproc/openjade/Makefile @@ -14,12 +14,13 @@ MAKE_JOBS_SAFE= no USE_LANGUAGES= c c++03 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake perl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --datadir=${OPENJADE_DATA_DIR} CONFIGURE_ARGS+= --enable-default-catalog=${OPENJADE_DATA_DIR}/catalog CONFIGURE_ARGS+= --enable-spincludedir=${BUILDLINK_PREFIX.opensp}/include/OpenSP -CONFIGURE_ARGS+= --enable-splibdir=${BUILDLINK_PREFIX.opensp}/lib +CONFIGURE_ARGS+= --enable-splibdir=${BUILDLINK_PREFIX.opensp}/lib${LIBARCHSUFFIX} CONFIGURE_ENV+= CXXFLAGS=${CFLAGS:M*:Q} SGML_CATALOGS= ${PREFIX}/share/sgml/openjade/catalog diff --git a/textproc/opensp/Makefile b/textproc/opensp/Makefile index 9cc4a2683a2fc..66cd973a4ab5a 100644 --- a/textproc/opensp/Makefile +++ b/textproc/opensp/Makefile @@ -18,6 +18,7 @@ CONFLICTS+= sp-[0-9]* USE_TOOLS+= gmake msgfmt perl USE_LANGUAGES= c c++03 USE_LIBTOOL= yes +USE_MULTIARCH= lib PTHREAD_OPTS+= require USE_PKGLOCALEDIR= yes diff --git a/textproc/p5-XML-LibXML/Makefile b/textproc/p5-XML-LibXML/Makefile index c1b6bd0d64f48..b4e75913baf24 100644 --- a/textproc/p5-XML-LibXML/Makefile +++ b/textproc/p5-XML-LibXML/Makefile @@ -21,6 +21,7 @@ CONFLICTS+= p5-XML-LibXML-Common-[0-9]* # includes XML::LibXML::XPathContext module CONFLICTS+= p5-XML-LibXML-XPathContext-[0-9]* +USE_MULTIARCH= lib MAKE_ENV+= SKIP_SAX_INSTALL=1 # Must be done in the INSTALL script MAKE_PARAMS+= INC="-I${BUILDLINK_PREFIX.libxml2}/include/libxml2" MAKE_PARAMS+= LIBS="-L${BUILDLINK_PREFIX.libxml2}/lib ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.libxml2}/lib -lxml2" diff --git a/textproc/py-cElementTree/Makefile b/textproc/py-cElementTree/Makefile index 3ee0479cf75dd..e5f130a2317ba 100644 --- a/textproc/py-cElementTree/Makefile +++ b/textproc/py-cElementTree/Makefile @@ -10,6 +10,9 @@ COMMENT= C implementation of Python ElementTree API EXTRACT_ELEMENTS= ${PYSUBDIR}/Modules/_elementtree.c USE_GCC_RUNTIME=yes + +MULTIARCH_DIRS.lib= ${PYLIB}/lib-dynload + USE_TOOLS+= patch PYDISTUTILSPKG= yes @@ -17,7 +20,7 @@ PY_PATCHPLIST= yes PY_SETUP_SUBST+= EXPATPREFIX=${BUILDLINK_DIR} PY_SETUP_SUBST+= EXPATRTPREFIX=${BUILDLINK_PREFIX.expat} -PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload +PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload${LIBARCHSUFFIX} # ignore errors due to missing files (EXTRACT_ELEMENTS!) do-patch: diff --git a/textproc/py-expat/Makefile b/textproc/py-expat/Makefile index a73ebb5ecf9ee..9179762c5ca46 100644 --- a/textproc/py-expat/Makefile +++ b/textproc/py-expat/Makefile @@ -10,13 +10,16 @@ COMMENT= Python interface to expat EXTRACT_ELEMENTS= ${PYSUBDIR}/Modules/pyexpat.c USE_GCC_RUNTIME= yes +USE_MULTIARCH= lib +MULTIARCH_DIRS.lib= ${PYLIB}/lib-dynload PYDISTUTILSPKG= yes PY_PATCHPLIST= yes PY_SETUP_SUBST+= EXPATPREFIX=${BUILDLINK_DIR} PY_SETUP_SUBST+= EXPATRTPREFIX=${BUILDLINK_PREFIX.expat} +PY_SETUP_SUBST+= LIBARCHSUFFIX=${LIBARCHSUFFIX} -PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload +PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload${LIBARCHSUFFIX} # ignore errors due to missing files (EXTRACT_ELEMENTS!) do-patch: diff --git a/textproc/py-expat/files/setup.py b/textproc/py-expat/files/setup.py index 5fd06093b22f5..cf1e818f713b2 100644 --- a/textproc/py-expat/files/setup.py +++ b/textproc/py-expat/files/setup.py @@ -5,9 +5,9 @@ expatprefix = '@EXPATPREFIX@' expatincl = expatprefix + '/include' -expatlib = expatprefix + '/lib' +expatlib = expatprefix + '/lib@LIBARCHSUFFIX@' expatrtprefix = '@EXPATPREFIX@' -expatrtlib = expatrtprefix + '/lib' +expatrtlib = expatrtprefix + '/lib@LIBARCHSUFFIX@' setup( ext_modules = [ diff --git a/textproc/py-libxml2/Makefile b/textproc/py-libxml2/Makefile index f70405184cad6..d2fa74d805855 100644 --- a/textproc/py-libxml2/Makefile +++ b/textproc/py-libxml2/Makefile @@ -8,6 +8,7 @@ COMMENT= Python wrapper for libxml2 LICENSE= modified-bsd USE_GCC_RUNTIME= yes +USE_MULTIARCH= lib PYSETUPSUBDIR= python NO_CONFIGURE= YES diff --git a/textproc/rarian/Makefile b/textproc/rarian/Makefile index 1c167ddbe317f..991d6711efb95 100644 --- a/textproc/rarian/Makefile +++ b/textproc/rarian/Makefile @@ -18,6 +18,7 @@ CONFLICTS+= scrollkeeper-[0-9]* GNU_CONFIGURE= yes USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= bin lib USE_TOOLS+= bash:run CONFIGURE_ENV+= ac_cv_path_have_bash=${TOOLS_BASH:Q} diff --git a/textproc/xerces-c/Makefile b/textproc/xerces-c/Makefile index 1afb924f8aa57..b37391ab57987 100644 --- a/textproc/xerces-c/Makefile +++ b/textproc/xerces-c/Makefile @@ -11,6 +11,7 @@ LICENSE= apache-2.0 USE_LANGUAGES= c c++11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake PKGCONFIG_OVERRIDE= xerces-c.pc.in GNU_CONFIGURE= yes diff --git a/textproc/xmlrpc-c/Makefile b/textproc/xmlrpc-c/Makefile index fd83fd1f8faa4..c13dfec5f6eba 100644 --- a/textproc/xmlrpc-c/Makefile +++ b/textproc/xmlrpc-c/Makefile @@ -25,6 +25,7 @@ SUPERSEDES+= xmlrpc-c-[0-9]* USE_LANGUAGES= c99 c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake GNU_CONFIGURE= yes MAKE_FILE= GNUmakefile From f4b91bc378c74112c2a871b977f35ce7fe357af9 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 21:00:05 +0100 Subject: [PATCH 061/141] Convert "www" category to multiarch. --- mk/apache.module.mk | 2 +- www/apache24/Makefile | 34 ++++++++++++++++++++++------------ www/apache24/distinfo | 2 +- www/apache24/options.mk | 2 +- www/apache24/patches/patch-ad | 8 ++++---- www/curl/Makefile | 1 + www/fcgi/Makefile | 1 + www/htdig/Makefile | 1 + www/libproxy/Makefile | 1 + www/librest07/Makefile | 1 + www/libwww/Makefile | 1 + www/neon/Makefile | 1 + www/nghttp2/Makefile | 1 + www/p5-libapreq2/Makefile | 1 + www/serf/Makefile | 3 +++ www/tidy/Makefile | 1 + www/varnish/Makefile | 1 + 17 files changed, 43 insertions(+), 19 deletions(-) diff --git a/mk/apache.module.mk b/mk/apache.module.mk index b748bea7b6a26..861275e06f158 100644 --- a/mk/apache.module.mk +++ b/mk/apache.module.mk @@ -29,7 +29,7 @@ APACHE_MODULE= yes APACHE_MODULE_SRCDIR?= ${WRKSRC} APACHE_MODULE_SRC?= *.c -APACHE_MODULE_DESTDIR= ${DESTDIR}${PREFIX}/lib/httpd +APACHE_MODULE_DESTDIR= ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/httpd .PHONY: apache-module-build apache-module-build: diff --git a/www/apache24/Makefile b/www/apache24/Makefile index 881bad3fa2f9b..30be2ab9b8fbe 100644 --- a/www/apache24/Makefile +++ b/www/apache24/Makefile @@ -22,6 +22,7 @@ BUILD_DEFS+= IPV6_READY BUILD_DEFS+= VARBASE USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pax perl pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-layout=NetBSD @@ -33,6 +34,13 @@ CONFIGURE_ARGS+= --with-port=80 CONFIGURE_ENV+= perlbin=${PERL5:Q} CONFIGURE_ENV+= ac_cv_path_RSYNC=/nonexistent +MULTIARCH_DIRS.lib= lib share/httpd/build + +CHECK_INTERPRETER_SKIP+= lib${LIBARCHSUFFIX}/httpd/httpd.exp +CHECK_PORTABILITY_SKIP+= srclib/pcre/* \ + srclib/apr-util/* \ + srclib/apr/* + .include "../../mk/compiler.mk" CFLAGS.SunOS+= -D__EXTENSIONS__ @@ -83,7 +91,7 @@ PKG_USERS_VARS= APACHE_USER PKG_SYSCONFVAR= apache PKG_SYSCONFSUBDIR?= httpd EGDIR= ${PREFIX}/share/examples/httpd -SBINDIR= ${PREFIX}/sbin +SBINDIR= ${PREFIX}/sbin${BINARCHSUFFIX} CONF_FILES+= ${EGDIR}/httpd.conf ${PKG_SYSCONFDIR}/httpd.conf .for f in autoindex dav default info languages manual mpm \ multilang-errordoc ssl userdir vhosts @@ -125,6 +133,8 @@ SUBST_SED.paths+= -e "s|@VARBASE@|${VARBASE}|g" SUBST_SED.paths+= -e "s|@SYSCONFDIR@|${PKG_SYSCONFDIR}|g" SUBST_SED.paths+= -e "s|@PAX@|${PAX}|g" SUBST_SED.paths+= -e "s|@LOCALBASE@|${PREFIX}|g" +SUBST_SED.paths+= -e "s|@BINARCHSUFFIX@|${BINARCHSUFFIX}|g" +SUBST_SED.paths+= -e "s|@LIBARCHSUFFIX@|${LIBARCHSUFFIX}|g" SUBST_CLASSES+= apr-lt SUBST_STAGE.apr-lt= post-configure @@ -150,7 +160,7 @@ SUBST_SED.confs+= -e 's|^Listen \(.*\)|Listen 0.0.0.0:\1|g' SUBST_CLASSES+= abs_srcdir SUBST_STAGE.abs_srcdir= post-install SUBST_MESSAGE.abs_srcdir= Fixing abs_srcdir -SUBST_FILES.abs_srcdir= ${DESTDIR}${PREFIX}/share/httpd/build/config_vars.mk +SUBST_FILES.abs_srcdir= ${DESTDIR}${PREFIX}/share/httpd/build${LIBARCHSUFFIX}/config_vars.mk SUBST_SED.abs_srcdir= -e 's|^\(abs_srcdir =\) .*|\1 ${PREFIX}/share/httpd|' REPLACE_PERL= docs/cgi-examples/printenv @@ -171,24 +181,24 @@ INSTALL_TARGET= install-conf install INSTALL_MAKE_FLAGS+= sysconfdir="${EGDIR}" post-install: - ${LN} -sf ${LOCALBASE}/libexec/apr/libtool ${DESTDIR}${PREFIX}/share/httpd/build + ${LN} -sf ${LOCALBASE}/libexec${LIBARCHSUFFIX}/apr/libtool ${DESTDIR}${PREFIX}/share/httpd/build${LIBARCHSUFFIX} ${LN} -sf ${SBINDIR}/envvars-std ${DESTDIR}${SBINDIR}/envvars - ${INSTALL_SCRIPT} ${WRKDIR}/mkcert ${DESTDIR}${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKDIR}/mkcert ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX} .for file in ${FIX_PERMS_SBIN} - ${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/sbin/${file} - ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/sbin/${file} + ${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/sbin${BINARCHSUFFIX}/${file} + ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/sbin${BINARCHSUFFIX}/${file} .endfor .for file in ${FIX_PERMS_BIN} - ${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/bin/${file} - ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/bin/${file} + ${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/${file} + ${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/bin${BINARCHSUFFIX}/${file} .endfor ${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/share/httpd ${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/include/httpd - ${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/lib/httpd + ${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/httpd ${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/libexec/cgi-bin/test-cgi ${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/libexec/cgi-bin/printenv @@ -196,9 +206,9 @@ post-install: ${CHOWN} ${MANOWN}:${MANGRP} ${DESTDIR}${PREFIX}/${PKGMANDIR}/${file} .endfor - ${CHMOD} -x ${DESTDIR}${PREFIX}/sbin/envvars-std -.if exists(${DESTDIR}${PREFIX}/sbin/suexec) - ${CHMOD} -w ${DESTDIR}${PREFIX}/sbin/suexec + ${CHMOD} -x ${DESTDIR}${PREFIX}/sbin${BINARCHSUFFIX}/envvars-std +.if exists(${DESTDIR}${PREFIX}/sbin${BINARCHSUFFIX}/suexec) + ${CHMOD} -w ${DESTDIR}${PREFIX}/sbin${BINARCHSUFFIX}/suexec .endif .include "../../mk/pthread.buildlink3.mk" diff --git a/www/apache24/distinfo b/www/apache24/distinfo index b96b7506320d5..1176c48ef503c 100644 --- a/www/apache24/distinfo +++ b/www/apache24/distinfo @@ -7,7 +7,7 @@ Size (httpd-2.4.35.tar.bz2) = 7044336 bytes SHA1 (patch-aa) = 9a66685f1d2e4710ab464beda98cbaad632aebf9 SHA1 (patch-ab) = a3edcc20b7654e0446c7d442cda1510b23e5d324 SHA1 (patch-ac) = 9f86d845df30316d22bce677a4b176f51007ba0d -SHA1 (patch-ad) = 4ba4a9c812951f533fa316e5dbf17eaab5494157 +SHA1 (patch-ad) = 27d695bfe258d07e800f67d0621727639ac67f7a SHA1 (patch-ae) = 5bd3bf54e792bf8a2916d7e1b49b1702b02c6903 SHA1 (patch-ag) = 50c7f0fab1cb90ac573f1c47f2d37f9c2a6247e1 SHA1 (patch-ai) = 867ac81fd14b1bd6af048ec57390d915956e9568 diff --git a/www/apache24/options.mk b/www/apache24/options.mk index a8c1e96e9f8f3..a5d143cc35734 100644 --- a/www/apache24/options.mk +++ b/www/apache24/options.mk @@ -77,7 +77,7 @@ CONFIGURE_ARGS+= ${APACHE_SUEXEC_CONFIGURE_ARGS:M--with-suexec-*} BUILD_DEFS+= APACHE_SUEXEC_CONFIGURE_ARGS BUILD_TARGET= all suexec PLIST.suexec= yes -SPECIAL_PERMS+= sbin/suexec ${REAL_ROOT_USER} ${APACHE_GROUP} 4510 +SPECIAL_PERMS+= sbin${BINARCHSUFFIX}/suexec ${REAL_ROOT_USER} ${APACHE_GROUP} 4510 .endif .if !empty(PKG_OPTIONS:Mhttp2) diff --git a/www/apache24/patches/patch-ad b/www/apache24/patches/patch-ad index 5ceda2f0be879..39c551bf70d40 100644 --- a/www/apache24/patches/patch-ad +++ b/www/apache24/patches/patch-ad @@ -10,13 +10,13 @@ $NetBSD: patch-ad,v 1.2 2013/02/25 21:16:38 ryoon Exp $ + + prefix: @PREFIX@ + exec_prefix: ${prefix} -+ bindir: ${exec_prefix}/bin -+ sbindir: ${exec_prefix}/sbin -+ libexecdir: ${exec_prefix}/lib/httpd ++ bindir: ${exec_prefix}/bin@BINARCHSUFFIX@ ++ sbindir: ${exec_prefix}/sbin@BINARCHSUFFIX@ ++ libexecdir: ${exec_prefix}/lib@LIBARCHSUFFIX@/httpd + mandir: ${prefix}/man + sysconfdir: @SYSCONFDIR@ + datadir: ${prefix}/share/httpd -+ installbuilddir: ${datadir}/build ++ installbuilddir: ${datadir}/build@LIBARCHSUFFIX@ + errordir: ${datadir}/error + iconsdir: ${datadir}/icons + htdocsdir: ${datadir}/htdocs diff --git a/www/curl/Makefile b/www/curl/Makefile index 27ededfc1bde3..7e612c4d6a1d3 100644 --- a/www/curl/Makefile +++ b/www/curl/Makefile @@ -16,6 +16,7 @@ BUILD_DEFS+= IPV6_READY USE_TOOLS+= nroff perl USE_LIBTOOL= yes +USE_MULTIARCH= bin lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-ssl=${BUILDLINK_PREFIX.openssl} CONFIGURE_ARGS+= --with-ca-path=${SSLCERTS} diff --git a/www/fcgi/Makefile b/www/fcgi/Makefile index e4d02ed3dff79..a96486c4b753b 100644 --- a/www/fcgi/Makefile +++ b/www/fcgi/Makefile @@ -14,6 +14,7 @@ MAKE_JOBS_SAFE= no USE_LANGUAGES= c c++ GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib PTHREAD_OPTS+= require .include "../../mk/pthread.buildlink3.mk" diff --git a/www/htdig/Makefile b/www/htdig/Makefile index 6e2f8bca747c6..e2e7d29df0f14 100644 --- a/www/htdig/Makefile +++ b/www/htdig/Makefile @@ -14,6 +14,7 @@ COMMENT= WWW indexing and searching system USE_LANGUAGES= c c++03 USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-cgi-bin-dir=${PREFIX}/libexec/cgi-bin CONFIGURE_ARGS+= --with-common-dir=${PREFIX}/share/htdig/common diff --git a/www/libproxy/Makefile b/www/libproxy/Makefile index bb73ea0585af5..0f97b54625259 100644 --- a/www/libproxy/Makefile +++ b/www/libproxy/Makefile @@ -11,6 +11,7 @@ LICENSE= gnu-lgpl-v2.1 USE_CMAKE= yes USE_LANGUAGES= c99 c++03 +USE_MULTIARCH= lib USE_TOOLS+= pkg-config gmake CMAKE_ARGS+= -DWITH_PERL:BOOL=OFF CMAKE_ARGS+= -DWITH_PYTHON2:BOOL=OFF diff --git a/www/librest07/Makefile b/www/librest07/Makefile index 1a30b20dac328..061b644fbe3c5 100644 --- a/www/librest07/Makefile +++ b/www/librest07/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config gmake # see pkgsrc/security/mozilla-rootcerts CONFIGURE_ARGS+= --with-ca-certificates=/etc/ssl/certs/ca-certificates.crt diff --git a/www/libwww/Makefile b/www/libwww/Makefile index 517e50bd234f2..3471af252a6fa 100644 --- a/www/libwww/Makefile +++ b/www/libwww/Makefile @@ -13,6 +13,7 @@ COMMENT= The W3C Reference Library LICENSE= w3c USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake gzcat perl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --with-expat=${BUILDLINK_PREFIX.expat} diff --git a/www/neon/Makefile b/www/neon/Makefile index d2a8af0b961c7..6aac9274e8034 100644 --- a/www/neon/Makefile +++ b/www/neon/Makefile @@ -11,6 +11,7 @@ COMMENT= HTTP and WebDAV client library LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2 USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= pkg-config msgfmt GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-shared diff --git a/www/nghttp2/Makefile b/www/nghttp2/Makefile index d2a44b92e87f4..765e72221d692 100644 --- a/www/nghttp2/Makefile +++ b/www/nghttp2/Makefile @@ -14,6 +14,7 @@ GITHUB_RELEASE= v${PKGVERSION_NOREV} USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-examples diff --git a/www/p5-libapreq2/Makefile b/www/p5-libapreq2/Makefile index 07d37d214909f..0c7ed03bbb1bd 100644 --- a/www/p5-libapreq2/Makefile +++ b/www/p5-libapreq2/Makefile @@ -15,6 +15,7 @@ DEPENDS+= p5-ExtUtils-XSBuilder>=0.23:../../devel/p5-ExtUtils-XSBuilder USE_TOOLS+= gmake USE_LIBTOOL= YES +USE_MULTIARCH= bin lib PERL5_PACKLIST= auto/libapreq2/.packlist SUBST_CLASSES+= apxs diff --git a/www/serf/Makefile b/www/serf/Makefile index 80b2acc3de5a3..72fbaabdcdf1e 100644 --- a/www/serf/Makefile +++ b/www/serf/Makefile @@ -12,6 +12,9 @@ LICENSE= apache-2.0 BUILD_DEPENDS+= scons>=2.3.0:../../devel/scons +USE_MULTIARCH= lib +SCONS_ARGS+= LIBDIR=${PREFIX}/lib${LIBARCHSUFFIX} + SCONS_ARGS+= APR=${PREFIX}/bin/apr-1-config SCONS_ARGS+= APU=${PREFIX}/bin/apu-1-config SCONS_ARGS+= CC=${CC:Q} diff --git a/www/tidy/Makefile b/www/tidy/Makefile index 2d37ee8e814a7..a2e58bf2e57d4 100644 --- a/www/tidy/Makefile +++ b/www/tidy/Makefile @@ -17,6 +17,7 @@ BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt USE_CMAKE= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= tidy.pc.cmake.in GCC_REQD+= 4.4 diff --git a/www/varnish/Makefile b/www/varnish/Makefile index 3821650839582..682e6e291662c 100644 --- a/www/varnish/Makefile +++ b/www/varnish/Makefile @@ -13,6 +13,7 @@ LICENSE= modified-bsd GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config gmake BUILD_DEFS+= VARBASE From 5557616f5c0ab75cfc19af15e733678d1115ba23 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Jul 2013 21:00:13 +0100 Subject: [PATCH 062/141] Convert "x11" category to multiarch. --- x11/eekboard/Makefile | 1 + x11/evieext/Makefile | 1 + x11/fltk/Makefile | 1 + x11/gtk2/Makefile | 7 +- x11/gtk3/Makefile | 1 + x11/gtksourceview3/Makefile | 1 + x11/libFS/Makefile | 1 + x11/libICE/Makefile | 1 + x11/libSM/Makefile | 1 + x11/libX11/Makefile | 1 + x11/libXau/Makefile | 1 + x11/libXaw/Makefile | 1 + x11/libXcomposite/Makefile | 1 + x11/libXcursor/Makefile | 1 + x11/libXdamage/Makefile | 1 + x11/libXdmcp/Makefile | 1 + x11/libXevie/Makefile | 1 + x11/libXext/Makefile | 1 + x11/libXfixes/Makefile | 1 + x11/libXfont/Makefile | 1 + x11/libXft/Makefile | 1 + x11/libXi/Makefile | 1 + x11/libXinerama/Makefile | 1 + x11/libXmu/Makefile | 1 + x11/libXp/Makefile | 1 + x11/libXpm/Makefile | 1 + x11/libXprintUtil/Makefile | 1 + x11/libXrandr/Makefile | 1 + x11/libXrender/Makefile | 1 + x11/libXt/Makefile | 1 + x11/libXtst/Makefile | 1 + x11/libXv/Makefile | 1 + x11/libXvMC/Makefile | 1 + x11/libXxf86dga/Makefile | 1 + x11/libXxf86misc/Makefile | 1 + x11/libXxf86vm/Makefile | 1 + x11/libdrm/Makefile | 1 + x11/libxcb/Makefile | 1 + x11/libxkbcommon/Makefile | 1 + x11/libxkbfile/Makefile | 1 + x11/libxkbui/Makefile | 1 + x11/libxklavier/Makefile | 1 + x11/libxshmfence/Makefile | 1 + x11/pixman/Makefile | 1 + x11/printproto/Makefile | 1 + x11/py-Tk/Makefile | 5 +- x11/py-gnome2/PLIST | 4 +- x11/py-gtk2/PLIST | 200 +++++++++++++------------- x11/py-qt4/PLIST | 2 +- x11/qt4-libs/Makefile | 70 +++++---- x11/qt4-libs/Makefile.common | 6 + x11/qt4-libs/buildlink3.mk | 2 +- x11/qt4-libs/files/qconfig.h | 10 ++ x11/qt4-qdbus/Makefile | 8 +- x11/qt4-tools/Makefile | 14 +- x11/startup-notification/Makefile | 1 + x11/tk/Makefile | 11 +- x11/tk/PLIST | 12 +- x11/tk/buildlink3.mk | 2 +- x11/tk/distinfo | 2 +- x11/tk/patches/patch-unix_Makefile.in | 16 +-- x11/vte/Makefile | 1 + x11/wxGTK28/Makefile.common | 1 + x11/xcb-proto/Makefile | 1 + x11/xcb-util/Makefile | 1 + 65 files changed, 251 insertions(+), 169 deletions(-) create mode 100644 x11/qt4-libs/files/qconfig.h diff --git a/x11/eekboard/Makefile b/x11/eekboard/Makefile index d85d9401b9cd5..34a13748e4627 100644 --- a/x11/eekboard/Makefile +++ b/x11/eekboard/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-gpl-v3 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config intltool msgfmt msgmerge xgettext diff --git a/x11/evieext/Makefile b/x11/evieext/Makefile index d84570c858632..a59cdd152ff89 100644 --- a/x11/evieext/Makefile +++ b/x11/evieext/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= EvIE extension headers PKGCONFIG_OVERRIDE+= ${WRKSRC}/evieproto.pc.in +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/fltk/Makefile b/x11/fltk/Makefile index 58857f752dfc3..f8e085bc9719f 100644 --- a/x11/fltk/Makefile +++ b/x11/fltk/Makefile @@ -17,6 +17,7 @@ COMMENT= Fast Light Tool Kit for graphical user interfaces WRKSRC= ${WRKDIR}/${DISTNAME:S/-source//} USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= bin lib USE_TOOLS+= gmake TEST_TARGET= test diff --git a/x11/gtk2/Makefile b/x11/gtk2/Makefile index bf14916f5c585..794971a6f6503 100644 --- a/x11/gtk2/Makefile +++ b/x11/gtk2/Makefile @@ -24,6 +24,7 @@ USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake msgfmt perl pkg-config USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib PTHREAD_AUTO_VARS= yes GNU_CONFIGURE= yes @@ -46,9 +47,9 @@ PKGCONFIG_OVERRIDE+= gtk+-unix-print-2.0.pc.in #PKGCONFIG_OVERRIDE+= gdk-pixbuf-2.0.pc.in #PKGCONFIG_OVERRIDE+= contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc.in -INSTALLATION_DIRS+= lib/gtk-2.0/immodules -INSTALLATION_DIRS+= lib/gtk-2.0/modules -INSTALLATION_DIRS+= lib/gtk-2.0/2.10.0/filesystems +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/gtk-2.0/immodules +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/gtk-2.0/modules +INSTALLATION_DIRS+= lib${LIBARCHSUFFIX}/gtk-2.0/2.10.0/filesystems REQD_DIRS+= ${PREFIX}/libdata/gtk-2.0 diff --git a/x11/gtk3/Makefile b/x11/gtk3/Makefile index 1c04f10596bce..8d54eed1898ab 100644 --- a/x11/gtk3/Makefile +++ b/x11/gtk3/Makefile @@ -16,6 +16,7 @@ USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake perl pkg-config bash xgettext msgmerge USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib PTHREAD_AUTO_VARS= yes TOOL_DEPENDS+= gdbus-codegen-[0-9]*:../../devel/gdbus-codegen TOOL_DEPENDS+= gettext-tools>=0.19.4nb1:../../devel/gettext-tools diff --git a/x11/gtksourceview3/Makefile b/x11/gtksourceview3/Makefile index ebae447c62613..7c6cc09b7a56b 100644 --- a/x11/gtksourceview3/Makefile +++ b/x11/gtksourceview3/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2.1 GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake gsed intltool msgfmt pkg-config USE_PKGLOCALEDIR= yes #CONFIGURE_ARGS+= --disable-deprecations diff --git a/x11/libFS/Makefile b/x11/libFS/Makefile index b3e4ea9b0bcc0..e616c2e974180 100644 --- a/x11/libFS/Makefile +++ b/x11/libFS/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Font Server Interface Library USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libICE/Makefile b/x11/libICE/Makefile index 49897e0ca3f9e..f44834da6b915 100644 --- a/x11/libICE/Makefile +++ b/x11/libICE/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Inter Client Exchange (ICE) library for X USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libSM/Makefile b/x11/libSM/Makefile index 6b337b2c9db63..b2b4b75156d01 100644 --- a/x11/libSM/Makefile +++ b/x11/libSM/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Session Management Library USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libX11/Makefile b/x11/libX11/Makefile index ba232bd3170d0..ba61e95944059 100644 --- a/x11/libX11/Makefile +++ b/x11/libX11/Makefile @@ -11,6 +11,7 @@ COMMENT= Base X libraries from modular Xorg X11 LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= gmake pkg-config diff --git a/x11/libXau/Makefile b/x11/libXau/Makefile index 55773580c80fb..36df78077c04e 100644 --- a/x11/libXau/Makefile +++ b/x11/libXau/Makefile @@ -12,6 +12,7 @@ COMMENT= Authorization Protocol for X from X.org LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXaw/Makefile b/x11/libXaw/Makefile index 09f39d7dc16bf..96f89258fb6db 100644 --- a/x11/libXaw/Makefile +++ b/x11/libXaw/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Athena Widgets Library from modular Xorg X11 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= xaw6.pc.in PKGCONFIG_OVERRIDE+= xaw7.pc.in diff --git a/x11/libXcomposite/Makefile b/x11/libXcomposite/Makefile index fdddb4cacb675..2fe35da9f0de0 100644 --- a/x11/libXcomposite/Makefile +++ b/x11/libXcomposite/Makefile @@ -12,6 +12,7 @@ COMMENT= X Composite Library LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXcursor/Makefile b/x11/libXcursor/Makefile index f98072617ae16..e91c444d97ebb 100644 --- a/x11/libXcursor/Makefile +++ b/x11/libXcursor/Makefile @@ -13,6 +13,7 @@ COMMENT= Client-side cursor loading library for X CONFLICTS+= xcursor-[0-9]* USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXdamage/Makefile b/x11/libXdamage/Makefile index 63a1672a48b10..123150d2b7c8c 100644 --- a/x11/libXdamage/Makefile +++ b/x11/libXdamage/Makefile @@ -13,6 +13,7 @@ LICENSE= mit GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= xdamage.pc.in diff --git a/x11/libXdmcp/Makefile b/x11/libXdmcp/Makefile index 248ae5f276bd1..05b4f84b1b85c 100644 --- a/x11/libXdmcp/Makefile +++ b/x11/libXdmcp/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Display Manager Control Protocol library from X.org USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE+= xdmcp.pc.in GNU_CONFIGURE= yes diff --git a/x11/libXevie/Makefile b/x11/libXevie/Makefile index 567a6426a5af1..7a9d42a2386b3 100644 --- a/x11/libXevie/Makefile +++ b/x11/libXevie/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Event Interceptor Library USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config autoconf diff --git a/x11/libXext/Makefile b/x11/libXext/Makefile index 0fd50ac283e3c..0fd3f77b5bdb3 100644 --- a/x11/libXext/Makefile +++ b/x11/libXext/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Extension library USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXfixes/Makefile b/x11/libXfixes/Makefile index 2b97a1620e96e..b4ea2e3a28441 100644 --- a/x11/libXfixes/Makefile +++ b/x11/libXfixes/Makefile @@ -14,6 +14,7 @@ LICENSE= mit CONFLICTS+= Xfixes-[0-9]* USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config CONFIGURE_ENV+= LIB_MAN_SUFFIX=3 diff --git a/x11/libXfont/Makefile b/x11/libXfont/Makefile index 98071864e081f..78562b26edada 100644 --- a/x11/libXfont/Makefile +++ b/x11/libXfont/Makefile @@ -12,6 +12,7 @@ COMMENT= X font Library LICENSE= mit AND modified-bsd USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXft/Makefile b/x11/libXft/Makefile index 8e1934c549ec6..ca06a92c940af 100644 --- a/x11/libXft/Makefile +++ b/x11/libXft/Makefile @@ -14,6 +14,7 @@ CONFLICTS+= Xft2-[0-9]* GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib USE_TOOLS+= pkg-config PKGCONFIG_OVERRIDE= xft.pc.in diff --git a/x11/libXi/Makefile b/x11/libXi/Makefile index 38e9612298ab8..3b3f11e133040 100644 --- a/x11/libXi/Makefile +++ b/x11/libXi/Makefile @@ -12,6 +12,7 @@ COMMENT= X Input extension library LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXinerama/Makefile b/x11/libXinerama/Makefile index 8f45a21bd59e8..336263819dcf0 100644 --- a/x11/libXinerama/Makefile +++ b/x11/libXinerama/Makefile @@ -10,6 +10,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X PanoramiX extension library USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXmu/Makefile b/x11/libXmu/Makefile index 0a6533f1941c0..0b349ba1d6982 100644 --- a/x11/libXmu/Makefile +++ b/x11/libXmu/Makefile @@ -10,6 +10,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Miscellaneous Utilities library USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xmu.pc.in PKGCONFIG_OVERRIDE+= xmuu.pc.in GNU_CONFIGURE= yes diff --git a/x11/libXp/Makefile b/x11/libXp/Makefile index 3f662f70ee179..55c197a46b513 100644 --- a/x11/libXp/Makefile +++ b/x11/libXp/Makefile @@ -10,6 +10,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Print Service Extension Library USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libXpm/Makefile b/x11/libXpm/Makefile index 1fd92f0766fee..c10dae91c88e8 100644 --- a/x11/libXpm/Makefile +++ b/x11/libXpm/Makefile @@ -13,6 +13,7 @@ COMMENT= X PixMap Library from modular Xorg X11 CONFLICTS+= xpm-[0-9]* USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config xgettext PKGCONFIG_OVERRIDE+= xpm.pc.in GNU_CONFIGURE= yes diff --git a/x11/libXprintUtil/Makefile b/x11/libXprintUtil/Makefile index 3040a7f90f9f4..e7c90aedb0b8d 100644 --- a/x11/libXprintUtil/Makefile +++ b/x11/libXprintUtil/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Print Utility Library USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libXrandr/Makefile b/x11/libXrandr/Makefile index 83bf92954a802..e983170429437 100644 --- a/x11/libXrandr/Makefile +++ b/x11/libXrandr/Makefile @@ -13,6 +13,7 @@ COMMENT= X RandR Library from X.org CONFLICTS+= Xrandr-[0-9]* USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXrender/Makefile b/x11/libXrender/Makefile index c57dbd6af235a..ed889ebd2e554 100644 --- a/x11/libXrender/Makefile +++ b/x11/libXrender/Makefile @@ -14,6 +14,7 @@ LICENSE= mit CONFLICTS+= Xrender-[0-9]* USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXt/Makefile b/x11/libXt/Makefile index 2eefa90f8188d..273108d0a1c2d 100644 --- a/x11/libXt/Makefile +++ b/x11/libXt/Makefile @@ -13,6 +13,7 @@ LICENSE= mit GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config CONFIGURE_ARGS+= --with-appdefaultdir=${PREFIX}/lib/X11/app-defaults diff --git a/x11/libXtst/Makefile b/x11/libXtst/Makefile index bb7a9e7fae59b..81adb3f421810 100644 --- a/x11/libXtst/Makefile +++ b/x11/libXtst/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= X Tst Library USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXv/Makefile b/x11/libXv/Makefile index 5057f4cef0dad..e9df3d58f84a0 100644 --- a/x11/libXv/Makefile +++ b/x11/libXv/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Xv Extension library USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xv.pc.in GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libXvMC/Makefile b/x11/libXvMC/Makefile index 31bf41d09a034..0ceb942461b86 100644 --- a/x11/libXvMC/Makefile +++ b/x11/libXvMC/Makefile @@ -12,6 +12,7 @@ COMMENT= XVideo Motion Compensation Library LICENSE= mit USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libXxf86dga/Makefile b/x11/libXxf86dga/Makefile index 78adca0382ece..b9c0f091ff243 100644 --- a/x11/libXxf86dga/Makefile +++ b/x11/libXxf86dga/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Library for the XFree86-DGA X extension USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libXxf86misc/Makefile b/x11/libXxf86misc/Makefile index 6bd286a0004b1..0208c75bd9520 100644 --- a/x11/libXxf86misc/Makefile +++ b/x11/libXxf86misc/Makefile @@ -10,6 +10,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Library for the XFree86-Misc X extension USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xxf86misc.pc.in USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libXxf86vm/Makefile b/x11/libXxf86vm/Makefile index 7eed68eef62c8..90c6268c1bc92 100644 --- a/x11/libXxf86vm/Makefile +++ b/x11/libXxf86vm/Makefile @@ -12,6 +12,7 @@ COMMENT= Library for the XFree86-VidMode X extension USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libdrm/Makefile b/x11/libdrm/Makefile index 0e38b71eb4221..fb87d3e4f2299 100644 --- a/x11/libdrm/Makefile +++ b/x11/libdrm/Makefile @@ -16,6 +16,7 @@ ONLY_FOR_PLATFORM= NetBSD-*-* DragonFly-*-* FreeBSD-*-* OpenBSD-*-* \ USE_PKGLOCALEDIR= yes USE_TOOLS+= gmake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= libdrm.pc.in GNU_CONFIGURE= yes diff --git a/x11/libxcb/Makefile b/x11/libxcb/Makefile index 0366b5dfb8f71..079bebfae56d2 100644 --- a/x11/libxcb/Makefile +++ b/x11/libxcb/Makefile @@ -15,6 +15,7 @@ TOOL_DEPENDS+= ${PYPKGPREFIX}-xcbgen>=1.13:../../x11/py-xcbgen GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake pkg-config CONFIGURE_ARGS+= --disable-build-docs # or needs doxygen diff --git a/x11/libxkbcommon/Makefile b/x11/libxkbcommon/Makefile index 5080a5e825ff2..fc930460f3a0d 100644 --- a/x11/libxkbcommon/Makefile +++ b/x11/libxkbcommon/Makefile @@ -13,6 +13,7 @@ LICENSE= mit GNU_CONFIGURE= yes USE_TOOLS+= bison gmake pkg-config USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xkbcommon.pc.in diff --git a/x11/libxkbfile/Makefile b/x11/libxkbfile/Makefile index 480c743da768a..a39e39c524296 100644 --- a/x11/libxkbfile/Makefile +++ b/x11/libxkbfile/Makefile @@ -11,6 +11,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= The xkbfile Library from modular X.org USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xkbfile.pc.in GNU_CONFIGURE= yes USE_TOOLS+= pkg-config diff --git a/x11/libxkbui/Makefile b/x11/libxkbui/Makefile index bbe0c60508d51..2b80ebf6d459a 100644 --- a/x11/libxkbui/Makefile +++ b/x11/libxkbui/Makefile @@ -12,6 +12,7 @@ HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Library for xkbui USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xkbui.pc.in USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/libxklavier/Makefile b/x11/libxklavier/Makefile index 14e38946b10be..348e4b266c3ba 100644 --- a/x11/libxklavier/Makefile +++ b/x11/libxklavier/Makefile @@ -14,6 +14,7 @@ LICENSE= gnu-lgpl-v2 USE_TOOLS+= gmake pkg-config GNU_CONFIGURE= YES USE_LIBTOOL= YES +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= libxklavier.pc.in diff --git a/x11/libxshmfence/Makefile b/x11/libxshmfence/Makefile index c40e40db5bcef..a2a9361f1ccfe 100644 --- a/x11/libxshmfence/Makefile +++ b/x11/libxshmfence/Makefile @@ -14,6 +14,7 @@ LICENSE= mit GNU_CONFIGURE= yes TEST_TARGET= check USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config autoconf automake autoreconf PKGCONFIG_OVERRIDE+= xshmfence.pc.in diff --git a/x11/pixman/Makefile b/x11/pixman/Makefile index 8166aa7e6f378..33106a9899dbe 100644 --- a/x11/pixman/Makefile +++ b/x11/pixman/Makefile @@ -17,6 +17,7 @@ CONFIGURE_ARGS+= --disable-sse2 .endif USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config perl PKGCONFIG_OVERRIDE+= pixman-1.pc.in diff --git a/x11/printproto/Makefile b/x11/printproto/Makefile index 4e475b5d1ecc6..5973612f154d0 100644 --- a/x11/printproto/Makefile +++ b/x11/printproto/Makefile @@ -10,6 +10,7 @@ MAINTAINER= joerg@NetBSD.org HOMEPAGE= http://xorg.freedesktop.org/ COMMENT= Print extension headers from X.org +USE_MULTIARCH= lib USE_TOOLS+= pkg-config GNU_CONFIGURE= yes diff --git a/x11/py-Tk/Makefile b/x11/py-Tk/Makefile index 7a339fbd3087a..94615f40a6404 100644 --- a/x11/py-Tk/Makefile +++ b/x11/py-Tk/Makefile @@ -13,13 +13,16 @@ USE_GCC_RUNTIME= yes EXTRACT_ELEMENTS= ${PYSUBDIR}/Modules/_tkinter.c \ ${PYSUBDIR}/Modules/tkappinit.c + +MULTIARCH_DIRS.lib= ${PYLIB}/lib-dynload + PYDISTUTILSPKG= yes PY_PATCHPLIST= yes PY_SETUP_SUBST+= BLPREFIX=${LOCALBASE} PY_SETUP_SUBST+= TCLRTPREFIX=${BUILDLINK_PREFIX.tcl} PY_SETUP_SUBST+= TKRTPREFIX=${BUILDLINK_PREFIX.tk} PY_SETUP_SUBST+= X11BASE=${X11BASE} -PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload +PYSETUPINSTALLARGS+= --install-lib ${PREFIX}/${PYLIB}/lib-dynload${LIBARCHSUFFIX} .include "../../mk/bsd.prefs.mk" diff --git a/x11/py-gnome2/PLIST b/x11/py-gnome2/PLIST index 62e2481c517ee..a31b789e329c9 100644 --- a/x11/py-gnome2/PLIST +++ b/x11/py-gnome2/PLIST @@ -1,8 +1,8 @@ @comment $NetBSD: PLIST,v 1.8 2009/06/14 18:25:03 joerg Exp $ include/gnome-python-2.0/pygnomevfs.h include/gnome-python-2.0/pygnomevfsbonobo.h -lib/gnome-vfs-2.0/modules/libpythonmethod.la -lib/pkgconfig/gnome-python-2.0.pc +lib${LIBARCHSUFFIX}/gnome-vfs-2.0/modules/libpythonmethod.la +lib${LIBARCHSUFFIX}/pkgconfig/gnome-python-2.0.pc ${PYSITELIB}/gtk-2.0/bonobo/__init__.py ${PYSITELIB}/gtk-2.0/bonobo/__init__.pyc ${PYSITELIB}/gtk-2.0/bonobo/__init__.pyo diff --git a/x11/py-gtk2/PLIST b/x11/py-gtk2/PLIST index 2209bb6873676..842d4010318ef 100644 --- a/x11/py-gtk2/PLIST +++ b/x11/py-gtk2/PLIST @@ -2,106 +2,106 @@ bin/pygtk-codegen-2.0 bin/pygtk-demo include/pygtk-2.0/pygtk/pygtk.h -lib/pkgconfig/pygtk-2.0.pc -lib/pygtk/2.0/demos/__init__.py -lib/pygtk/2.0/demos/__init__.pyc -lib/pygtk/2.0/demos/__init__.pyo -lib/pygtk/2.0/demos/appwindow.py -lib/pygtk/2.0/demos/appwindow.pyc -lib/pygtk/2.0/demos/appwindow.pyo -lib/pygtk/2.0/demos/buttonbox.py -lib/pygtk/2.0/demos/buttonbox.pyc -lib/pygtk/2.0/demos/buttonbox.pyo -lib/pygtk/2.0/demos/changedisplay.py -lib/pygtk/2.0/demos/changedisplay.pyc -lib/pygtk/2.0/demos/changedisplay.pyo -lib/pygtk/2.0/demos/colorsel.py -lib/pygtk/2.0/demos/colorsel.pyc -lib/pygtk/2.0/demos/colorsel.pyo -lib/pygtk/2.0/demos/dialogs.py -lib/pygtk/2.0/demos/dialogs.pyc -lib/pygtk/2.0/demos/dialogs.pyo -lib/pygtk/2.0/demos/dnd.py -lib/pygtk/2.0/demos/dnd.pyc -lib/pygtk/2.0/demos/dnd.pyo -lib/pygtk/2.0/demos/dndpixmap.py -lib/pygtk/2.0/demos/dndpixmap.pyc -lib/pygtk/2.0/demos/dndpixmap.pyo -lib/pygtk/2.0/demos/editable_cells.py -lib/pygtk/2.0/demos/editable_cells.pyc -lib/pygtk/2.0/demos/editable_cells.pyo -lib/pygtk/2.0/demos/entry_completion.py -lib/pygtk/2.0/demos/entry_completion.pyc -lib/pygtk/2.0/demos/entry_completion.pyo -lib/pygtk/2.0/demos/expander.py -lib/pygtk/2.0/demos/expander.pyc -lib/pygtk/2.0/demos/expander.pyo -lib/pygtk/2.0/demos/hypertext.py -lib/pygtk/2.0/demos/hypertext.pyc -lib/pygtk/2.0/demos/hypertext.pyo -lib/pygtk/2.0/demos/images.py -lib/pygtk/2.0/demos/images.pyc -lib/pygtk/2.0/demos/images.pyo -lib/pygtk/2.0/demos/images/alphatest.png -lib/pygtk/2.0/demos/images/apple-red.png -lib/pygtk/2.0/demos/images/background.jpg -lib/pygtk/2.0/demos/images/floppybuddy.gif -lib/pygtk/2.0/demos/images/gnome-applets.png -lib/pygtk/2.0/demos/images/gnome-calendar.png -lib/pygtk/2.0/demos/images/gnome-foot.png -lib/pygtk/2.0/demos/images/gnome-gimp.png -lib/pygtk/2.0/demos/images/gnome-gmush.png -lib/pygtk/2.0/demos/images/gnome-gsame.png -lib/pygtk/2.0/demos/images/gnu-keys.png -lib/pygtk/2.0/demos/images/gtk-logo-rgb.gif -lib/pygtk/2.0/demos/infobar.py -lib/pygtk/2.0/demos/infobar.pyc -lib/pygtk/2.0/demos/infobar.pyo -lib/pygtk/2.0/demos/list_store.py -lib/pygtk/2.0/demos/list_store.pyc -lib/pygtk/2.0/demos/list_store.pyo -lib/pygtk/2.0/demos/menu.py -lib/pygtk/2.0/demos/menu.pyc -lib/pygtk/2.0/demos/menu.pyo -lib/pygtk/2.0/demos/panes.py -lib/pygtk/2.0/demos/panes.pyc -lib/pygtk/2.0/demos/panes.pyo -lib/pygtk/2.0/demos/pixbufs.py -lib/pygtk/2.0/demos/pixbufs.pyc -lib/pygtk/2.0/demos/pixbufs.pyo -lib/pygtk/2.0/demos/print_editor.py -lib/pygtk/2.0/demos/print_editor.pyc -lib/pygtk/2.0/demos/print_editor.pyo -lib/pygtk/2.0/demos/sizegroup.py -lib/pygtk/2.0/demos/sizegroup.pyc -lib/pygtk/2.0/demos/sizegroup.pyo -lib/pygtk/2.0/demos/statusicon.py -lib/pygtk/2.0/demos/statusicon.pyc -lib/pygtk/2.0/demos/statusicon.pyo -lib/pygtk/2.0/demos/stock_browser.py -lib/pygtk/2.0/demos/stock_browser.pyc -lib/pygtk/2.0/demos/stock_browser.pyo -lib/pygtk/2.0/demos/textscroll.py -lib/pygtk/2.0/demos/textscroll.pyc -lib/pygtk/2.0/demos/textscroll.pyo -lib/pygtk/2.0/demos/textview.py -lib/pygtk/2.0/demos/textview.pyc -lib/pygtk/2.0/demos/textview.pyo -lib/pygtk/2.0/demos/tooltip.py -lib/pygtk/2.0/demos/tooltip.pyc -lib/pygtk/2.0/demos/tooltip.pyo -lib/pygtk/2.0/demos/tree_store.py -lib/pygtk/2.0/demos/tree_store.pyc -lib/pygtk/2.0/demos/tree_store.pyo -lib/pygtk/2.0/demos/treemodel.py -lib/pygtk/2.0/demos/treemodel.pyc -lib/pygtk/2.0/demos/treemodel.pyo -lib/pygtk/2.0/demos/ui_manager.py -lib/pygtk/2.0/demos/ui_manager.pyc -lib/pygtk/2.0/demos/ui_manager.pyo -lib/pygtk/2.0/pygtk-demo.py -lib/pygtk/2.0/pygtk-demo.pyc -lib/pygtk/2.0/pygtk-demo.pyo +lib${LIBARCHSUFFIX}/pkgconfig/pygtk-2.0.pc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/__init__.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/__init__.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/__init__.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/appwindow.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/appwindow.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/appwindow.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/buttonbox.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/buttonbox.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/buttonbox.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/changedisplay.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/changedisplay.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/changedisplay.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/colorsel.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/colorsel.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/colorsel.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dialogs.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dialogs.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dialogs.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dnd.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dnd.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dnd.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dndpixmap.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dndpixmap.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/dndpixmap.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/editable_cells.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/editable_cells.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/editable_cells.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/entry_completion.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/entry_completion.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/entry_completion.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/expander.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/expander.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/expander.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/hypertext.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/hypertext.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/hypertext.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/alphatest.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/apple-red.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/background.jpg +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/floppybuddy.gif +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnome-applets.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnome-calendar.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnome-foot.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnome-gimp.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnome-gmush.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnome-gsame.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gnu-keys.png +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/images/gtk-logo-rgb.gif +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/infobar.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/infobar.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/infobar.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/list_store.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/list_store.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/list_store.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/menu.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/menu.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/menu.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/panes.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/panes.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/panes.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/pixbufs.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/pixbufs.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/pixbufs.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/print_editor.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/print_editor.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/print_editor.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/sizegroup.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/sizegroup.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/sizegroup.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/statusicon.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/statusicon.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/statusicon.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/stock_browser.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/stock_browser.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/stock_browser.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/textscroll.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/textscroll.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/textscroll.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/textview.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/textview.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/textview.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/tooltip.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/tooltip.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/tooltip.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/tree_store.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/tree_store.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/tree_store.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/treemodel.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/treemodel.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/treemodel.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/ui_manager.py +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/ui_manager.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/demos/ui_manager.pyo +lib${LIBARCHSUFFIX}/pygtk/2.0/pygtk-demo.py +lib${LIBARCHSUFFIX}/pygtk/2.0/pygtk-demo.pyc +lib${LIBARCHSUFFIX}/pygtk/2.0/pygtk-demo.pyo ${PYSITELIB}/gtk-2.0/atk.la ${PYSITELIB}/gtk-2.0/gtk/__init__.py ${PYSITELIB}/gtk-2.0/gtk/__init__.pyc diff --git a/x11/py-qt4/PLIST b/x11/py-qt4/PLIST index 2fcb6fbf051c8..148716e8f54de 100644 --- a/x11/py-qt4/PLIST +++ b/x11/py-qt4/PLIST @@ -99,7 +99,7 @@ ${PYSITELIB}/PyQt4/uic/widget-plugins/qtdeclarative.pyc ${PYSITELIB}/PyQt4/uic/widget-plugins/qtwebkit.py ${PYSITELIB}/PyQt4/uic/widget-plugins/qtwebkit.pyc ${PYSITELIB}/dbus/mainloop/qt.so -qt4/plugins/designer/libpyqt4.la +qt4/plugins${LIBARCHSUFFIX}/designer/libpyqt4.la qt4/qsci/api/python/PyQt4.api share/sip${PYVERSSUFFIX}/Qt/Qtmod.sip share/sip${PYVERSSUFFIX}/QtCore/QtCoremod.sip diff --git a/x11/qt4-libs/Makefile b/x11/qt4-libs/Makefile index f7eda9844082b..5107978f89616 100644 --- a/x11/qt4-libs/Makefile +++ b/x11/qt4-libs/Makefile @@ -28,25 +28,25 @@ CONFIGURE_ARGS+= -openssl-linked CONFIGURE_ARGS+= -iconv -INSTALLATION_DIRS= lib/pkgconfig +INSTALLATION_DIRS= lib${LIBARCHSUFFIX}/pkgconfig INSTALLATION_DIRS+= ${QTPREFIX}/bin -INSTALLATION_DIRS+= ${QTPREFIX}/imports/Qt/labs/folderlistmodel -INSTALLATION_DIRS+= ${QTPREFIX}/imports/Qt/labs/gestures -INSTALLATION_DIRS+= ${QTPREFIX}/imports/Qt/labs/particles -INSTALLATION_DIRS+= ${QTPREFIX}/imports/Qt/labs/shaders -INSTALLATION_DIRS+= ${QTPREFIX}/imports/QtWebKit +INSTALLATION_DIRS+= ${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/folderlistmodel +INSTALLATION_DIRS+= ${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/gestures +INSTALLATION_DIRS+= ${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/particles +INSTALLATION_DIRS+= ${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/shaders +INSTALLATION_DIRS+= ${QTPREFIX}/imports${LIBARCHSUFFIX}/QtWebKit INSTALLATION_DIRS+= ${QTPREFIX}/include -INSTALLATION_DIRS+= ${QTPREFIX}/lib -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/accessible -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/bearer -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/codecs -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/graphicssystems -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/iconengines -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/imageformats +INSTALLATION_DIRS+= ${QTPREFIX}/lib${LIBARCHSUFFIX} +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/accessible +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/bearer +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/codecs +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/graphicssystems +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/iconengines +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/imageformats .if ${OPSYS} == "Darwin" INSTALLATION_DIRS+= ${QTPREFIX}/qt_menu.nib .else -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/inputmethods +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/inputmethods .endif INSTALL_ENV+= INSTALL_ROOT=${DESTDIR} @@ -65,19 +65,19 @@ do-install: ${DESTDIR}${QTPREFIX}/bin/ ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/imports/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.la \ - ${DESTDIR}${QTPREFIX}/imports/Qt/labs/folderlistmodel/ + ${DESTDIR}${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/folderlistmodel/ ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/imports/Qt/labs/gestures/libqmlgesturesplugin.la \ - ${DESTDIR}${QTPREFIX}/imports/Qt/labs/gestures/ + ${DESTDIR}${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/gestures/ ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/imports/Qt/labs/particles/libqmlparticlesplugin.la \ - ${DESTDIR}${QTPREFIX}/imports/Qt/labs/particles/ + ${DESTDIR}${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/particles/ ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/imports/Qt/labs/shaders/libqmlshadersplugin.la \ - ${DESTDIR}${QTPREFIX}/imports/Qt/labs/shaders/ + ${DESTDIR}${QTPREFIX}/imports${LIBARCHSUFFIX}/Qt/labs/shaders/ ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/imports/QtWebKit/libqmlwebkitplugin.la \ - ${DESTDIR}${QTPREFIX}/imports/QtWebKit/ + ${DESTDIR}${QTPREFIX}/imports${LIBARCHSUFFIX}/QtWebKit/ .for f in corelib declarative gui multimedia network opengl qt3support script scripttools sql svg testlib xml xmlpatterns 3rdparty/webkit/Source/WebKit/qt cd ${WRKSRC}/src/${f} && env ${MAKE_ENV} ${INSTALL_ENV} \ ${MAKE_PROGRAM} install_flat_headers install_targ_headers install_class_headers @@ -85,47 +85,47 @@ do-install: cd ${DESTDIR}${PREFIX} && find qt4/include -type f -print > ${WRKDIR}/PLIST .for f in Qt3Support QtCore QtDeclarative QtGui QtMultimedia QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtWebKit QtXml QtXmlPatterns jscore webcore ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/lib/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/lib/ + ${DESTDIR}${QTPREFIX}/lib${LIBARCHSUFFIX}/ sed -e "s:${WRKSRC}:${QTPREFIX}:g" \ - -e "s:${QTPREFIX}/lib/lib\\([A-Za-z3]*\\)\\.la:-l\\1:g" \ + -e "s:${QTPREFIX}/lib${LIBARCHSUFFIX}/lib\\([A-Za-z3]*\\)\\.la:-l\\1:g" \ ${WRKSRC}/lib/pkgconfig/${f}.pc | ${AWK} '!x[$$0]++' > ${WRKDIR}/${f}.pc - ${INSTALL_DATA} ${WRKDIR}/${f}.pc ${DESTDIR}${PREFIX}/lib/pkgconfig/ + ${INSTALL_DATA} ${WRKDIR}/${f}.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/ .endfor ${INSTALL_DATA} ${WRKSRC}/tools/porting/src/q3porting.xml ${DESTDIR}${QTPREFIX} .for f in qtaccessiblecompatwidgets qtaccessiblewidgets ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/accessible/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/plugins/accessible/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/accessible/ .endfor #.for f in qcorewlanbearer qgenericbearer .if ${OPSYS} == "Darwin" ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/bearer/libqcorewlanbearer.la \ - ${DESTDIR}${QTPREFIX}/plugins/bearer/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/bearer/ .endif ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/bearer/libqgenericbearer.la \ - ${DESTDIR}${QTPREFIX}/plugins/bearer/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/bearer/ #.endfor .for f in qcncodecs qjpcodecs qkrcodecs qtwcodecs ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/codecs/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/plugins/codecs/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/codecs/ .endfor .for f in qglgraphicssystem qtracegraphicssystem ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/graphicssystems/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/plugins/graphicssystems/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/graphicssystems/ .endfor .for f in qsvgicon ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/iconengines/lib${f}.la \ - ${DESTDIR}/${QTPREFIX}/plugins/iconengines/ + ${DESTDIR}/${QTPREFIX}/plugins${LIBARCHSUFFIX}/iconengines/ .endfor .for f in qgif qico qjpeg qsvg qtga ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/imageformats/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/plugins/imageformats/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/imageformats/ .endfor .if ${OPSYS} == "Darwin" ${INSTALL_DATA} ${WRKSRC}/src/gui/mac/qt_menu.nib/*.nib \ @@ -133,9 +133,19 @@ do-install: .else ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/inputmethods/libqimsw-multi.la \ - ${DESTDIR}/${QTPREFIX}/plugins/inputmethods/ + ${DESTDIR}/${QTPREFIX}/plugins${LIBARCHSUFFIX}/inputmethods/ .endif +do-install-multiarch-hook: +.for dir in Qt QtCore + ${MKDIR} ${DESTDIR}/${QTPREFIX}/include/${dir}${INCARCHSUFFIX} + ${MV} ${DESTDIR}/${QTPREFIX}/include/${dir}/qconfig.h \ + ${DESTDIR}/${QTPREFIX}/include/${dir}${INCARCHSUFFIX} + ${INSTALL_DATA} ${FILESDIR}/qconfig.h ${DESTDIR}/${QTPREFIX}/include/${dir} +.endfor + # Re-generate to pick up arch-specific headers. + cd ${DESTDIR}${PREFIX} && find qt4/include -type f -print > ${WRKDIR}/PLIST + .if ${OPSYS} != "Darwin" .include "../../graphics/glu/buildlink3.mk" .include "../../x11/libSM/buildlink3.mk" diff --git a/x11/qt4-libs/Makefile.common b/x11/qt4-libs/Makefile.common index 65a6aa7f32fc7..ce2e78ed2d5e7 100644 --- a/x11/qt4-libs/Makefile.common +++ b/x11/qt4-libs/Makefile.common @@ -22,6 +22,7 @@ PATCHDIR= ${.CURDIR}/../../x11/qt4-libs/patches HAS_CONFIGURE= yes USE_LANGUAGES= c c++ USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= gmake .if empty(PKGNAME:U:Mqt4-libs-*) @@ -30,11 +31,16 @@ BUILDLINK_API_DEPENDS.qt4-libs+= qt4-libs>=${QTVERSION} QTPREFIX= ${PREFIX}/qt4 +MULTIARCH_DIRS.lib= lib qt4/imports qt4/lib qt4/plugins + # libphonon is available in multimedia/phonon CONFIGURE_ARGS+= -no-phonon CONFIGURE_ARGS+= -no-phonon-backend CONFIGURE_ARGS+= -optimized-qmake CONFIGURE_ARGS+= -prefix "${QTPREFIX}" +CONFIGURE_ARGS+= -libdir "${QTPREFIX}/lib${LIBARCHSUFFIX}" +CONFIGURE_ARGS+= -plugindir "${QTPREFIX}/plugins${LIBARCHSUFFIX}" +CONFIGURE_ARGS+= -importdir "${QTPREFIX}/imports${LIBARCHSUFFIX}" CONFIGURE_ARGS+= ${CFLAGS:M-I*} ${LDFLAGS:M-L*} ${LDFLAGS:M-l*} CONFIGURE_ARGS+= -opensource -confirm-license CONFIGURE_ARGS+= -sysconfdir "${PKG_SYSCONFDIR}/xdg" diff --git a/x11/qt4-libs/buildlink3.mk b/x11/qt4-libs/buildlink3.mk index 420adbe2c257b..1f7ae6003fe5f 100644 --- a/x11/qt4-libs/buildlink3.mk +++ b/x11/qt4-libs/buildlink3.mk @@ -10,7 +10,7 @@ BUILDLINK_ABI_DEPENDS.qt4-libs+= qt4-libs>=4.8.7nb12 BUILDLINK_PKGSRCDIR.qt4-libs?= ../../x11/qt4-libs BUILDLINK_INCDIRS.qt4-libs+= qt4/include -BUILDLINK_LIBDIRS.qt4-libs+= qt4/lib +BUILDLINK_LIBDIRS.qt4-libs+= qt4/lib${LIBARCHSUFFIX} QTDIR= ${BUILDLINK_PREFIX.qt4-libs}/qt4 diff --git a/x11/qt4-libs/files/qconfig.h b/x11/qt4-libs/files/qconfig.h new file mode 100644 index 0000000000000..f7b5938aede72 --- /dev/null +++ b/x11/qt4-libs/files/qconfig.h @@ -0,0 +1,10 @@ +/* + * QT4 installs ABI-specific headers, this is a small wrapper to pick up + * the correct one for the current build. + */ + +#ifdef __amd64__ +#include "amd64/qconfig.h" +#else +#include "i86/qconfig.h" +#endif diff --git a/x11/qt4-qdbus/Makefile b/x11/qt4-qdbus/Makefile index ed363ac8d1e66..a825bc05e6a8b 100644 --- a/x11/qt4-qdbus/Makefile +++ b/x11/qt4-qdbus/Makefile @@ -6,7 +6,7 @@ PKGREVISION= 2 PKGNAME= qt4-qdbus-${QTVERSION} COMMENT= QT DBus support -CONFIGURE_ARGS+= -I${QTDIR}/include -L${QTDIR}/lib +CONFIGURE_ARGS+= -I${QTDIR}/include -L${QTDIR}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= -qdbus USE_TOOLS+= pkg-config @@ -22,14 +22,14 @@ do-build: cd ${WRKSRC}/src/dbus && env ${MAKE_ENV} ${GMAKE} cd ${WRKSRC}/tools/qdbus && env ${MAKE_ENV} ${GMAKE} -INSTALLATION_DIRS= ${QTPREFIX}/bin ${QTPREFIX}/lib lib/pkgconfig +INSTALLATION_DIRS= ${QTPREFIX}/bin ${QTPREFIX}/lib${LIBARCHSUFFIX} lib${LIBARCHSUFFIX}/pkgconfig do-install: ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/lib/libQtDBus.la \ - ${DESTDIR}${QTPREFIX}/lib/ + ${DESTDIR}${QTPREFIX}/lib${LIBARCHSUFFIX}/ ${SED} -e "s:${WRKSRC}:${QTPREFIX}:g" \ ${WRKSRC}/lib/pkgconfig/QtDBus.pc > ${WRKDIR}/QtDBus.pc - ${INSTALL_DATA} ${WRKDIR}/QtDBus.pc ${DESTDIR}${PREFIX}/lib/pkgconfig/ + ${INSTALL_DATA} ${WRKDIR}/QtDBus.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/ cd ${WRKSRC}/src/dbus && env ${MAKE_ENV} INSTALL_ROOT=${DESTDIR} \ ${MAKE_PROGRAM} install_flat_headers install_targ_headers install_class_headers .for f in qdbus qdbuscpp2xml qdbusviewer qdbusxml2cpp diff --git a/x11/qt4-tools/Makefile b/x11/qt4-tools/Makefile index 59d95f50641cb..90f83ff821f8b 100644 --- a/x11/qt4-tools/Makefile +++ b/x11/qt4-tools/Makefile @@ -8,7 +8,7 @@ COMMENT= QT GUI (WYSIWYG) builder and other tools DEPENDS+= libtool-base-[0-9]*:../../devel/libtool-base -CONFIGURE_ARGS+= -I${QTDIR}/include -L${QTDIR}/lib +CONFIGURE_ARGS+= -I${QTDIR}/include -L${QTDIR}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= -DQT_NO_DBUS # XXX this is to test what really gets installed when 'do-install' is disabled @@ -19,11 +19,11 @@ BUILD_TARGET= sub-tools-bootstrap sub-tools BUILD_QT4= yes UNLIMIT_RESOURCES= datasize -INSTALLATION_DIRS= lib/pkgconfig +INSTALLATION_DIRS= lib${LIBARCHSUFFIX}/pkgconfig INSTALLATION_DIRS+= ${QTPREFIX}/bin -INSTALLATION_DIRS+= ${QTPREFIX}/lib +INSTALLATION_DIRS+= ${QTPREFIX}/lib${LIBARCHSUFFIX} INSTALLATION_DIRS+= ${QTPREFIX}/phrasebooks -INSTALLATION_DIRS+= ${QTPREFIX}/plugins/designer +INSTALLATION_DIRS+= ${QTPREFIX}/plugins${LIBARCHSUFFIX}/designer INSTALLATION_DIRS+= ${QTPREFIX}/mkspecs INSTALLATION_DIRS+= ${QTPREFIX}/tools/qdoc3 INSTALL_ENV+= INSTALL_ROOT=${DESTDIR} @@ -60,15 +60,15 @@ do-install: ${MAKE_PROGRAM} install_quitools_headers .for f in QtCLucene QtDesigner QtDesignerComponents QtHelp QtUiTools ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/lib/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/lib/ + ${DESTDIR}${QTPREFIX}/lib${LIBARCHSUFFIX}/ sed -e "s:${WRKSRC}:${QTPREFIX}:g" \ ${WRKSRC}/lib/pkgconfig/${f}.pc > ${WRKDIR}/${f}.pc - ${INSTALL_DATA} ${WRKDIR}/${f}.pc ${DESTDIR}${PREFIX}/lib/pkgconfig/ + ${INSTALL_DATA} ${WRKDIR}/${f}.pc ${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}/pkgconfig/ .endfor .for f in qdeclarativeview qt3supportwidgets qwebview ${LIBTOOL} --mode=install ${INSTALL_LIB} \ ${WRKSRC}/plugins/designer/lib${f}.la \ - ${DESTDIR}${QTPREFIX}/plugins/designer/ + ${DESTDIR}${QTPREFIX}/plugins${LIBARCHSUFFIX}/designer/ .endfor ${INSTALL_DATA} ${WRKSRC}/tools/linguist/phrasebooks/*.qph \ ${DESTDIR}${QTPREFIX}/phrasebooks/ diff --git a/x11/startup-notification/Makefile b/x11/startup-notification/Makefile index 066cdf36e1c09..d4a333a949ce9 100644 --- a/x11/startup-notification/Makefile +++ b/x11/startup-notification/Makefile @@ -13,6 +13,7 @@ LICENSE= mit AND gnu-lgpl-v2.1 USE_TOOLS+= pkg-config GNU_CONFIGURE= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE= libstartup-notification-1.0.pc.in diff --git a/x11/tk/Makefile b/x11/tk/Makefile index 5cacf25d366c6..dafcbebe633d9 100644 --- a/x11/tk/Makefile +++ b/x11/tk/Makefile @@ -13,6 +13,9 @@ LICENSE= 2-clause-bsd .include "../../x11/tk/Makefile.version" +USE_MULTIARCH= lib +MULTIARCH_DIRS.lib= # manually set in PLIST + WRKSRC= ${WRKDIR}/tk${TK_VERSION} USE_GCC_RUNTIME= yes @@ -20,10 +23,10 @@ USE_GCC_RUNTIME= yes GNU_CONFIGURE= yes CONFIGURE_DIRS= unix BUILD_DIRS= ${CONFIGURE_DIRS} -CONFIGURE_ARGS+= --with-tcl=${BUILDLINK_PREFIX.tcl}/lib +CONFIGURE_ARGS+= --with-tcl=${BUILDLINK_PREFIX.tcl}/lib${LIBARCHSUFFIX} CONFIGURE_ARGS+= --x-includes=${X11BASE}/include -CONFIGURE_ARGS+= --x-libraries=${X11BASE}/lib${LIBABISUFFIX:Q} -CONFIGURE_ENV+= LIB_RUNTIME_DIR=${PREFIX}/lib +CONFIGURE_ARGS+= --x-libraries=${X11BASE}/lib${LIBARCHSUFFIX:Q} +CONFIGURE_ENV+= LIB_RUNTIME_DIR=${PREFIX}/lib${LIBARCHSUFFIX} PTHREAD_OPTS+= require PKGCONFIG_OVERRIDE+= unix/tk.pc.in @@ -39,7 +42,7 @@ CONFIGURE_ARGS+= --enable-64bit SUBST_CLASSES+= tk-config SUBST_STAGE.tk-config= post-build SUBST_FILES.tk-config= unix/tkConfig.sh -SUBST_SED.tk-config+= -e "s|${WRKSRC}/unix|${PREFIX}/lib|" +SUBST_SED.tk-config+= -e "s|${WRKSRC}/unix|${PREFIX}/lib${LIBARCHSUFFIX}|" SUBST_SED.tk-config+= -e "s|${WRKSRC}|${PREFIX}/include/tk|" PLIST_SUBST+= SONUM=${TK_SONUM} diff --git a/x11/tk/PLIST b/x11/tk/PLIST index a94eaa9b65ac0..ede0390a6a61a 100644 --- a/x11/tk/PLIST +++ b/x11/tk/PLIST @@ -48,11 +48,11 @@ include/tkIntXlibDecls.h include/tkPlatDecls.h ${PLIST.aqua}lib/Tk.icns ${PLIST.aqua}lib/Tk.tiff -lib/libtk${SONUM}.a -lib/libtk${SONUM}.so -lib/libtk${SONUM}.so.1.0 -lib/libtkstub${SONUM}.a -lib/pkgconfig/tk.pc +lib${LIBARCHSUFFIX}/libtk${SONUM}.a +lib${LIBARCHSUFFIX}/libtk${SONUM}.so +lib${LIBARCHSUFFIX}/libtk${SONUM}.so.1.0 +lib${LIBARCHSUFFIX}/libtkstub${SONUM}.a +lib${LIBARCHSUFFIX}/pkgconfig/tk.pc lib/tk${BASEVER}/bgerror.tcl lib/tk${BASEVER}/button.tcl lib/tk${BASEVER}/choosedir.tcl @@ -224,7 +224,7 @@ lib/tk${BASEVER}/ttk/winTheme.tcl lib/tk${BASEVER}/ttk/xpTheme.tcl lib/tk${BASEVER}/unsupported.tcl lib/tk${BASEVER}/xmfbox.tcl -lib/tkConfig.sh +lib${LIBARCHSUFFIX}/tkConfig.sh man/man1/wish.1 man/man3/Tk_3DBorderColor.3 man/man3/Tk_3DBorderGC.3 diff --git a/x11/tk/buildlink3.mk b/x11/tk/buildlink3.mk index 8b4885dbaeeaf..d9fecfec94c37 100644 --- a/x11/tk/buildlink3.mk +++ b/x11/tk/buildlink3.mk @@ -17,7 +17,7 @@ BUILDLINK_FILES.tk+= bin/wish* BUILDLINK_TRANSFORM+= l:tk:tk86 BUILDLINK_TRANSFORM+= l:tk8.6:tk86 -TKCONFIG_SH?= ${BUILDLINK_PREFIX.tk}/lib/tkConfig.sh +TKCONFIG_SH?= ${BUILDLINK_PREFIX.tk}/lib${LIBARCHSUFFIX}/tkConfig.sh _TOOLS_USE_PKGSRC.wish= yes diff --git a/x11/tk/distinfo b/x11/tk/distinfo index 3beda52dc4153..edad759570100 100644 --- a/x11/tk/distinfo +++ b/x11/tk/distinfo @@ -4,5 +4,5 @@ SHA1 (tk8.6.8-src.tar.gz) = 7d674881bcfda5acb937bea084b10fe271463632 RMD160 (tk8.6.8-src.tar.gz) = 8a900988a01aa267e8c23681dfab926e36c1caa9 SHA512 (tk8.6.8-src.tar.gz) = d0d30637b733fb0b0d38461b6d872934c04af422fcdb7ec41a72331b2529cc94414e6f441f95a98642d69505e4f41469847fedd1cbe58bd08cdd818fcabd1db9 Size (tk8.6.8-src.tar.gz) = 4319854 bytes -SHA1 (patch-unix_Makefile.in) = a94df921cf947918674c6ef26897fc702fd0c9e4 +SHA1 (patch-unix_Makefile.in) = 81287db64499732a5114f369d1695d401bc0110a SHA1 (patch-unix_configure) = ddb550c4226425e1fcaa1fd2e3de5613a0b3c55c diff --git a/x11/tk/patches/patch-unix_Makefile.in b/x11/tk/patches/patch-unix_Makefile.in index 90d9f9019e455..31920c2f9c5cc 100644 --- a/x11/tk/patches/patch-unix_Makefile.in +++ b/x11/tk/patches/patch-unix_Makefile.in @@ -19,15 +19,15 @@ $NetBSD: patch-unix_Makefile.in,v 1.8 2017/08/25 11:05:33 adam Exp $ # Path to the private tk header dir: PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ -@@ -100,7 +103,7 @@ DEMO_INSTALL_DIR = $(INSTALL_ROOT)$(TK_L - # The directory containing the Tcl sources and headers appropriate - # for this version of Tk ("srcdir" will be replaced or has already - # been replaced by the configure script): --TCL_GENERIC_DIR = @TCL_SRC_DIR@/generic -+TCL_GENERIC_DIR = $(TCL_BIN_DIR)/../include/tcl/generic +@@ -120,7 +123,7 @@ + TK_PKG_DIR = @TK_PKG_DIR@ - # The directory containing the platform specific Tcl sources and headers - # appropriate for this version of Tk: + # Directory in which to install the pkgIndex.tcl file for loadable Tk +-PKG_INSTALL_DIR = $(LIB_INSTALL_DIR)/$(TK_PKG_DIR) ++PKG_INSTALL_DIR = $(INSTALL_ROOT)$(TK_LIBRARY) + + # Package index file for loadable Tk + PKG_INDEX = $(PKG_INSTALL_DIR)/pkgIndex.tcl @@ -137,7 +140,7 @@ CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ #CFLAGS = $(CFLAGS_DEBUG) #CFLAGS = $(CFLAGS_OPTIMIZE) diff --git a/x11/vte/Makefile b/x11/vte/Makefile index a1ecf84bc58d9..4bbf08addc505 100644 --- a/x11/vte/Makefile +++ b/x11/vte/Makefile @@ -13,6 +13,7 @@ LICENSE= gnu-lgpl-v2 USE_PKGLOCALEDIR= yes USE_LIBTOOL= yes +USE_MULTIARCH= lib GNU_CONFIGURE= yes USE_TOOLS+= gmake intltool msgfmt pkg-config diff --git a/x11/wxGTK28/Makefile.common b/x11/wxGTK28/Makefile.common index f7182842d2381..454577399024e 100644 --- a/x11/wxGTK28/Makefile.common +++ b/x11/wxGTK28/Makefile.common @@ -21,6 +21,7 @@ PATCH_DIST_STRIP.${DISTNAME}-libtool.diff.bz2= -p1 USE_TOOLS+= pkg-config msgfmt USE_LIBTOOL= yes USE_LANGUAGES= c c++ +USE_MULTIARCH= bin lib GNU_CONFIGURE= YES USE_GNU_CONFIGURE_HOST= no CONFIGURE_ARGS+= --with-gtk=2 diff --git a/x11/xcb-proto/Makefile b/x11/xcb-proto/Makefile index 8cd1cf688da6c..1d3169625bce4 100644 --- a/x11/xcb-proto/Makefile +++ b/x11/xcb-proto/Makefile @@ -13,6 +13,7 @@ LICENSE= mit # with no-advertising clause GNU_CONFIGURE= yes USE_TOOLS+= pkg-config USE_LANGUAGES= # none +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xcb-proto.pc.in diff --git a/x11/xcb-util/Makefile b/x11/xcb-util/Makefile index c1202da99ae4a..ce57fa84af993 100644 --- a/x11/xcb-util/Makefile +++ b/x11/xcb-util/Makefile @@ -12,6 +12,7 @@ COMMENT= XCB Utilities GNU_CONFIGURE= yes USE_TOOLS+= pkg-config gmake gm4 USE_LIBTOOL= yes +USE_MULTIARCH= lib PKGCONFIG_OVERRIDE+= xcb-util.pc.in PKGCONFIG_OVERRIDE+= xcb-atom.pc.in From 337ad9cecd7b21d10bf57a9be3264994b2eac797 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 14:01:21 +0100 Subject: [PATCH 063/141] Ignore files under PKGBUILD_BASEDIR for scanning. These update a lot but not in a way that will affect the scan results, and if that is the case then we remove old bulklogs anyway. --- mk/pbulk/pbulk-index.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/pbulk/pbulk-index.mk b/mk/pbulk/pbulk-index.mk index 6288fd53c4139..4d14bd5127a0d 100644 --- a/mk/pbulk/pbulk-index.mk +++ b/mk/pbulk/pbulk-index.mk @@ -117,7 +117,7 @@ pbulk-index-item: @echo "USE_DESTDIR="${_USE_DESTDIR:Q} @echo "BOOTSTRAP_PKG="${BOOTSTRAP_PKG} @echo "USERGROUP_PHASE="${USERGROUP_PHASE:Q} - @echo "SCAN_DEPENDS="${_PBULK_SCAN_DEPENDS:Q} + @echo "SCAN_DEPENDS="${_PBULK_SCAN_DEPENDS:N${PKGBUILD_BASEDIR:U/nonexistent}/*:Q} .if defined(_PBULK_MULTI_NEEDED) @printf "MULTI_VERSION=" .for _t in ${_PBULK_MULTI_NEEDED} From 768bff4a15fb09fec9597e5051a6adcee68ca40f Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 14:18:53 +0100 Subject: [PATCH 064/141] Support chrooted builds. This adds a chroot handling script and a few additional variables to pbulk.conf: - $chroot_create and $chroot_delete point to scripts which create and delete a sandbox respectively, each taking a path argument of the chroot location. - $chroot_dir is the base directory where chroots are created. - $build_chroots and $scan_chroots specify the number of build and scan chroots to create respectively. If the number of chroots is 1, they are named: ${chroot_dir}-build ${chroot_dir}-scan otherwise they are named i=1..N: ${chroot_dir}-build-${i} ${chroot_dir}-scan-${i} The chroot_dir variable isn't brilliantly named, but at this point is baked into too many of our pbulk branches to change. Currently users of this need to provide their own create/delete scripts, though hopefully at some point I'll provide sysutils/mksandbox wrappers as examples for getting started. --- pkgtools/pbulk/Makefile | 2 +- pkgtools/pbulk/PLIST | 1 + pkgtools/pbulk/files/pbulk/pbulk.conf | 18 ++++ pkgtools/pbulk/files/pbulk/scripts/Makefile | 2 +- pkgtools/pbulk/files/pbulk/scripts/build | 2 + .../files/pbulk/scripts/build-client-start | 8 +- pkgtools/pbulk/files/pbulk/scripts/chroot | 90 +++++++++++++++++++ .../pbulk/files/pbulk/scripts/client-prepare | 8 +- pkgtools/pbulk/files/pbulk/scripts/scan | 4 + .../files/pbulk/scripts/scan-client-start | 8 +- 10 files changed, 138 insertions(+), 5 deletions(-) create mode 100755 pkgtools/pbulk/files/pbulk/scripts/chroot diff --git a/pkgtools/pbulk/Makefile b/pkgtools/pbulk/Makefile index b5e35c7295da0..627f0788f154a 100644 --- a/pkgtools/pbulk/Makefile +++ b/pkgtools/pbulk/Makefile @@ -25,7 +25,7 @@ SUBST_STAGE.tools= pre-configure SUBST_MESSAGE.tools= Fixing references to tools SUBST_FILES.tools= pbulk.conf scripts/build scripts/build-client-start \ scripts/bulkbuild scripts/bulkbuild-rebuild scripts/bulkbuild-restart \ - scripts/client-clean scripts/client-prepare \ + scripts/chroot scripts/client-clean scripts/client-prepare \ scripts/pkg-build scripts/pkg-up-to-date scripts/pre-build \ scripts/report scripts/scan scripts/scan-client-start scripts/upload \ scripts/compute-packages.awk scripts/create-broken-graph.awk \ diff --git a/pkgtools/pbulk/PLIST b/pkgtools/pbulk/PLIST index 664954455847b..c4097b0f1a6ee 100644 --- a/pkgtools/pbulk/PLIST +++ b/pkgtools/pbulk/PLIST @@ -4,6 +4,7 @@ bin/bulkbuild-rebuild bin/bulkbuild-restart libexec/pbulk/build libexec/pbulk/build-client-start +libexec/pbulk/chroot libexec/pbulk/client-clean libexec/pbulk/client-prepare libexec/pbulk/compute-packages diff --git a/pkgtools/pbulk/files/pbulk/pbulk.conf b/pkgtools/pbulk/files/pbulk/pbulk.conf index ae4a4ce24fb5f..b9ce924878c20 100644 --- a/pkgtools/pbulk/files/pbulk/pbulk.conf +++ b/pkgtools/pbulk/files/pbulk/pbulk.conf @@ -26,6 +26,23 @@ build_clients="192.168.75.21 192.168.75.22 192.168.75.23 192.168.75.24" master_port_scan=${master_ip}:2001 master_port_build=${master_ip}:2002 +# Create chroots for each phase. This allows concurrent build/scan on the +# same host. chroot_create/chroot_delete are scripts which take a single +# argument which is the chroot directory to create/delete, and chroot_dir is +# used as the prefix for the name of the chroot directory. +# +# To use chroots on a single host, set master_mode=yes and leave both +# build_clients and scan_clients unset or empty. +# +#chroot_create=/path/to/mksandbox +#chroot_delete=/path/to/rmsandbox +#chroot_dir=/chroot/pkgsrc + +# To enable concurrent chroots, set build_chroots/scan_chroots > 1. +# +#build_chroots=4 +#scan_chroots=8 + # Some flags for the programs that publish the binary packages and the # build report. If you want to disable the publishing at all, see below. # @@ -118,6 +135,7 @@ keep_prefix=no client_prepare=@PREFIX@/libexec/pbulk/client-prepare client_prepare_action=@PREFIX@/libexec/pbulk/client-clean client_prepare_chroot=: +chroot_script=@PREFIX@/libexec/pbulk/chroot pkg_up_to_date_script=@PREFIX@/libexec/pbulk/pkg-up-to-date pbuild_script=@PREFIX@/libexec/pbulk/pkg-build pbuild_start_script=@PREFIX@/libexec/pbulk/build-client-start diff --git a/pkgtools/pbulk/files/pbulk/scripts/Makefile b/pkgtools/pbulk/files/pbulk/scripts/Makefile index 057e5b9455ec1..d904a6b9fb3ba 100644 --- a/pkgtools/pbulk/files/pbulk/scripts/Makefile +++ b/pkgtools/pbulk/files/pbulk/scripts/Makefile @@ -2,7 +2,7 @@ SCRIPTS= build build-client-start bulkbuild bulkbuild-rebuild \ bulkbuild-restart \ - client-clean client-prepare \ + chroot client-clean client-prepare \ pkg-build pkg-up-to-date pre-build report \ scan scan-client-start upload \ compute-packages.awk create-broken-graph.awk \ diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index 1ed9a70cb7222..94ad223740295 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -46,7 +46,9 @@ case "${master_mode}" in ${pbuild} -r ${loc}/pbuild -v -b ${pbuild_script} ${loc}/presolve ${loc}/success ${loc}/error ;; [yY][eE][sS]) + [ -n "${chroot_dir}" ] && ${chroot_script} build create ${chroot_dir} ${pbuild} -r ${loc}/pbuild -I ${pbuild_start_script} -m ${master_port_build} -v ${loc}/presolve ${loc}/success ${loc}/error + [ -n "${chroot_dir}" ] && ${chroot_script} build delete ${chroot_dir} ;; *) echo "master_mode must be either yes or no." diff --git a/pkgtools/pbulk/files/pbulk/scripts/build-client-start b/pkgtools/pbulk/files/pbulk/scripts/build-client-start index 770569482477b..c557044e95075 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build-client-start +++ b/pkgtools/pbulk/files/pbulk/scripts/build-client-start @@ -29,7 +29,13 @@ for client in ${build_clients}; do ;; esac if [ -z "$path" ]; then - ssh $port $client "${pbuild} -c ${master_port_build} -b ${pbuild_script}" & + if [ -n "${chroot_create}" -a "${chroot_dir}" ]; then + ssh $port $client "for dir in ${chroot_dir}-build*; do + PBULK_CONF=${PBULK_CONF} chroot \${dir} @SH@ -c \"${pbuild} -c ${master_port_build} -b ${pbuild_script}\" & + done" & + else + ssh $port $client "${pbuild} -c ${master_port_build} -b ${pbuild_script}" & + fi else chroot "$path" ${pbuild} -c ${master_port_build} -b ${pbuild_script} & fi diff --git a/pkgtools/pbulk/files/pbulk/scripts/chroot b/pkgtools/pbulk/files/pbulk/scripts/chroot new file mode 100755 index 0000000000000..8e1bbc7239838 --- /dev/null +++ b/pkgtools/pbulk/files/pbulk/scripts/chroot @@ -0,0 +1,90 @@ +#!@SH@ +# $NetBSD$ +# +# Script to manage creating/deleting chroots during the pbulk process +# +# Usage: chroot +# + +. ${PBULK_CONF:-@PBULK_CONFIG@} + +set -e + +if [ "${config_version}" != "@PBULK_CONFIG_VERSION@" ]; then + echo "Your configuration has version ${config_version}." + echo "This version of pbulk expects version @PBULK_CONFIG_VERSION@." + exit 1 +fi + +phase=$1; shift +operation=$1; shift +chroot_dir=$1; shift + +case "${phase}" in +build) + clients=${build_clients} + numchroots=${build_chroots} + ;; +scan) + clients=${scan_clients} + numchroots=${scan_chroots} + ;; +*) + echo "$0: Unexpected phase '${phase}'" >&2 + exit 1 + ;; +esac + +case "${operation}" in +create) + chroot_script=${chroot_create} + ;; +delete) + chroot_script=${chroot_delete} + ;; +*) + echo "$0: Unexpected operation '${operation}'" >&2 + exit 1 + ;; +esac + +if [ -z "${chroot_script}" ] || [ ! -x "${chroot_script}" ]; then + echo "$0: chroot_${operation} unset or not found/executable" >&2 + exit 1 +fi + +# Create chroots on remote clients +if [ -n "${clients}" ]; then + for client in ${clients}; do + if [ -n "${numchroots}" -a ${numchroots} -gt 1 ]; then + ssh $client " + i=1 + while true; do + ${chroot_script} ${chroot_dir}-${phase}-\${i} & + i=\`expr \$i + 1\` + if [ \$i -gt ${numchroots} ]; then + break + fi + done" & + else + ssh $client "${chroot_script} ${chroot_dir}-${phase}" & + fi + done +# Create local chroots +else + if [ -n "${numchroots}" -a ${numchroots} -gt 1 ]; then + i=1 + while true; do + ${chroot_script} ${chroot_dir}-${phase}-${i} & + i=`expr $i + 1` + if [ $i -gt ${numchroots} ]; then + break + fi + done + else + ${chroot_script} ${chroot_dir}-${phase} + fi +fi + +# Ensure all chroot operations are complete before continuing. +wait diff --git a/pkgtools/pbulk/files/pbulk/scripts/client-prepare b/pkgtools/pbulk/files/pbulk/scripts/client-prepare index 3123969969d15..af24ec30e52ba 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/client-prepare +++ b/pkgtools/pbulk/files/pbulk/scripts/client-prepare @@ -44,7 +44,13 @@ for client in ${unique_clients}; do ;; esac if [ -z "$path" ]; then - ssh $port $client "${client_prepare_action}" & + if [ -n "${chroot_create}" -a "${chroot_dir}" ]; then + ssh $port $client "for dir in ${chroot_dir}-scan*; do + PBULK_CONF=${PBULK_CONF} chroot \${dir} @SH@ -c \"${client_prepare_action}\" & + done" & + else + ssh $port $client "${client_prepare_action}" & + fi else clients_prepare_chroot "$path" & fi diff --git a/pkgtools/pbulk/files/pbulk/scripts/scan b/pkgtools/pbulk/files/pbulk/scripts/scan index 26c0109274754..6da566742bd61 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/scan +++ b/pkgtools/pbulk/files/pbulk/scripts/scan @@ -54,7 +54,9 @@ if [ -z "${limited_list}" ]; then ${pscan} -v -M ${make} ${extra_pscan_args} ${pkgsrc} ${loc}/pscan 2>> ${loc}/pscan.stderr ;; [yY][eE][sS]) + [ -n "${chroot_dir}" ] && ${chroot_script} scan create ${chroot_dir} ${pscan} -v -I ${pscan_start_script} -m ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc} ${loc}/pscan 2>> ${loc}/pscan.stderr + [ -n "${chroot_dir}" ] && ${chroot_script} scan delete ${chroot_dir} ;; *) echo "master_mode must be either yes or no." @@ -89,7 +91,9 @@ else ${pscan} -v -l -M ${make} ${pkgsrc} ${loc}/pscan < ${loc}/missing.s ;; [yY][eE][sS]) + [ -n "${chroot_dir}" ] && ${chroot_script} scan create ${chroot_dir} ${pscan} -v -l -I ${pscan_start_script} -m ${master_port_scan} -M ${make} ${pkgsrc} ${loc}/pscan < ${loc}/missing.s + [ -n "${chroot_dir}" ] && ${chroot_script} scan delete ${chroot_dir} ;; *) echo "master_mode must be either yes or no." diff --git a/pkgtools/pbulk/files/pbulk/scripts/scan-client-start b/pkgtools/pbulk/files/pbulk/scripts/scan-client-start index 158e71f31f582..bcf58077b986c 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/scan-client-start +++ b/pkgtools/pbulk/files/pbulk/scripts/scan-client-start @@ -37,7 +37,13 @@ for client in ${scan_clients}; do ;; esac if [ -z "$path" ]; then - ssh $port $client "${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}" & + if [ -n "${chroot_create}" -a "${chroot_dir}" ]; then + ssh $port $client "for dir in ${chroot_dir}-scan*; do + PBULK_CONF=${PBULK_CONF} chroot \${dir} @SH@ -c \"${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}\" & + done" & + else + ssh $port $client "PBULK_CONF=${PBULK_CONF} ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc}" & + fi else chroot "$path" ${pscan} -c ${master_port_scan} -M ${make} ${extra_pscan_args} ${pkgsrc} & fi From 2cf5db7f0993f98fe98016b0da46e8b0c1fd1cec Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 14:39:10 +0100 Subject: [PATCH 065/141] Support specifying pbulk.conf on the command line. This allows a single pbulk install to handle multiple builds easily without having to switch out the main pbulk.conf each time. --- pkgtools/pbulk/files/pbulk/scripts/build | 2 +- .../files/pbulk/scripts/build-client-start | 2 +- pkgtools/pbulk/files/pbulk/scripts/bulkbuild | 16 +++++++++++++++- .../files/pbulk/scripts/bulkbuild-rebuild | 18 ++++++++++++++++-- .../files/pbulk/scripts/bulkbuild-restart | 16 +++++++++++++++- .../pbulk/files/pbulk/scripts/client-clean | 2 +- .../pbulk/files/pbulk/scripts/client-prepare | 2 +- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 2 +- .../pbulk/files/pbulk/scripts/pkg-up-to-date | 2 +- pkgtools/pbulk/files/pbulk/scripts/pre-build | 2 +- pkgtools/pbulk/files/pbulk/scripts/report | 2 +- pkgtools/pbulk/files/pbulk/scripts/scan | 2 +- .../files/pbulk/scripts/scan-client-start | 2 +- pkgtools/pbulk/files/pbulk/scripts/upload | 2 +- 14 files changed, 57 insertions(+), 15 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index 94ad223740295..ff43ac777a3e1 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/build-client-start b/pkgtools/pbulk/files/pbulk/scripts/build-client-start index c557044e95075..493fc09abe427 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build-client-start +++ b/pkgtools/pbulk/files/pbulk/scripts/build-client-start @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: build-client-start,v 1.5 2016/12/18 22:59:35 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild index 4b0c233b76baa..b4ada70aab865 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild +++ b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild @@ -1,7 +1,21 @@ #!@SH@ # $NetBSD: bulkbuild,v 1.1.1.1 2007/06/19 19:49:59 joerg Exp $ -. @PBULK_CONFIG@ +if [ "$1" = "-h" ]; then + echo "usage: $0 [-h] []" + exit 2 +elif [ -f "$1" ]; then + case "$1" in + /*) + export PBULK_CONF="$1"; shift + ;; + *) + export PBULK_CONF="$(pwd)/$1"; shift + ;; + esac +fi + +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild index 33ac0f39eb149..cbfb18a972056 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild +++ b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-rebuild @@ -1,7 +1,21 @@ #!@SH@ # $NetBSD: bulkbuild-rebuild,v 1.3 2008/09/16 18:21:30 joerg Exp $ -. @PBULK_CONFIG@ +if [ "$1" = "-h" ]; then + echo "Usage: $0 [-h] [] package ..." + exit 2 +elif [ -f "$1" ]; then + case "$1" in + /*) + export PBULK_CONF="$1"; shift + ;; + *) + export PBULK_CONF="$(pwd)/$1"; shift + ;; + esac +fi + +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e @@ -33,7 +47,7 @@ build_pkg() { } if [ $# = 0 ]; then - echo "Usage: $0 package ..." + echo "Usage: $0 [-h] [] package ..." fi while [ $# != 0 ]; do diff --git a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart index 85424890db0b0..beb470502bb47 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart +++ b/pkgtools/pbulk/files/pbulk/scripts/bulkbuild-restart @@ -1,7 +1,21 @@ #!@SH@ # $NetBSD: bulkbuild-restart,v 1.4 2016/12/18 22:38:16 joerg Exp $ -. @PBULK_CONFIG@ +if [ "$1" = "-h" ]; then + echo "usage: $0 [-h] []" + exit 2 +elif [ -f "$1" ]; then + case "$1" in + /*) + export PBULK_CONF="$1"; shift + ;; + *) + export PBULK_CONF="$(pwd)/$1"; shift + ;; + esac +fi + +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/client-clean b/pkgtools/pbulk/files/pbulk/scripts/client-clean index e94312dc3be08..90048fc9eff4a 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/client-clean +++ b/pkgtools/pbulk/files/pbulk/scripts/client-clean @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: client-clean,v 1.9 2008/09/16 18:21:30 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/client-prepare b/pkgtools/pbulk/files/pbulk/scripts/client-prepare index af24ec30e52ba..e376a318f2a41 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/client-prepare +++ b/pkgtools/pbulk/files/pbulk/scripts/client-prepare @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: client-prepare,v 1.3 2016/12/18 22:59:35 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index f11d4c2e5da25..f64f77083fd87 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} if [ "${config_version}" != "@PBULK_CONFIG_VERSION@" ]; then echo "Your configuration has version ${config_version}." diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date b/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date index efbedaac766eb..c31110c9788cd 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/pre-build b/pkgtools/pbulk/files/pbulk/scripts/pre-build index a11f0fcb76b3a..ce46337c3942a 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pre-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pre-build @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/report b/pkgtools/pbulk/files/pbulk/scripts/report index e207018ae89f7..30ea3f0d40198 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/report +++ b/pkgtools/pbulk/files/pbulk/scripts/report @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/scan b/pkgtools/pbulk/files/pbulk/scripts/scan index 6da566742bd61..fe813d314f1f2 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/scan +++ b/pkgtools/pbulk/files/pbulk/scripts/scan @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/scan-client-start b/pkgtools/pbulk/files/pbulk/scripts/scan-client-start index bcf58077b986c..9b6acf75c43d5 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/scan-client-start +++ b/pkgtools/pbulk/files/pbulk/scripts/scan-client-start @@ -1,7 +1,7 @@ #!@SH@ # $NetBSD: scan-client-start,v 1.7 2016/12/18 22:59:35 joerg Exp $ -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 2a17168f83b14..7dbc8028c0dce 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -30,7 +30,7 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -. @PBULK_CONFIG@ +. ${PBULK_CONF:-@PBULK_CONFIG@} set -e From 9cf15afc8c52868f413519ab86250d24a04eb6df Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:06:56 +0100 Subject: [PATCH 066/141] Support USER_ADDITIONAL_PKGS. These are passed in as SUBDIR entries by the top-level Makefile. --- pkgtools/pbulk/files/pbulk/pscan/client.c | 24 +++++++++++++++++++++++ pkgtools/pbulk/files/pbulk/pscan/jobs.c | 10 ++++++++++ pkgtools/pbulk/files/pbulk/pscan/pscan.c | 11 +++++++++++ pkgtools/pbulk/files/pbulk/pscan/pscan.h | 1 + 4 files changed, 46 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/pscan/client.c b/pkgtools/pbulk/files/pbulk/pscan/client.c index 9f28c9cff5729..96e1af7e448c1 100644 --- a/pkgtools/pbulk/files/pbulk/pscan/client.c +++ b/pkgtools/pbulk/files/pbulk/pscan/client.c @@ -80,6 +80,30 @@ find_full_tree_client(int fd, const char *bmake_path) if (cat_len == 0) break; + /* + * Check for SUBDIR including a '/', if so then it has been + * passed via USER_ADDITIONAL_PKGS from the top-level Makefile, + * and should be added as a package path directly. + */ + if (memchr(cat, '/', cat_len) != NULL) { + if (len_pkgs == allocated_pkgs) { + if (allocated_pkgs == 0) { + allocated_pkgs = 1024; + pkgs = xmalloc(sizeof(*pkgs) * + allocated_pkgs); + } else { + allocated_pkgs *= 2; + pkgs = xrealloc(pkgs, + sizeof(*pkgs) * allocated_pkgs); + } + } + pkgs[len_pkgs] = xasprintf("%.*s", (int)cat_len, cat); + len_pkgs_data += strlen(pkgs[len_pkgs]) + 1; + ++len_pkgs; + cat += cat_len; + continue; + } + cat_path = xasprintf("%s/%.*s", pkgsrc_tree, (int)cat_len, cat); buf_orig = buf = read_from_child(cat_path, bmake_path, extract_subdir); free(cat_path); diff --git a/pkgtools/pbulk/files/pbulk/pscan/jobs.c b/pkgtools/pbulk/files/pbulk/pscan/jobs.c index fa6284e6ead43..fabce61034d75 100644 --- a/pkgtools/pbulk/files/pbulk/pscan/jobs.c +++ b/pkgtools/pbulk/files/pbulk/pscan/jobs.c @@ -278,6 +278,16 @@ add_job(const char *cat, size_t cat_len, const char *dir, size_t dir_len) free(location); } +void +add_job_pkgpath(const char *pkgpath, size_t pkgpath_len) +{ + char *location; + + location = xasprintf("%.*s", (int)pkgpath_len, pkgpath); + add_job_full(location); + free(location); +} + void add_job_full(const char *location) { diff --git a/pkgtools/pbulk/files/pbulk/pscan/pscan.c b/pkgtools/pbulk/files/pbulk/pscan/pscan.c index 191fb637e9409..52e3baddab932 100644 --- a/pkgtools/pbulk/files/pbulk/pscan/pscan.c +++ b/pkgtools/pbulk/files/pbulk/pscan/pscan.c @@ -225,6 +225,17 @@ find_full_tree(void) if (cat_len == 0) break; + /* + * Check for SUBDIR including a '/', if so then it has been + * passed via USER_ADDITIONAL_PKGS from the top-level Makefile, + * and should be added as a package path directly. + */ + if (memchr(cat, '/', cat_len) != NULL) { + add_job_pkgpath(cat, cat_len); + cat += cat_len; + continue; + } + cat_path = xasprintf("%s/%.*s", pkgsrc_tree, (int)cat_len, cat); buf_orig = buf = read_from_child(cat_path, bmake_path, extract_subdir); free(cat_path); diff --git a/pkgtools/pbulk/files/pbulk/pscan/pscan.h b/pkgtools/pbulk/files/pbulk/pscan/pscan.h index dd6f2156da28f..da4f7e50f458b 100644 --- a/pkgtools/pbulk/files/pbulk/pscan/pscan.h +++ b/pkgtools/pbulk/files/pbulk/pscan/pscan.h @@ -56,6 +56,7 @@ void client_mode(const char *, const char *); void master_mode(const char *, const char *); void add_job(const char *, size_t, const char *, size_t); +void add_job_pkgpath(const char *, size_t); void add_job_full(const char *); struct scan_job *get_job(void); void process_job(struct scan_job *, enum job_state); From 0233d4fac9474140c85a524d916016f35dfbd2dd Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:31:12 +0100 Subject: [PATCH 067/141] Support optional $client_clean_local script. This allows local customisations to the client-clean script, for example our OSX /tmp ramdisk cleanup: https://github.com/joyent/pkgbuild/blob/master/scripts/client-clean-osx which is necessary to keep the ramdisk usage pruned. --- pkgtools/pbulk/files/pbulk/pbulk.conf | 4 ++++ pkgtools/pbulk/files/pbulk/scripts/client-clean | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/pbulk.conf b/pkgtools/pbulk/files/pbulk/pbulk.conf index b9ce924878c20..445c0b02d7fbf 100644 --- a/pkgtools/pbulk/files/pbulk/pbulk.conf +++ b/pkgtools/pbulk/files/pbulk/pbulk.conf @@ -159,3 +159,7 @@ sync_buildlog=: sync_package=default_sync_package # PKG_SUFX as set in mk.conf pkg_sufx=.tgz + +# Optional local override scripts. +# +#client_clean_local=/client_clean_local diff --git a/pkgtools/pbulk/files/pbulk/scripts/client-clean b/pkgtools/pbulk/files/pbulk/scripts/client-clean index 90048fc9eff4a..235c205c63cb8 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/client-clean +++ b/pkgtools/pbulk/files/pbulk/scripts/client-clean @@ -23,6 +23,11 @@ rm -rf ${cur_destdir}${varbase}/qmail 2> /dev/null || true # Note: It is not an error if ${prefix} still exists at this point, # because it might be a mount point. +# Source optional cleanup script +if [ -f "${client_clean_local}" ]; then + . ${client_clean_local} +fi + # Install fresh bootstrap state if [ -f "${bootstrapkit}" ]; then ${tar} -xzf ${bootstrapkit} -C ${cur_destdir}/ From 0991683aec1252bcc24ea42810cb6823cba5e331 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:34:27 +0100 Subject: [PATCH 068/141] Don't recursively mark packages as restricted. This is useful when e.g. using Oracle Java which cannot be redistributed. It should still be possible to install packages which depend upon it after the user has installed the restricted package manually first. --- pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk b/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk index d9de4becb89c8..63bf9dfe812cf 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk @@ -59,7 +59,7 @@ BEGIN { status[cur] = substr($0, 14) if ($0 ~ "^NO_BIN_ON_FTP=.") - initial_restricted[cur] = 1 + restricted[cur] = 1 if ($0 ~ "^DEPENDS=") depends[cur] = substr($0, 9) From c8020b63236a7c5b5fa3e210fd2a5568daab0dbe Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:40:46 +0100 Subject: [PATCH 069/141] Increase maximum top broken package count to 25. --- pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk | 2 +- pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk b/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk index 460b140ce8d5e..62fe863b3d03c 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk @@ -310,7 +310,7 @@ BEGIN { print " " > html_report print " " > html_report - for (i = 0; i < 10 && sorted_top_count[i] != ""; ++i) { + for (i = 0; i < 25 && sorted_top_count[i] != ""; ++i) { pkg = top_count[sorted_top_count[i]] print_failed(pkg) } diff --git a/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk b/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk index fccc1b20ca093..465ccb12b0bea 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk @@ -153,7 +153,7 @@ BEGIN { print "" > txt_report print "Package Breaks Maintainer" > txt_report print "-------------------------------------------------------------------------" > txt_report - for (i = 0; i < 10 && sorted_top_count[i] != ""; ++i) { + for (i = 0; i < 25 && sorted_top_count[i] != ""; ++i) { loc = top_count[sorted_top_count[i]] printf "%- 37s % 6d %s\n", loc, broken_location[loc], maintainer[pkg_location[loc]] > txt_report From 0484df9416eb43a76daae97771d87eca2fe09cde Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:42:57 +0100 Subject: [PATCH 070/141] Replace hardcoded ".tgz" with $pkg_sufx --- pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk | 3 ++- pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date | 4 ++-- pkgtools/pbulk/files/pbulk/scripts/upload | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk b/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk index 63bf9dfe812cf..deb5dba744cef 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk @@ -43,6 +43,7 @@ function mark_restricted(PKG, dep, depend_list) { BEGIN { meta_dir = ARGV[1] + pkg_sufx = ARGV[2] success_file = meta_dir "/success" presolve_file = meta_dir "/presolve" @@ -90,7 +91,7 @@ BEGIN { print "+ " cat "/" printed_cats[cat] = cat } - print "+ " cat "/" pkg ".tgz" + print "+ " cat "/" pkg pkg_sufx } } close(success_file) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date b/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date index c31110c9788cd..33aa81ea4789f 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-up-to-date @@ -40,7 +40,7 @@ if [ "${config_version}" != "@PBULK_CONFIG_VERSION@" ]; then exit 1 fi -pkg="${packages}/All/$1.tgz" +pkg="${packages}/All/${1}${pkg_sufx}" [ -f ${pkg} ] ${pkg_info} -qb ${pkg} | sed 's/:/ /' | while read file file_id; do @@ -71,7 +71,7 @@ ${pkg_info} -qN ${pkg} | while read dep; do [Yy][Ee][Ss]) ;; *) - [ "${packages}/All/${dep}.tgz" -ot "${pkg}" ] + [ "${packages}/All/${dep}${pkg_sufx}" -ot "${pkg}" ] ;; esac done diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 7dbc8028c0dce..5131a9d386aa3 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -48,6 +48,6 @@ cd ${packages} echo "+ SHA512.bz2" echo "+ All/pkg_summary.bz2" echo "+ All/pkg_summary.gz" - ${packages_script} ${loc} + ${packages_script} ${loc} ${pkg_sufx} echo "- *" } | LC_ALL=C sort | ${rsync} --exclude-from=- ${pkg_rsync_args} . ${pkg_rsync_target} From aff5e2a5d609714186e1f6f5deab2369f8eaa2f0 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:49:58 +0100 Subject: [PATCH 071/141] Move OS variable generation to the first build. There's no guarantee that the pbulk master is running the same OS version that the pbulk clients are. --- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 32 +++++++++++++++++++ pkgtools/pbulk/files/pbulk/scripts/pre-build | 33 ++------------------ 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index f64f77083fd87..dddf132c2812e 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -135,6 +135,38 @@ if [ `@ID@ -u` -ne 0 ]; then run_install=run_direct fi +# Attempt to move the pre-build status file into place. If we're successful +# we are the first build and we can now log the remaining details. +ret=`mv ${loc}/status.pre-build ${loc}/status 2>/dev/null; echo $?` +if [ ${ret} -eq 0 ]; then + @PREFIX@/libexec/pbulk/client-clean + opsys=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OPSYS` + opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VERSION` + # Check if it is an OS with variants where we would rather use the + # variant name and version rather than common name and version + case "$opsys" in + SunOS | Cygwin | SCO_SV) + opvar=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VARIANT` + case "$opsys" in + Cygwin | SCO_SV) + opsys=$opvar + ;; + SunOS) + if [ -n "$opvar" ]; then + opsys=$opvar + opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=LOWER_VARIANT_VERSION` + fi + ;; + esac + ;; + esac + platform=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=MACHINE_ARCH` + compiler=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=PKGSRC_COMPILER` + + echo "COMPILER=${compiler}" >> ${loc}/status + echo "PLATFORM=${opsys} ${opver}/${platform}" >> ${loc}/status +fi + ${pkg_up_to_date_script} ${pkgname} ${dependencies} && exit 0 set -e diff --git a/pkgtools/pbulk/files/pbulk/scripts/pre-build b/pkgtools/pbulk/files/pbulk/scripts/pre-build index ce46337c3942a..1113676e8fce0 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pre-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pre-build @@ -86,34 +86,7 @@ mkdir -p "${bulklog}" "${loc}" @PREFIX@/libexec/pbulk/client-clean -# Log common settings... -opsys=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OPSYS` -opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VERSION` -# Check if it is an OS with variants where we would rather use the -# variant name and version rather than common name and version -case "$opsys" in - SunOS | Cygwin | SCO_SV) - opvar=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=OS_VARIANT` - case "$opsys" in - Cygwin | SCO_SV) - opsys=$opvar - ;; - SunOS) - if [ -n "$opvar" ]; then - opsys=$opvar - opver=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=LOWER_VARIANT_VERSION` - fi - ;; - esac - ;; -esac - -platform=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=MACHINE_ARCH` -compiler=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=PKGSRC_COMPILER` - -echo "PLATFORM=${opsys} ${opver}/${platform}" > ${loc}/status -echo "COMPILER=${compiler}" >> ${loc}/status - +# Start status file, it will be moved into place by the first build. date '+%Y-%m-%d %H:%M|%Y%m%d.%H%M' | sed 's/^\(.*\)|\(.*\)$/BUILD_START_ISO=\1\ -BUILD_START_DIR=\2/' >> ${loc}/status -echo "BASE_URL=${base_url}" >> ${loc}/status +BUILD_START_DIR=\2/' > ${loc}/status.pre-build +echo "BASE_URL=${base_url}" >> ${loc}/status.pre-build From d1f659728825a75eb8857a24da9cd65287e1860e Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:54:31 +0100 Subject: [PATCH 072/141] Ensure each build starts with clean passwd files. Skipped on Darwin as it has a centralised OpenDirectory database, however finding a way to do this on Darwin would be greatly beneficial. --- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index dddf132c2812e..1aa8af2630248 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -169,6 +169,17 @@ fi ${pkg_up_to_date_script} ${pkgname} ${dependencies} && exit 0 +# Ensure we start with a clean passwd/group. +if [ `uname` != "Darwin" ]; then + for file in group passwd shadow user_attr; do + if [ -f ${loc}/${file} ]; then + cp -p ${loc}/${file} /etc/${file} + elif [ -f /etc/${file} ]; then + cp -p /etc/${file} ${loc}/${file} + fi + done +fi + set -e @PREFIX@/libexec/pbulk/client-clean From 9a1255fddbc277c5fe7bfe1cd2f0d3a3610f1af2 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 16:56:17 +0100 Subject: [PATCH 073/141] Support uploading reports to Manta. Assumes pbulk.conf is populated with the appropriate variables and that nodejs and the 'manta' npm package is installed under $MANTA_PATH. --- pkgtools/pbulk/files/pbulk/scripts/report | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/report b/pkgtools/pbulk/files/pbulk/scripts/report index 30ea3f0d40198..9061b0a253a8e 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/report +++ b/pkgtools/pbulk/files/pbulk/scripts/report @@ -107,4 +107,19 @@ echo "Uploading report..." [ -f "$file" ] && echo "+ $file" done echo "- *" -} | ${rsync} --exclude-from=- ${report_rsync_args} . ${report_rsync_target}/${build_start_dir} +} | { + if [ -n "${report_manta_target}" ]; then + # Variables sourced from pbulk.conf + export MANTA_USER MANTA_KEY_ID MANTA_URL MANTA_SUBUSER + PATH=${MANTA_PATH}:${PATH} + # Output directory only needs to not exist or be empty. + tmpdir="${bulklog}/pbulk-rsync-dir" + tmptar="${bulklog}/pbulk-rsync.tar" + rm -rf ${tmpdir} ${tmptar} + ${rsync} -rn --exclude-from=- --out-format='%n' . ${tmpdir} \ + | grep -v '/$' | @TAR@ -cf ${tmptar} -T - + muntar -f ${tmptar} ${report_manta_target}/${build_start_dir} + else + ${rsync} --exclude-from=- ${report_rsync_args} . ${report_rsync_target}/${build_start_dir} + fi +} From d9c7906de01ea4d158aa35e44ed01080e33079a1 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 17:00:23 +0100 Subject: [PATCH 074/141] Generate checksum and pkginfo at package build time. This saves a decent amount of time at the end of a pbulk run (around 20 minutes) by avoiding a single-threaded operation to generate them. XXX: not currently handled by custom $sync_package scripts --- pkgtools/pbulk/files/pbulk/scripts/build | 10 +++++----- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index ff43ac777a3e1..48048236b4863 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -60,7 +60,7 @@ date '+BUILD_END_ISO=%Y-%m-%d %H:%M' >> ${loc}/status echo "Building pkg_summary..." cd ${packages}/All -sed 's/$/.tgz/' < ${loc}/success | sort | xargs ${pkg_info} -X | ${gzip} -c > pkg_summary.gz +sed -e 's,^,../pkginfo/,' -e 's/$/.pkginfo/' < ${loc}/success | sort | xargs cat 2>/dev/null | ${gzip} -c > pkg_summary.gz ${gzip} -dc < pkg_summary.gz | ${bzip2} -c > pkg_summary.bz2 if [ "${checksum_packages}" != "no" ] && \ @@ -68,8 +68,8 @@ if [ "${checksum_packages}" != "no" ] && \ echo "Building SHA512..." cd ${packages} { - echo "All/pkg_summary.bz2" - echo "All/pkg_summary.gz" - sed 's|^\(.*\)$|All/\1.tgz|' < ${loc}/success - } | sort | xargs ${digest} SHA512 | ${bzip2} -c > SHA512.bz2 + ${digest} SHA512 All/pkg_summary.bz2 + ${digest} SHA512 All/pkg_summary.gz + sed -e 's,^,checksums/,' -e 's/$/.sha512/' < ${loc}/success | xargs cat 2>/dev/null + } | sort | ${bzip2} -c > SHA512.bz2 fi diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index 1aa8af2630248..43720cfd06196 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -113,6 +113,10 @@ while read build_info_line; do ;; USERGROUP_PHASE=*) usergroup_phase=${build_info_line#USERGROUP_PHASE=} + ;; + NO_BIN_ON_FTP=*) + restricted=${build_info_line#NO_BIN_ON_FTP=} + ;; esac done @@ -262,5 +266,19 @@ ${sync_package} ${pkgfile} ${pkgname} "${categories}" || cleanup # Clean build area ${make} clean > ${bulklog}/${pkgname}/clean.log 2>&1 || true +# Save a SHA512 sum of the package (if not restricted), saves doing all of +# them single-threaded at the end of a bulk build and avoids re-computing for +# packages we have already built. +if [ -z "${restricted}" ]; then + mkdir -p ${packages}/checksums ${packages}/pkginfo + ( + cd ${packages} + ${digest} SHA512 All/${pkgname}${pkg_sufx} \ + > ${packages}/checksums/${pkgname}.sha512 || cleanup + ${pkg_info} -X All/${pkgname}${pkg_sufx} \ + > ${packages}/pkginfo/${pkgname}.pkginfo || cleanup + ) +fi + # Cleanup build logs on success rm -R ${bulklog}/${pkgname} From b4ee4fbdab2771d0c64730bf8e7b46bc4481b1d5 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 17:10:12 +0100 Subject: [PATCH 075/141] Save package build time for performance analysis. --- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index 43720cfd06196..2032a971049c3 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -43,7 +43,15 @@ default_sync_package() { cp "$1" "${packages}/All/${pkgname}${pkg_sufx}" } +logpkgtime() { + stop_time=`date '+%s'` + build_time=`expr ${stop_time} - ${start_time}` + mkdir -p ${packages}/pkgtimes + echo "${build_time}" >${packages}/pkgtimes/${pkgname}.pkgtime +} + cleanup() { + logpkgtime if [ "$keep_wrkdir" = yes ]; then ${make} pbulk-save-wrkdir INTO=${bulklog}/${pkgname}/wrkdir.tar.gz TAR="${tar}" fi @@ -220,6 +228,9 @@ else cur_pkgdb="${pkgdb}" fi +# Save package start time +start_time=`date '+%s'` + # Go to target directory cd ${pkgsrc}/${pkgdir} # Clean build area, just in case @@ -266,6 +277,9 @@ ${sync_package} ${pkgfile} ${pkgname} "${categories}" || cleanup # Clean build area ${make} clean > ${bulklog}/${pkgname}/clean.log 2>&1 || true +# Save build runtime +logpkgtime + # Save a SHA512 sum of the package (if not restricted), saves doing all of # them single-threaded at the end of a bulk build and avoids re-computing for # packages we have already built. From b3a42be8a4c1aa7747569c4dee5c97cfe21d9218 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 17:12:22 +0100 Subject: [PATCH 076/141] Add support for $local_bulklog This is a directory where the bulklog files are written to temporarily before either being moved to $bulklog at the end of a failed build or removed. This avoids failures when writing to an NFS-backed $bulklog (seen most commonly with 'gmake: write error'), and also improves performance. --- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 52 +++++++++++++------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index 2032a971049c3..7208dccd9be24 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -52,6 +52,10 @@ logpkgtime() { cleanup() { logpkgtime + if [ -n "${local_bulklog}" ]; then + mkdir -p ${bulklog} + mv ${logpkgdir} ${bulklog}/${pkgname} + fi if [ "$keep_wrkdir" = yes ]; then ${make} pbulk-save-wrkdir INTO=${bulklog}/${pkgname}/wrkdir.tar.gz TAR="${tar}" fi @@ -79,7 +83,7 @@ run_make() { BATCH=1 \ DEPENDS_TARGET=/nonexistent \ ${MAKE_FLAGS} \ - WRKLOG=${bulklog}/${pkgname}/work.log + WRKLOG=${logpkgdir}/work.log } run_usergroup() { @@ -133,6 +137,15 @@ if [ "$use_unprivileged_checksum" != "no" ]; then else run_checksum=run_direct fi + +# Sometimes writing logs to NFS can cause issues, support writing to a local +# bulklog directory before moving to NFS at the end. +if [ -n "${local_bulklog}" ]; then + logpkgdir="${local_bulklog}/${pkgname}" +else + logpkgdir="${bulklog}/${pkgname}" +fi + if [ "$use_destdir" = user-destdir ]; then run_build=run_su run_install=run_su @@ -197,11 +210,12 @@ set -e @PREFIX@/libexec/pbulk/client-clean # Create the output directory and clean it up -mkdir -p ${bulklog}/${pkgname} -rm -f ${bulklog}/${pkgname}/* +rm -rf ${bulklog}/${pkgname} +mkdir -p ${logpkgdir} +rm -f ${logpkgdir}/* -touch ${bulklog}/${pkgname}/work.log -@CHOWN@ ${unprivileged_user} ${bulklog}/${pkgname}/work.log +touch ${logpkgdir}/work.log +@CHOWN@ ${unprivileged_user} ${logpkgdir}/work.log pkg_add_normal() { PKG_PATH=${packages}/All ${pkg_add} -K ${cur_pkgdb} "$@" @@ -234,20 +248,20 @@ start_time=`date '+%s'` # Go to target directory cd ${pkgsrc}/${pkgdir} # Clean build area, just in case -${make} clean > ${bulklog}/${pkgname}/pre-clean.log 2>&1 +${make} clean > ${logpkgdir}/pre-clean.log 2>&1 || cleanup # Install all dependencies the package said it would need if [ ! -z "$dependencies" ]; then - ${pkg_add_cmd} $dependencies > ${bulklog}/${pkgname}/depends.log 2>&1 || cleanup + ${pkg_add_cmd} $dependencies > ${logpkgdir}/depends.log 2>&1 || cleanup fi # Build package, create a separate log file for each major phase -run_make ${run_checksum} checksum > ${bulklog}/${pkgname}/checksum.log 2>&1 || cleanup -run_usergroup configure > ${bulklog}/${pkgname}/configure.log 2>&1 || cleanup -run_make ${run_build} configure >> ${bulklog}/${pkgname}/configure.log 2>&1 || cleanup -run_usergroup build> ${bulklog}/${pkgname}/build.log 2>&1 || cleanup -run_make ${run_build} all >> ${bulklog}/${pkgname}/build.log 2>&1 || cleanup -run_usergroup install > ${bulklog}/${pkgname}/install.log 2>&1 || cleanup -run_make ${run_install} stage-install >> ${bulklog}/${pkgname}/install.log 2>&1 || cleanup -run_make run_direct stage-package-create > ${bulklog}/${pkgname}/package.log 2>&1 || cleanup +run_make ${run_checksum} checksum > ${logpkgdir}/checksum.log 2>&1 || cleanup +run_usergroup configure > ${logpkgdir}/configure.log 2>&1 || cleanup +run_make ${run_build} configure >> ${logpkgdir}/configure.log 2>&1 || cleanup +run_usergroup build> ${logpkgdir}/build.log 2>&1 || cleanup +run_make ${run_build} all >> ${logpkgdir}/build.log 2>&1 || cleanup +run_usergroup install > ${logpkgdir}/install.log 2>&1 || cleanup +run_make ${run_install} stage-install >> ${logpkgdir}/install.log 2>&1 || cleanup +run_make run_direct stage-package-create > ${logpkgdir}/package.log 2>&1 || cleanup pkgfile=$(run_make run_direct show-var VARNAME=STAGE_PKGFILE) @@ -255,7 +269,7 @@ pkgfile=$(run_make run_direct show-var VARNAME=STAGE_PKGFILE) # potential bootstrap packages as they might already be installed. if [ -z "${is_bootstrap}" ]; then if ! ${pkg_add_cmd} ${pkgfile} \ - >> ${bulklog}/${pkgname}/package.log 2>&1; then + >> ${logpkgdir}/package.log 2>&1; then cleanup fi fi @@ -265,7 +279,7 @@ fi # part of the bootstrap, those have the preserve flag set. if [ "$cross_compile" = "no" ] && \ [ -z "${is_bootstrap}" ]; then - ${pkg_delete} -K ${cur_pkgdb} ${pkgname} > ${bulklog}/${pkgname}/deinstall.log 2>&1 || cleanup + ${pkg_delete} -K ${cur_pkgdb} ${pkgname} > ${logpkgdir}/deinstall.log 2>&1 || cleanup fi # Comment the following out if you want to test all deinstall scripts. @@ -275,7 +289,7 @@ fi ${sync_package} ${pkgfile} ${pkgname} "${categories}" || cleanup # Clean build area -${make} clean > ${bulklog}/${pkgname}/clean.log 2>&1 || true +${make} clean > ${logpkgdir}/clean.log 2>&1 || cleanup # Save build runtime logpkgtime @@ -295,4 +309,4 @@ if [ -z "${restricted}" ]; then fi # Cleanup build logs on success -rm -R ${bulklog}/${pkgname} +rm -R ${logpkgdir} From f4da1964c85df50d8bcd9019f388b23d424eac6e Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 17:14:31 +0100 Subject: [PATCH 077/141] Enable pkg-build script logging. --- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index 7208dccd9be24..efa9ad4d1e360 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -214,6 +214,11 @@ rm -rf ${bulklog}/${pkgname} mkdir -p ${logpkgdir} rm -f ${logpkgdir}/* +# Ensure we log any failures from this script itself, otherwise it is very +# difficult to debug. +exec >${logpkgdir}/pkg-build.log 2>&1 +set -x + touch ${logpkgdir}/work.log @CHOWN@ ${unprivileged_user} ${logpkgdir}/work.log From 833bf23a13ef94e34dfbff427cf9c862e9a722d9 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 16 Oct 2015 18:04:58 +0100 Subject: [PATCH 078/141] Pull in xz for pkg_summary and the machine report. --- pkgtools/pbulk/Makefile | 4 ++-- pkgtools/pbulk/files/pbulk/pbulk.conf | 1 + pkgtools/pbulk/files/pbulk/scripts/build | 2 ++ pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk | 2 +- pkgtools/pbulk/files/pbulk/scripts/report | 4 ++-- pkgtools/pbulk/files/pbulk/scripts/upload | 1 + 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgtools/pbulk/Makefile b/pkgtools/pbulk/Makefile index 627f0788f154a..b0b4062517326 100644 --- a/pkgtools/pbulk/Makefile +++ b/pkgtools/pbulk/Makefile @@ -6,7 +6,7 @@ COMMENT= Modular bulk build framework .include "../../pkgtools/pbulk/Makefile.common" USE_TOOLS+= awk:run bzip2:run digest:run gzip:run make:run \ - mail:run sed:run tar:run + mail:run sed:run tar:run xz:run DEPENDS+= rsync-[0-9]*:../../net/rsync DEPENDS+= pbulk-base>=0.38:../../pkgtools/pbulk-base @@ -34,7 +34,7 @@ SUBST_FILES.tools= pbulk.conf scripts/build scripts/build-client-start \ SUBST_VARS.tools= AWK BZIP2 CHOWN DIGEST GZIP_CMD ID MAIL_CMD NEATO \ PBULK_CONFIG PBULK_CONFIG_VERSION PKG_ADD_CMD \ PKG_DELETE_CMD PKG_INFO_CMD PREFIX SED SH TAR \ - TARGET_MAKE + TARGET_MAKE XZ CONF_FILES+= share/examples/pbulk/pbulk.conf ${PKG_SYSCONFDIR}/pbulk.conf diff --git a/pkgtools/pbulk/files/pbulk/pbulk.conf b/pkgtools/pbulk/files/pbulk/pbulk.conf index 445c0b02d7fbf..d35d0b1da5aeb 100644 --- a/pkgtools/pbulk/files/pbulk/pbulk.conf +++ b/pkgtools/pbulk/files/pbulk/pbulk.conf @@ -118,6 +118,7 @@ neato=@NEATO@ rsync=@PREFIX@/bin/rsync sed=@SED@ tar=@TAR@ +xz=@XZ@ loc=${bulklog}/meta diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index 48048236b4863..165299e15ba7c 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -62,6 +62,7 @@ echo "Building pkg_summary..." cd ${packages}/All sed -e 's,^,../pkginfo/,' -e 's/$/.pkginfo/' < ${loc}/success | sort | xargs cat 2>/dev/null | ${gzip} -c > pkg_summary.gz ${gzip} -dc < pkg_summary.gz | ${bzip2} -c > pkg_summary.bz2 +${gzip} -dc < pkg_summary.gz | ${xz} -zc > pkg_summary.xz if [ "${checksum_packages}" != "no" ] && \ [ "${checksum_packages}" != "NO" ]; then @@ -70,6 +71,7 @@ if [ "${checksum_packages}" != "no" ] && \ { ${digest} SHA512 All/pkg_summary.bz2 ${digest} SHA512 All/pkg_summary.gz + ${digest} SHA512 All/pkg_summary.xz sed -e 's,^,checksums/,' -e 's/$/.sha512/' < ${loc}/success | xargs cat 2>/dev/null } | sort | ${bzip2} -c > SHA512.bz2 fi diff --git a/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk b/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk index 465ccb12b0bea..5e2e48775aab6 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk @@ -129,7 +129,7 @@ BEGIN { print "" > txt_report report_base_url = pkgsrc_base_url "/" pkgsrc_build_start_dir print "Full report: " report_base_url "/meta/report.html" > txt_report - print "Machine readable version: " report_base_url "/meta/report.bz2" > txt_report + print "Machine readable version: " report_base_url "/meta/report.xz" > txt_report print "" > txt_report all_pkgs = pkgs_done + pkgs_failed + pkgs_prefailed + pkgs_indirect_failed + pkgs_indirect_prefailed printf "Total number of packages: %5d\n", all_pkgs > txt_report diff --git a/pkgtools/pbulk/files/pbulk/scripts/report b/pkgtools/pbulk/files/pbulk/scripts/report index 9061b0a253a8e..498c3135a9201 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/report +++ b/pkgtools/pbulk/files/pbulk/scripts/report @@ -42,7 +42,7 @@ fi echo "Build reports..." ${report_script} ${loc} -${bzip2} -zc ${loc}/report > ${loc}/report.bz2 +${xz} -zc ${loc}/report > ${loc}/report.xz ${report_html_script} ${loc} ${bulklog} ${report_txt_script} ${loc} @@ -79,11 +79,11 @@ cat ${loc}/report.txt | ${mail} -s "${report_subject_prefix} ${platform} ${build cd ${bulklog} echo "Uploading report..." { - echo "meta/report.bz2" echo "meta/report.txt" echo "meta/report.html" echo "meta/report.dot" echo "meta/report.svg" + echo "meta/report.xz" echo "meta/status" while read pkg; do echo "${pkg}/pre-clean.log" diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 5131a9d386aa3..9a433214392be 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -48,6 +48,7 @@ cd ${packages} echo "+ SHA512.bz2" echo "+ All/pkg_summary.bz2" echo "+ All/pkg_summary.gz" + echo "+ All/pkg_summary.xz" ${packages_script} ${loc} ${pkg_sufx} echo "- *" } | LC_ALL=C sort | ${rsync} --exclude-from=- ${pkg_rsync_args} . ${pkg_rsync_target} From 8c3a60498fb136b7ba9ee15a2a11e593b82358fd Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 12 Nov 2015 15:28:35 +0000 Subject: [PATCH 079/141] Add support for $script_phase_pre_upload. This is set to a script that is executed by the upload script prior to starting the actual upload, and is useful for performing any sanity checks on what is about to be uploaded. Add variables used by Joyent to ensure a certain number of packages built ($pkg_rsync_min) and that a list of core packages all built successfully ($pkg_rsync_required_pkgs) to the example config. --- pkgtools/pbulk/files/pbulk/pbulk.conf | 11 +++++++++++ pkgtools/pbulk/files/pbulk/scripts/upload | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/pbulk.conf b/pkgtools/pbulk/files/pbulk/pbulk.conf index d35d0b1da5aeb..b500af26a6225 100644 --- a/pkgtools/pbulk/files/pbulk/pbulk.conf +++ b/pkgtools/pbulk/files/pbulk/pbulk.conf @@ -53,6 +53,15 @@ report_rsync_target="pkgsrc@192.168.75.1:/public/reports/current/DragonFly-1.8" report_subject_prefix="pkgsrc" report_recipients="pkgsrc-bulk@netbsd.org" +# Example variables used by an optional pre-upload script to ensure certain +# criteria are met before publishing. +# +# Set a minimum number of successful packages. +#pkg_rsync_min=10000 +# +# Ensure all packages listed in the file built successfully. +#pkg_rsync_required_pkgs=/required_pkgs + # An archive containing the pkgsrc binary tree after bootstrapping. # bootstrapkit=/usr/pkgsrc/bootstrap/bootstrap.tar.gz @@ -151,6 +160,8 @@ script_phase_pre_build=@PREFIX@/libexec/pbulk/pre-build script_phase_build=@PREFIX@/libexec/pbulk/build script_phase_report=@PREFIX@/libexec/pbulk/report script_phase_scan=@PREFIX@/libexec/pbulk/scan +# Optional pre-upload script called from upload. +#script_phase_pre_upload=/pre-upload script_phase_upload=@PREFIX@/libexec/pbulk/upload # Arguments are buildlog and pkgname diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 9a433214392be..ad030a7d31818 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -40,6 +40,17 @@ if [ "${config_version}" != "@PBULK_CONFIG_VERSION@" ]; then exit 1 fi +# +# Run optional check script. This allows ensuring certain criteria are met +# before continuing with the upload process, for example to avoid publishing +# a new package set with critical packages missing. PBULK_CONF is passed in +# the environment so that the script can source it for useful variables. +# +if [ -x "${script_phase_pre_upload}" ]; then + echo "Running pre-upload check script..." + PBULK_CONF=${PBULK_CONF:-@PBULK_CONFIG@} ${script_phase_pre_upload} +fi + echo "Uploading packages..." cd ${packages} { From 536338e72e9803c962dbdbcbeb5c749daf1d5aad Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 1 Feb 2016 10:41:33 +0000 Subject: [PATCH 080/141] Exit pool loop when we've seen all returned events. Avoids issues seen on SunOS and Darwin where LIST_NEXT would return garbage. Use event_del() while here. --- pkgtools/pbulk/files/pbulk/lib/event.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/lib/event.c b/pkgtools/pbulk/files/pbulk/lib/event.c index 32e563828f8c0..f88932b18739f 100644 --- a/pkgtools/pbulk/files/pbulk/lib/event.c +++ b/pkgtools/pbulk/files/pbulk/lib/event.c @@ -345,13 +345,11 @@ event_dispatch(void) if (ret > 0) { iter = poll_list; for (ev = LIST_FIRST(&all_events); - iter < last_iter && ev && (next = LIST_NEXT(ev, ev_link), 1); + ret && iter < last_iter && ev && (next = LIST_NEXT(ev, ev_link), 1); ev = next, ++iter) { if (iter->revents) { - if (!ev->ev_persistent) { - --active_events; - LIST_REMOVE(ev, ev_link); - } + if (!ev->ev_persistent) + event_del(ev); (*ev->ev_handler)(ev->ev_fd, ev->ev_arg); --ret; } From 057d2ae52fa0e5c441fdac90acb16b06370c5b08 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Tue, 9 Feb 2016 10:06:46 +0000 Subject: [PATCH 081/141] Add support for README.push --- pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk | 4 ++++ pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk | 6 ++++++ pkgtools/pbulk/files/pbulk/scripts/pkg-build | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk b/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk index 62fe863b3d03c..0a76f4cc5ad47 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/create-report-html.awk @@ -229,6 +229,8 @@ BEGIN { pkgsrc_build_start_iso = substr($0, 17) else if ($0 ~ "^BUILD_END_ISO=") pkgsrc_build_end_iso = substr($0, 15) + else if ($0 ~ "^DESCRIPTION=") + pkgsrc_description = substr($0, 13) } close(status_file) @@ -271,6 +273,8 @@ BEGIN { print " " > html_report print " " > html_report printf("

pkgsrc bulk build for %s

\n", pkgsrc_platform) > html_report + if (pkgsrc_description) + printf("

Description: %s

\n", pkgsrc_description) > html_report printf("

Build start: %s

\n", pkgsrc_build_start_iso) > html_report printf("

Build end: %s

\n", pkgsrc_build_end_iso) > html_report print "
" > html_report diff --git a/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk b/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk index 5e2e48775aab6..b32db85d9410d 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/create-report-txt.awk @@ -72,6 +72,8 @@ BEGIN { pkgsrc_build_end_iso = substr($0, 15) else if ($0 ~ "^BASE_URL=") pkgsrc_base_url = substr($0, 10) + else if ($0 ~ "^DESCRIPTION=") + pkgsrc_description = substr($0, 13) } close(status_file) @@ -121,6 +123,10 @@ BEGIN { print "pkgsrc bulk build report" > txt_report print "========================" > txt_report print "" > txt_report + if (pkgsrc_description) { + print "Description: " pkgsrc_description > txt_report + print "" > txt_report + } print pkgsrc_platform > txt_report print "Compiler: " pkgsrc_compiler > txt_report print "" > txt_report diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index efa9ad4d1e360..ca51c3eeca67a 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -190,6 +190,10 @@ if [ ${ret} -eq 0 ]; then echo "COMPILER=${compiler}" >> ${loc}/status echo "PLATFORM=${opsys} ${opver}/${platform}" >> ${loc}/status + + if [ -s ${pkgsrc}/README.push ]; then + echo "DESCRIPTION=`head -1 ${pkgsrc}/README.push`" >> ${loc}/status + fi fi ${pkg_up_to_date_script} ${pkgname} ${dependencies} && exit 0 From a37c0184257e458e4c01890e2c1b54b5a72e0685 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 21 Mar 2016 14:25:33 +0000 Subject: [PATCH 082/141] Add support for --link-dest atomic updates. --- pkgtools/pbulk/files/pbulk/scripts/upload | 39 ++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index ad030a7d31818..3cbd0484bae95 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -62,4 +62,41 @@ cd ${packages} echo "+ All/pkg_summary.xz" ${packages_script} ${loc} ${pkg_sufx} echo "- *" -} | LC_ALL=C sort | ${rsync} --exclude-from=- ${pkg_rsync_args} . ${pkg_rsync_target} +} | LC_ALL=C sort >/tmp/rsync-exclude-$$ + +# Joyent specific. Additional pbulk.conf variables provide host + directory so +# that we can insert the rsync --link-dest argument and ensure atomic directory +# updates. Requires pkg_rsync_target_linkdest and pkg_rsync_target_tmpdest to +# reside on the same file system for hardlinks. +if [ -z "${pkg_rsync_target_host}" -o \ + -z "${pkg_rsync_target_linkdest}" -o \ + -z "${pkg_rsync_target_tmpdest}" ]; then + # Legacy sync, just performed in-place directly to target. + ${rsync} --exclude-from=/tmp/rsync-exclude-$$ ${pkg_rsync_args} \ + . ${pkg_rsync_target} +else + # Use link-dest to create/update to a shadow directory. The tmpdest + # argument requires the usual parent directories to exist first. If + # link-dest doesn't exist (e.g. an initial sync) it is not an error. + ${rsync} --exclude-from=/tmp/rsync-exclude-$$ ${pkg_rsync_args} \ + --link-dest=${pkg_rsync_target_linkdest} \ + . ${pkg_rsync_target_host}:${pkg_rsync_target_tmpdest} + + # Move any existing linkdest out of the way, promote the new tmpdest, + # and remove the previous linkdest. We move it to a directory based + # on tmpdest as that is usually a hidden directory, avoiding directory + # listings showing the old directory while it is being deleted. + ssh ${pkg_rsync_target_host} " + if [ -f ${pkg_rsync_target_tmpdest}/All/pkg_summary.gz ]; then + if [ -d ${pkg_rsync_target_linkdest} ]; then + mv ${pkg_rsync_target_linkdest} ${pkg_rsync_target_tmpdest}-old + else + mkdir -p $(dirname ${pkg_rsync_target_linkdest}) + fi + mv ${pkg_rsync_target_tmpdest} ${pkg_rsync_target_linkdest} + rm -rf ${pkg_rsync_target_tmpdest}-old + fi + " +fi + +rm -f /tmp/rsync-exclude-$$ From fdfcd139134d3db300f295e66551b35cfafcea8c Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 13 Oct 2016 09:56:05 +0100 Subject: [PATCH 083/141] Support $report_platform. --- pkgtools/pbulk/files/pbulk/scripts/pkg-build | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index ca51c3eeca67a..1c5a2cffdc7e2 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -189,7 +189,11 @@ if [ ${ret} -eq 0 ]; then compiler=`cd ${pkgsrc}/pkgtools/pkg_install && ${make} show-var VARNAME=PKGSRC_COMPILER` echo "COMPILER=${compiler}" >> ${loc}/status - echo "PLATFORM=${opsys} ${opver}/${platform}" >> ${loc}/status + if [ -n "${report_platform}" ]; then + echo "PLATFORM=${report_platform}" >> ${loc}/status + else + echo "PLATFORM=${opsys} ${opver}/${platform}" >> ${loc}/status + fi if [ -s ${pkgsrc}/README.push ]; then echo "DESCRIPTION=`head -1 ${pkgsrc}/README.push`" >> ${loc}/status From 3bf506a3f9ffa9a3070ce5e952dad31d484d66c8 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 13 Oct 2016 09:56:30 +0100 Subject: [PATCH 084/141] Generate pkg_files archives. --- pkgtools/pbulk/files/pbulk/scripts/build | 6 ++++++ pkgtools/pbulk/files/pbulk/scripts/pkg-build | 2 ++ pkgtools/pbulk/files/pbulk/scripts/upload | 3 +++ 3 files changed, 11 insertions(+) diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index 165299e15ba7c..aae813b3e93f6 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -60,6 +60,9 @@ date '+BUILD_END_ISO=%Y-%m-%d %H:%M' >> ${loc}/status echo "Building pkg_summary..." cd ${packages}/All +sed -e 's,^,../pkginfo/,' -e 's/$/.pkglist/' < ${loc}/success | sort | xargs cat 2>/dev/null | ${gzip} -c > pkg_files.gz +${gzip} -dc < pkg_files.gz | ${bzip2} -c > pkg_files.bz2 +${gzip} -dc < pkg_files.gz | ${xz} -zc > pkg_files.xz sed -e 's,^,../pkginfo/,' -e 's/$/.pkginfo/' < ${loc}/success | sort | xargs cat 2>/dev/null | ${gzip} -c > pkg_summary.gz ${gzip} -dc < pkg_summary.gz | ${bzip2} -c > pkg_summary.bz2 ${gzip} -dc < pkg_summary.gz | ${xz} -zc > pkg_summary.xz @@ -69,6 +72,9 @@ if [ "${checksum_packages}" != "no" ] && \ echo "Building SHA512..." cd ${packages} { + ${digest} SHA512 All/pkg_files.bz2 + ${digest} SHA512 All/pkg_files.gz + ${digest} SHA512 All/pkg_files.xz ${digest} SHA512 All/pkg_summary.bz2 ${digest} SHA512 All/pkg_summary.gz ${digest} SHA512 All/pkg_summary.xz diff --git a/pkgtools/pbulk/files/pbulk/scripts/pkg-build b/pkgtools/pbulk/files/pbulk/scripts/pkg-build index 1c5a2cffdc7e2..30da8c9eb2dd2 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pkg-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pkg-build @@ -318,6 +318,8 @@ if [ -z "${restricted}" ]; then > ${packages}/checksums/${pkgname}.sha512 || cleanup ${pkg_info} -X All/${pkgname}${pkg_sufx} \ > ${packages}/pkginfo/${pkgname}.pkginfo || cleanup + ${pkg_info} -L All/${pkgname}${pkg_sufx} \ + > ${packages}/pkginfo/${pkgname}.pkglist || cleanup ) fi diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 3cbd0484bae95..425c44894a2e2 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -57,6 +57,9 @@ cd ${packages} [ "${checksum_packages}" != "no" ] && \ [ "${checksum_packages}" != "NO" ] && \ echo "+ SHA512.bz2" + echo "+ All/pkg_files.bz2" + echo "+ All/pkg_files.gz" + echo "+ All/pkg_files.xz" echo "+ All/pkg_summary.bz2" echo "+ All/pkg_summary.gz" echo "+ All/pkg_summary.xz" From 3aee256bbff9d532157c63cbb5e32112f310aa16 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 18 Jan 2017 11:38:04 +0000 Subject: [PATCH 085/141] Category links are no more, remove support for them. --- .../files/pbulk/scripts/compute-packages.awk | 15 +-------------- pkgtools/pbulk/files/pbulk/scripts/upload | 1 + 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk b/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk index deb5dba744cef..4c4240ed6db5f 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk +++ b/pkgtools/pbulk/files/pbulk/scripts/compute-packages.awk @@ -53,9 +53,6 @@ BEGIN { pkgs[cur] = cur } - if ($0 ~ "^CATEGORIES=") - categories[cur] = substr($0, 12) - if ($0 ~ "^BUILD_STATUS=") status[cur] = substr($0, 14) @@ -82,17 +79,7 @@ BEGIN { # skip restricted packages if (pkg in restricted) continue; - # build category/file list - split(categories[pkg], cats, "[ \t]+") - cats[0] = "All" - for (cat_idx in cats) { - cat = cats[cat_idx] - if (!(cat in printed_cats)) { - print "+ " cat "/" - printed_cats[cat] = cat - } - print "+ " cat "/" pkg pkg_sufx - } + print "+ All/" pkg pkg_sufx } close(success_file) } diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 425c44894a2e2..8614063a872a3 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -57,6 +57,7 @@ cd ${packages} [ "${checksum_packages}" != "no" ] && \ [ "${checksum_packages}" != "NO" ] && \ echo "+ SHA512.bz2" + echo "+ All/" echo "+ All/pkg_files.bz2" echo "+ All/pkg_files.gz" echo "+ All/pkg_files.xz" From 38bc7328110b61e89c474abc552b77dae8ee7a09 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 19 Jan 2017 16:29:56 +0000 Subject: [PATCH 086/141] Ensure the options cache directory is created. --- pkgtools/pbulk/files/pbulk/scripts/pre-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/pre-build b/pkgtools/pbulk/files/pbulk/scripts/pre-build index 1113676e8fce0..63ad099ab3e4c 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/pre-build +++ b/pkgtools/pbulk/files/pbulk/scripts/pre-build @@ -82,7 +82,7 @@ else rm -rf "${bulklog}"/* || true fi -mkdir -p "${bulklog}" "${loc}" +mkdir -p "${bulklog}" "${bulklog}/cache" "${loc}" @PREFIX@/libexec/pbulk/client-clean From 6d79e5a5031cf1646d87f68e4b2134834af6660f Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 19 Jan 2017 16:33:09 +0000 Subject: [PATCH 087/141] Use --partial-dir to avoid rsync mirror failures. --- pkgtools/pbulk/files/pbulk/scripts/upload | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/upload b/pkgtools/pbulk/files/pbulk/scripts/upload index 8614063a872a3..1949e0f9a3c21 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/upload +++ b/pkgtools/pbulk/files/pbulk/scripts/upload @@ -77,13 +77,13 @@ if [ -z "${pkg_rsync_target_host}" -o \ -z "${pkg_rsync_target_tmpdest}" ]; then # Legacy sync, just performed in-place directly to target. ${rsync} --exclude-from=/tmp/rsync-exclude-$$ ${pkg_rsync_args} \ - . ${pkg_rsync_target} + --partial-dir=.rsync-partial . ${pkg_rsync_target} else # Use link-dest to create/update to a shadow directory. The tmpdest # argument requires the usual parent directories to exist first. If # link-dest doesn't exist (e.g. an initial sync) it is not an error. - ${rsync} --exclude-from=/tmp/rsync-exclude-$$ ${pkg_rsync_args} \ - --link-dest=${pkg_rsync_target_linkdest} \ + ${rsync} --exclude-from=/tmp/rsync-exclude-$$ ${pkg_rsync_args} \ + --partial-dir=.rsync-partial --link-dest=${pkg_rsync_target_linkdest} \ . ${pkg_rsync_target_host}:${pkg_rsync_target_tmpdest} # Move any existing linkdest out of the way, promote the new tmpdest, From 90e35b4aa98835840f54a9dcab76c0ab9fdebe8e Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 25 May 2017 12:03:35 +0100 Subject: [PATCH 088/141] Add parallelism to pkg_{files,summary} creation. --- pkgtools/pbulk/files/pbulk/scripts/build | 25 ++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index aae813b3e93f6..8ec998b415b13 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -60,12 +60,25 @@ date '+BUILD_END_ISO=%Y-%m-%d %H:%M' >> ${loc}/status echo "Building pkg_summary..." cd ${packages}/All -sed -e 's,^,../pkginfo/,' -e 's/$/.pkglist/' < ${loc}/success | sort | xargs cat 2>/dev/null | ${gzip} -c > pkg_files.gz -${gzip} -dc < pkg_files.gz | ${bzip2} -c > pkg_files.bz2 -${gzip} -dc < pkg_files.gz | ${xz} -zc > pkg_files.xz -sed -e 's,^,../pkginfo/,' -e 's/$/.pkginfo/' < ${loc}/success | sort | xargs cat 2>/dev/null | ${gzip} -c > pkg_summary.gz -${gzip} -dc < pkg_summary.gz | ${bzip2} -c > pkg_summary.bz2 -${gzip} -dc < pkg_summary.gz | ${xz} -zc > pkg_summary.xz +{ + sed -e 's,^,../pkginfo/,' -e 's/$/.pkglist/' < ${loc}/success \ + | sort | xargs cat 2>/dev/null > pkg_files + cat pkg_files | ${gzip} -c > pkg_files.gz & + cat pkg_files | ${bzip2} -c > pkg_files.bz2 & + cat pkg_files | ${xz} -zc > pkg_files.xz & + wait + rm -f pkg_files +} & +{ + sed -e 's,^,../pkginfo/,' -e 's/$/.pkginfo/' < ${loc}/success \ + | sort | xargs cat 2>/dev/null > pkg_summary + cat pkg_summary | ${gzip} -c > pkg_summary.gz & + cat pkg_summary | ${bzip2} -c > pkg_summary.bz2 & + cat pkg_summary | ${xz} -zc > pkg_summary.xz & + wait + rm -f pkg_summary +} & +wait if [ "${checksum_packages}" != "no" ] && \ [ "${checksum_packages}" != "NO" ]; then From 7b5383b66042d1388d84b7acef255a94fa80e03e Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 3 Jul 2017 14:09:35 +0100 Subject: [PATCH 089/141] Send report mail after finishing report upload. --- pkgtools/pbulk/files/pbulk/scripts/report | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/report b/pkgtools/pbulk/files/pbulk/scripts/report index 498c3135a9201..ce5c1ff7836df 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/report +++ b/pkgtools/pbulk/files/pbulk/scripts/report @@ -73,9 +73,6 @@ if [ -z "${build_start_iso}" ] || [ -z "${build_start_dir}" ]; then exit 1 fi -echo "Sending report mail..." -cat ${loc}/report.txt | ${mail} -s "${report_subject_prefix} ${platform} ${build_start_iso}" ${report_recipients} - cd ${bulklog} echo "Uploading report..." { @@ -123,3 +120,6 @@ echo "Uploading report..." ${rsync} --exclude-from=- ${report_rsync_args} . ${report_rsync_target}/${build_start_dir} fi } + +echo "Sending report mail..." +cat ${loc}/report.txt | ${mail} -s "${report_subject_prefix} ${platform} ${build_start_iso}" ${report_recipients} From eff37128bf3bb342915856af9f8f901cddee6824 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Wed, 5 Jul 2017 16:12:14 +0100 Subject: [PATCH 090/141] fix "set -e" failure in new pkg_summary generation. --- pkgtools/pbulk/files/pbulk/scripts/build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgtools/pbulk/files/pbulk/scripts/build b/pkgtools/pbulk/files/pbulk/scripts/build index 8ec998b415b13..931ab078f5858 100755 --- a/pkgtools/pbulk/files/pbulk/scripts/build +++ b/pkgtools/pbulk/files/pbulk/scripts/build @@ -62,7 +62,7 @@ echo "Building pkg_summary..." cd ${packages}/All { sed -e 's,^,../pkginfo/,' -e 's/$/.pkglist/' < ${loc}/success \ - | sort | xargs cat 2>/dev/null > pkg_files + | sort | xargs cat 2>/dev/null > pkg_files || true cat pkg_files | ${gzip} -c > pkg_files.gz & cat pkg_files | ${bzip2} -c > pkg_files.bz2 & cat pkg_files | ${xz} -zc > pkg_files.xz & @@ -71,7 +71,7 @@ cd ${packages}/All } & { sed -e 's,^,../pkginfo/,' -e 's/$/.pkginfo/' < ${loc}/success \ - | sort | xargs cat 2>/dev/null > pkg_summary + | sort | xargs cat 2>/dev/null > pkg_summary || true cat pkg_summary | ${gzip} -c > pkg_summary.gz & cat pkg_summary | ${bzip2} -c > pkg_summary.bz2 & cat pkg_summary | ${xz} -zc > pkg_summary.xz & From 862a487926e57cbf7b4d96fbdbf312f3a84bce31 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Tue, 16 Jul 2013 11:58:55 +0100 Subject: [PATCH 091/141] Apply pbulk support for MySQL/Percona. This updates the mysql.buildlink3.mk file to support multiple versions, and adds some support for building multiple p5-DBD-mysql and py-mysqldb packages. --- audio/amarok/Makefile | 8 +- audio/squeezeboxserver/Makefile | 6 +- databases/innotop/Makefile | 2 +- databases/mytop/Makefile | 2 +- databases/p5-DBD-mysql/Makefile | 2 +- .../p5-DBIx-Class-Schema-Loader/options.mk | 2 +- databases/percona-toolkit/Makefile | 2 +- databases/py-mysqldb/Makefile | 2 +- devel/bugzilla/options.mk | 2 +- devel/bugzilla3/options.mk | 2 +- devel/py-trytond/options.mk | 2 +- devel/rt-mysql/Makefile.common | 2 +- devel/rt3/Makefile | 2 +- devel/rt4/options.mk | 2 +- mail/akonadi/options.mk | 8 +- mail/opendmarc/Makefile | 2 +- mail/sympa/Makefile | 2 +- meta-pkgs/bulk-medium/Makefile | 2 +- mk/mysql.buildlink3.mk | 230 ++++++++++-------- net/dnscheck/Makefile | 2 +- net/proftpd-mysql/Makefile | 2 +- net/proftpd/Makefile.common | 5 + net/proftpd/distinfo | 1 + net/proftpd/patches/patch-configure | 15 ++ security/zoneminder/Makefile | 5 +- www/py-django14/options.mk | 2 +- 26 files changed, 189 insertions(+), 125 deletions(-) create mode 100644 net/proftpd/patches/patch-configure diff --git a/audio/amarok/Makefile b/audio/amarok/Makefile index 7714842b19a89..a0bfd673c7047 100644 --- a/audio/amarok/Makefile +++ b/audio/amarok/Makefile @@ -40,17 +40,17 @@ SUBST_SED.mysql= -e s:/opt/mysqle/:${BUILDLINK_PREFIX.mysql-server}: .include "options.mk" .include "../../mk/mysql.buildlink3.mk" -.if ${_MYSQL_VERSION} == "56" +.if ${MYSQL_VERSION} == "56" .include "../../databases/mysql56-server/buildlink3.mk" SUBST_SED.mysql+= -e s:@@WLR@@:${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-server}/lib: -.elif ${_MYSQL_VERSION} == "55" +.elif ${MYSQL_VERSION} == "55" .include "../../databases/mysql55-server/buildlink3.mk" SUBST_SED.mysql+= -e s:@@WLR@@:${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-server}/lib: -.elif ${_MYSQL_VERSION} == "51" +.elif ${MYSQL_VERSION} == "51" .include "../../databases/mysql51-server/buildlink3.mk" SUBST_SED.mysql+= -e s:@@WLR@@:${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-server}/lib/mysql: .else -PKG_FAIL_REASON+= "Unknown mysql version: ${_MYSQL_VERSION}" +PKG_FAIL_REASON+= "Unknown mysql version: ${MYSQL_VERSION}" .endif .include "../../audio/liblastfm/buildlink3.mk" diff --git a/audio/squeezeboxserver/Makefile b/audio/squeezeboxserver/Makefile index 613aea2ea1f4d..21be481913940 100644 --- a/audio/squeezeboxserver/Makefile +++ b/audio/squeezeboxserver/Makefile @@ -67,7 +67,9 @@ LICENSE= squeezeboxserver-license # Database server MYSQL_VERSIONS_ACCEPTED= 55 .include "../../mk/mysql.buildlink3.mk" -.include "${MYSQL_PKGSRCDIR:S/-client$/-server/}/buildlink3.mk" + +# Make sure p5-DBD-{mysql,percona}* matches the mysql.bl3 above +BUILD_DEPENDS+= p5-DBD-${MYSQL_PKG_PREFIX}-[0-9]*:../../databases/p5-DBD-mysql # Audio converters DEPENDS+= wavpack-[0-9]*:../../audio/wavpack @@ -79,7 +81,7 @@ DEPENDS+= faad2-[0-9]*:../../audio/faad2 DEPENDS+= p5-Audio-Scan>=0.84:../../audio/p5-Audio-Scan DEPENDS+= p5-Class-XSAccessor>=1.05:../../devel/p5-Class-XSAccessor #DEPENDS+= {perl>=5.10.0,p5-Compress-Raw-Zlib-[0-9]*}:../../devel/p5-Compress-Raw-Zlib -DEPENDS+= p5-DBD-mysql>=3.0002:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql DEPENDS+= p5-DBI>=1.608:../../databases/p5-DBI DEPENDS+= p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1 DEPENDS+= p5-EV>=3.8:../../devel/p5-EV diff --git a/databases/innotop/Makefile b/databases/innotop/Makefile index a39ccec7ef4be..b088bb425257f 100644 --- a/databases/innotop/Makefile +++ b/databases/innotop/Makefile @@ -13,7 +13,7 @@ LICENSE= gnu-gpl-v2 DEPENDS+= p5-Term-ReadKey>=2.10:../../devel/p5-Term-ReadKey DEPENDS+= p5-DBI>=1.13:../../databases/p5-DBI -DEPENDS+= p5-DBD-mysql>=1.0:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql PERL5_PACKLIST= auto/innotop/.packlist REPLACE_PERL= innotop diff --git a/databases/mytop/Makefile b/databases/mytop/Makefile index bfd4a46b10dd3..c1c65564ec7a9 100644 --- a/databases/mytop/Makefile +++ b/databases/mytop/Makefile @@ -13,7 +13,7 @@ LICENSE= gnu-gpl-v2 DEPENDS+= p5-DBI-[0-9]*:../../databases/p5-DBI #DEPENDS+= p5-Term-ANSIColor-[0-9]*:../../devel/p5-Term-ANSIColor DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey -DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql PERL5_PACKLIST= auto/mytop/.packlist REPLACE_PERL= mytop diff --git a/databases/p5-DBD-mysql/Makefile b/databases/p5-DBD-mysql/Makefile index d9e560c4516ff..3948c0adf5dee 100644 --- a/databases/p5-DBD-mysql/Makefile +++ b/databases/p5-DBD-mysql/Makefile @@ -1,7 +1,7 @@ # $NetBSD: Makefile,v 1.74 2018/09/23 09:21:46 wen Exp $ DISTNAME= DBD-mysql-4.048 -PKGNAME= p5-${DISTNAME} +PKGNAME= p5-${DISTNAME:S/mysql/${MYSQL_PKG_PREFIX}/} CATEGORIES= databases perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=DBD/} diff --git a/databases/p5-DBIx-Class-Schema-Loader/options.mk b/databases/p5-DBIx-Class-Schema-Loader/options.mk index 4d6f0e05f3a14..82ed4ff1ecce8 100644 --- a/databases/p5-DBIx-Class-Schema-Loader/options.mk +++ b/databases/p5-DBIx-Class-Schema-Loader/options.mk @@ -13,7 +13,7 @@ BUILDLINK_DEPMETHOD.p5-DBI?= full .endif .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= p5-DBD-mysql>=4.004:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql BUILDLINK_DEPMETHOD.p5-DBI?= full .endif diff --git a/databases/percona-toolkit/Makefile b/databases/percona-toolkit/Makefile index 2e380a0b79e90..f049a922426a8 100644 --- a/databases/percona-toolkit/Makefile +++ b/databases/percona-toolkit/Makefile @@ -32,7 +32,7 @@ SUBST_FILES.sh+= blib/script/pt-mysql-summary SUBST_FILES.sh+= blib/script/pt-summary SUBST_SED.sh+= -e 's|^\#!.*|\#!${TOOLS_PATH.sh}|' -DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql #DEPENDS+= {perl>=5.7.3,p5-Time-HiRes-[0-9]*}:../../time/p5-Time-HiRes PERL5_PACKLIST= auto/percona-toolkit/.packlist diff --git a/databases/py-mysqldb/Makefile b/databases/py-mysqldb/Makefile index 99dfae7157450..95bdda7aaf053 100644 --- a/databases/py-mysqldb/Makefile +++ b/databases/py-mysqldb/Makefile @@ -1,7 +1,7 @@ # $NetBSD: Makefile,v 1.46 2018/07/03 05:03:07 adam Exp $ DISTNAME= MySQL-python-1.2.5 -PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/MySQL-python/mysqldb/} +PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/MySQL-python/${MYSQL_PKG_PREFIX}db/} CATEGORIES= databases python MASTER_SITES= ${MASTER_SITE_PYPI:=M/MySQL-python/} EXTRACT_SUFX= .zip diff --git a/devel/bugzilla/options.mk b/devel/bugzilla/options.mk index ac127e60aba6f..9f9bac84e5939 100644 --- a/devel/bugzilla/options.mk +++ b/devel/bugzilla/options.mk @@ -19,7 +19,7 @@ PKG_SUGGESTED_OPTIONS= sqlite ### Use mysql or postgresql backend ### .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= p5-DBD-mysql>=4.000:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql DBDRIVER= mysql .elif !empty(PKG_OPTIONS:Msqlite) DEPENDS+= p5-DBD-SQLite>=1.54:../../databases/p5-DBD-SQLite diff --git a/devel/bugzilla3/options.mk b/devel/bugzilla3/options.mk index aaed3f2d68adc..2ba0c3d843389 100644 --- a/devel/bugzilla3/options.mk +++ b/devel/bugzilla3/options.mk @@ -19,7 +19,7 @@ PKG_SUGGESTED_OPTIONS= mysql ### Use mysql or postgresql backend ### .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= p5-DBD-mysql>=4.000:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql DBDRIVER= mysql .elif !empty(PKG_OPTIONS:Mpgsql) DEPENDS+= p5-DBD-postgresql>=1.45:../../databases/p5-DBD-postgresql diff --git a/devel/py-trytond/options.mk b/devel/py-trytond/options.mk index 2f8dd8a21fbdb..e240106916787 100644 --- a/devel/py-trytond/options.mk +++ b/devel/py-trytond/options.mk @@ -16,7 +16,7 @@ DEPENDS+= ${PYPKGPREFIX}-cdecimal-[0-9]*:../../math/py-cdecimal .if !empty(PKG_OPTIONS:Mmysql) PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 37 # py-mysqldb -DEPENDS+= ${PYPKGPREFIX}-mysqldb-[0-9]*:../../databases/py-mysqldb +DEPENDS+= ${PYPKGPREFIX}-${MYSQL_PKG_PREFIX}db-[0-9]*:../../databases/py-mysqldb .endif .if !empty(PKG_OPTIONS:Mpydot) diff --git a/devel/rt-mysql/Makefile.common b/devel/rt-mysql/Makefile.common index e27f6f7878764..96b913cdef7a2 100644 --- a/devel/rt-mysql/Makefile.common +++ b/devel/rt-mysql/Makefile.common @@ -55,7 +55,7 @@ REPLACE_PERL+= tools/insertdata \ .if (${RT_DB_TYPE} == "mysql") PKGNAME= ${DISTNAME:S/-/./g:S/./-mysql-/} -DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql RT_DB_HOST?= localhost RT_DB_PORT?= RT_DB_PATH?= ${PREFIX}/lib/mysql diff --git a/devel/rt3/Makefile b/devel/rt3/Makefile index 25cb1eb17893d..b74054d7eca10 100644 --- a/devel/rt3/Makefile +++ b/devel/rt3/Makefile @@ -105,7 +105,7 @@ rm-speedycgi: # Back-end dependencies .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= p5-DBD-mysql>=2.1018:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql _RT_DB_TYPE= mysql .elif !empty(PKG_OPTIONS:Mpgsql) DEPENDS+= p5-DBD-postgresql>=1.43:../../databases/p5-DBD-postgresql diff --git a/devel/rt4/options.mk b/devel/rt4/options.mk index 3909eaef085e0..64458947fe141 100644 --- a/devel/rt4/options.mk +++ b/devel/rt4/options.mk @@ -23,7 +23,7 @@ DEPENDS+= p5-HTML-Mason>=1.36:../../www/p5-HTML-Mason # Backend database dependencies .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= p5-DBD-mysql>=2.1018:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql RT_DB_TYPE= mysql .elif !empty(PKG_OPTIONS:Mpgsql) DEPENDS+= p5-DBD-postgresql>=1.43:../../databases/p5-DBD-postgresql diff --git a/mail/akonadi/options.mk b/mail/akonadi/options.mk index 20e3eea2d6a26..7d9555e9b186a 100644 --- a/mail/akonadi/options.mk +++ b/mail/akonadi/options.mk @@ -17,14 +17,14 @@ PKG_SUGGESTED_OPTIONS= sqlite .include "../../mk/mysql.buildlink3.mk" DEPENDS+= qt4-mysql-[0-9]*:../../x11/qt4-mysql CMAKE_ARGS+= -DAKONADI_BUILD_QSQLITE=off -. if ${_MYSQL_VERSION} == "56" +. if ${MYSQL_VERSION} == "56" . include "../../databases/mysql56-server/buildlink3.mk" -. elif ${_MYSQL_VERSION} == "55" +. elif ${MYSQL_VERSION} == "55" . include "../../databases/mysql55-server/buildlink3.mk" -. elif ${_MYSQL_VERSION} == "51" +. elif ${MYSQL_VERSION} == "51" . include "../../databases/mysql51-server/buildlink3.mk" . else -PKG_FAIL_RESASON+= "Unknown MySQL version: ${_MYSQL_VERSION}" +PKG_FAIL_RESASON+= "Unknown MySQL version: ${MYSQL_VERSION}" . endif SUBST_CLASSES+= mysql SUBST_STAGE.mysql= pre-configure diff --git a/mail/opendmarc/Makefile b/mail/opendmarc/Makefile index e686917cfc349..9ccb0f21797c6 100644 --- a/mail/opendmarc/Makefile +++ b/mail/opendmarc/Makefile @@ -11,7 +11,7 @@ COMMENT= Open source DMARC library, MTA filter implementation and tools LICENSE= modified-bsd DEPENDS+= p5-DBI-[0-9]*:../../databases/p5-DBI -DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql #DEPENDS+= {perl>=5.6.1,p5-File-Temp-[0-9]*}:../../devel/p5-File-Temp DEPENDS+= p5-Switch-[0-9]*:../../lang/p5-Switch diff --git a/mail/sympa/Makefile b/mail/sympa/Makefile index c5178a2b4ee2f..679c98b8325b6 100644 --- a/mail/sympa/Makefile +++ b/mail/sympa/Makefile @@ -97,7 +97,7 @@ RCD_SCRIPTS= archived bounced bulk sympa task_manager .include "../../mk/bsd.options.mk" .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= p5-DBD-mysql>=2.0407:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql .endif .if !empty(PKG_OPTIONS:Mpgsql) diff --git a/meta-pkgs/bulk-medium/Makefile b/meta-pkgs/bulk-medium/Makefile index 873218e738d5d..28684a1da0e2d 100644 --- a/meta-pkgs/bulk-medium/Makefile +++ b/meta-pkgs/bulk-medium/Makefile @@ -143,7 +143,7 @@ BUILD_DEPENDS+= libvorbis-[0-9]*:../../audio/libvorbis BUILD_DEPENDS+= gdbm-[0-9]*:../../databases/gdbm BUILD_DEPENDS+= p5-BDB-[0-9]*:../../databases/p5-BDB BUILD_DEPENDS+= p5-BerkeleyDB-[0-9]*:../../databases/p5-BerkeleyDB -BUILD_DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +BUILD_DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql BUILD_DEPENDS+= p5-DBD-postgresql-[0-9]*:../../databases/p5-DBD-postgresql BUILD_DEPENDS+= p5-DBI-[0-9]*:../../databases/p5-DBI BUILD_DEPENDS+= ${PYPKGPREFIX}-bsddb3-[0-9]*:../../databases/py-bsddb3 diff --git a/mk/mysql.buildlink3.mk b/mk/mysql.buildlink3.mk index c56e43808b97c..0230738da8ee4 100644 --- a/mk/mysql.buildlink3.mk +++ b/mk/mysql.buildlink3.mk @@ -8,7 +8,9 @@ # MYSQL_VERSION_DEFAULT # The preferred MySQL version. # -# Possible: 57 56 55 51 MARIADB55 +# Possible: 57 56 55 51 mariadb55 mariadb100 +# 73-cluster percona57 percona56 percona55 +# percona57-cluster percona56-cluster percona55-cluster # Default: 57 # # === Package-settable variables === @@ -19,6 +21,20 @@ # Possible: (see MYSQL_VERSION_DEFAULT) # Default: (all) # +# === Variables defined by this file === +# +# MYSQL_VERSION +# The MySQL version that is actually used. +# +# Possible: (see MYSQL_VERSION_DEFAULT) +# +# MYSQL_PKG_PREFIX +# The package name prefix for the selected version. +# +# Possible: mysql73-cluster mysql57 mysql56 mysql55 mysql51 mysql5 +# percona57 percona56 percona55 +# percona55-cluster percona56-cluster percona57-cluster +# .if !defined(MYSQL_VERSION_MK) MYSQL_VERSION_MK= # defined @@ -26,122 +42,144 @@ MYSQL_VERSION_MK= # defined _VARGROUPS+= mysql _USER_VARS.mysql= MYSQL_VERSION_DEFAULT _PKG_VARS.mysql= MYSQL_VERSIONS_ACCEPTED -_SYS_VARS.mysql= MYSQL_PKGSRCDIR +_SYS_VARS.mysql= MYSQL_VERSION MYSQL_PKG_PREFIX .include "../../mk/bsd.prefs.mk" MYSQL_VERSION_DEFAULT?= 57 -MYSQL_VERSIONS_ACCEPTED?= 57 56 55 51 MARIADB55 +BUILD_DEFS+= MYSQL_VERSION_DEFAULT +BUILD_DEFS_EFFECTS+= MYSQL_VERSION MYSQL_PKG_PREFIX -# transform the list into individual variables -.for mv in ${MYSQL_VERSIONS_ACCEPTED} -_MYSQL_VERSION_${mv}_OK= yes -.endfor +# Package-settable variables +MYSQL_VERSIONS_ACCEPTED?= ${_PKG_MYSQLS} -# check what is installed -.if ${OPSYS} == "Darwin" -. if exists(${LOCALBASE}/lib/libmysqlclient.20.dylib) -_MYSQL_VERSION_57_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 57 -. endif -. if exists(${LOCALBASE}/lib/libmysqlclient.18.dylib) -. if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h) -_MYSQL_VERSION_56_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 56 -. else -_MYSQL_VERSION_55_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 55 -. endif -. endif -. if exists(${LOCALBASE}/lib/mysql/libmysqlclient.16.dylib) -_MYSQL_VERSION_51_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 51 -. endif -.else -. if exists(${LOCALBASE}/lib/libmysqlclient.so.20) -_MYSQL_VERSION_57_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 57 -. endif -. if exists(${LOCALBASE}/lib/libmysqlclient.so.18) -. if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h) -_MYSQL_VERSION_56_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 56 -. elif exists(${LOCALBASE}/share/mariadb) -_MYSQL_VERSION_MARIADB55_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= MARIADB55 -. else -_MYSQL_VERSION_55_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 55 -. endif -. endif -. if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.16) -_MYSQL_VERSION_51_INSTALLED= yes -_MYSQL_VERSION_INSTALLED= 51 -. endif -.endif +# The available MySQL packages: +_PKG_MYSQLS= 57 56 55 51 mariadb55 mariadb100 +_PKG_MYSQLS+= 57-cluster +_PKG_MYSQLS+= percona57 percona56 percona55 +_PKG_MYSQLS+= percona55-cluster percona56-cluster percona57-cluster +_MYSQL_PKGBASE.57-cluster= mysql-cluster-7.3.* +_MYSQL_PKGSRCDIR.57-cluster= ../../joyent/mysql73-cluster +_MYSQL_PKG_PREFIX.57-cluster= mysql73-cluster -# if a version is explicitely required, take it -.if defined(MYSQL_VERSION_REQD) -_MYSQL_VERSION= ${MYSQL_VERSION_REQD} +_MYSQL_PKGBASE.57= mysql-client-5.7.* +_MYSQL_PKGSRCDIR.57= ../../databases/mysql57-client +_MYSQL_PKG_PREFIX.57= mysql57 + +_MYSQL_PKGBASE.56= mysql-client-5.6.* +_MYSQL_PKGSRCDIR.56= ../../databases/mysql56-client +_MYSQL_PKG_PREFIX.56= mysql56 + +_MYSQL_PKGBASE.55= mysql-client-5.5.* +_MYSQL_PKGSRCDIR.55= ../../databases/mysql55-client +_MYSQL_PKG_PREFIX.55= mysql55 + +_MYSQL_PKGBASE.51= mysql-client-5.1.* +_MYSQL_PKGSRCDIR.51= ../../databases/mysql51-client +_MYSQL_PKG_PREFIX.51= mysql51 + +_MYSQL_PKGBASE.mariadb55= mariadb-client-5.5.* +_MYSQL_PKGSRCDIR.mariadb55= ../../databases/mariadb55-client +_MYSQL_PKG_PREFIX.mariadb55= mariadb55 + +_MYSQL_PKGBASE.mariadb100= mariadb-client-10.0.* +_MYSQL_PKGSRCDIR.mariadb100= ../../joyent/mariadb100-client +_MYSQL_PKG_PREFIX.mariadb100= mariadb100 + +_MYSQL_PKGBASE.percona57= percona-client-5.7.* +_MYSQL_PKGSRCDIR.percona57= ../../joyent/percona57-client +_MYSQL_PKG_PREFIX.percona57= percona57 + +_MYSQL_PKGBASE.percona56= percona-client-5.6.* +_MYSQL_PKGSRCDIR.percona56= ../../joyent/percona56-client +_MYSQL_PKG_PREFIX.percona56= percona56 + +_MYSQL_PKGBASE.percona55= percona-client-5.5.* +_MYSQL_PKGSRCDIR.percona55= ../../joyent/percona55-client +_MYSQL_PKG_PREFIX.percona55= percona55 + +_MYSQL_PKGBASE.percona55-cluster= percona-cluster-5.5.* +_MYSQL_PKGSRCDIR.percona55-cluster= ../../joyent/percona55-cluster +_MYSQL_PKG_PREFIX.percona55-cluster= percona55-cluster + +_MYSQL_PKGBASE.percona56-cluster= percona-cluster-5.6.* +_MYSQL_PKGSRCDIR.percona56-cluster= ../../joyent/percona56-cluster +_MYSQL_PKG_PREFIX.percona56-cluster= percona56-cluster + +_MYSQL_PKGBASE.percona57-cluster= percona-cluster-5.7.* +_MYSQL_PKGSRCDIR.percona57-cluster= ../../joyent/percona57-cluster +_MYSQL_PKG_PREFIX.percona57-cluster= percona57-cluster + +# +# Sanity checks +# +.if empty(_PKG_MYSQLS:M${MYSQL_VERSION_DEFAULT}) +PKG_FAIL_REASON+= "[mysql.buildlink3.mk] Invalid mysql package \""${MYSQL_VERSION_DEFAULT:Q}"\" in MYSQL_VERSION_DEFAULT." .endif -# if the default is already installed, it is first choice -.if !defined(_MYSQL_VERSION) -. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) -. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED) -_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} -. endif + +.for _myver_ in ${MYSQL_VERSIONS_ACCEPTED} +. if empty(_PKG_MYSQLS:M${_myver_}) +PKG_FAIL_REASON+= "[mysql.buildlink3.mk] Invalid mysql package \""${_myver_:Q}"\" in MYSQL_VERSIONS_ACCEPTED." +MYSQL_VERSIONS_ACCEPTED= # none . endif +.endfor + +# +# Mark the acceptable versions and check which packages are installed. +# +.for _myver_ in ${MYSQL_VERSIONS_ACCEPTED} +_MYSQL_OK.${_myver_}= yes +_MYSQL_INSTALLED.${_myver_}!= \ + if ${PKG_INFO} -qe ${_MYSQL_PKGBASE.${_myver_}:Q}; then \ + ${ECHO} yes; \ + else \ + ${ECHO} no; \ + fi +.endfor +.for _myver_ in ${_PKG_MYSQLS} +_MYSQL_OK.${_myver_}?= no +.endfor + +# If a version is explicitely required, take it... +.if defined(MYSQL_VERSION_REQD) +MYSQL_VERSION= ${MYSQL_VERSION_REQD} .endif -# prefer an already installed version, in order of "accepted" -.if !defined(_MYSQL_VERSION) -. for mv in ${MYSQL_VERSIONS_ACCEPTED} -. if defined(_MYSQL_VERSION_${mv}_INSTALLED) -_MYSQL_VERSION?= ${mv} -. else -# keep information as last resort - see below -_MYSQL_VERSION_FIRSTACCEPTED?= ${mv} + +# ...otherwise use one of the installed MySQL packages... +.if !defined(MYSQL_VERSION) +. for _myver_ in ${MYSQL_VERSIONS_ACCEPTED} +. if ${_MYSQL_INSTALLED.${_myver_}} == "yes" +MYSQL_VERSION?= ${_myver_} . endif . endfor .endif -# if the default is OK for the addon pkg, take this -.if !defined(_MYSQL_VERSION) -. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) -_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} + +# ...otherwise prefer the default one if it is accepted... +.if !defined(MYSQL_VERSION) +. if defined(_MYSQL_OK.${MYSQL_VERSION_DEFAULT}) && \ + ${_MYSQL_OK.${MYSQL_VERSION_DEFAULT}} == "yes" +MYSQL_VERSION?= ${MYSQL_VERSION_DEFAULT} . endif .endif -# take the first one accepted by the package -.if !defined(_MYSQL_VERSION) -_MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTACCEPTED} + +# ...otherwise just use the first default accepted. +.if !defined(MYSQL_VERSION) +. for _myver_ in ${MYSQL_VERSIONS_ACCEPTED} +MYSQL_VERSION?= ${_myver_} +. endfor .endif -# -# set variables for the version we decided to use: -# -.if ${_MYSQL_VERSION} == "57" -MYSQL_PKGSRCDIR= ../../databases/mysql57-client -.elif ${_MYSQL_VERSION} == "56" -MYSQL_PKGSRCDIR= ../../databases/mysql56-client -.elif ${_MYSQL_VERSION} == "MARIADB55" -MYSQL_PKGSRCDIR= ../../databases/mariadb55-client -.elif ${_MYSQL_VERSION} == "55" -MYSQL_PKGSRCDIR= ../../databases/mysql55-client -.elif ${_MYSQL_VERSION} == "51" -MYSQL_PKGSRCDIR= ../../databases/mysql51-client +.if defined(MYSQL_VERSION) +. include "${_MYSQL_PKGSRCDIR.${MYSQL_VERSION}}/buildlink3.mk" .else -# force an error -PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package." +PKG_FAIL_REASON+= "[mysql.buildlink3.mk] No acceptable mysql version found." +MYSQL_VERSION= none .endif -# -# check installed version aginst required: -# -.if defined(_MYSQL_VERSION_INSTALLED) -. if ${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED} -PKG_FAIL_REASON+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed." -. endif -.endif +MYSQL_PKG_PREFIX= ${_MYSQL_PKG_PREFIX.${MYSQL_VERSION}} -.include "${MYSQL_PKGSRCDIR}/buildlink3.mk" +# Variable assignment for multi-mysql packages +MULTI+= MYSQL_VERSION=${MYSQL_VERSION} .endif # MYSQL_VERSION_MK diff --git a/net/dnscheck/Makefile b/net/dnscheck/Makefile index d47512e5ed101..0b848c17e9d92 100644 --- a/net/dnscheck/Makefile +++ b/net/dnscheck/Makefile @@ -23,7 +23,7 @@ DEPENDS+= p5-Socket6>=0.19:../../net/p5-Socket6 DEPENDS+= p5-IO-Socket-INET6>=2.51:../../net/p5-IO-Socket-INET6 DEPENDS+= p5-Mail-RFC822-Address-[0-9]*:../../mail/p5-Mail-RFC822-Address DEPENDS+= p5-DBI-[0-9]*:../../databases/p5-DBI -DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql DEPENDS+= p5-Config-Any-[0-9]*:../../devel/p5-Config-Any DEPENDS+= p5-File-ShareDir-[0-9]*:../../devel/p5-File-ShareDir DEPENDS+= p5-File-ShareDir-Install-[0-9]*:../../devel/p5-File-ShareDir-Install diff --git a/net/proftpd-mysql/Makefile b/net/proftpd-mysql/Makefile index 84a7236a94ecd..2204682550b96 100644 --- a/net/proftpd-mysql/Makefile +++ b/net/proftpd-mysql/Makefile @@ -3,7 +3,7 @@ .include "../../net/proftpd/Makefile.module" PROFTPD_MOD= mysql -PKGNAME= ${DISTNAME:S/proftpd/proftpd-${PROFTPD_MOD}/} +PKGNAME= ${DISTNAME:S/proftpd/proftpd-${MYSQL_PKG_PREFIX}/} COMMENT= MySQL module for proftpd CONFIGURE_ARGS+= --with-shared=mod_sql_mysql diff --git a/net/proftpd/Makefile.common b/net/proftpd/Makefile.common index 6902ab63d5997..b82421b83b917 100644 --- a/net/proftpd/Makefile.common +++ b/net/proftpd/Makefile.common @@ -40,6 +40,11 @@ BUILD_DEFS+= VARBASE CHECK_SHLIBS_SKIP= libexec/proftpd/*.a CHECK_SSP_SKIP= ${CHECK_SHLIBS_SKIP} +SUBST_CLASSES+= libs +SUBST_STAGE.libs= pre-build +SUBST_FILES.libs= modules/mod_sql_mysql.c +SUBST_SED.libs= -e 's|^\(.\*\ \$$Libraries:\ \).* \$$|\1'"`mysql_config --libs`"'\ \$$|' + .include "options.mk" .include "../../devel/gettext-lib/buildlink3.mk" diff --git a/net/proftpd/distinfo b/net/proftpd/distinfo index 073f13b4d211e..0738cca7b54b1 100644 --- a/net/proftpd/distinfo +++ b/net/proftpd/distinfo @@ -9,5 +9,6 @@ RMD160 (proftpd-1.3.5d.tar.gz) = 2052a7c41824c8ce9558fd11c78843b1b07ab6e7 SHA512 (proftpd-1.3.5d.tar.gz) = 3297ddd1f11d46123bbe46488d75fa7a6dcdf2c2d6e7e880a78a427f9f1e9901878dab179e41092e0b9864a615d8ba0b0bf444d4f829870e993e3169c7141c37 Size (proftpd-1.3.5d.tar.gz) = 29966560 bytes SHA1 (patch-Makefile.in) = 332dcd9d773770c10d876dc9da1dc7f6b1c15421 +SHA1 (patch-configure) = 5b1ba2c106217a394443b84ac418b56dab30fe28 SHA1 (patch-contrib_mod__sftp_Makefile.in) = 8a805d777597b4fb06a45b484373880e535a0cee SHA1 (patch-contrib_mod_tls.c) = e36dfa9427804b41eb2ad49378b62890325d50ed diff --git a/net/proftpd/patches/patch-configure b/net/proftpd/patches/patch-configure new file mode 100644 index 0000000000000..d595deb910a03 --- /dev/null +++ b/net/proftpd/patches/patch-configure @@ -0,0 +1,15 @@ +$NetBSD$ + +Help linker find -lperconaserverclient for percona + +--- configure.orig 2015-05-28 00:25:54.000000000 +0000 ++++ configure +@@ -37370,7 +37370,7 @@ if test x"$pr_use_mysql" = xyes; then + LDFLAGS="$LDFLAGS $ac_build_addl_libdirs" + + LIBS=`echo "$LIBS" | sed -e 's/-lsupp//g'`; +- LIBS="$LIBS -lm -lmysqlclient -lz" ++ LIBS="$LIBS $(mysql_config --libs)" + + + { echo "$as_me:$LINENO: checking for MySQL's make_scrambled_password" >&5 diff --git a/security/zoneminder/Makefile b/security/zoneminder/Makefile index 45f47f1259ea9..c60cfd1aef567 100644 --- a/security/zoneminder/Makefile +++ b/security/zoneminder/Makefile @@ -31,12 +31,15 @@ GNU_CONFIGURE= yes USE_LANGUAGES= c c++ USE_TOOLS+= aclocal autoconf autoheader automake gmake perl pkg-config +# Make sure p5-DBD-{mysql,percona}* matches the mysql.bl3 above +BUILD_DEPENDS+= p5-DBD-${MYSQL_PKG_PREFIX}-[0-9]*:../../databases/p5-DBD-mysql + # MIME::Entity is needed from p5-MIME-tools # LWP::UserAgent is needed from p5-libwww DEPENDS+= p5-Archive-Zip-[0-9]*:../../archivers/p5-Archive-Zip DEPENDS+= p5-Date-Manip-[0-9]*:../../devel/p5-Date-Manip DEPENDS+= p5-Device-SerialPort-[0-9]*:../../comms/p5-Device-SerialPort -DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql +DEPENDS+= p5-DBD-{mysql,percona}*-[0-9]*:../../databases/p5-DBD-mysql DEPENDS+= p5-MIME-Lite-[0-9]*:../../mail/p5-MIME-Lite DEPENDS+= p5-MIME-tools-[0-9]*:../../mail/p5-MIME-tools DEPENDS+= p5-PHP-Serialization-[0-9]*:../../devel/p5-PHP-Serialization diff --git a/www/py-django14/options.mk b/www/py-django14/options.mk index 0e25d929d5ed1..e55ac4151b834 100644 --- a/www/py-django14/options.mk +++ b/www/py-django14/options.mk @@ -9,7 +9,7 @@ PKG_SUGGESTED_OPTIONS= pgsql PLIST_VARS+= ${PKG_SUPPORTED_OPTIONS} .if !empty(PKG_OPTIONS:Mmysql) -DEPENDS+= ${PYPKGPREFIX}-mysqldb-[0-9]*:../../databases/py-mysqldb +DEPENDS+= ${PYPKGPREFIX}-${MYSQL_PKG_PREFIX}db-[0-9]*:../../databases/py-mysqldb PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 37 # py-mysqldb PLIST.mysql= yes .endif From 63f0f2c6ecd3aa2d69d2b134b0a3cfa6ac812335 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 10 Aug 2018 11:58:48 +0100 Subject: [PATCH 092/141] Add pbulkmulti support for php pgsql. --- databases/pear-MDB2_Driver_pgsql/Makefile | 2 +- databases/php-pdo_pgsql/Makefile | 1 + databases/php-pgsql/Makefile | 1 + databases/phppgadmin/Makefile | 2 +- devel/mantis/options.mk | 2 +- mail/roundcube/options.mk | 2 +- meta-pkgs/php56-extensions/Makefile | 5 +++-- meta-pkgs/php70-extensions/Makefile | 5 +++-- meta-pkgs/php71-extensions/Makefile | 5 +++-- meta-pkgs/php72-extensions/Makefile | 5 +++-- sysutils/zabbix-frontend/Makefile | 2 +- time/php-mrbs/options.mk | 2 +- www/davical/Makefile | 4 ++-- www/drupal7/options.mk | 2 +- www/drupal8/options.mk | 2 +- www/horde/options.mk | 2 +- www/mediawiki/options.mk | 2 +- www/moodle/options.mk | 2 +- www/php-basercms/options.mk | 2 +- www/php-nextcloud/options.mk | 2 +- www/php-owncloud/options.mk | 4 ++-- www/php-tt-rss/options.mk | 2 +- 22 files changed, 32 insertions(+), 26 deletions(-) diff --git a/databases/pear-MDB2_Driver_pgsql/Makefile b/databases/pear-MDB2_Driver_pgsql/Makefile index ea1c5fd094a37..1f67584583ff5 100644 --- a/databases/pear-MDB2_Driver_pgsql/Makefile +++ b/databases/pear-MDB2_Driver_pgsql/Makefile @@ -8,7 +8,7 @@ HOMEPAGE= http://pear.php.net/package/MDB2_Driver_pgsql COMMENT= Pgsql MDB2 driver LICENSE= modified-bsd -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql-[0-9]*:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql DEPENDS+= ${PHP_PKG_PREFIX}-pear-MDB2>=2.5:../../databases/pear-MDB2 PEAR_DIRRM_EXCLUDE= lib/php/MDB2 diff --git a/databases/php-pdo_pgsql/Makefile b/databases/php-pdo_pgsql/Makefile index edc14c7adfdb5..bd5dd4960353e 100644 --- a/databases/php-pdo_pgsql/Makefile +++ b/databases/php-pdo_pgsql/Makefile @@ -1,6 +1,7 @@ # $NetBSD: Makefile,v 1.19 2016/11/12 15:42:51 taca Exp $ MODNAME= pdo_pgsql +PKGNAME= ${PHP_PKG_PREFIX}-${MODNAME}${PGSQL_VERSION}-${PHP_VERSION} CATEGORIES+= databases COMMENT= PHP extension for PHP Data Objects (PostgreSQL) diff --git a/databases/php-pgsql/Makefile b/databases/php-pgsql/Makefile index f29b565a51dff..131a89da5d456 100644 --- a/databases/php-pgsql/Makefile +++ b/databases/php-pgsql/Makefile @@ -1,6 +1,7 @@ # $NetBSD: Makefile,v 1.19 2016/11/12 15:42:51 taca Exp $ MODNAME= pgsql +PKGNAME= ${PHP_PKG_PREFIX}-${MODNAME}${PGSQL_VERSION}-${PHP_VERSION} CATEGORIES+= databases COMMENT= PHP extension for PostgreSQL databases diff --git a/databases/phppgadmin/Makefile b/databases/phppgadmin/Makefile index aeacbe18432eb..9436117c6c642 100644 --- a/databases/phppgadmin/Makefile +++ b/databases/phppgadmin/Makefile @@ -11,7 +11,7 @@ MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://phppgadmin.sourceforge.net/ COMMENT= Set of PHP-scripts to administer PostgreSQL over the WWW -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=4.2.0:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql MESSAGE_SUBST+= EGDIR=${EGDIR} diff --git a/devel/mantis/options.mk b/devel/mantis/options.mk index ba1bf49f7bc84..9ed9861081be4 100644 --- a/devel/mantis/options.mk +++ b/devel/mantis/options.mk @@ -19,5 +19,5 @@ DEPENDS+= ${PHP_PKG_PREFIX}-jpgraph-[0-9]*:../../graphics/php-jpgraph .if !empty(PKG_OPTIONS:Mmysql) DEPENDS+= ${PHP_PKG_PREFIX}-mysqli-[0-9]*:../../databases/php-mysqli .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql-[0-9]*:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .endif diff --git a/mail/roundcube/options.mk b/mail/roundcube/options.mk index d07ab223fbeb7..3b22bc9db75b6 100644 --- a/mail/roundcube/options.mk +++ b/mail/roundcube/options.mk @@ -24,7 +24,7 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql-[0-9]*:../../databases/php-pdo_mysql ### Use postgresql backend. ### .if !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql-[0-9]*:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql .endif ### diff --git a/meta-pkgs/php56-extensions/Makefile b/meta-pkgs/php56-extensions/Makefile index 04a9a64164c1d..5332d6228533f 100644 --- a/meta-pkgs/php56-extensions/Makefile +++ b/meta-pkgs/php56-extensions/Makefile @@ -42,9 +42,10 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pcntl>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-p DEPENDS+= ${PHP_PKG_PREFIX}-pdo>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo DEPENDS+= ${PHP_PKG_PREFIX}-pdo_dblib>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_dblib DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_mysql -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql +# Hardcoded to avoid pgsql.buildlink3.mk dependency +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_sqlite -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql DEPENDS+= ${PHP_PKG_PREFIX}-posix>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-posix DEPENDS+= ${PHP_PKG_PREFIX}-pspell>=${PHP_VERSION}<${NEXT_VERS}:../../textproc/php-pspell DEPENDS+= ${PHP_PKG_PREFIX}-shmop>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-shmop diff --git a/meta-pkgs/php70-extensions/Makefile b/meta-pkgs/php70-extensions/Makefile index 68433bf022eb1..227e5c3194aa7 100644 --- a/meta-pkgs/php70-extensions/Makefile +++ b/meta-pkgs/php70-extensions/Makefile @@ -40,9 +40,10 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pcntl>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-p DEPENDS+= ${PHP_PKG_PREFIX}-pdo>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo DEPENDS+= ${PHP_PKG_PREFIX}-pdo_dblib>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_dblib DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_mysql -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql +# Hardcoded to avoid pgsql.buildlink3.mk dependency +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_sqlite -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql DEPENDS+= ${PHP_PKG_PREFIX}-posix>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-posix DEPENDS+= ${PHP_PKG_PREFIX}-pspell>=${PHP_VERSION}<${NEXT_VERS}:../../textproc/php-pspell DEPENDS+= ${PHP_PKG_PREFIX}-shmop>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-shmop diff --git a/meta-pkgs/php71-extensions/Makefile b/meta-pkgs/php71-extensions/Makefile index c58f992bb6fd4..95ebb86d3f55d 100644 --- a/meta-pkgs/php71-extensions/Makefile +++ b/meta-pkgs/php71-extensions/Makefile @@ -39,9 +39,10 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pcntl>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-p DEPENDS+= ${PHP_PKG_PREFIX}-pdo>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo DEPENDS+= ${PHP_PKG_PREFIX}-pdo_dblib>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_dblib DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_mysql -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql +# Hardcoded to avoid pgsql.buildlink3.mk dependency +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_sqlite -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql DEPENDS+= ${PHP_PKG_PREFIX}-posix>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-posix DEPENDS+= ${PHP_PKG_PREFIX}-pspell>=${PHP_VERSION}<${NEXT_VERS}:../../textproc/php-pspell DEPENDS+= ${PHP_PKG_PREFIX}-shmop>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-shmop diff --git a/meta-pkgs/php72-extensions/Makefile b/meta-pkgs/php72-extensions/Makefile index fc0ada3fb01d5..630331ecd79c6 100644 --- a/meta-pkgs/php72-extensions/Makefile +++ b/meta-pkgs/php72-extensions/Makefile @@ -39,9 +39,10 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pcntl>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-p DEPENDS+= ${PHP_PKG_PREFIX}-pdo>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo DEPENDS+= ${PHP_PKG_PREFIX}-pdo_dblib>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_dblib DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_mysql -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql +# Hardcoded to avoid pgsql.buildlink3.mk dependency +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_pgsql DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pdo_sqlite -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql{10,96,95,94,93}>=${PHP_VERSION}<${NEXT_VERS}:../../databases/php-pgsql DEPENDS+= ${PHP_PKG_PREFIX}-posix>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-posix DEPENDS+= ${PHP_PKG_PREFIX}-pspell>=${PHP_VERSION}<${NEXT_VERS}:../../textproc/php-pspell DEPENDS+= ${PHP_PKG_PREFIX}-shmop>=${PHP_VERSION}<${NEXT_VERS}:../../devel/php-shmop diff --git a/sysutils/zabbix-frontend/Makefile b/sysutils/zabbix-frontend/Makefile index 9548b1e633873..f62c0f4ff1ca7 100644 --- a/sysutils/zabbix-frontend/Makefile +++ b/sysutils/zabbix-frontend/Makefile @@ -26,7 +26,7 @@ DEPENDS+= ${PHP_PKG_PREFIX}-json>=5.4.0:../../textproc/php-json DEPENDS+= ${PHP_PKG_PREFIX}-ldap>=5.4.0:../../databases/php-ldap DEPENDS+= ${PHP_PKG_PREFIX}-mbstring>=5.4.0:../../converters/php-mbstring DEPENDS+= ${PHP_PKG_PREFIX}-mysqli>=5.4.0:../../databases/php-mysqli -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=5.4.0:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql DEPENDS+= ${PHP_PKG_PREFIX}-sockets>=5.4.0:../../net/php-sockets DEPENDS+= ${PHP_PKG_PREFIX}-sysvsem>=5.4.0:../../devel/php-sysvsem diff --git a/time/php-mrbs/options.mk b/time/php-mrbs/options.mk index dd470a2a84ac2..e8cf79523a743 100644 --- a/time/php-mrbs/options.mk +++ b/time/php-mrbs/options.mk @@ -16,7 +16,7 @@ PKG_SUGGESTED_OPTIONS= mysql DEPENDS+= ${PHP_PKG_PREFIX}-mysql>=5.2.0:../../databases/php-mysql PHP_VERSIONS_ACCEPTED= 56 .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=5.2.0:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .else PKG_FAIL_REASON+= ${PKGNAME} needs either mysql or pgsql .endif diff --git a/www/davical/Makefile b/www/davical/Makefile index c702686c21e7d..de4aa807a0056 100644 --- a/www/davical/Makefile +++ b/www/davical/Makefile @@ -34,8 +34,8 @@ INSTALLATION_DIRS= ${DOCDIR} ${EGDIR}/config .include "../../lang/php/phpversion.mk" DEPENDS+= ${APACHE_PKG_PREFIX}-${PHP_PKG_PREFIX}>=5.2:../../www/ap-php -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=4.3.1:../../databases/php-pgsql -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=${PHP_BASE_VERS}:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql DEPENDS+= ${PHP_PKG_PREFIX}-libawl>=0.56:../../devel/php-libawl DEPENDS+= ${PHP_PKG_PREFIX}-calendar>=5.3.18:../../time/php-calendar DEPENDS+= ${PHP_PKG_PREFIX}-curl>=5.3.18:../../www/php-curl diff --git a/www/drupal7/options.mk b/www/drupal7/options.mk index 166d129166cc2..3f4e7e3e72a42 100644 --- a/www/drupal7/options.mk +++ b/www/drupal7/options.mk @@ -14,7 +14,7 @@ PKG_SUGGESTED_OPTIONS= mysql apache ### Use PostgreSQL for storing Drupal data ### .if !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=5.2.7:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql .elif !empty(PKG_OPTIONS:Mmysql) ### ### Use MySQL for storing Drupal data diff --git a/www/drupal8/options.mk b/www/drupal8/options.mk index 14edd2a13435f..a634cc29d30f3 100644 --- a/www/drupal8/options.mk +++ b/www/drupal8/options.mk @@ -14,7 +14,7 @@ PKG_SUGGESTED_OPTIONS= mysql apache ### Use PostgreSQL for storing Drupal data ### .if !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=5.2.7:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql .elif !empty(PKG_OPTIONS:Mmysql) ### ### Use MySQL for storing Drupal data diff --git a/www/horde/options.mk b/www/horde/options.mk index 8bb06f91ec8d3..664c663259844 100644 --- a/www/horde/options.mk +++ b/www/horde/options.mk @@ -17,7 +17,7 @@ DEPENDS+= ${PHP_PKG_PREFIX}-ldap>=4.3.3:../../databases/php-ldap ### Use PostgreSQL for storing user details ### .if !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=4.3.3:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .endif ### diff --git a/www/mediawiki/options.mk b/www/mediawiki/options.mk index 4f5091dd782c1..280d6498e0e3c 100644 --- a/www/mediawiki/options.mk +++ b/www/mediawiki/options.mk @@ -16,7 +16,7 @@ PKG_SUGGESTED_OPTIONS= apache mysql .if !empty(PKG_OPTIONS:Mmysql) DEPENDS+= ${PHP_PKG_PREFIX}-mysqli>=5.5.9:../../databases/php-mysqli .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=5:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .endif .if !empty(PKG_OPTIONS:Mapache) diff --git a/www/moodle/options.mk b/www/moodle/options.mk index 6843a10cc0284..a226aa260844e 100644 --- a/www/moodle/options.mk +++ b/www/moodle/options.mk @@ -14,5 +14,5 @@ PKG_SUGGESTED_OPTIONS= mysql .if !empty(PKG_OPTIONS:Mmysql) DEPENDS+= ${PHP_PKG_PREFIX}-mysqli>=7.0.0:../../databases/php-mysqli .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=7.0.0:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .endif diff --git a/www/php-basercms/options.mk b/www/php-basercms/options.mk index 993667852ea34..20e7b59564bdd 100644 --- a/www/php-basercms/options.mk +++ b/www/php-basercms/options.mk @@ -21,7 +21,7 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=5.2.0:../../databases/php-pdo_mysql # complained/failed that PDO was not present. DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=5.2.0:../../databases/php-pdo_sqlite .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=5.2.0:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql .elif !!empty(PKG_OPTIONS:Mcsv) # no DEPENDS .endif diff --git a/www/php-nextcloud/options.mk b/www/php-nextcloud/options.mk index 277e6ba820f36..9cacea0bd75cc 100644 --- a/www/php-nextcloud/options.mk +++ b/www/php-nextcloud/options.mk @@ -17,5 +17,5 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=5.2.0:../../databases/php-pdo_mysql .elif !empty(PKG_OPTIONS:Msqlite3) DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=5.4.0:../../databases/php-pdo_sqlite .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=5.4.0:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql .endif diff --git a/www/php-owncloud/options.mk b/www/php-owncloud/options.mk index 65fdfd89ee1ab..9f3c78ac634f9 100644 --- a/www/php-owncloud/options.mk +++ b/www/php-owncloud/options.mk @@ -21,6 +21,6 @@ DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql>=5.2.0:../../databases/php-pdo_mysql # complained/failed that PDO was not present. DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite>=5.4.0:../../databases/php-pdo_sqlite .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql>=5.4.0:../../databases/php-pdo_pgsql -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=5.4.0:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql*-[0-9]*:../../databases/php-pdo_pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .endif diff --git a/www/php-tt-rss/options.mk b/www/php-tt-rss/options.mk index 9af98dbfccbb0..9c2a243c4dcf9 100644 --- a/www/php-tt-rss/options.mk +++ b/www/php-tt-rss/options.mk @@ -16,5 +16,5 @@ PKG_SUGGESTED_OPTIONS= pgsql DEPENDS+= ${PHP_PKG_PREFIX}-mysql>=5.2.0:../../databases/php-mysql PHP_VERSIONS_ACCEPTED= 56 .elif !empty(PKG_OPTIONS:Mpgsql) -DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=5.2.0:../../databases/php-pgsql +DEPENDS+= ${PHP_PKG_PREFIX}-pgsql*-[0-9]*:../../databases/php-pgsql .endif From 0eb07194db5f44d429c0a128229fb5947b2ae706 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Sun, 30 Sep 2018 22:36:55 +0100 Subject: [PATCH 093/141] Add 'joyent' and 'wip' submodules. --- .gitmodules | 7 +++++++ joyent | 1 + wip | 1 + 3 files changed, 9 insertions(+) create mode 100644 .gitmodules create mode 160000 joyent create mode 160000 wip diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000..191627c7d7274 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,7 @@ +[submodule "joyent"] + path = joyent + url = git://github.com/joyent/pkgsrc-joyent.git +[submodule "wip"] + path = wip + url = git://github.com/joyent/pkgsrc-wip.git + branch = 2018Q3 diff --git a/joyent b/joyent new file mode 160000 index 0000000000000..327338baf4ab5 --- /dev/null +++ b/joyent @@ -0,0 +1 @@ +Subproject commit 327338baf4ab503d7df9a2325bf05fcfab7b317b diff --git a/wip b/wip new file mode 160000 index 0000000000000..3d46dc891f70f --- /dev/null +++ b/wip @@ -0,0 +1 @@ +Subproject commit 3d46dc891f70f3004603fdcf868118cb1c6f0d81 From 556cd628b06dfac0d1d9a3e161e699668eb19ffd Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 1 Oct 2018 14:34:16 +0100 Subject: [PATCH 094/141] go: Disable CTF/STRIP_DEBUG for all go. Limited fix for 2018Q3 to get go111 working, trunk will get a proper long-term fix. --- lang/go/version.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lang/go/version.mk b/lang/go/version.mk index f8e91ef0f1069..7ad2f151436c9 100644 --- a/lang/go/version.mk +++ b/lang/go/version.mk @@ -1,6 +1,8 @@ # $NetBSD: version.mk,v 1.45 2018/09/22 19:44:21 bsiegert Exp $ SSP_SUPPORTED= no +CTF_SUPPORTED= no +STRIP_DEBUG_SUPPORTED= no .include "../../mk/bsd.prefs.mk" From 97416d0b8801f9082c7851a351d366988ea6033a Mon Sep 17 00:00:00 2001 From: wiedi Date: Sun, 30 Sep 2018 22:31:59 +0000 Subject: [PATCH 095/141] racket-minimal: fix build on SunOS --- lang/racket-textual/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lang/racket-textual/Makefile b/lang/racket-textual/Makefile index e9cddf700a3b8..b2362c1862710 100644 --- a/lang/racket-textual/Makefile +++ b/lang/racket-textual/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.33 2018/07/26 10:34:55 jaapb Exp $ +# $NetBSD: Makefile,v 1.34 2018/09/30 22:31:59 wiedi Exp $ PKGNAME= racket-minimal-6.12 DISTNAME= ${PKGNAME_NOREV}-src @@ -34,6 +34,7 @@ UNLIMIT_RESOURCES= datasize OVERRIDE_DIRDEPTH= 3 MAKE_ENV+= "PAXCTL=${TOOLS_PLATFORM.paxctl}" +CPPFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS LDFLAGS.DragonFly+= -rdynamic CHECK_INTERPRETER_SKIP= lib/racket/collects/meta/build/sitemap/setup.py \ From e2082faae98f2b8c984716a9f8e4a6db2e011d7c Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 09:21:32 +0000 Subject: [PATCH 096/141] ghostscript-agpl: Fix build on older SunOS. --- print/ghostscript-agpl/distinfo | 3 ++- .../patches/patch-base_ttobjs.h | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 print/ghostscript-agpl/patches/patch-base_ttobjs.h diff --git a/print/ghostscript-agpl/distinfo b/print/ghostscript-agpl/distinfo index b1f47ac90b952..cce33855a2bd3 100644 --- a/print/ghostscript-agpl/distinfo +++ b/print/ghostscript-agpl/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.22 2018/09/21 12:06:46 adam Exp $ +$NetBSD: distinfo,v 1.23 2018/10/01 09:21:32 jperkin Exp $ SHA1 (ghostscript-9.25.tar.xz) = 9d8ddff3382113bf4a1640368350e05652c93613 RMD160 (ghostscript-9.25.tar.xz) = f549670b7b16fbeed723afdf8f72ed39460ecbc2 @@ -7,6 +7,7 @@ Size (ghostscript-9.25.tar.xz) = 33027708 bytes SHA1 (patch-base_gserrors_h) = ce75cfb7528871842a3bd35e18a6d91c89823909 SHA1 (patch-base_lib.mak) = 723926f167b49568376ef0c0da6aa4ec01fe1516 SHA1 (patch-base_mkromfs.c) = 96006928e0b5381e7101027372b6e6408f1c4a0b +SHA1 (patch-base_ttobjs.h) = 4250d77127d5b7c2fcdd912bc764a59deca97fa2 SHA1 (patch-base_unix-dll.mak) = 6b7f81afd418ec7c343c9db52f3b7ab535d4b1f1 SHA1 (patch-configure) = 08ed9451fc3cf1aade8992e4297c7df736416c8b SHA1 (patch-devices_devs.mak) = 9857c177e7a6a28ee326dbc878bbe52ccbcfedce diff --git a/print/ghostscript-agpl/patches/patch-base_ttobjs.h b/print/ghostscript-agpl/patches/patch-base_ttobjs.h new file mode 100644 index 0000000000000..cda794a8fbd23 --- /dev/null +++ b/print/ghostscript-agpl/patches/patch-base_ttobjs.h @@ -0,0 +1,17 @@ +$NetBSD: patch-base_ttobjs.h,v 1.1 2018/10/01 09:21:32 jperkin Exp $ + +Avoid GS conflict on older SunOS. + +--- base/ttobjs.h.orig 2018-09-13 10:02:01.000000000 +0000 ++++ base/ttobjs.h +@@ -42,6 +42,10 @@ + #include "tttables.h" + #include "setjmp_.h" + ++#ifdef __sun ++#undef GS ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif From b7a33749208aed9a4731e3c8c47f42fc8d22e2fb Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 09:29:00 +0000 Subject: [PATCH 097/141] mbuffer: Ensure LDFLAGS are used when linking. --- misc/mbuffer/distinfo | 4 ++-- misc/mbuffer/patches/patch-Makefile.in | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/misc/mbuffer/distinfo b/misc/mbuffer/distinfo index d8ec148a86e33..b3ac29148da3b 100644 --- a/misc/mbuffer/distinfo +++ b/misc/mbuffer/distinfo @@ -1,10 +1,10 @@ -$NetBSD: distinfo,v 1.5 2018/09/18 09:49:29 fhajny Exp $ +$NetBSD: distinfo,v 1.6 2018/10/01 09:29:00 jperkin Exp $ SHA1 (mbuffer-20180625.tgz) = d3beb0aa92de4095bdbb819a6f0a977507155c96 RMD160 (mbuffer-20180625.tgz) = d3fb1e03c40719e72af852692cfcce5db0992b0c SHA512 (mbuffer-20180625.tgz) = 01d712f51ac0b206d6ee91fbbd4cea4873784aaca02daa9b3d72cfcc0a63696b20c15ca4b6e834924f02f2878ac90192110df584c55fb1a65620ae8b0f7ec87e Size (mbuffer-20180625.tgz) = 140946 bytes -SHA1 (patch-Makefile.in) = 5b1285fd94aad7c9eaf803527a514cd7385cc448 +SHA1 (patch-Makefile.in) = 0aea9d6e1bc836f671846bf29d006c56f14d3514 SHA1 (patch-configure) = e3f9fe62c308369f89511dc31f781a92fd7b4405 SHA1 (patch-mbuffer.c) = ca1b0fee1a11529f787b2a2b0d6ee03ed9fcfd14 SHA1 (patch-mbuffer.rc) = f6639110e0a30f62a8a61e725a5403c88703d671 diff --git a/misc/mbuffer/patches/patch-Makefile.in b/misc/mbuffer/patches/patch-Makefile.in index 5340bc3eb3b61..8932dc2f127f2 100644 --- a/misc/mbuffer/patches/patch-Makefile.in +++ b/misc/mbuffer/patches/patch-Makefile.in @@ -1,4 +1,4 @@ -$NetBSD: patch-Makefile.in,v 1.2 2018/09/18 09:49:29 fhajny Exp $ +$NetBSD: patch-Makefile.in,v 1.3 2018/10/01 09:29:00 jperkin Exp $ Fix install permissions. Pass sysconfdir. @@ -33,3 +33,13 @@ Pass sysconfdir. lint: lint $(DEFS) $(SOURCES) +@@ -157,7 +157,7 @@ test7: mbuffer + ./mbuffer -P90 --md5 -i INSTALL -o /dev/null + + tapetest.so: tapetest.c config.h +- $(CC) $(CFLAGS) -shared -fPIC tapetest.c -o $@ $(LIBS) ++ $(CC) $(LDFLAGS) $(CFLAGS) -shared -fPIC tapetest.c -o $@ $(LIBS) + + idev.so: idev.c config.h +- $(CC) $(CFLAGS) -shared -g -fPIC idev.c -o $@ $(LIBS) ++ $(CC) $(LDFLAGS) $(CFLAGS) -shared -g -fPIC idev.c -o $@ $(LIBS) From 456872239d34378eb59515783d3f86dfd4f5daa0 Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 09:47:06 +0000 Subject: [PATCH 098/141] iperf: Remove bool redefine which breaks C++ headers. --- net/iperf/Makefile | 10 +++++----- net/iperf/distinfo | 3 ++- net/iperf/patches/patch-configure | 22 ++++++++++++++++++++++ 3 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 net/iperf/patches/patch-configure diff --git a/net/iperf/Makefile b/net/iperf/Makefile index 26383b5439a02..f8c045d9996d2 100644 --- a/net/iperf/Makefile +++ b/net/iperf/Makefile @@ -1,19 +1,19 @@ -# $NetBSD: Makefile,v 1.21 2014/11/28 10:30:52 bsiegert Exp $ +# $NetBSD: Makefile,v 1.22 2018/10/01 09:47:06 jperkin Exp $ DISTNAME= iperf-2.0.5 PKGREVISION= 1 CATEGORIES= net benchmarks MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=iperf/} +PATCH_SITES= http://sourceforge.net/p/iperf/patches/28/attachment/ +PATCHFILES= nomaxcpu.patch +PATCH_DIST_STRIP=-p1 + MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://iperf.sourceforge.net/ COMMENT= TCP and UDP bandwidth performance measurement tool LICENSE= modified-bsd -PATCHFILES= nomaxcpu.patch -PATCH_SITES= http://sourceforge.net/p/iperf/patches/28/attachment/ -PATCH_DIST_STRIP=-p1 - .include "../../mk/bsd.prefs.mk" .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) diff --git a/net/iperf/distinfo b/net/iperf/distinfo index eaff0e44e5809..0daf3e5e3bc74 100644 --- a/net/iperf/distinfo +++ b/net/iperf/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.10 2015/11/04 00:35:05 agc Exp $ +$NetBSD: distinfo,v 1.11 2018/10/01 09:47:06 jperkin Exp $ SHA1 (iperf-2.0.5.tar.gz) = 7302792dcb1bd7aeba032fef6d3dcc310e4d113f RMD160 (iperf-2.0.5.tar.gz) = 975d971974437136ae72bb17c0f776ea92eaf878 @@ -10,3 +10,4 @@ SHA512 (nomaxcpu.patch) = 91accee7fe57e93ed99e91ec18a09f449f5310952748ed8fb2d4f0 Size (nomaxcpu.patch) = 3354 bytes SHA1 (patch-ab) = e10e9119c5e830c186630aca72536ed1431fdbdc SHA1 (patch-ac) = 83479534caf61cf034453e1953e9ed5618f3f74c +SHA1 (patch-configure) = 1295b2022beb24ac809b62f9f919c70368545f01 diff --git a/net/iperf/patches/patch-configure b/net/iperf/patches/patch-configure new file mode 100644 index 0000000000000..303d30ed273ec --- /dev/null +++ b/net/iperf/patches/patch-configure @@ -0,0 +1,22 @@ +$NetBSD: patch-configure,v 1.1 2018/10/01 09:47:06 jperkin Exp $ + +Remove bool redefine which breaks C++ headers. + +--- configure.orig 2010-04-10 19:23:05.000000000 +0000 ++++ configure +@@ -6961,15 +6961,8 @@ $as_echo "$ac_cv_sizeof_bool" >&6; } + + + +-cat >>confdefs.h <<_ACEOF +-#define SIZEOF_BOOL $ac_cv_sizeof_bool +-_ACEOF + + +-if test "$ac_cv_sizeof_bool" = 0 ; then +- $as_echo "#define bool int" >>confdefs.h +- +-fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if true is defined" >&5 + $as_echo_n "checking if true is defined... " >&6; } From 98dfbf998c070f51ce803609bf98b9ba66efa5a3 Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 10:05:23 +0000 Subject: [PATCH 099/141] cfengine2: Remove bogus _POSIX_C_SOURCE setting. --- sysutils/cfengine2/distinfo | 4 ++-- sysutils/cfengine2/patches/patch-ab | 22 +++++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/sysutils/cfengine2/distinfo b/sysutils/cfengine2/distinfo index 8abb5cbba68fe..4cc7ec4d918f3 100644 --- a/sysutils/cfengine2/distinfo +++ b/sysutils/cfengine2/distinfo @@ -1,10 +1,10 @@ -$NetBSD: distinfo,v 1.15 2015/11/04 01:32:08 agc Exp $ +$NetBSD: distinfo,v 1.16 2018/10/01 10:05:23 jperkin Exp $ SHA1 (cfengine-2.2.10.tar.gz) = 032bec0bc59ffee7179422e96dfd902afbf94340 RMD160 (cfengine-2.2.10.tar.gz) = 67fd3dc80270dc000887e3dbf26f372338e2600f SHA512 (cfengine-2.2.10.tar.gz) = 861af25f32248e115512790357cb4739b16bee9d19db33cc1b93ab2091d020991770970fc916796a5894c978ee6a5956100d2f714efb6e97e9e9a9ea88f64dea Size (cfengine-2.2.10.tar.gz) = 2690333 bytes SHA1 (patch-aa) = cdbebcf1a8d284bbaa9e8e0deb60112c5e33287c -SHA1 (patch-ab) = bd2946d1cd5b21e3cf664258360c38c9651542a9 +SHA1 (patch-ab) = c4578db20daf502980dfebab706e6a13185690db SHA1 (patch-ac) = ca643a6dd76307053923c93b321533b684d22474 SHA1 (patch-src_do.c) = 5773b0b2331818b2340ab288711840073507c25b diff --git a/sysutils/cfengine2/patches/patch-ab b/sysutils/cfengine2/patches/patch-ab index d32d9e0a14741..dc0c9cdc09461 100644 --- a/sysutils/cfengine2/patches/patch-ab +++ b/sysutils/cfengine2/patches/patch-ab @@ -1,8 +1,10 @@ -$NetBSD: patch-ab,v 1.7 2010/05/09 22:09:30 pettai Exp $ +$NetBSD: patch-ab,v 1.8 2018/10/01 10:05:24 jperkin Exp $ ---- configure.orig 2010-03-22 15:25:59.000000000 +0100 -+++ configure 2010-03-22 15:27:57.000000000 +0100 -@@ -16104,7 +16104,7 @@ +Remove bogus _POSIX_C_SOURCE setting. + +--- configure.orig 2009-04-11 19:59:34.000000000 +0000 ++++ configure +@@ -16104,7 +16104,7 @@ $as_echo "$BERKELEY_DB_DIR" >&6; } elif test -d "$BERKELEY_DB_DIR"; then BERKELEY_DB_CFLAGS="-I$BERKELEY_DB_DIR/include" @@ -11,7 +13,7 @@ $NetBSD: patch-ab,v 1.7 2010/05/09 22:09:30 pettai Exp $ if test -f "$BERKELEY_DB_DIR/include/$v/db.h"; then BERKELEY_DB_CFLAGS="-I$BERKELEY_DB_DIR/include/$v" break -@@ -16112,7 +16112,7 @@ +@@ -16112,7 +16112,7 @@ $as_echo "$BERKELEY_DB_DIR" >&6; } done BERKELEY_DB_LIB="-ldb" @@ -20,3 +22,13 @@ $NetBSD: patch-ab,v 1.7 2010/05/09 22:09:30 pettai Exp $ if test -f "$BERKELEY_DB_DIR/lib/lib$v.so"; then BERKELEY_DB_LIB="-l$v" break +@@ -22778,9 +22778,6 @@ else + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- cat >>confdefs.h <<\_ACEOF +-#define _POSIX_C_SOURCE 200112loL +-_ACEOF + + fi + From e54e2317d18feb97e3381fb3aa5b33805e5cdea6 Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 10:57:36 +0000 Subject: [PATCH 100/141] fam: rlim_t fixes. --- sysutils/fam/distinfo | 4 ++-- sysutils/fam/patches/patch-ak | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/sysutils/fam/distinfo b/sysutils/fam/distinfo index bb682a0d53557..9a59ba30d6e17 100644 --- a/sysutils/fam/distinfo +++ b/sysutils/fam/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.33 2015/11/04 01:32:13 agc Exp $ +$NetBSD: distinfo,v 1.34 2018/10/01 10:57:36 jperkin Exp $ SHA1 (fam-2.7.0.tar.gz) = 6c2316f02acf89a41c42ffc3d7fd9cf5eada83a8 RMD160 (fam-2.7.0.tar.gz) = 1895b578d6a141c36d5bee4e3fbbc2a298a91430 @@ -14,7 +14,7 @@ SHA1 (patch-ag) = 3300a1cd565f9edaea3c334a9e278185efbcb7a6 SHA1 (patch-ah) = b8a779216cc9a780a0616eeebed8555d8db96f9a SHA1 (patch-ai) = b80aafbb3849fc8c828b6829d8975b910e4d0fd5 SHA1 (patch-aj) = 39391961fd7929d6a5fb49ecb492585cb821afaa -SHA1 (patch-ak) = 48ddfcf9b7562832402a464437ca485249d371a1 +SHA1 (patch-ak) = 6b36f7aefd8f4d629ba4f33927e13980bcb9c9d1 SHA1 (patch-al) = e0b4c3ca447f42573def07e8b47209ec6e6ad016 SHA1 (patch-am) = 4fa488940675c5283806819288f7674f4634e038 SHA1 (patch-an) = 7aa54fb1f90e3b2eb767d41fd842f7f4a0561b81 diff --git a/sysutils/fam/patches/patch-ak b/sysutils/fam/patches/patch-ak index 6b19173096fc5..e6eabf825febd 100644 --- a/sysutils/fam/patches/patch-ak +++ b/sysutils/fam/patches/patch-ak @@ -1,6 +1,8 @@ -$NetBSD: patch-ak,v 1.5 2004/04/14 20:53:08 adam Exp $ +$NetBSD: patch-ak,v 1.6 2018/10/01 10:57:36 jperkin Exp $ ---- src/Log.c++.orig Wed Apr 14 22:44:49 2004 +rlim_t fixes. + +--- src/Log.c++.orig 2003-01-18 14:18:12.000000000 +0000 +++ src/Log.c++ @@ -28,9 +28,9 @@ #include @@ -13,3 +15,12 @@ $NetBSD: patch-ak,v 1.5 2004/04/14 20:53:08 adam Exp $ #include #include #ifdef HAVE_AUDIT +@@ -277,7 +277,7 @@ void __assert(const char *msg, const cha + Log::perror("mkdir"); + if (chdir(dirname) < 0) + Log::perror("chdir"); +- struct rlimit rl = { RLIM_INFINITY, RLIM_INFINITY }; ++ struct rlimit rl = { (rlim_t)RLIM_INFINITY, (rlim_t)RLIM_INFINITY }; + if (setrlimit(RLIMIT_CORE, &rl) < 0) + Log::perror("setrlimit(RLIMIT_CORE)"); + delete[] dirname; From fc82603ce745c6ef15e660549568bfabc9bee38e Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 11:21:03 +0000 Subject: [PATCH 101/141] z3: rlim_t fixes. --- math/z3/distinfo | 3 ++- math/z3/patches/patch-src_interp_iz3interp.cpp | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 math/z3/patches/patch-src_interp_iz3interp.cpp diff --git a/math/z3/distinfo b/math/z3/distinfo index 4c08cce432345..816b6cf26ee74 100644 --- a/math/z3/distinfo +++ b/math/z3/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.6 2018/06/15 15:11:34 jperkin Exp $ +$NetBSD: distinfo,v 1.7 2018/10/01 11:21:03 jperkin Exp $ SHA1 (z3-4.5.0.tar.gz) = 6f4e94e025fcc2fa2896524d8fbb9de0b3033854 RMD160 (z3-4.5.0.tar.gz) = 81121307ac83f42989da49efda31964a94f7f5d5 @@ -6,5 +6,6 @@ SHA512 (z3-4.5.0.tar.gz) = 1ebc2c908d90b6b879f1e819c864ff894613276af47a440f27cf9 Size (z3-4.5.0.tar.gz) = 3573695 bytes SHA1 (patch-configure) = 8d5fe787f15fe781c3c23cee27058f898de8c95e SHA1 (patch-scripts_mk__util.py) = f3c6f13daeffb31e01f0ad50ca2c0dab2cdb87a2 +SHA1 (patch-src_interp_iz3interp.cpp) = d646a78e8469ea83829ad2f4b8bb2c4a9155e6f1 SHA1 (patch-src_util_scoped__timer.cpp) = 68e0bdee94d54c93f3d493bf71abebcdccd921ba SHA1 (patch-src_util_stopwatch.h) = dbeab175ed4f507d5378f1966f8ed173c4c9a9a7 diff --git a/math/z3/patches/patch-src_interp_iz3interp.cpp b/math/z3/patches/patch-src_interp_iz3interp.cpp new file mode 100644 index 0000000000000..31c9714d1f95b --- /dev/null +++ b/math/z3/patches/patch-src_interp_iz3interp.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-src_interp_iz3interp.cpp,v 1.1 2018/10/01 11:21:03 jperkin Exp $ + +rlim_t fixes. + +--- src/interp/iz3interp.cpp.orig 2016-11-07 22:02:30.000000000 +0000 ++++ src/interp/iz3interp.cpp +@@ -582,7 +582,7 @@ void interpolation_options_struct::apply + class iz3stack_unlimiter { + public: + iz3stack_unlimiter() { +- struct rlimit rl = {RLIM_INFINITY, RLIM_INFINITY}; ++ struct rlimit rl = {(rlim_t)RLIM_INFINITY, (rlim_t)RLIM_INFINITY}; + setrlimit(RLIMIT_STACK, &rl); + // nothing to be done if above fails + } From ee0e7d77e0898ac180895a99620b678909e2be05 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Mon, 1 Oct 2018 14:55:23 +0100 Subject: [PATCH 102/141] Update 'joyent' submodule. --- joyent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joyent b/joyent index 327338baf4ab5..c53ad6562aa91 160000 --- a/joyent +++ b/joyent @@ -1 +1 @@ -Subproject commit 327338baf4ab503d7df9a2325bf05fcfab7b317b +Subproject commit c53ad6562aa9158fdfdd21f77e2cbb1d65c6283f From 644e2498403dc8b8ff3edf44763eeca654e9c04b Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 1 Oct 2018 21:45:31 +0000 Subject: [PATCH 103/141] webkit-gtk: Avoid flock() on SunOS, not supported on older platforms. --- www/webkit-gtk/distinfo | 3 ++- .../patches/patch-Source_WTF_wtf_Platform.h | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 www/webkit-gtk/patches/patch-Source_WTF_wtf_Platform.h diff --git a/www/webkit-gtk/distinfo b/www/webkit-gtk/distinfo index 35d05ea37a285..b90481f74cceb 100644 --- a/www/webkit-gtk/distinfo +++ b/www/webkit-gtk/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.105 2018/08/19 19:59:12 wiz Exp $ +$NetBSD: distinfo,v 1.106 2018/10/01 21:45:31 jperkin Exp $ SHA1 (webkitgtk-2.20.5.tar.xz) = 63bff8f9b3811e8ee294c0c1af6a7e2e453f0916 RMD160 (webkitgtk-2.20.5.tar.xz) = 6a4cda986d2a4c4762b0daf0ff2007cd95b72b79 @@ -10,6 +10,7 @@ SHA1 (patch-Source_JavaScriptCore_assembler_MacroAssemblerARM.cpp) = f78e6150ed8 SHA1 (patch-Source_JavaScriptCore_heap_MarkedSpace.cpp) = e6a23d5ef22bddd0a9606fb0e472960e4cf5673e SHA1 (patch-Source_JavaScriptCore_jit_ExecutableAllocator.cpp) = 2f20d6aa8f1ec4122bee9f2f95b736ee4496812f SHA1 (patch-Source_ThirdParty_gtest_include_gtest_internal_gtest-port.h) = f1eee7f9d3012edee1915234c837cff820f97092 +SHA1 (patch-Source_WTF_wtf_Platform.h) = 1697dc48555a4b085fc3e35633776ba3ffa16e15 SHA1 (patch-Source_WTF_wtf_StackBounds.cpp) = 0b35ab065e4cccbb63199cd8a9add0d5106c6150 SHA1 (patch-Source_WTF_wtf_ThreadSpecific.h) = 38a85e10a72fe38d286a2ce747e090a2955b8791 SHA1 (patch-Source_WebCore_platform_FileSystem.cpp) = adef1a42c4e210f0a3dcb82807e2d2039684a0ec diff --git a/www/webkit-gtk/patches/patch-Source_WTF_wtf_Platform.h b/www/webkit-gtk/patches/patch-Source_WTF_wtf_Platform.h new file mode 100644 index 0000000000000..287571f3281ae --- /dev/null +++ b/www/webkit-gtk/patches/patch-Source_WTF_wtf_Platform.h @@ -0,0 +1,17 @@ +$NetBSD: patch-Source_WTF_wtf_Platform.h,v 1.11 2018/10/01 21:45:31 jperkin Exp $ + +Avoid flock() on SunOS, not supported on older platforms. + +--- Source/WTF/wtf/Platform.h.orig 2018-02-20 09:12:50.000000000 +0000 ++++ Source/WTF/wtf/Platform.h +@@ -533,8 +533,10 @@ + #define USE_HARFBUZZ 1 + #define USE_SOUP 1 + #define USE_WEBP 1 ++#ifndef __sun + #define USE_FILE_LOCK 1 + #endif ++#endif + + #if PLATFORM(GTK) + #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_36 From d087405a5b3ccabd598dd4456820e4b42481b65a Mon Sep 17 00:00:00 2001 From: nia Date: Tue, 2 Oct 2018 21:09:28 +0000 Subject: [PATCH 104/141] emulators/libretro-*: SunOS linker fixes. libretro makefiles pass flags to the linker that aren't understood by SunOS ld. Add BUILDLINK_TRANSFORMs to remove those flags. --- emulators/libretro-beetle-ngp/Makefile | 6 +++++- emulators/libretro-beetle-pce-fast/Makefile | 5 ++++- emulators/libretro-beetle-psx/Makefile | 5 ++++- emulators/libretro-beetle-saturn/Makefile | 5 ++++- emulators/libretro-beetle-sgx/Makefile | 5 ++++- emulators/libretro-beetle-vb/Makefile | 5 ++++- emulators/libretro-beetle-wswan/Makefile | 5 ++++- emulators/libretro-bluemsx/Makefile | 5 ++++- emulators/libretro-bsnes-mercury/Makefile.common | 5 ++++- emulators/libretro-desmume/Makefile | 6 +++++- emulators/libretro-fbalpha/Makefile | 5 ++++- emulators/libretro-freeintv/Makefile | 5 ++++- emulators/libretro-fuse/Makefile | 5 ++++- emulators/libretro-genesis-plus-gx/Makefile | 5 ++++- emulators/libretro-mupen64plus/Makefile | 5 ++++- emulators/libretro-nestopia/Makefile | 11 +++++++---- emulators/libretro-o2em/Makefile | 5 ++++- emulators/libretro-prosystem/Makefile | 5 ++++- emulators/libretro-snes9x2010/Makefile | 4 +++- emulators/libretro-stella/Makefile | 5 ++++- emulators/libretro-vba-next/Makefile | 5 ++++- emulators/libretro-vecx/Makefile | 4 +++- 22 files changed, 91 insertions(+), 25 deletions(-) diff --git a/emulators/libretro-beetle-ngp/Makefile b/emulators/libretro-beetle-ngp/Makefile index f0cae1c058c03..de6ce77626b59 100644 --- a/emulators/libretro-beetle-ngp/Makefile +++ b/emulators/libretro-beetle-ngp/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/11 00:32:25 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:28 nia Exp $ DISTNAME= libretro-beetle-ngp-20180720 CATEGORIES= emulators @@ -22,6 +22,10 @@ CFLAGS+= -DMSB_FIRST .endif BUILD_MAKE_FLAGS+= GIT_VERSION="-pkgsrc" + +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-beetle-pce-fast/Makefile b/emulators/libretro-beetle-pce-fast/Makefile index cdac18e24507d..a9f58a0c162df 100644 --- a/emulators/libretro-beetle-pce-fast/Makefile +++ b/emulators/libretro-beetle-pce-fast/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/10 23:16:12 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:28 nia Exp $ DISTNAME= libretro-beetle-pce-fast-20180720 CATEGORIES= emulators @@ -17,6 +17,9 @@ USE_LANGUAGES= c c++ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro .include "../../mk/endian.mk" diff --git a/emulators/libretro-beetle-psx/Makefile b/emulators/libretro-beetle-psx/Makefile index da279c60fdb78..7e183fd32e31e 100644 --- a/emulators/libretro-beetle-psx/Makefile +++ b/emulators/libretro-beetle-psx/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2018/09/07 09:44:49 nia Exp $ +# $NetBSD: Makefile,v 1.5 2018/10/02 21:09:28 nia Exp $ DISTNAME= libretro-beetle-psx-20180808 PKGREVISION= 2 @@ -25,6 +25,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-beetle-saturn/Makefile b/emulators/libretro-beetle-saturn/Makefile index 8ee9b385b5d9e..be62df2960158 100644 --- a/emulators/libretro-beetle-saturn/Makefile +++ b/emulators/libretro-beetle-saturn/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2018/09/07 00:49:04 nia Exp $ +# $NetBSD: Makefile,v 1.4 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-beetle-saturn-20180620 PKGREVISION= 1 @@ -22,6 +22,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" # Not built by upstream's buildbot for i386, ARM, or PowerPC. ONLY_FOR_PLATFORM= *-*-x86_64 +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro .include "../../mk/endian.mk" diff --git a/emulators/libretro-beetle-sgx/Makefile b/emulators/libretro-beetle-sgx/Makefile index 788285c0c3f2a..c4fac3f2f0ae2 100644 --- a/emulators/libretro-beetle-sgx/Makefile +++ b/emulators/libretro-beetle-sgx/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/13 00:54:25 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-beetle-sgx-20180512 CATEGORIES= emulators @@ -24,6 +24,9 @@ CFLAGS+= -DMSB_FIRST CFLAGS+= -DBYTE_ORDER=BIG_ENDIAN .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-beetle-vb/Makefile b/emulators/libretro-beetle-vb/Makefile index 1ff9b43d8bbaa..63397a7445322 100644 --- a/emulators/libretro-beetle-vb/Makefile +++ b/emulators/libretro-beetle-vb/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/12 14:36:52 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-beetle-vb-20180620 CATEGORIES= emulators @@ -23,6 +23,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-beetle-wswan/Makefile b/emulators/libretro-beetle-wswan/Makefile index 38a0637f1ac19..9990553c26f11 100644 --- a/emulators/libretro-beetle-wswan/Makefile +++ b/emulators/libretro-beetle-wswan/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/12 12:52:52 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-beetle-wswan-20180620 CATEGORIES= emulators @@ -23,6 +23,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-bluemsx/Makefile b/emulators/libretro-bluemsx/Makefile index 3fb63328639d8..218762e672637 100644 --- a/emulators/libretro-bluemsx/Makefile +++ b/emulators/libretro-bluemsx/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/13 16:34:07 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-bluemsx-20180811 CATEGORIES= emulators @@ -30,6 +30,9 @@ CFLAGS+= -D__EXTENSIONS__ CFLAGS+= -D_GNU_SOURCE -D_BSD_SOURCE .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-bsnes-mercury/Makefile.common b/emulators/libretro-bsnes-mercury/Makefile.common index 9113585c71d53..0dcf75b1c31b4 100644 --- a/emulators/libretro-bsnes-mercury/Makefile.common +++ b/emulators/libretro-bsnes-mercury/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.1 2018/08/13 14:37:25 nia Exp $ +# $NetBSD: Makefile.common,v 1.2 2018/10/02 21:09:29 nia Exp $ # # used by emulators/libretro-bsnes-mercury/Makefile # used by emulators/libretro-bsnes-mercury-accuracy/Makefile @@ -23,6 +23,9 @@ MAKE_FLAGS+= profile=${BSNES_PROFILE} MAKE_FLAGS+= compiler=${CXX:Q} MAKE_FLAGS+= GIT_VERSION="-pkgsrc" +BUILDLINK_TRANSFORM.SunOS+= -Wl,--no-undefined +BUILDLINK_TRANSFORM.SunOS+= -Wl,--version-script=target-libretro/link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro DISTINFO_FILE= ${.CURDIR}/../../emulators/libretro-bsnes-mercury/distinfo diff --git a/emulators/libretro-desmume/Makefile b/emulators/libretro-desmume/Makefile index a93057cbba607..c2d02b7d94094 100644 --- a/emulators/libretro-desmume/Makefile +++ b/emulators/libretro-desmume/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2018/09/27 20:22:26 tnn Exp $ +# $NetBSD: Makefile,v 1.4 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-desmume-20180807 CATEGORIES= emulators @@ -33,6 +33,10 @@ MAKE_FLAGS+= DESMUME_JIT=0 .endif MAKE_FLAGS+= GIT_VERSION="-pkgsrc" + +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=../../frontend/libretro/link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-fbalpha/Makefile b/emulators/libretro-fbalpha/Makefile index f76ca70f46bc0..b1f0b7e0098d7 100644 --- a/emulators/libretro-fbalpha/Makefile +++ b/emulators/libretro-fbalpha/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2018/09/06 08:13:54 nia Exp $ +# $NetBSD: Makefile,v 1.3 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-fbalpha-0.2.97.43.20180721 CATEGORIES= emulators @@ -24,6 +24,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" MAKE_FLAGS+= ENDIANNESS_DEFINES=-DWORDS_BIGENDIAN .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-no-undefined +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=src/burner/libretro/link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-freeintv/Makefile b/emulators/libretro-freeintv/Makefile index 59c51db674f70..6bdc9635312da 100644 --- a/emulators/libretro-freeintv/Makefile +++ b/emulators/libretro-freeintv/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2018/08/13 00:58:12 nia Exp $ +# $NetBSD: Makefile,v 1.3 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-freeintv-20180729 CATEGORIES= emulators @@ -21,6 +21,9 @@ USE_LANGUAGES= c c++ CFLAGS+= -DWORDS_BIGENDIAN -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=./link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-fuse/Makefile b/emulators/libretro-fuse/Makefile index 5f6e280adf20e..568db8677b09e 100644 --- a/emulators/libretro-fuse/Makefile +++ b/emulators/libretro-fuse/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/11 15:42:09 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-fuse-20180419 CATEGORIES= emulators @@ -21,6 +21,9 @@ MAKE_FILE= Makefile.libretro CFLAGS+= -DWORDS_BIGENDIAN -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-version-script=build/link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-genesis-plus-gx/Makefile b/emulators/libretro-genesis-plus-gx/Makefile index 8c1ae2a679220..cb67ac8bc053f 100644 --- a/emulators/libretro-genesis-plus-gx/Makefile +++ b/emulators/libretro-genesis-plus-gx/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2018/08/12 17:11:40 nia Exp $ +# $NetBSD: Makefile,v 1.3 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-genesis-plus-gx-20180607 CATEGORIES= emulators @@ -25,6 +25,9 @@ MAKE_FLAGS+= SHARED_LIBVORBIS=1 MAKE_FLAGS+= ENDIANNESS_DEFINES="-DBYTE_ORDER=BIG_ENDIAN -DCPU_IS_BIG_ENDIAN=1 -DWORDS_BIGENDIAN=1" .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=./libretro/link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-mupen64plus/Makefile b/emulators/libretro-mupen64plus/Makefile index 69dacd2f9c353..a7e7a84f7d999 100644 --- a/emulators/libretro-mupen64plus/Makefile +++ b/emulators/libretro-mupen64plus/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.12 2018/08/16 13:25:27 nia Exp $ +# $NetBSD: Makefile,v 1.13 2018/10/02 21:09:29 nia Exp $ DISTNAME= libretro-mupen64plus-20180628 CATEGORIES= emulators @@ -33,6 +33,9 @@ MAKE_FLAGS+= WITH_DYNAREC=x86_64 MAKE_FLAGS+= WITH_DYNAREC= .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=./libretro/link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro CFLAGS.NetBSD+= -DHAVE_POSIX_MEMALIGN=1 diff --git a/emulators/libretro-nestopia/Makefile b/emulators/libretro-nestopia/Makefile index 2c679232c9fe8..d2155a9d70644 100644 --- a/emulators/libretro-nestopia/Makefile +++ b/emulators/libretro-nestopia/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2018/08/11 20:26:12 nia Exp $ +# $NetBSD: Makefile,v 1.4 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-nestopia-1.49 CATEGORIES= emulators @@ -16,12 +16,15 @@ BUILD_DIRS= libretro USE_LANGUAGES= c c++03 USE_TOOLS+= gmake -INSTALLATION_DIRS+= ${PREFIX}/lib/libretro -INSTALLATION_DIRS+= share/libretro-nestopia - MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DPREFIX=\"${PREFIX}\" +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-version-script=link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-no-undefined + +INSTALLATION_DIRS+= ${PREFIX}/lib/libretro +INSTALLATION_DIRS+= share/libretro-nestopia + do-install: ${INSTALL_LIB} ${WRKSRC}/libretro/nestopia_libretro.so \ ${DESTDIR}${PREFIX}/lib/libretro/nestopia_libretro.so diff --git a/emulators/libretro-o2em/Makefile b/emulators/libretro-o2em/Makefile index ef45bc2b4de4a..b1090a6936972 100644 --- a/emulators/libretro-o2em/Makefile +++ b/emulators/libretro-o2em/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2018/08/13 19:48:55 nia Exp $ +# $NetBSD: Makefile,v 1.3 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-o2em-20180812 CATEGORIES= emulators @@ -21,6 +21,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-prosystem/Makefile b/emulators/libretro-prosystem/Makefile index 162a9f88669c8..b10ed349419ee 100644 --- a/emulators/libretro-prosystem/Makefile +++ b/emulators/libretro-prosystem/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/13 18:04:15 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-prosystem-20180812 CATEGORIES= emulators @@ -21,6 +21,9 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-snes9x2010/Makefile b/emulators/libretro-snes9x2010/Makefile index aa09860b4c1b0..b3995dd630a34 100644 --- a/emulators/libretro-snes9x2010/Makefile +++ b/emulators/libretro-snes9x2010/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/10 20:55:13 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-snes9x2010-20180626 CATEGORIES= emulators @@ -22,6 +22,8 @@ MAKE_FLAGS+= GIT_VERSION="-pkgsrc" CFLAGS+= -DMSB_FIRST .endif +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=libretro/link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-stella/Makefile b/emulators/libretro-stella/Makefile index f09d3dfcc817f..82e55d55852b9 100644 --- a/emulators/libretro-stella/Makefile +++ b/emulators/libretro-stella/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2018/08/08 22:31:13 nia Exp $ +# $NetBSD: Makefile,v 1.3 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-stella-20180411 CATEGORIES= emulators @@ -17,6 +17,9 @@ USE_TOOLS+= gmake MAKE_FLAGS+= GIT_VERSION="-${PKGVERSION_NOREV}-pkgsrc" +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--no-undefined +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-vba-next/Makefile b/emulators/libretro-vba-next/Makefile index 106f4dd081bd1..5009f81ffee0b 100644 --- a/emulators/libretro-vba-next/Makefile +++ b/emulators/libretro-vba-next/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2018/08/11 13:22:52 nia Exp $ +# $NetBSD: Makefile,v 1.4 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-vba-next-20180603 CATEGORIES= emulators games @@ -19,6 +19,9 @@ MAKE_FILE= Makefile.libretro MAKE_FLAGS+= GIT_VERSION="-pkgsrc" +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-version-script=./libretro/link.T +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-no-undefined + INSTALLATION_DIRS= lib/libretro do-install: diff --git a/emulators/libretro-vecx/Makefile b/emulators/libretro-vecx/Makefile index 5861f940aa556..858ab15ad10e4 100644 --- a/emulators/libretro-vecx/Makefile +++ b/emulators/libretro-vecx/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2018/08/11 16:09:55 nia Exp $ +# $NetBSD: Makefile,v 1.2 2018/10/02 21:09:30 nia Exp $ DISTNAME= libretro-vecx-20180412 CATEGORIES= emulators @@ -16,6 +16,8 @@ USE_TOOLS+= gmake MAKE_FLAGS+= GIT_VERSION="-pkgsrc" +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,--version-script=./link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: From 167070234733a0f486d7692b1af602d2c56b3e96 Mon Sep 17 00:00:00 2001 From: nia Date: Wed, 3 Oct 2018 01:40:32 +0000 Subject: [PATCH 105/141] libretro-gambatte: Fix build on SunOS. --- emulators/libretro-gambatte/Makefile | 7 ++++++- emulators/libretro-gambatte/distinfo | 3 ++- .../patch-libgambatte_libretro_net__serial.cpp | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 emulators/libretro-gambatte/patches/patch-libgambatte_libretro_net__serial.cpp diff --git a/emulators/libretro-gambatte/Makefile b/emulators/libretro-gambatte/Makefile index 1ff3e3894631b..794a921188cb1 100644 --- a/emulators/libretro-gambatte/Makefile +++ b/emulators/libretro-gambatte/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.3 2018/08/08 20:41:06 nia Exp $ +# $NetBSD: Makefile,v 1.4 2018/10/03 01:40:32 nia Exp $ DISTNAME= libretro-gambatte-20180709 +PKGREVISION= 1 CATEGORIES= emulators MASTER_SITES= ${MASTER_SITE_GITHUB:=libretro/} GITHUB_PROJECT= gambatte-libretro @@ -16,6 +17,10 @@ USE_LANGUAGES= c c++03 MAKE_FILE= Makefile.libretro USE_TOOLS+= gmake +CFLAGS.SunOS+= -DBSD_COMP + +BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-version-script=libgambatte/libretro/link.T + INSTALLATION_DIRS+= ${PREFIX}/lib/libretro do-install: diff --git a/emulators/libretro-gambatte/distinfo b/emulators/libretro-gambatte/distinfo index d855284258fc2..42cc8e5dc3d57 100644 --- a/emulators/libretro-gambatte/distinfo +++ b/emulators/libretro-gambatte/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.3 2018/08/08 20:41:06 nia Exp $ +$NetBSD: distinfo,v 1.4 2018/10/03 01:40:32 nia Exp $ SHA1 (libretro-gambatte-20180709-7722012ce85e56c324cb2080645347689ca379ae.tar.gz) = 1b155bafe76acae6ec207eb7da2e417513c3f8d7 RMD160 (libretro-gambatte-20180709-7722012ce85e56c324cb2080645347689ca379ae.tar.gz) = 3eb8c9cd7064525fb32b3cca486e74f1bcb64162 SHA512 (libretro-gambatte-20180709-7722012ce85e56c324cb2080645347689ca379ae.tar.gz) = 4f7de8ff549c51fd69042eed7883f1f73cbdf3e06677c91be428161767b7d5af24304006029e6db8fc67e0c67bfdf6764d044dee99ddc75afcd83b52c9b654bf Size (libretro-gambatte-20180709-7722012ce85e56c324cb2080645347689ca379ae.tar.gz) = 180439 bytes +SHA1 (patch-libgambatte_libretro_net__serial.cpp) = fad2ef612eb7893409dbae5aca30c8d79e9cb501 diff --git a/emulators/libretro-gambatte/patches/patch-libgambatte_libretro_net__serial.cpp b/emulators/libretro-gambatte/patches/patch-libgambatte_libretro_net__serial.cpp new file mode 100644 index 0000000000000..aa85ef38bddeb --- /dev/null +++ b/emulators/libretro-gambatte/patches/patch-libgambatte_libretro_net__serial.cpp @@ -0,0 +1,14 @@ +$NetBSD: patch-libgambatte_libretro_net__serial.cpp,v 1.1 2018/10/03 01:40:32 nia Exp $ + +Include strings.h for bzero and bcopy. + +--- libgambatte/libretro/net_serial.cpp.orig 2018-07-09 19:08:35.000000000 +0000 ++++ libgambatte/libretro/net_serial.cpp +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + #include + #include + #include From 078e9586d5761fda04e72024dad039d0c80a090d Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Oct 2018 12:15:05 +0100 Subject: [PATCH 106/141] security/p11-kit: multiarch --- security/p11-kit/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/security/p11-kit/Makefile b/security/p11-kit/Makefile index 751370cffbb48..4edad4dac71a9 100644 --- a/security/p11-kit/Makefile +++ b/security/p11-kit/Makefile @@ -18,6 +18,7 @@ CONFIGURE_ARGS+= --with-trust-paths=${PREFIX}/share/mozilla-rootcerts/cacert.pem GNU_CONFIGURE= yes USE_LANGUAGES= c99 USE_LIBTOOL= yes +USE_MULTIARCH= lib USE_TOOLS+= pkg-config TEST_TARGET= check From 9fe76bd1a43b2221878dac0786681826377bab3f Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Oct 2018 12:16:22 +0100 Subject: [PATCH 107/141] www/libproxy: multiarch --- www/libproxy/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/libproxy/Makefile b/www/libproxy/Makefile index 0f97b54625259..cb00062956d18 100644 --- a/www/libproxy/Makefile +++ b/www/libproxy/Makefile @@ -19,8 +19,8 @@ CMAKE_ARGS+= -DWITH_PYTHON3:BOOL=OFF CMAKE_ARGS+= -DWITH_KDE:BOOL=OFF # Need socket libraries on SunOS for both the shared library and test programs. -CMAKE_ARGS.SunOS+= -DCMAKE_EXE_LINKER_FLAGS:STRING="-lnsl -lsocket -L${PREFIX}/lib ${COMPILER_RPATH_FLAG}${PREFIX}/lib" -CMAKE_ARGS.SunOS+= -DCMAKE_SHARED_LINKER_FLAGS:STRING="-lnsl -lsocket -L${PREFIX}/lib ${COMPILER_RPATH_FLAG}${PREFIX}/lib" +CMAKE_ARGS.SunOS+= -DCMAKE_EXE_LINKER_FLAGS:STRING="-lnsl -lsocket -L${PREFIX}/lib${LIBARCHSUFFIX} ${COMPILER_RPATH_FLAG}${PREFIX}/lib${LIBARCHSUFFIX}" +CMAKE_ARGS.SunOS+= -DCMAKE_SHARED_LINKER_FLAGS:STRING="-lnsl -lsocket -L${PREFIX}/lib${LIBARCHSUFFIX} ${COMPILER_RPATH_FLAG}${PREFIX}/lib${LIBARCHSUFFIX}" PKGCONFIG_OVERRIDE+= bindings/csharp/libproxy-sharp-1.0.pc.cmake PKGCONFIG_OVERRIDE+= libproxy/libproxy-1.0.pc.in From f24e127b1ea7468b85f3acdd0eb753ce500b66b4 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 4 Oct 2018 12:18:07 +0100 Subject: [PATCH 108/141] lang/tcl: multiarch fix --- lang/tcl/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/tcl/Makefile b/lang/tcl/Makefile index 2f71a2cad50e0..3c74466a725f8 100644 --- a/lang/tcl/Makefile +++ b/lang/tcl/Makefile @@ -57,7 +57,7 @@ CONFIGURE_ARGS+= --with-system-sqlite SUBST_CLASSES+= sqllink SUBST_STAGE.sqllink= pre-configure SUBST_FILES.sqllink= pkgs/sqlite${SQLITE3_VERSION}/configure -SUBST_SED.sqllink= -e "/LIBS=/s|-lsqlite3|-L${BUILDLINK_PREFIX.sqlite3}/lib ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.sqlite3}/lib -lsqlite3|g" +SUBST_SED.sqllink= -e "/LIBS=/s|-lsqlite3|-L${BUILDLINK_PREFIX.sqlite3}/lib${LIBARCHSUFFIX} ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.sqlite3}/lib${LIBARCHSUFFIX} -lsqlite3|g" # install-sh requires $SHELL is an extremely close match to /bin/sh MAKE_ENV+= SHELL=${SH:Q} From a63bdd75d42863658da5fd43b85c686d6b2dbebc Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 5 Oct 2018 15:30:14 +0100 Subject: [PATCH 109/141] Update 'joyent' submodule. --- joyent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joyent b/joyent index c53ad6562aa91..609eedc3490ae 160000 --- a/joyent +++ b/joyent @@ -1 +1 @@ -Subproject commit c53ad6562aa9158fdfdd21f77e2cbb1d65c6283f +Subproject commit 609eedc3490aec802e56c678da22dfef15daa582 From b24dfd9587b7726d547befb2e30bb2de93c69304 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 5 Oct 2018 15:37:11 +0100 Subject: [PATCH 110/141] Update 'joyent' submodule. --- joyent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joyent b/joyent index 609eedc3490ae..63477a9b51a22 160000 --- a/joyent +++ b/joyent @@ -1 +1 @@ -Subproject commit 609eedc3490aec802e56c678da22dfef15daa582 +Subproject commit 63477a9b51a220019432652ffff0218ead60ccd9 From 9744557712af8fb80146845ac040b76d4ec45c64 Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Fri, 5 Oct 2018 18:57:04 +0100 Subject: [PATCH 111/141] Update 'joyent' submodule. --- joyent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joyent b/joyent index 63477a9b51a22..ab68edecbf65c 160000 --- a/joyent +++ b/joyent @@ -1 +1 @@ -Subproject commit 63477a9b51a220019432652ffff0218ead60ccd9 +Subproject commit ab68edecbf65c1fec5cf50d22faff945019a63ac From e6b93a1e939d9d983b0ca2c1e2939888eaef087b Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 6 Oct 2018 12:03:41 +0000 Subject: [PATCH 112/141] Pullup ticket #5840 - requested by maya devel/git-base: security update devel/git: security update Revisions pulled up: - devel/git-base/distinfo 1.84 - devel/git/Makefile.version 1.74 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: maya Date: Fri Oct 5 17:48:20 UTC 2018 Modified Files: pkgsrc/devel/git: Makefile.version pkgsrc/devel/git-base: distinfo Log Message: Git: update to 2.19.1 These releases fix a security flaw (CVE-2018-17456), which allowed an attacker to execute arbitrary code by crafting a malicious .gitmodules file in a project cloned with --recurse-submodules. When running "git clone --recurse-submodules", Git parses the supplied .gitmodules file for a URL field and blindly passes it as an argument to a "git clone" subprocess. If the URL field is set to a string that begins with a dash, this "git clone" subprocess interprets the URL as an option. This can lead to executing an arbitrary script shipped in the superproject as the user who ran "git clone". In addition to fixing the security issue for the user running "clone", the 2.17.2, 2.18.1 and 2.19.1 releases have an "fsck" check which can be used to detect such malicious repository content when fetching or accepting a push. See "transfer.fsckObjects" in git-config(1). Credit for finding and fixing this vulnerability goes to joernchen and Jeff King, respectively. To generate a diff of this commit: cvs rdiff -u -r1.73 -r1.74 pkgsrc/devel/git/Makefile.version cvs rdiff -u -r1.83 -r1.84 pkgsrc/devel/git-base/distinfo --- devel/git-base/distinfo | 10 +++++----- devel/git/Makefile.version | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/devel/git-base/distinfo b/devel/git-base/distinfo index d0d889cdb2054..625d1692d9b9e 100644 --- a/devel/git-base/distinfo +++ b/devel/git-base/distinfo @@ -1,9 +1,9 @@ -$NetBSD: distinfo,v 1.83 2018/09/13 10:56:42 adam Exp $ +$NetBSD: distinfo,v 1.83.2.1 2018/10/06 12:03:41 spz Exp $ -SHA1 (git-2.19.0.tar.xz) = 17f92df56588c58d2ebaacc5a47f677c8d8e7c61 -RMD160 (git-2.19.0.tar.xz) = 7beb63b801939650f5b8b08b6efd6d3c3235dc81 -SHA512 (git-2.19.0.tar.xz) = 305e51f8e22d96847fcdf4169340795aacaf5f4c5b8052cda860a668059d9ef35bb2840c278b7207f3b9f0e1c32915719649edc20bd3cd33b53e97a06159ceac -Size (git-2.19.0.tar.xz) = 5227124 bytes +SHA1 (git-2.19.1.tar.xz) = b61b1bdaf0e695a9c76e9a7994bff0c6026ca540 +RMD160 (git-2.19.1.tar.xz) = f03b87ab8ad24e9c7ceb346f25da1ea6621f59e4 +SHA512 (git-2.19.1.tar.xz) = a1bc1032b1de9eb9ea8b7c385cd009f64247e13066e0a91e9682e35400ded05f88c23b523cca4782f57544060d6ba0f9d3bec944399cda5771a4945c38bb9b98 +Size (git-2.19.1.tar.xz) = 5227908 bytes SHA1 (patch-Makefile) = 41955729837095abc055850751cce19023e7a2d1 SHA1 (patch-ac) = e5d2112d158fe493a89b244a10d2e4b998a23d98 SHA1 (patch-af) = 06460f220b4703a1ff98809006ec1aed5017bb23 diff --git a/devel/git/Makefile.version b/devel/git/Makefile.version index a295681ceef44..d2980ad6c3f9c 100644 --- a/devel/git/Makefile.version +++ b/devel/git/Makefile.version @@ -1,7 +1,7 @@ -# $NetBSD: Makefile.version,v 1.73 2018/09/13 10:56:42 adam Exp $ +# $NetBSD: Makefile.version,v 1.73.2.1 2018/10/06 12:03:41 spz Exp $ # # used by devel/git/Makefile.common # used by devel/git-cvs/Makefile # used by devel/git-svn/Makefile -GIT_VERSION= 2.19.0 +GIT_VERSION= 2.19.1 From a04b51be5d645936e36e45614b5b6373d161c3e4 Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 6 Oct 2018 12:08:32 +0000 Subject: [PATCH 113/141] Pullup ticket #5838 - requested by nia net/chrony: security update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revisions pulled up: - net/chrony/Makefile 1.36 - net/chrony/PLIST 1.7 - net/chrony/distinfo 1.12 - net/chrony/patches/patch-Makefile.in 1.2 - net/chrony/patches/patch-conf.c deleted - net/chrony/patches/patch-doc_Makefile.in 1.1 - net/chrony/patches/patch-examples_chrony.conf.example3 1.1 - net/chrony/patches/patch-examples_chrony.keys.example deleted - net/chrony/patches/patch-ntp__io.c deleted ------------------------------------------------------------------- Module Name: pkgsrc Committed By: nia Date: Mon Oct 1 15:53:58 UTC 2018 Modified Files: pkgsrc/net/chrony: Makefile PLIST distinfo pkgsrc/net/chrony/patches: patch-Makefile.in Added Files: pkgsrc/net/chrony/patches: patch-doc_Makefile.in patch-examples_chrony.conf.example3 Removed Files: pkgsrc/net/chrony/patches: patch-conf.c patch-examples_chrony.keys.example patch-ntp__io.c Log Message: net/chrony: update to version 3.4. Changes: 19 Sep 2018: chrony-3.4 released Enhancements Add filter option to server/pool/peer directive Add minsamples and maxsamples options to hwtimestamp directive Add support for faster frequency adjustments in Linux 4.19 Change default pidfile to /var/run/chrony/chronyd.pid to allow chronyd without root privileges to remove it on exit Disable sub-second polling intervals for distant NTP sources Extend range of supported sub-second polling intervals Get/set IPv4 destination/source address of NTP packets on FreeBSD Make burst options and command useful with short polling intervals Modify auto_offline option to activate when sending request failed Respond from interface that received NTP request if possible Add onoffline command to switch between online and offline state according to current system network configuration Improve example NetworkManager dispatcher script Bug fixes Avoid waiting in Linux getrandom system call Fix PPS support on FreeBSD and NetBSD 4 Apr 2018: chrony-3.3 released Enhancements Add burst option to server/pool directive Add stratum and tai options to refclock directive Add support for Nettle crypto library Add workaround for missing kernel receive timestamps on Linux Wait for late hardware transmit timestamps Improve source selection with unreachable sources Improve protection against replay attacks on symmetric mode Allow PHC refclock to use socket in /var/run/chrony Add shutdown command to stop chronyd Simplify format of response to manual list command Improve handling of unknown responses in chronyc Bug fixes Respond to NTPv1 client requests with zero mode Fix -x option to not require CAP_SYS_TIME under non-root user Fix acquisitionport directive to work with privilege separation Fix handling of socket errors on Linux to avoid high CPU usage Fix chronyc to not get stuck in infinite loop after clock step 15 Sep 2017: chrony-3.2 released Enhancements Improve stability with NTP sources and reference clocks Improve stability with hardware timestamping Improve support for NTP interleaved modes Control frequency of system clock on macOS 10.13 and later Set TAI-UTC offset of system clock with leapsectz directive Minimise data in client requests to improve privacy Allow transmit-only hardware timestamping Add support for new timestamping options introduced in Linux 4.13 Add root delay, root dispersion and maximum error to tracking log Add mindelay and asymmetry options to server/peer/pool directive Add extpps option to PHC refclock to timestamp external PPS signal Add pps option to refclock directive to treat any refclock as PPS Add width option to refclock directive to filter wrong pulse edges Add rxfilter option to hwtimestamp directive Add -x option to disable control of system clock Add -l option to log to specified file instead of syslog Allow multiple command-line options to be specified together Allow starting without root privileges with -Q option Update seccomp filter for new glibc versions Dump history on exit by default with dumpdir directive Use hardening compiler options by default Bug fixes Don’t drop PHC samples with low-resolution system clock Ignore outliers in PHC tracking, RTC tracking, manual input Increase polling interval when peer is not responding Exit with error message when include directive fails Don’t allow slash after hostname in allow/deny directive/command Try to connect to all addresses in chronyc before giving up 31 Jan 2017: chrony-3.1 released Enhancements Add support for precise cross timestamping of PHC on Linux Add minpoll, precision, nocrossts options to hwtimestamp directive Add rawmeasurements option to log directive and modify measurements option to log only valid measurements from synchronised sources Allow sub-second polling interval with NTP sources Bug fixes Fix time smoothing in interleaved mode 16 Jan 2017: chrony-3.0 released Enhancements Add support for software and hardware timestamping on Linux Add support for client/server and symmetric interleaved modes Add support for MS-SNTP authentication in Samba Add support for truncated MACs in NTPv4 packets Estimate and correct for asymmetric network jitter Increase default minsamples and polltarget to improve stability with very low jitter Add maxjitter directive to limit source selection by jitter Add offset option to server/pool/peer directive Add maxlockage option to refclock directive Add -t option to chronyd to exit after specified time Add partial protection against replay attacks on symmetric mode Don’t reset polling interval when switching sources to online state Allow rate limiting with very short intervals Improve maximum server throughput on Linux and NetBSD Remove dump files after start Add tab-completion to chronyc with libedit/readline Add ntpdata command to print details about NTP measurements Allow all source options to be set in add server/peer command Indicate truncated addresses/hostnames in chronyc output Print reference IDs as hexadecimal numbers to avoid confusion with IPv4 addresses Bug fixes Fix crash with disabled asynchronous name resolving 21 Nov 2016: chrony-2.4.1 released Bug fixes Fix processing of kernel timestamps on non-Linux systems Fix crash with smoothtime directive Fix validation of refclock sample times Fix parsing of refclock directive 7 Jun 2016: chrony-2.4 released Enhancements Add orphan option to local directive for orphan mode compatible with ntpd Add distance option to local directive to set activation threshold (1 second by default) Add maxdrift directive to set maximum allowed drift of system clock Try to replace NTP sources exceeding maximum distance Randomise source replacement to avoid getting stuck with bad sources Randomise selection of sources from pools on start Ignore reference timestamp as ntpd doesn’t always set it correctly Modify tracking report to use same values as seen by NTP clients Add -c option to chronyc to write reports in CSV format Provide detailed manual pages Bug fixes Fix SOCK refclock to work correctly when not specified as last refclock Fix initstepslew and -q/-Q options to accept time from own NTP clients Fix authentication with keys using 512-bit hash functions Fix crash on exit when multiple signals are received Fix conversion of very small floating-point numbers in command packets Removed features Drop documentation in Texinfo format 16 Feb 2016: chrony-2.3 released Enhancements Add support for NTP and command response rate limiting Add support for dropping root privileges on Mac OS X, FreeBSD, Solaris Add require and trust options for source selection Enable logchange by default (1 second threshold) Set RTC on Mac OS X with rtcsync directive Allow binding to NTP port after dropping root privileges on NetBSD Drop CAP_NET_BIND_SERVICE capability on Linux when NTP port is disabled Resolve names in separate process when seccomp filter is enabled Replace old records in client log when memory limit is reached Don’t reveal local time and synchronisation state in client packets Don’t keep client sockets open for longer than necessary Ignore poll in KoD RATE packets as ntpd doesn’t always set it correctly Warn when using keys shorter than 80 bits Add keygen command to generate random keys easily Add serverstats command to report NTP and command packet statistics Bug fixes Fix clock correction after making step on Mac OS X Fix building on Solaris 20 Jan 2016: chrony-2.2.1 and chrony-1.31.2 released Security fixes Restrict authentication of NTP server/peer to specified key (CVE-2016-1567) CVE-2016-1567: Impersonation between authenticated peers When a server/peer was specified with a key number to enable authentication with a symmetric key, packets received from the server/peer were accepted if they were authenticated with any of the keys contained in the key file and not just the specified key. This allowed an attacker who knew one key of a client/peer to modify packets from its servers/peers that were authenticated with other keys in a man-in-the-middle (MITM) attack. For example, in a network where each NTP association had a separate key and all hosts had only keys they needed, a client of a server could not attack other clients of the server, but it could attack the server and also attack its own clients (i.e. modify packets from other servers). To not allow the server/peer to be authenticated with other keys, the authentication test was extended to check if the key ID in the received packet is equal to the configured key number. As a consequence, it’s no longer possible to authenticate two peers to each other with two different keys, both peers have to be configured to use the same key. This issue was discovered by Matt Street of Cisco ASIG. 19 Oct 2015: chrony-2.2 released Enhancements Add support for configuration and monitoring over Unix domain socket (accessible by root or chrony user when root privileges are dropped) Add support for system call filtering with seccomp on Linux (experimental) Add support for dropping root privileges on NetBSD Control frequency of system clock on FreeBSD, NetBSD, Solaris Add system leap second handling mode on FreeBSD, NetBSD, Solaris Add dynamic drift removal on Mac OS X Add support for setting real-time priority on Mac OS X Add maxdistance directive to limit source selection by root distance (3 seconds by default) Add refresh command to get new addresses of NTP sources Allow wildcard patterns in include directive Restore time from driftfile with -s option if later than RTC time Add configure option to set default hwclockfile Add -d option to chronyc to enable debug messages Allow multiple addresses to be specified for chronyc with -h option and reconnect when no valid reply is received Make check interval in waitsync command configurable Bug fixes Fix building on NetBSD, Solaris Restore time from driftfile with -s option if reading RTC failed Removed features Drop support for authentication with command key (run-time configuration is now allowed only for local users that can access the Unix domain socket) 23 Jun 2015: chrony-2.1.1 released Bug fixes Fix clock stepping by integer number of seconds on Linux 22 Jun 2015: chrony-2.1 released Enhancements Add support for Mac OS X Try to replace unreachable and falseticker servers/peers specified by name like pool sources Add leaponly option to smoothtime directive to allow synchronised leap smear between multiple servers Use specific reference ID when smoothing served time Add smoothing command to report time smoothing status Add smoothtime command to activate or reset time smoothing Bug fixes Fix crash in source selection with preferred sources Fix resetting of time smoothing Include packet precision in peer dispersion Fix crash in chronyc on invalid command syntax 27 Apr 2015: chrony-2.0 released Enhancements Update to NTP version 4 (RFC 5905) Add pool directive to specify pool of NTP servers Add leapsecmode directive to select how to correct clock for leap second Add smoothtime directive to smooth served time and enable leap smear Add minsources directive to set required number of selectable sources Add minsamples and maxsamples options for all sources Add tempcomp configuration with list of points Allow unlimited number of NTP sources, refclocks and keys Allow unreachable sources to remain selected Improve source selection Handle offline sources as unreachable Open NTP server port only when necessary (client access is allowed by allow directive/command or peer/broadcast is configured) Change default bindcmdaddress to loopback address Change default maxdelay to 3 seconds Change default stratumweight to 0.001 Update adjtimex synchronisation status Use system headers for adjtimex Check for memory allocation errors Reduce memory usage Add configure options to compile without NTP, cmdmon, refclock support Extend makestep command to set automatic clock stepping Bug fixes Add sanity checks for time and frequency offset Don’t report synchronised status during leap second Don’t combine reference clocks with close NTP sources Fix accepting requests from configured sources Fix initial fallback drift setting To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 pkgsrc/net/chrony/Makefile cvs rdiff -u -r1.6 -r1.7 pkgsrc/net/chrony/PLIST cvs rdiff -u -r1.11 -r1.12 pkgsrc/net/chrony/distinfo cvs rdiff -u -r1.1 -r1.2 pkgsrc/net/chrony/patches/patch-Makefile.in cvs rdiff -u -r1.1 -r0 pkgsrc/net/chrony/patches/patch-conf.c \ pkgsrc/net/chrony/patches/patch-examples_chrony.keys.example cvs rdiff -u -r0 -r1.1 pkgsrc/net/chrony/patches/patch-doc_Makefile.in \ pkgsrc/net/chrony/patches/patch-examples_chrony.conf.example3 cvs rdiff -u -r1.2 -r0 pkgsrc/net/chrony/patches/patch-ntp__io.c --- net/chrony/Makefile | 16 ++--- net/chrony/PLIST | 6 +- net/chrony/distinfo | 18 +++-- net/chrony/patches/patch-Makefile.in | 42 +++--------- net/chrony/patches/patch-conf.c | 15 ----- net/chrony/patches/patch-doc_Makefile.in | 25 +++++++ .../patch-examples_chrony.conf.example3 | 65 +++++++++++++++++++ .../patch-examples_chrony.keys.example | 14 ---- net/chrony/patches/patch-ntp__io.c | 24 ------- 9 files changed, 115 insertions(+), 110 deletions(-) delete mode 100644 net/chrony/patches/patch-conf.c create mode 100644 net/chrony/patches/patch-doc_Makefile.in create mode 100644 net/chrony/patches/patch-examples_chrony.conf.example3 delete mode 100644 net/chrony/patches/patch-examples_chrony.keys.example delete mode 100644 net/chrony/patches/patch-ntp__io.c diff --git a/net/chrony/Makefile b/net/chrony/Makefile index bd9a9720a9c74..470b0f337c574 100644 --- a/net/chrony/Makefile +++ b/net/chrony/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.35 2018/07/04 13:40:27 jperkin Exp $ +# $NetBSD: Makefile,v 1.35.2.1 2018/10/06 12:08:32 spz Exp $ -DISTNAME= chrony-1.31.1 -PKGREVISION= 4 +DISTNAME= chrony-3.4 CATEGORIES= net MASTER_SITES= http://download.tuxfamily.org/chrony/ @@ -17,12 +16,13 @@ CONFIGURE_ARGS+= --prefix=${PREFIX} CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} CONFIGURE_ARGS+= --localstatedir=${VARBASE} +CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/chronyd.pid AUTO_MKDIRS= yes OWN_DIRS= ${VARBASE}/lib/chrony EGDIR= ${PREFIX}/share/examples/chrony -EGFILES= chrony.conf.example chrony.keys.example +EGFILES= chrony.conf.example3 chrony.keys.example RCD_SCRIPTS= chronyd SUBST_CLASSES+= paths @@ -32,10 +32,10 @@ SUBST_SED.paths+= -e 's,@VARBASE@,${VARBASE},g' SUBST_STAGE.paths= pre-configure post-install: - set -e; for file in ${EGFILES}; do \ - ${INSTALL_DATA} "${WRKSRC}/examples/$${file}" \ - "${DESTDIR}${EGDIR}/$${file}"; \ - done + ${INSTALL_DATA} "${WRKSRC}/examples/chrony.conf.example3" \ + "${DESTDIR}${EGDIR}/chrony.conf.example"; + ${INSTALL_DATA} "${WRKSRC}/examples/chrony.keys.example" \ + "${DESTDIR}${EGDIR}/chrony.keys.example"; .include "../../mk/readline.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/chrony/PLIST b/net/chrony/PLIST index da9e58d9bba9c..33d6575df7a18 100644 --- a/net/chrony/PLIST +++ b/net/chrony/PLIST @@ -1,12 +1,8 @@ -@comment $NetBSD: PLIST,v 1.6 2014/03/11 14:05:07 jperkin Exp $ +@comment $NetBSD: PLIST,v 1.6.40.1 2018/10/06 12:08:32 spz Exp $ bin/chronyc -man/man1/chrony.1 man/man1/chronyc.1 man/man5/chrony.conf.5 man/man8/chronyd.8 sbin/chronyd -share/doc/chrony/COPYING -share/doc/chrony/README -share/doc/chrony/chrony.txt share/examples/chrony/chrony.conf.example share/examples/chrony/chrony.keys.example diff --git a/net/chrony/distinfo b/net/chrony/distinfo index c6af04d8c6694..1081750210ac0 100644 --- a/net/chrony/distinfo +++ b/net/chrony/distinfo @@ -1,11 +1,9 @@ -$NetBSD: distinfo,v 1.11 2015/11/04 00:34:55 agc Exp $ +$NetBSD: distinfo,v 1.11.26.1 2018/10/06 12:08:32 spz Exp $ -SHA1 (chrony-1.31.1.tar.gz) = 8e92871e164dad89b315a5dda99d94ff7b31770a -RMD160 (chrony-1.31.1.tar.gz) = 7dd53fb95c1ecf30099bb580adeccd1a808c4dff -SHA512 (chrony-1.31.1.tar.gz) = c64b0bfc52f091994774927900a12075afce876a1df66c0fc4ea8ad2b72cee189e044f886594e61b8aafb7d3ecf161a290aeff37bfd7da9d416f21b3213de2a4 -Size (chrony-1.31.1.tar.gz) = 395797 bytes -SHA1 (patch-Makefile.in) = 28abbbf1cfd037f018a92c3827642e749fd8768a -SHA1 (patch-conf.c) = df47df974995f9f947b731a4812fb7633fd874a4 -SHA1 (patch-examples_chrony.conf.example) = ed17d749b1e4ad1c168da7a0393ef35a5e68aac0 -SHA1 (patch-examples_chrony.keys.example) = 5be7672dc40a1a1cb4451db05a4318185ef4f4d2 -SHA1 (patch-ntp__io.c) = edd1b5cf49fc24d3bfed128cd686b17633335a4d +SHA1 (chrony-3.4.tar.gz) = fa41e595e7041a9deda76a69e970a023091474f6 +RMD160 (chrony-3.4.tar.gz) = 6accfb0b4ff50675f1f2a12d2d3560077b82aeab +SHA512 (chrony-3.4.tar.gz) = 4fbb0311c8d363a87edd6f5d1be3d8554da169f260ba23c1ad9e8c567808258c6fd7513ba630d6fa27453ecfd81f0ece0e26d5ee2f98ca47fbc9887181a36918 +Size (chrony-3.4.tar.gz) = 453056 bytes +SHA1 (patch-Makefile.in) = 42ebfcdbce472a173890571625efc4fef583d5b6 +SHA1 (patch-doc_Makefile.in) = 8e9902690ff431fd47429d53346faf2ac8f1b923 +SHA1 (patch-examples_chrony.conf.example3) = 9566820e1db21435580f134cefc0bcb94d619dda diff --git a/net/chrony/patches/patch-Makefile.in b/net/chrony/patches/patch-Makefile.in index cc6d03713e2fb..5f739f827c106 100644 --- a/net/chrony/patches/patch-Makefile.in +++ b/net/chrony/patches/patch-Makefile.in @@ -1,21 +1,16 @@ -$NetBSD: patch-Makefile.in,v 1.1 2015/04/13 10:03:21 hannken Exp $ +$NetBSD: patch-Makefile.in,v 1.1.32.1 2018/10/06 12:08:32 spz Exp $ Adapt install target for pkgsrc. ---- Makefile.in.orig 2015-04-07 14:35:16.000000000 +0000 +--- Makefile.in.orig 2018-09-19 14:38:15.000000000 +0000 +++ Makefile.in -@@ -96,35 +96,15 @@ getdate : +@@ -86,16 +86,8 @@ getdate : # seem to vary between systems. - install: chronyd chronyc chrony.txt + install: chronyd chronyc - [ -d $(DESTDIR)$(SYSCONFDIR) ] || mkdir -p $(DESTDIR)$(SYSCONFDIR) - [ -d $(DESTDIR)$(SBINDIR) ] || mkdir -p $(DESTDIR)$(SBINDIR) - [ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) -- [ -d $(DESTDIR)$(DOCDIR) ] || mkdir -p $(DESTDIR)$(DOCDIR) -- [ -d $(DESTDIR)$(MANDIR)/man1 ] || mkdir -p $(DESTDIR)$(MANDIR)/man1 -- [ -d $(DESTDIR)$(MANDIR)/man5 ] || mkdir -p $(DESTDIR)$(MANDIR)/man5 -- [ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8 -- [ -d $(DESTDIR)$(DOCDIR) ] || mkdir -p $(DESTDIR)$(DOCDIR) - [ -d $(DESTDIR)$(CHRONYVARDIR) ] || mkdir -p $(DESTDIR)$(CHRONYVARDIR) - if [ -f $(DESTDIR)$(SBINDIR)/chronyd ]; then rm -f $(DESTDIR)$(SBINDIR)/chronyd ; fi - if [ -f $(DESTDIR)$(BINDIR)/chronyc ]; then rm -f $(DESTDIR)$(BINDIR)/chronyc ; fi @@ -23,29 +18,8 @@ Adapt install target for pkgsrc. - chmod 755 $(DESTDIR)$(SBINDIR)/chronyd - cp chronyc $(DESTDIR)$(BINDIR)/chronyc - chmod 755 $(DESTDIR)$(BINDIR)/chronyc -- cp chrony.txt $(DESTDIR)$(DOCDIR)/chrony.txt -- chmod 644 $(DESTDIR)$(DOCDIR)/chrony.txt -- cp COPYING $(DESTDIR)$(DOCDIR)/COPYING -- chmod 644 $(DESTDIR)$(DOCDIR)/COPYING -- cp README $(DESTDIR)$(DOCDIR)/README -- chmod 644 $(DESTDIR)$(DOCDIR)/README -- cp chrony.1 $(DESTDIR)$(MANDIR)/man1 -- chmod 644 $(DESTDIR)$(MANDIR)/man1/chrony.1 -- cp chronyc.1 $(DESTDIR)$(MANDIR)/man1 -- chmod 644 $(DESTDIR)$(MANDIR)/man1/chronyc.1 -- cp chronyd.8 $(DESTDIR)$(MANDIR)/man8 -- chmod 644 $(DESTDIR)$(MANDIR)/man8/chronyd.8 -- cp chrony.conf.5 $(DESTDIR)$(MANDIR)/man5 -- chmod 644 $(DESTDIR)$(MANDIR)/man5/chrony.conf.5 -+ $(BSD_INSTALL_PROGRAM) chronyd $(DESTDIR)$(SBINDIR) -+ $(BSD_INSTALL_PROGRAM) chronyc $(DESTDIR)$(BINDIR) -+ $(BSD_INSTALL_DATA) chrony.txt $(DESTDIR)$(DOCDIR) -+ $(BSD_INSTALL_DATA) COPYING $(DESTDIR)$(DOCDIR) -+ $(BSD_INSTALL_DATA) README $(DESTDIR)$(DOCDIR) -+ $(BSD_INSTALL_MAN) chrony.1 $(DESTDIR)$(MANDIR)/man1 -+ $(BSD_INSTALL_MAN) chronyc.1 $(DESTDIR)$(MANDIR)/man1 -+ $(BSD_INSTALL_MAN) chronyd.8 $(DESTDIR)$(MANDIR)/man8/chronyd.8 -+ $(BSD_INSTALL_MAN) chrony.conf.5 $(DESTDIR)$(MANDIR)/man5/chrony.conf.5 ++ $(BSD_INSTALL_PROGRAM) chronyd $(DESTDIR)$(SBINDIR)/chronyd ++ $(BSD_INSTALL_PROGRAM) chronyc $(DESTDIR)$(BINDIR)/chronyc + $(MAKE) -C doc install - %.o : %.c - $(CC) $(CFLAGS) $(CPPFLAGS) -c $< + docs : diff --git a/net/chrony/patches/patch-conf.c b/net/chrony/patches/patch-conf.c deleted file mode 100644 index 3f69b4daaf699..0000000000000 --- a/net/chrony/patches/patch-conf.c +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-conf.c,v 1.1 2015/04/13 10:03:21 hannken Exp $ - -Prepare for SUBST, not processed by configure. - ---- conf.c.orig 2013-08-08 13:58:07.000000000 +0000 -+++ conf.c -@@ -197,7 +197,7 @@ static IPAddr bind_cmd_address4, bind_cm - - /* Filename to use for storing pid of running chronyd, to prevent multiple - * chronyds being started. */ --static char *pidfile = "/var/run/chronyd.pid"; -+static char *pidfile = "@VARBASE@/run/chronyd.pid"; - - /* Temperature sensor, update interval and compensation coefficients */ - static char *tempcomp_file = NULL; diff --git a/net/chrony/patches/patch-doc_Makefile.in b/net/chrony/patches/patch-doc_Makefile.in new file mode 100644 index 0000000000000..185f111a85ebf --- /dev/null +++ b/net/chrony/patches/patch-doc_Makefile.in @@ -0,0 +1,25 @@ +$NetBSD: patch-doc_Makefile.in,v 1.1.2.2 2018/10/06 12:08:32 spz Exp $ + +Adapt install target for pkgsrc. + +--- doc/Makefile.in.orig 2018-09-19 14:38:15.000000000 +0000 ++++ doc/Makefile.in +@@ -50,15 +50,9 @@ docs: man html + $(HTML_TO_TXT) < $< > $@ + + install: $(MAN_FILES) +- [ -d $(DESTDIR)$(MANDIR)/man1 ] || mkdir -p $(DESTDIR)$(MANDIR)/man1 +- [ -d $(DESTDIR)$(MANDIR)/man5 ] || mkdir -p $(DESTDIR)$(MANDIR)/man5 +- [ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8 +- cp chronyc.man $(DESTDIR)$(MANDIR)/man1/chronyc.1 +- chmod 644 $(DESTDIR)$(MANDIR)/man1/chronyc.1 +- cp chronyd.man $(DESTDIR)$(MANDIR)/man8/chronyd.8 +- chmod 644 $(DESTDIR)$(MANDIR)/man8/chronyd.8 +- cp chrony.conf.man $(DESTDIR)$(MANDIR)/man5/chrony.conf.5 +- chmod 644 $(DESTDIR)$(MANDIR)/man5/chrony.conf.5 ++ $(BSD_INSTALL_MAN) chronyc.man $(DESTDIR)$(MANDIR)/man1/chronyc.1 ++ $(BSD_INSTALL_MAN) chronyd.man $(DESTDIR)$(MANDIR)/man8/chronyd.8 ++ $(BSD_INSTALL_MAN) chrony.conf.man $(DESTDIR)$(MANDIR)/man5/chrony.conf.5 + + install-docs: $(HTML_FILES) + [ -d $(DESTDIR)$(DOCDIR) ] || mkdir -p $(DESTDIR)$(DOCDIR) diff --git a/net/chrony/patches/patch-examples_chrony.conf.example3 b/net/chrony/patches/patch-examples_chrony.conf.example3 new file mode 100644 index 0000000000000..a967126313b9d --- /dev/null +++ b/net/chrony/patches/patch-examples_chrony.conf.example3 @@ -0,0 +1,65 @@ +$NetBSD: patch-examples_chrony.conf.example3,v 1.1.2.2 2018/10/06 12:08:32 spz Exp $ + +Prepare for SUBST, not processed by configure. + +--- examples/chrony.conf.example3.orig 2018-09-19 14:38:15.000000000 +0000 ++++ examples/chrony.conf.example3 +@@ -1,7 +1,7 @@ + ####################################################################### + # + # This is an example chrony configuration file. You should copy it to +-# /etc/chrony.conf after uncommenting and editing the options that you ++# @PKG_SYSCONFDIR@/chrony.conf after uncommenting and editing the options that you + # want to enable. The more obscure options are not included. Refer + # to the documentation for these. + # +@@ -65,12 +65,12 @@ + # immediately so that it doesn't gain or lose any more time. You + # generally want this, so it is uncommented. + +-driftfile /var/lib/chrony/drift ++driftfile @VARBASE@/lib/chrony/drift + + # If you want to enable NTP authentication with symmetric keys, you will need + # to uncomment the following line and edit the file to set up the keys. + +-! keyfile /etc/chrony.keys ++! keyfile @PKG_SYSCONFDIR@/chrony.keys + + # chronyd can save the measurement history for the servers to files when + # it it exits. This is useful in 2 situations: +@@ -88,14 +88,14 @@ driftfile /var/lib/chrony/drift + # Enable these two options to use this. + + ! dumponexit +-! dumpdir /var/lib/chrony ++! dumpdir @VARBASE@/lib/chrony + + # chronyd writes its process ID to a file. If you try to start a second + # copy of chronyd, it will detect that the process named in the file is + # still running and bail out. If you want to change the path to the PID + # file, uncomment this line and edit it. The default path is shown. + +-! pidfile /var/run/chrony/chronyd.pid ++! pidfile @VARBASE@/run/chrony/chronyd.pid + + # If the system timezone database is kept up to date and includes the + # right/UTC timezone, chronyd can use it to determine the current +@@ -124,7 +124,7 @@ driftfile /var/lib/chrony/drift + # produce some graphs of your system's timekeeping performance, or you + # need help in debugging a problem. + +-! logdir /var/log/chrony ++! logdir @VARBASE@/log/chrony + ! log measurements statistics tracking + + # If you have real time clock support enabled (see below), you might want +@@ -259,7 +259,7 @@ driftfile /var/lib/chrony/drift + # You need to have 'enhanced RTC support' compiled into your Linux + # kernel. (Note, these options apply only to Linux.) + +-! rtcfile /var/lib/chrony/rtc ++! rtcfile @VARBASE@/lib/chrony/rtc + + # Your RTC can be set to keep Universal Coordinated Time (UTC) or local + # time. (Local time means UTC +/- the effect of your timezone.) If you diff --git a/net/chrony/patches/patch-examples_chrony.keys.example b/net/chrony/patches/patch-examples_chrony.keys.example deleted file mode 100644 index 27ff10aec3c49..0000000000000 --- a/net/chrony/patches/patch-examples_chrony.keys.example +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-examples_chrony.keys.example,v 1.1 2015/04/13 10:03:21 hannken Exp $ - -Prepare for SUBST, not processed by configure. - ---- examples/chrony.keys.example.orig 2015-04-07 14:35:16.000000000 +0000 -+++ examples/chrony.keys.example -@@ -1,6 +1,6 @@ - ####################################################################### - # --# This is an example chrony keys file. You should copy it to /etc/chrony.keys -+# This is an example chrony keys file. You should copy it to @PKG_SYSCONFDIR@/chrony.keys - # after editing it to set up the key(s) you want to use. It should be readable - # only by root or the user chronyd drops the root privileges to. In most - # situations, you will require a single key (the 'commandkey') so that you can diff --git a/net/chrony/patches/patch-ntp__io.c b/net/chrony/patches/patch-ntp__io.c deleted file mode 100644 index 0f33ef74c43e7..0000000000000 --- a/net/chrony/patches/patch-ntp__io.c +++ /dev/null @@ -1,24 +0,0 @@ -$NetBSD: patch-ntp__io.c,v 1.2 2015/04/13 10:03:21 hannken Exp $ - -Don't use IP_PKTINFO on NetBSD. - ---- ntp_io.c.orig 2015-04-07 14:35:16.000000000 +0000 -+++ ntp_io.c -@@ -506,7 +506,7 @@ read_from_socket(void *anything) - local_addr.sock_fd = sock_fd; - - for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { --#ifdef IP_PKTINFO -+#if defined(IP_PKTINFO) && !defined(__NetBSD__) - if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_PKTINFO) { - struct in_pktinfo ipi; - -@@ -623,7 +623,7 @@ send_packet(void *packet, int packetlen, - msg.msg_flags = 0; - cmsglen = 0; - --#ifdef IP_PKTINFO -+#if defined(IP_PKTINFO) && !defined(__NetBSD__) - if (local_addr->ip_addr.family == IPADDR_INET4) { - struct cmsghdr *cmsg; - struct in_pktinfo *ipi; From eba814deaf828655f9e1a8312246b7fc0dbb35b1 Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 6 Oct 2018 16:14:20 +0000 Subject: [PATCH 114/141] Pullup ticket #5837 - requested by nia net/dnscrypt-proxy2: build fix Revisions pulled up: - net/dnscrypt-proxy2/distinfo 1.3 - net/dnscrypt-proxy2/patches/patch-vendor_github.com_aead_poly1305_poly1305__amd64.s 1.1 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: nia Date: Sun Sep 30 19:56:47 UTC 2018 Modified Files: pkgsrc/net/dnscrypt-proxy2: distinfo Added Files: pkgsrc/net/dnscrypt-proxy2/patches: patch-vendor_github.com_aead_poly1305_poly1305__amd64.s Log Message: dnscrypt-proxy2: resolve "relocation target runtime.support_avx2 not defined" To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 pkgsrc/net/dnscrypt-proxy2/distinfo cvs rdiff -u -r0 -r1.1 \ pkgsrc/net/dnscrypt-proxy2/patches/patch-vendor_github.com_aead_poly1305_poly1305__amd64.s --- net/dnscrypt-proxy2/distinfo | 3 ++- ...ndor_github.com_aead_poly1305_poly1305__amd64.s | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 net/dnscrypt-proxy2/patches/patch-vendor_github.com_aead_poly1305_poly1305__amd64.s diff --git a/net/dnscrypt-proxy2/distinfo b/net/dnscrypt-proxy2/distinfo index 3a2ad2eb427c1..64b35c08967e3 100644 --- a/net/dnscrypt-proxy2/distinfo +++ b/net/dnscrypt-proxy2/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.2 2018/08/05 12:28:06 nia Exp $ +$NetBSD: distinfo,v 1.2.2.1 2018/10/06 16:14:20 spz Exp $ SHA1 (dnscrypt-proxy-2.0.16.tar.gz) = b85d163ab8d39351d02532c652d1e4b53c74d0ee RMD160 (dnscrypt-proxy-2.0.16.tar.gz) = 98779274c632389f8168024b9c3abe474d73840d SHA512 (dnscrypt-proxy-2.0.16.tar.gz) = f138df20560dd440a2ed390c1468d630191ae7b0e50521b4dde3fa7ef4377c3ae6409e8c547858bace53216c84aeeea6794305546b9ff87832f704c160c6782f Size (dnscrypt-proxy-2.0.16.tar.gz) = 3770249 bytes +SHA1 (patch-vendor_github.com_aead_poly1305_poly1305__amd64.s) = 6472ec0f215cbb9437f970e6e62f09ae50286437 diff --git a/net/dnscrypt-proxy2/patches/patch-vendor_github.com_aead_poly1305_poly1305__amd64.s b/net/dnscrypt-proxy2/patches/patch-vendor_github.com_aead_poly1305_poly1305__amd64.s new file mode 100644 index 0000000000000..1f0270d5b4137 --- /dev/null +++ b/net/dnscrypt-proxy2/patches/patch-vendor_github.com_aead_poly1305_poly1305__amd64.s @@ -0,0 +1,14 @@ +$NetBSD: patch-vendor_github.com_aead_poly1305_poly1305__amd64.s,v 1.2.2.2 2018/10/06 16:14:20 spz Exp $ + +"poly1305.supportsAVX2: relocation target runtime.support_avx2 not defined" + +--- vendor/github.com/aead/poly1305/poly1305_amd64.s.orig 2018-07-09 16:19:45.000000000 +0000 ++++ vendor/github.com/aead/poly1305/poly1305_amd64.s +@@ -150,6 +150,6 @@ TEXT ·finalize(SB), $0-16 + + // func supportsAVX2() bool + TEXT ·supportsAVX2(SB), 4, $0-1 +- MOVQ runtime·support_avx2(SB), AX ++ MOVQ $0X0, AX + MOVB AX, ret+0(FP) + RET From ec4c3eca2c64fbb018c6b0b3c296f36cf3a0fded Mon Sep 17 00:00:00 2001 From: spz Date: Sun, 7 Oct 2018 11:32:05 +0000 Subject: [PATCH 115/141] Pullup ticket #5839 - requested by maya lang/spidermonkey52: security update www/firefox-l10n: security update www/firefox: security update Revisions pulled up: - lang/spidermonkey52/Makefile 1.10 - lang/spidermonkey52/distinfo 1.5 - lang/spidermonkey52/patches/patch-CVE-2018-12387 1.1 - www/firefox-l10n/Makefile 1.133 - www/firefox-l10n/distinfo 1.123 - www/firefox/Makefile 1.344 - www/firefox/distinfo 1.326 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: maya Date: Wed Oct 3 17:30:30 UTC 2018 Modified Files: pkgsrc/www/firefox: Makefile distinfo Log Message: firefox: update to 62.0.3 Fixed hangs on macOS Mojave (10.14) when various dialog windows (upload, download, print, etc) are activated (bug 1489785) Fixed playback of some encrypted video streams on macOS (bug 1491940) Unvisited bookmarks can once again be autofilled in the address bar (bug 1488879) WebGL rendering issues (bug 1489099) Updates from unpacked language packs no longer break the browser (bug 1488934) Fix fallback on startup when a language pack is missing (bug 1492459) Profile refresh from the Windows stub installer restarts the browser (bug 1491999) Properly restore window size and position when restarting on Windows (bugs 1489214 and 1489852) Avoid crash when sharing a profile with newer (as yet unreleased) versions of Firefox (bug 1490585) Do not undo removal of search engines when using a language pack (bug 1489820) Fixed rendering of some web sites (bug 1421885) Restored compatibility with some sites using deprecated TLS settings (bug 1487517) Fix screen share on MacOS when using multiple monitors (bug 1487419) CVE-2018-12386: Type confusion in JavaScript CVE-2018-12387: CVE-2018-12385: Crash in TransportSecurityInfo due to cached data To generate a diff of this commit: cvs rdiff -u -r1.343 -r1.344 pkgsrc/www/firefox/Makefile cvs rdiff -u -r1.325 -r1.326 pkgsrc/www/firefox/distinfo ------------------------------------------------------------------- Module Name: pkgsrc Committed By: maya Date: Wed Oct 3 17:31:07 UTC 2018 Modified Files: pkgsrc/www/firefox-l10n: Makefile distinfo Log Message: firefox-l10n: catch up to www/firefox update. To generate a diff of this commit: cvs rdiff -u -r1.132 -r1.133 pkgsrc/www/firefox-l10n/Makefile cvs rdiff -u -r1.122 -r1.123 pkgsrc/www/firefox-l10n/distinfo ------------------------------------------------------------------- Module Name: pkgsrc Committed By: maya Date: Wed Oct 3 18:58:23 UTC 2018 Modified Files: pkgsrc/lang/spidermonkey52: Makefile distinfo Added Files: pkgsrc/lang/spidermonkey52/patches: patch-CVE-2018-12387 Log Message: spidermonkey52: backport patch for CVE-2018-12387 Don't inline push with more than 1 argument A vulnerability where the JavaScript JIT compiler inlines Array.prototype.push with multiple arguments that results in the stack pointer being off by 8 bytes after a bailout. This leaks a memory address to the calling function which can be used as part of an exploit inside the sandboxed content process. Bump PKGREVISION To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 pkgsrc/lang/spidermonkey52/Makefile cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/spidermonkey52/distinfo cvs rdiff -u -r0 -r1.1 \ pkgsrc/lang/spidermonkey52/patches/patch-CVE-2018-12387 --- lang/spidermonkey52/Makefile | 4 +- lang/spidermonkey52/distinfo | 3 +- .../patches/patch-CVE-2018-12387 | 25 + www/firefox-l10n/Makefile | 4 +- www/firefox-l10n/distinfo | 762 +++++++++--------- www/firefox/Makefile | 4 +- www/firefox/distinfo | 10 +- 7 files changed, 419 insertions(+), 393 deletions(-) create mode 100644 lang/spidermonkey52/patches/patch-CVE-2018-12387 diff --git a/lang/spidermonkey52/Makefile b/lang/spidermonkey52/Makefile index 9a5d848aff2d8..c6fe25bb7d660 100644 --- a/lang/spidermonkey52/Makefile +++ b/lang/spidermonkey52/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.9 2018/08/22 09:45:22 wiz Exp $ +# $NetBSD: Makefile,v 1.9.2.1 2018/10/07 11:32:05 spz Exp $ DISTNAME= mozjs-52.7.4 -PKGREVISION= 4 +PKGREVISION= 5 PKGNAME= ${DISTNAME:S/mozjs/spidermonkey52/} CATEGORIES= lang MASTER_SITES= https://queue.taskcluster.net/v1/task/YqG2fjJJSTGzGX090FjDYg/runs/0/artifacts/public/build/ diff --git a/lang/spidermonkey52/distinfo b/lang/spidermonkey52/distinfo index 2e18e7931e75d..97b0c78fd22fd 100644 --- a/lang/spidermonkey52/distinfo +++ b/lang/spidermonkey52/distinfo @@ -1,9 +1,10 @@ -$NetBSD: distinfo,v 1.4 2018/05/19 12:38:28 youri Exp $ +$NetBSD: distinfo,v 1.4.4.1 2018/10/07 11:32:05 spz Exp $ SHA1 (mozjs-52.7.4.tar.bz2) = ff009853040bb46017204fda4ed69a79484fd321 RMD160 (mozjs-52.7.4.tar.bz2) = 71ee71c2444d8b6a1b2b3c744c9f52a2b7129879 SHA512 (mozjs-52.7.4.tar.bz2) = 7381f251ca9a4983d181eee2198f89b30505a0de636020e52c0c5b174f4d5cd19ca851222b6d8013bb657f2f1ce1ffcb54816eb928e481be2c9242f918d0125e Size (mozjs-52.7.4.tar.bz2) = 30494311 bytes +SHA1 (patch-CVE-2018-12387) = a0e3198e1009db01bb5a39220764e7dcdfd52591 SHA1 (patch-build_moz.configure_init.configure) = 63ed71d4269e8fbf990f44eecadca796991d5c1f SHA1 (patch-config_gcc__hidden.h) = c2042035288e01601b6c240fb08c8a1f598b9dfd SHA1 (patch-intl_icu_source_configure) = 1ff1be8ca68566e153219e15b8db696afd08b746 diff --git a/lang/spidermonkey52/patches/patch-CVE-2018-12387 b/lang/spidermonkey52/patches/patch-CVE-2018-12387 new file mode 100644 index 0000000000000..4cc7a028738ec --- /dev/null +++ b/lang/spidermonkey52/patches/patch-CVE-2018-12387 @@ -0,0 +1,25 @@ +$NetBSD: patch-CVE-2018-12387,v 1.1.2.2 2018/10/07 11:32:06 spz Exp $ + +From 64de926d460164d41269812742a1376ba7bafda6 Mon Sep 17 00:00:00 2001 +From: Jan de Mooij +Date: Tue, 25 Sep 2018 12:33:42 +0200 +Subject: [PATCH] Bug 1493903 - Don't inline push with more than 1 argument. + r=tcampbell + +CVE-2018-12387 + +--- js/src/jit/MCallOptimize.cpp.orig 2018-04-28 01:04:03.000000000 +0000 ++++ js/src/jit/MCallOptimize.cpp +@@ -818,6 +818,12 @@ IonBuilder::inlineArraySlice(CallInfo& c + return InliningStatus_NotInlined; + } + ++ // XXX bug 1493903. ++ if (callInfo.argc() != 1) { ++ trackOptimizationOutcome(TrackedOutcome::CantInlineNativeBadForm); ++ return InliningStatus_NotInlined; ++ } ++ + MDefinition* obj = convertUnboxedObjects(callInfo.thisArg()); + + // Ensure |this| and result are objects. diff --git a/www/firefox-l10n/Makefile b/www/firefox-l10n/Makefile index 5ce7b4d876d20..6b0e9ab22efe1 100644 --- a/www/firefox-l10n/Makefile +++ b/www/firefox-l10n/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.132 2018/09/05 15:32:30 ryoon Exp $ +# $NetBSD: Makefile,v 1.132.2.1 2018/10/07 11:32:06 spz Exp $ # -FIREFOX_VER= 62.0 +FIREFOX_VER= 62.0.3 PKGNAME= firefox-l10n-${FIREFOX_VER:S/esr//} DISTNAME= # empty CATEGORIES= www diff --git a/www/firefox-l10n/distinfo b/www/firefox-l10n/distinfo index bc57a618ed47c..49665e74877bf 100644 --- a/www/firefox-l10n/distinfo +++ b/www/firefox-l10n/distinfo @@ -1,382 +1,382 @@ -$NetBSD: distinfo,v 1.122 2018/09/05 15:32:30 ryoon Exp $ +$NetBSD: distinfo,v 1.122.2.1 2018/10/07 11:32:06 spz Exp $ -SHA1 (firefox-l10n-62.0/ach.xpi) = e2d90b54bbb3daa177d2604a0ec4fbc61a4b6421 -RMD160 (firefox-l10n-62.0/ach.xpi) = 400b47b0266d3b17c77792dd5ffd75ed288e39b6 -SHA512 (firefox-l10n-62.0/ach.xpi) = edf25863b126619e50a1e39a1930c85826b252c23b5d36c4dc5e808f612e3cbd624932bf63b13244e26d994b71f48e9543e652e74b4decbdcee045ac5697ed99 -Size (firefox-l10n-62.0/ach.xpi) = 446322 bytes -SHA1 (firefox-l10n-62.0/af.xpi) = ae3443a51e3a8618e6efde199e02fd53049bbd28 -RMD160 (firefox-l10n-62.0/af.xpi) = 3263bfeda8544f1cf07c21f8ff008eaa82bc569d -SHA512 (firefox-l10n-62.0/af.xpi) = 34e5130cf2ba469c6b27ee15535cf3783150798bc73cfcc44ef4afa5d90d7e47c1eae24d055ea5ce7317d6f875a4b5b2320a1f28ecc1baeba4b6992eaa6fb716 -Size (firefox-l10n-62.0/af.xpi) = 432298 bytes -SHA1 (firefox-l10n-62.0/an.xpi) = 0d20af142e1fc22ca251fc0b78b1ffa63daa8ccb -RMD160 (firefox-l10n-62.0/an.xpi) = c5b250e64f59c10b48f06645ac0d6ac168715a27 -SHA512 (firefox-l10n-62.0/an.xpi) = 425b7e4436dd9b78a93d6b6fab04d1d0dca4c603b7b31cabf505327ed98145215bcab815c478d26c2ace6ece1665283a9c9dec7199c521a84dcd33c34b4b6b2b -Size (firefox-l10n-62.0/an.xpi) = 467495 bytes -SHA1 (firefox-l10n-62.0/ar.xpi) = efc14fabbb2f89c31d75b0e0d4e2b41b2b922ca7 -RMD160 (firefox-l10n-62.0/ar.xpi) = c77ca5a548c1f20ae650302c9cd04b53e9036851 -SHA512 (firefox-l10n-62.0/ar.xpi) = 52ef5921eb3009731126823bc6aebdbcd03166aa3d8450d3a371046a417c41a86c57fdf495e10d17079c3d43901472bc8bd1de3be0ddf589ecd12a5fd0ecc72d -Size (firefox-l10n-62.0/ar.xpi) = 497992 bytes -SHA1 (firefox-l10n-62.0/as.xpi) = 8d2fcbf5e94c921674da9b1b63c6bebaa65c5a0c -RMD160 (firefox-l10n-62.0/as.xpi) = fd67bbbd6b61635c16361756906340fd0952216e -SHA512 (firefox-l10n-62.0/as.xpi) = aad2c64b4b389d8cadfb12efa1c06156e0875f2338f5e1e8d30d82837bcb6f846f2588a476848074bf4b2d0df57511f2ce6078cdd479ae3d673e77294a962c15 -Size (firefox-l10n-62.0/as.xpi) = 478311 bytes -SHA1 (firefox-l10n-62.0/ast.xpi) = 5b57b17d656a2a22d4f0259a3f97e3850e2b4efc -RMD160 (firefox-l10n-62.0/ast.xpi) = 3d05397cb466772ddeb5de9f03cc05c722e30322 -SHA512 (firefox-l10n-62.0/ast.xpi) = a9a35029b9b699294b47b4ddeb69545968497ae8998c87f1335423967ce2ffd127fad86fea626b303e3c6321ec6967f205630a9f23fc9129bef71a0cbcfe529b -Size (firefox-l10n-62.0/ast.xpi) = 455181 bytes -SHA1 (firefox-l10n-62.0/az.xpi) = ff8ba1c3cf64122b7383c2e8b5cae8c3f2fec37c -RMD160 (firefox-l10n-62.0/az.xpi) = acf562faa8422992efb90fe0f5fe55a01b66e233 -SHA512 (firefox-l10n-62.0/az.xpi) = 0da7b37a46487a693e261733e390edcd78d25679f40642dd6fc032beff0f7620942344e5644f660456838324ae95dbec6dc97f6e69e664365b3f52df855bd66b -Size (firefox-l10n-62.0/az.xpi) = 477133 bytes -SHA1 (firefox-l10n-62.0/be.xpi) = 9af6ffbdb52e7c3c636432781329d3312d8615aa -RMD160 (firefox-l10n-62.0/be.xpi) = f298bcbe288aca5237ba45ef951ec29a523a7b1a -SHA512 (firefox-l10n-62.0/be.xpi) = 9dcbae30bcf472707297c759318283757858dc8fb83c6bd0f8bb5b6b85a3b94d5f8332111f0ceccc8f85a80ea185a6a541fb5f71042578d412d883499bde568a -Size (firefox-l10n-62.0/be.xpi) = 534912 bytes -SHA1 (firefox-l10n-62.0/bg.xpi) = 113eff267157f58182e424fcddfa8bd9242a8b15 -RMD160 (firefox-l10n-62.0/bg.xpi) = 4f63c92141a06a44e5b78a4ddd41bb3a73f5d1e9 -SHA512 (firefox-l10n-62.0/bg.xpi) = d5c15b851dc1d61874ad81b2e43691a6d525aca8dd30582dc2c23fe68cf23dd96608bb7c2e5c70e4a00965a73246d48eb356bb287e14fb9ce5646baf4c6ed6d0 -Size (firefox-l10n-62.0/bg.xpi) = 524206 bytes -SHA1 (firefox-l10n-62.0/bn-BD.xpi) = 6ddb3e2c9ed1ea44e9322c87e3d5414aa4746990 -RMD160 (firefox-l10n-62.0/bn-BD.xpi) = bcf737eacf5716ac329c9efcad23bd540767db65 -SHA512 (firefox-l10n-62.0/bn-BD.xpi) = 1a776552a454c82399941d34addc834dfb72c84906f243e32543363b6f022c97bc9050eb4c50c44d1e774eebdb877966ae64e8556d120bec9bbae1a3f3f4ccc5 -Size (firefox-l10n-62.0/bn-BD.xpi) = 538602 bytes -SHA1 (firefox-l10n-62.0/bn-IN.xpi) = 210c51828efb92df323141f93e695ec8e23ab7fa -RMD160 (firefox-l10n-62.0/bn-IN.xpi) = 6d3f13aafbe4cefb9937d157cfe07f260e69144a -SHA512 (firefox-l10n-62.0/bn-IN.xpi) = e80bdc106f3d73571cb1f803672e6506f9d34c3b47c130628375a77091867bc9225ee1b45512fc6d5ed8b035275b346c3b0b9bd881400d150732e1b2ea2f3426 -Size (firefox-l10n-62.0/bn-IN.xpi) = 509949 bytes -SHA1 (firefox-l10n-62.0/br.xpi) = 49a395f383256f91b3bdb7274196177fcd4f4f66 -RMD160 (firefox-l10n-62.0/br.xpi) = a78ac55e3928ac9194ec171ead9fdc7f10277ae6 -SHA512 (firefox-l10n-62.0/br.xpi) = 1b0228e9602032e6b51f4f2f8d0bf55cd416ffad2811c84e31054aa59eaef79400a8233eee89e2d52ff467c4522393b46f2c71f0a1607d3b398c1d1868ebd4cf -Size (firefox-l10n-62.0/br.xpi) = 464398 bytes -SHA1 (firefox-l10n-62.0/bs.xpi) = b4a6f45ee5a84f781168e8d6343331250d2ee7e7 -RMD160 (firefox-l10n-62.0/bs.xpi) = 215c0229e82a39392c9a50b108aa596204b35bc0 -SHA512 (firefox-l10n-62.0/bs.xpi) = 0b9a6b222be0fd4849dcc5b82ae55d379c284b178076c36945ba8dd8507f0a106eecc1042bd6f54177cf1a86c89879ce1bcff0c52bc5dc7c2f12091619413285 -Size (firefox-l10n-62.0/bs.xpi) = 466249 bytes -SHA1 (firefox-l10n-62.0/ca.xpi) = e3473dcc933936844cae2f1d76e33e7808ba87fb -RMD160 (firefox-l10n-62.0/ca.xpi) = 6d1a07341e1bdd54bb6b9350a4051ecb14ad55c1 -SHA512 (firefox-l10n-62.0/ca.xpi) = 03b96834ea051f486b6b4e59e5b36e1f99bd2920c7cb4943bc715b63d2ffd10db199312a9ec2732114bd92faa927a6dfc932512fb3d2b170f306c7933823ad56 -Size (firefox-l10n-62.0/ca.xpi) = 470058 bytes -SHA1 (firefox-l10n-62.0/cs.xpi) = cd70cedd142a3f32a6b61502b241dedaffa2c8f4 -RMD160 (firefox-l10n-62.0/cs.xpi) = 3042b0cfeebb5e565b2e7b754c38995942caf76d -SHA512 (firefox-l10n-62.0/cs.xpi) = 8c83954f7ac10df2f432cce0600c62fbc2a6af287e6d38528c6d413ee5a96ab814ed908ea0be362b68f6105a6418997f2adfaa9f96f50288288ed135d718fec8 -Size (firefox-l10n-62.0/cs.xpi) = 478359 bytes -SHA1 (firefox-l10n-62.0/cy.xpi) = 4a097ca4d294605ef60718b11a3168346cd07220 -RMD160 (firefox-l10n-62.0/cy.xpi) = f5e4ad6056ecea3c33d6866d84be59311b9432cb -SHA512 (firefox-l10n-62.0/cy.xpi) = 76d50df28f10c8232d67ad8b459d8cf77779dec53252918cab337712131ddf94997382de8d84d4c7f99f680fa12df29683754a97c359ae2247f14270ddcc1c3e -Size (firefox-l10n-62.0/cy.xpi) = 468857 bytes -SHA1 (firefox-l10n-62.0/da.xpi) = 33fa28c4cdee430d666c84df188e6ea1a2234bfa -RMD160 (firefox-l10n-62.0/da.xpi) = 72d1452e77540c77a5ee43bc26487daf8417f4e9 -SHA512 (firefox-l10n-62.0/da.xpi) = cb28dc5192b205bf4616db0a8f0eabe9f2f6c4b3cec8816c68210cff2d49ed4d987bd91628066eafcce194b0fc86c340aab8c343c630f8cb1e01c4598564a599 -Size (firefox-l10n-62.0/da.xpi) = 467290 bytes -SHA1 (firefox-l10n-62.0/de.xpi) = 4f8b22d165e2f30ccb0bc85d1ba5d0386d45003f -RMD160 (firefox-l10n-62.0/de.xpi) = c67460cc38144277e64582ac23602f8695cbf61e -SHA512 (firefox-l10n-62.0/de.xpi) = 5d279e3fd5e5e38c2e2fac330e5824568d85e39d47eed15e7e522ab8b57d3b40d783ee962cba539f56fa9afd86c5de33a76ed6d3fba488f53c61979fa9203f9c -Size (firefox-l10n-62.0/de.xpi) = 475937 bytes -SHA1 (firefox-l10n-62.0/dsb.xpi) = 45cd174f6cb413ff9cd44a82c7dbfca40a9764cf -RMD160 (firefox-l10n-62.0/dsb.xpi) = a4301fbe54decfc9891a5a81810b1cdf3e3f31e0 -SHA512 (firefox-l10n-62.0/dsb.xpi) = 9c1cef8601c3d6301e16dd875fd38ab2c3677c93f8cd83cba0577e7ffd8a29ff5978cfbf95d00af93ae15cbf31ffd4b980e46846bac6f705f7e0417dfdb94d55 -Size (firefox-l10n-62.0/dsb.xpi) = 488173 bytes -SHA1 (firefox-l10n-62.0/el.xpi) = 33cad4308589fcdf0e1282531ba6ff4ab4b2384e -RMD160 (firefox-l10n-62.0/el.xpi) = 933f10dcb498d32500444da7a187c9ed6ef56ed0 -SHA512 (firefox-l10n-62.0/el.xpi) = 413978c8935fd3f2774abb5769ace4cfbb7e87276970392a873bdbe9b8afec325c553dcc9ee73208db365230da43eac6715472474109228e27d612caa3f20441 -Size (firefox-l10n-62.0/el.xpi) = 546431 bytes -SHA1 (firefox-l10n-62.0/en-CA.xpi) = c456323975a6cd65fb419ecc5db95a4964ac8b46 -RMD160 (firefox-l10n-62.0/en-CA.xpi) = 0f647f1fdfd70851a85031760c04317f5a78e0bd -SHA512 (firefox-l10n-62.0/en-CA.xpi) = e2172926a67298dc747ff736050c218597e86435d0464870f8c220e15d141a8d009269a1fabeeeff46fd487070de506bbfb99db6965c58c6f652de32ec560099 -Size (firefox-l10n-62.0/en-CA.xpi) = 439066 bytes -SHA1 (firefox-l10n-62.0/en-GB.xpi) = e61af974d2e8c4974ad1e2979e95ca8e1d0c0ad3 -RMD160 (firefox-l10n-62.0/en-GB.xpi) = d6ee1e3164cc05a0aa144057741b8a5320a88132 -SHA512 (firefox-l10n-62.0/en-GB.xpi) = 3f3be43788e6137d8f12ecf2ce7ad0f53f5d9fa8226e1649514859957be8481df5a0e31e3a66324410fdff43127bacf2e56c1b8101071cffe17950960ee5b1ad -Size (firefox-l10n-62.0/en-GB.xpi) = 436171 bytes -SHA1 (firefox-l10n-62.0/en-ZA.xpi) = aa8fe97083e732e81e3ce2537b6614474da62616 -RMD160 (firefox-l10n-62.0/en-ZA.xpi) = deca59452263fdd443b7cb19315ca2f5473db5eb -SHA512 (firefox-l10n-62.0/en-ZA.xpi) = 0bc3f546e6aeddc8bf819d965ea0c6acf3d27c8d4f3d437122e4b28a4797ec2a932240f52a7b09d9db995302a2198faf1a5fa44046efd3c12e5d2f738d61d489 -Size (firefox-l10n-62.0/en-ZA.xpi) = 422869 bytes -SHA1 (firefox-l10n-62.0/eo.xpi) = 1483dc25d597aefe7434c419d62268ec153056da -RMD160 (firefox-l10n-62.0/eo.xpi) = 446f609e55ee80f09b94df6a8e9c20831bed0b7a -SHA512 (firefox-l10n-62.0/eo.xpi) = 67460a0e9807371581601fc7e522e891f3e30cf3bb9e48e6a15d4e1362bfad1e0e282743bee95142476f60c6da052c1ed1b841759ad68af6804ad07f3b3bfa5c -Size (firefox-l10n-62.0/eo.xpi) = 466537 bytes -SHA1 (firefox-l10n-62.0/es-AR.xpi) = 6959a50a0b5a3d8934690b7f3a4faa719af629e6 -RMD160 (firefox-l10n-62.0/es-AR.xpi) = 5fc473673659a89ab0a07a446699406e0e0deacc -SHA512 (firefox-l10n-62.0/es-AR.xpi) = 73b20857966b2a81feb1d57ed9f71c543a247363b4e67dc1f7e987908477ab04ac8fbd0bfa1635fec1e39398573abdcc955846d6346250e71968db3a2db6b141 -Size (firefox-l10n-62.0/es-AR.xpi) = 473528 bytes -SHA1 (firefox-l10n-62.0/es-CL.xpi) = 2cd0de823dfad8517af5d7d212bda5fba8615bd4 -RMD160 (firefox-l10n-62.0/es-CL.xpi) = f0b182a8e5902853b2f17289a44a484c4839def9 -SHA512 (firefox-l10n-62.0/es-CL.xpi) = e95eb1c60203f4e6271668ebdbdb07c766cafcbdd9f0a5355ce148aaa28a93dc5a0babe5bac1dd0a63ba1938ff47b2ec0576294491588162a1bf13802052d40f -Size (firefox-l10n-62.0/es-CL.xpi) = 473981 bytes -SHA1 (firefox-l10n-62.0/es-ES.xpi) = b771b22b78843943aec98aeab5dfb0ae45bf4ab9 -RMD160 (firefox-l10n-62.0/es-ES.xpi) = 9b1d196a4e89fa30b4d7fd8377c983ab976d6831 -SHA512 (firefox-l10n-62.0/es-ES.xpi) = d8062adbafbf2062a817717a21a7d0380c77236760c8779198a3979d78200fcac99b92bb1683bb3110c2ea72fb347fe7f370adaee1cffd3d45cbeabd25d8307d -Size (firefox-l10n-62.0/es-ES.xpi) = 414986 bytes -SHA1 (firefox-l10n-62.0/es-MX.xpi) = 3cf950cb9fc5e309537278c3f1d065d10c01b223 -RMD160 (firefox-l10n-62.0/es-MX.xpi) = e3e9d1045efb985e94ef4f53365d69149474ee0a -SHA512 (firefox-l10n-62.0/es-MX.xpi) = 0cb1ab0130006e6c05e01e3cf897d4ff70334d1ea0ad761501eab86aa4cf43f0b86c9d5cd2899c6098ce10c238a37c188bccf1c6eb2c582f5f112aa4142ef613 -Size (firefox-l10n-62.0/es-MX.xpi) = 477958 bytes -SHA1 (firefox-l10n-62.0/et.xpi) = b200f6fcd00fe36b9c8df6956af20c65b5849193 -RMD160 (firefox-l10n-62.0/et.xpi) = c903227b766047809245d451d7aaa67c9e22917b -SHA512 (firefox-l10n-62.0/et.xpi) = 88ef2bb4b1ee259ea26396f716afe283c8ec94cd977205256e9b6e6aec845e786b977ea18f328f61beb65e72051cd0d257a23a5f7631231340cc7476cfea1e67 -Size (firefox-l10n-62.0/et.xpi) = 455372 bytes -SHA1 (firefox-l10n-62.0/eu.xpi) = 77cb945aed7a409491cecbe28f2c73919fdd4643 -RMD160 (firefox-l10n-62.0/eu.xpi) = 770b58ed3e65ae222868ffd4bd19b36493250f61 -SHA512 (firefox-l10n-62.0/eu.xpi) = 51cc93b7b4fa3b3f68edc9589b9cd4426db97b39a5431abae63bfb2651a073426454831b5f471f264e5dfd9cc7a21d8f52e246d4888d992596479c929b4b1272 -Size (firefox-l10n-62.0/eu.xpi) = 465902 bytes -SHA1 (firefox-l10n-62.0/fa.xpi) = cbfdd44a062e263d0156710d7b7a9247f7dbf439 -RMD160 (firefox-l10n-62.0/fa.xpi) = ea43fd04d740e319fadfc82aa0bbf9c7df05c028 -SHA512 (firefox-l10n-62.0/fa.xpi) = 4d1e358def6e3759851619c0a64247c96a39fd9edffcfb2eb664410bc0c7a3518462070e569afd7f5860bc94c7d2d27f1ce7465d1b589af884846ba2ff5e8fed -Size (firefox-l10n-62.0/fa.xpi) = 514441 bytes -SHA1 (firefox-l10n-62.0/ff.xpi) = f51d21611769d4bd6362d2a5662623b9a0ecc171 -RMD160 (firefox-l10n-62.0/ff.xpi) = f51859f7fc271ad3848d32e4b89432dde9561f64 -SHA512 (firefox-l10n-62.0/ff.xpi) = cc994fd3c1de47dd0af074ecefd3e05c894742a809c79950941806eade1cb4ee8260d9669fc7aee2c21357ea0e98053aee990080aa9e9e33f7b90b2e672ca9bb -Size (firefox-l10n-62.0/ff.xpi) = 459042 bytes -SHA1 (firefox-l10n-62.0/fi.xpi) = e4074c05e430035280a12b59c7d3f357bde3223f -RMD160 (firefox-l10n-62.0/fi.xpi) = 2c47cf5475557575dee415ccb064d7b3fbbed7c0 -SHA512 (firefox-l10n-62.0/fi.xpi) = 9d18b606e9b3e19d1afa00cf2e49fb60e747c505534e865d5092645c89456569511c9acea4696378a9425892b77ee2d685e9faa8bbd4eb466e1a5d7823b626f1 -Size (firefox-l10n-62.0/fi.xpi) = 458676 bytes -SHA1 (firefox-l10n-62.0/fr.xpi) = 7887dc4919cc3b2a4028cdbb22fc5b5e4117a360 -RMD160 (firefox-l10n-62.0/fr.xpi) = 8be54f588e9b8ccde8119a150b7647f6e04891a2 -SHA512 (firefox-l10n-62.0/fr.xpi) = 2ffe2bce6eb44e22f5bb941c99dd82c885869c8aa3187b7ba10bb1ea0da8e8f79347eb970d5bc2717e7fdf1be022fa6be1b70c295b8e8fe6d9e9b0e48a6aa584 -Size (firefox-l10n-62.0/fr.xpi) = 482960 bytes -SHA1 (firefox-l10n-62.0/fy-NL.xpi) = 0052ac322b74c07cb66de21d444342ea3aa7a596 -RMD160 (firefox-l10n-62.0/fy-NL.xpi) = c89ed839c2f4da1af8ff460a6ff1bef72e9454cc -SHA512 (firefox-l10n-62.0/fy-NL.xpi) = ee89c047fb9e15e114af241ecd042fa62d0556e59ffd1d1f8606948b8f53388c6a3240b8ae26a4967f154c939114c6b11cc3de3ba389072330305d85c141149d -Size (firefox-l10n-62.0/fy-NL.xpi) = 470423 bytes -SHA1 (firefox-l10n-62.0/ga-IE.xpi) = dc07c2ee69724a1700344f4d6235f1dc8e7b20a5 -RMD160 (firefox-l10n-62.0/ga-IE.xpi) = 98da4e401985c469d9b2988ae866ed47cc39c627 -SHA512 (firefox-l10n-62.0/ga-IE.xpi) = 1ef54c4b6a9fe26fedb74cbb7087dab0c77ce36b66950f7a65f45356fd546d67b1fc19d43617cfccdc3efabbf300d0c7b73b79ef6dad5a7a947bc78dd8f4f05d -Size (firefox-l10n-62.0/ga-IE.xpi) = 472265 bytes -SHA1 (firefox-l10n-62.0/gd.xpi) = 5b1f8c2f8e129064bedef938708a966c1b8e628a -RMD160 (firefox-l10n-62.0/gd.xpi) = d41361b3c2ffd9c73280adc0b0c361f70076723e -SHA512 (firefox-l10n-62.0/gd.xpi) = c7d702d2685758c88ad702385e6315baf6833b9692fbe28e3aeeeaa8d7f851ca85e529817c7038692a47a8b482d7079a11a552de9d36d02c55bee87f434d0e73 -Size (firefox-l10n-62.0/gd.xpi) = 473974 bytes -SHA1 (firefox-l10n-62.0/gl.xpi) = 5a7513cae43d42abfab785fe561114925fd63c29 -RMD160 (firefox-l10n-62.0/gl.xpi) = c53c885a0dec595e4a0fc9f656dffc8ea0fade9c -SHA512 (firefox-l10n-62.0/gl.xpi) = 2c3852235b53abead123b44a857a1b4c39fd79a316bf989cda40cd68dc8cb09bf6c171ef76323b4f8dc028b47d09802b4591668301728721eb8cd4ba89574de1 -Size (firefox-l10n-62.0/gl.xpi) = 451814 bytes -SHA1 (firefox-l10n-62.0/gn.xpi) = fdf4be933a6e94f7a1e7f6d1da0c375f5bed8572 -RMD160 (firefox-l10n-62.0/gn.xpi) = 949a468b8ac0f8714e88dbb25645923b8154c8b4 -SHA512 (firefox-l10n-62.0/gn.xpi) = ca76eb05665b5d904cbb79f2287cc60c61ee2f3cb0e43f7b9ce51840d644105cdffb97d4851c42ae479681956a47df8f7ea42a5fe0a5b800e0f9c1b8ace264a9 -Size (firefox-l10n-62.0/gn.xpi) = 483149 bytes -SHA1 (firefox-l10n-62.0/gu-IN.xpi) = 476c69063833110874288d19027de49673b0c4eb -RMD160 (firefox-l10n-62.0/gu-IN.xpi) = e7051f1b4a465b7a3c58a4cf5b7b21563212e0a2 -SHA512 (firefox-l10n-62.0/gu-IN.xpi) = 10cc50851b4e0be54a6fde6a372ccc93fd5af4b9f26459437362592f183166e86785e04dc968a9127a20debad795629415f9f0c02857ff3ae198d60c3d2b6c7e -Size (firefox-l10n-62.0/gu-IN.xpi) = 539985 bytes -SHA1 (firefox-l10n-62.0/he.xpi) = f8130ea5497efa6c6a072873468c2fb5c9deeb74 -RMD160 (firefox-l10n-62.0/he.xpi) = 0761ff1417ff78bacdc5b0b708c1c96be227de2c -SHA512 (firefox-l10n-62.0/he.xpi) = 5f4acc852b776c4e408e385a8b33c02b93cb37a48c4aa7bd40ac03c0875191fd929461d7464f7a9c83e19342d79d7b6402f738f2ea828e7af6d6585fc72b35c9 -Size (firefox-l10n-62.0/he.xpi) = 484817 bytes -SHA1 (firefox-l10n-62.0/hi-IN.xpi) = 053ddceba13439b2ee511d8fe5ce041b14cc2e74 -RMD160 (firefox-l10n-62.0/hi-IN.xpi) = 254836d0ec7b821ddfffbd0b883756bdb2efb682 -SHA512 (firefox-l10n-62.0/hi-IN.xpi) = f8950de1ee37d6a7b508fc0bb0bd9ade3f10d3d2a82cf9b6cf8a391e31e99e94c22c1f3001191d0d25a1cf09d102b28ea118d34bf213b687dc08b5cb003659e4 -Size (firefox-l10n-62.0/hi-IN.xpi) = 537122 bytes -SHA1 (firefox-l10n-62.0/hr.xpi) = 4d4314b0734eaebd2d31e0de794c231093ab3e44 -RMD160 (firefox-l10n-62.0/hr.xpi) = 68cfdaa4704acb285ad472af9f17ce8308596047 -SHA512 (firefox-l10n-62.0/hr.xpi) = 5e7cda24a3a58e154847a19330f77f19c1f9832e4828072644f9e4c49c6e2d4f857d2cc0ee5f15f573adecede2285f8d82eb8f40480d1629f5237ff35960addc -Size (firefox-l10n-62.0/hr.xpi) = 459613 bytes -SHA1 (firefox-l10n-62.0/hsb.xpi) = 84eab3aa45db2811e0c8969fd5bf434aaa93ec1f -RMD160 (firefox-l10n-62.0/hsb.xpi) = bbc1c1f6c88f0bf7b7cfa9dbbe963e7a83272053 -SHA512 (firefox-l10n-62.0/hsb.xpi) = 35193642ee8eeaaa369a4e1b0793458cd8578bfa5275f5e91f719ccd898fcb971f005941f084b42208771bb6839b59a2ce5de7cfe49761a23a8dfccae32b9182 -Size (firefox-l10n-62.0/hsb.xpi) = 488112 bytes -SHA1 (firefox-l10n-62.0/hu.xpi) = 15d79056e5649d53011ce477095a84809aed7fe2 -RMD160 (firefox-l10n-62.0/hu.xpi) = dc8b834f22807266d031cfe0564cdbb641ad6ead -SHA512 (firefox-l10n-62.0/hu.xpi) = b319542188efd7320b14bf443d83262095593370334eb9dcf0caf9ad22ab7735906cdb2858b1e3e1a82bf1d5f2146f83608d38ac111f81415952f3e4518b7ab0 -Size (firefox-l10n-62.0/hu.xpi) = 487430 bytes -SHA1 (firefox-l10n-62.0/hy-AM.xpi) = 0f77ddfd45d781dfdd927ed5cf52102ebc5db1a3 -RMD160 (firefox-l10n-62.0/hy-AM.xpi) = a9cff23616dcc771c4a1176534ce9ae2b9c44def -SHA512 (firefox-l10n-62.0/hy-AM.xpi) = 9981d63e2602104246d19d454b0f8d381d056d5ef53f5edf1db1c4958fa7907ba9c9363b0f354f30da0510240bec57c9526ecdc7a9ea27a7cf89d9475acc5b20 -Size (firefox-l10n-62.0/hy-AM.xpi) = 518010 bytes -SHA1 (firefox-l10n-62.0/id.xpi) = 8bb27907049e35f23c5d1a5233cc724f5c10f972 -RMD160 (firefox-l10n-62.0/id.xpi) = 79b32685295fc4ae8f5869720da39fe67c393adc -SHA512 (firefox-l10n-62.0/id.xpi) = 2402986f1c4591a1c605d23fb09682ca2e98f16f553a688ad2ef56c99b66eb8d94a65d83a65528f46128a258b7b408c85c348f2af76b3148d88d46c680c60a84 -Size (firefox-l10n-62.0/id.xpi) = 458275 bytes -SHA1 (firefox-l10n-62.0/is.xpi) = 6143aa355e84ba9e099f6b0c83d65140692a4ad0 -RMD160 (firefox-l10n-62.0/is.xpi) = 87a7a4e712c5c855d2ce41054b6eb1f96fba42ce -SHA512 (firefox-l10n-62.0/is.xpi) = 244d1f71d07fb969fe812a75128a02eb08cf031f11100fb424a1eb4294fa9e34585040d8517d5ecc0b884337497721c7dc465b4621224f794ed2f7b33a13b7a8 -Size (firefox-l10n-62.0/is.xpi) = 459606 bytes -SHA1 (firefox-l10n-62.0/it.xpi) = 40fda14d2bbfeb5dfd442b99fa8acc142ba608cb -RMD160 (firefox-l10n-62.0/it.xpi) = c0518158f641982bcf930de94a9ac0051c307ae9 -SHA512 (firefox-l10n-62.0/it.xpi) = 89ec0cdb77aab74f7d6ef7a1abb2119d3b953a83e5f446ae9428e52eefcf2c1b3bd2e0d176111f2f61e8b0e2afcae9ab5fc19229b492ce3c4736cac27793d7fd -Size (firefox-l10n-62.0/it.xpi) = 347127 bytes -SHA1 (firefox-l10n-62.0/ja.xpi) = 84eff071f17a8ba4d0ba532eb46ce920fd5e8dde -RMD160 (firefox-l10n-62.0/ja.xpi) = dd12b72a34509ba26e98afdbeaf5940a83555232 -SHA512 (firefox-l10n-62.0/ja.xpi) = b70fdf58d9b84a2bbef81818e6e1b898c4c5b8c8fa8b8c485699499fc7cf68a4fb51789334d24f5f5175e9d310b954ffeb8e231577aaaad303f2f49b917d84a4 -Size (firefox-l10n-62.0/ja.xpi) = 504028 bytes -SHA1 (firefox-l10n-62.0/ka.xpi) = b3f48a457751f9eea545900c1fca41a144dd3353 -RMD160 (firefox-l10n-62.0/ka.xpi) = d87cd94d320f405d1370320d7f2f8e5b3cc72896 -SHA512 (firefox-l10n-62.0/ka.xpi) = 3bb9effdd8e86869990fc4e1d26ee9a23a3f2c8f274f36f0a017441b16c62f3a78bee581ab4ebe34fffc206350f37ff26821f009a83e42e867e83701ccf289f0 -Size (firefox-l10n-62.0/ka.xpi) = 503703 bytes -SHA1 (firefox-l10n-62.0/kab.xpi) = 174785abeac0924709dd3bb7dcdc34907fa7e89c -RMD160 (firefox-l10n-62.0/kab.xpi) = 5f4ddb3564786a014bc4ac68b1d5c3a3520135bb -SHA512 (firefox-l10n-62.0/kab.xpi) = 8b4815a89dd7357a99a606e001c2c1abde3e5c2639ef2587e2732d7f3bdb36b6ef34b4d2576d80658902bd589672a1cebb01a63e93e49a28c215bf15581ab4f2 -Size (firefox-l10n-62.0/kab.xpi) = 478239 bytes -SHA1 (firefox-l10n-62.0/kk.xpi) = f761177f7adbd2321dad9dae3c0d95443532678e -RMD160 (firefox-l10n-62.0/kk.xpi) = 553a2379ba289ce17b7b057d4f4aa49c0a6e923d -SHA512 (firefox-l10n-62.0/kk.xpi) = 6169796e2094872517f234046950bfdb3b351473569e8c057ad3f23030f3e62dde185877e36b4f70dd13422b6733911a5139877c36699434a5b8cc126e0a97e5 -Size (firefox-l10n-62.0/kk.xpi) = 530652 bytes -SHA1 (firefox-l10n-62.0/km.xpi) = cdb549a0d019bac58d8ef03cd508ae9b903a6296 -RMD160 (firefox-l10n-62.0/km.xpi) = eeff3cd113ac5c19dff45ce4632f03cc45392a06 -SHA512 (firefox-l10n-62.0/km.xpi) = c17b93f40cd67cb9789f3f5dccc3a5aff40bab5ce45ef86c652e0ad0666b29db6f7a15f4bb44633768f406a239edce2e643becd720770a8bdeccf886137d6b63 -Size (firefox-l10n-62.0/km.xpi) = 521446 bytes -SHA1 (firefox-l10n-62.0/kn.xpi) = 84b6b44fd6ee4aeb35acb7eed070cf26300713af -RMD160 (firefox-l10n-62.0/kn.xpi) = ffe5832c369aa251898b337f6370bf118973c8bb -SHA512 (firefox-l10n-62.0/kn.xpi) = 38a9e75989768172199aef6c35ff9081d45002a153a8a0c0377a9a69ae672dc36df473a37798a46c5b5749b48496a74be2db3a88c40c4a67b4958540f85aa41b -Size (firefox-l10n-62.0/kn.xpi) = 528089 bytes -SHA1 (firefox-l10n-62.0/ko.xpi) = c6ee728112c99aa908f1846ff81b1ac0476573ea -RMD160 (firefox-l10n-62.0/ko.xpi) = dba8da93237a8774bc9417ffb1076be8f45aedc4 -SHA512 (firefox-l10n-62.0/ko.xpi) = 8d57e43ab4a47e2e57bb9ea33aa8d2827343b5916f21259cfcb2071b8a03aeaf17de8dc3df442cc11a2c53ada412a2600cba24ef96368c77d204b463fd64f2fd -Size (firefox-l10n-62.0/ko.xpi) = 498335 bytes -SHA1 (firefox-l10n-62.0/lij.xpi) = aaaf978127eab4e3e972c186c2fe6682253231e8 -RMD160 (firefox-l10n-62.0/lij.xpi) = bd8e1cf745b6bd8472db33bc3db5f496fc6a5ad6 -SHA512 (firefox-l10n-62.0/lij.xpi) = 3bebdd4a51a38a6e93bbeed3e6c8b67f38acfd5ce4c109c7b66fde262ac1372861e718eef352f4089de885efc00f0c09a271b1b58baff452027261d5a8660105 -Size (firefox-l10n-62.0/lij.xpi) = 463436 bytes -SHA1 (firefox-l10n-62.0/lt.xpi) = 7252ffbded5e369b3a19bb9d42423692dba83315 -RMD160 (firefox-l10n-62.0/lt.xpi) = b4b1d0e8b246a10a1fff55f3ea333d604e13cba3 -SHA512 (firefox-l10n-62.0/lt.xpi) = 5cf5b322a5e7fafff56d70bb3fbfcdecfaf4fbe96a08f5990859ff88129f4fa6587125db59065ff84802615cfbbc54e680ab38674adc87ee66469a313d033f6e -Size (firefox-l10n-62.0/lt.xpi) = 487650 bytes -SHA1 (firefox-l10n-62.0/lv.xpi) = 97640289905e459b08b8ded1249798a5133aa3ac -RMD160 (firefox-l10n-62.0/lv.xpi) = 53c600456d17ea449fe7e920c1ae516f46250f5f -SHA512 (firefox-l10n-62.0/lv.xpi) = e8aa4f99989ab9e9379a4964b0d2e2737ef90f4534e453e7285e01abc89fd218854ac5dfb85dfc5871161dd194431b008556b4f86be9e496126b7bece4fdb25a -Size (firefox-l10n-62.0/lv.xpi) = 475704 bytes -SHA1 (firefox-l10n-62.0/mai.xpi) = 779392010e5a5288db801bd2c8c3b678f57c32a8 -RMD160 (firefox-l10n-62.0/mai.xpi) = f5537be65ad0b61ae2ab187f20867111f1b1f41f -SHA512 (firefox-l10n-62.0/mai.xpi) = ac78e1fa2af0f00425abdaca82b0447e7c0a8272ebc362615ac08af3da6a0f1e315aa50659133d705ec8432c55644da190fa00db4b44d704af76e6128534732d -Size (firefox-l10n-62.0/mai.xpi) = 494716 bytes -SHA1 (firefox-l10n-62.0/mk.xpi) = f9368e44ca8f0226dfdb93b1285357169fa02177 -RMD160 (firefox-l10n-62.0/mk.xpi) = bda8cc048fd8e0051872d0cc457a4ff9c2ae7065 -SHA512 (firefox-l10n-62.0/mk.xpi) = b88a1c33111b6cd873543eb45fc45246c91f1c12019449dbfe464fc8f455fd4ed483edc6c05c4b178890df0e6bc5e1231c4483a663fe400b04f524662a1dfc9a -Size (firefox-l10n-62.0/mk.xpi) = 457528 bytes -SHA1 (firefox-l10n-62.0/ml.xpi) = 5c628f22dbc3f41bf061eebbfdad78124f2baebf -RMD160 (firefox-l10n-62.0/ml.xpi) = c3f9321419c391829a3edf6fa632224c0108ac66 -SHA512 (firefox-l10n-62.0/ml.xpi) = fdec1879e7309f9f8b77d7e76720a0b9c5a49b0e465158470d11c6f4da82c69575d3dbaedbc554e1830d503b7106e062878f722e20d5d4ec31e4c0f046c079da -Size (firefox-l10n-62.0/ml.xpi) = 538826 bytes -SHA1 (firefox-l10n-62.0/mr.xpi) = b121e97c347e680eca95bc29cc50782a6b8ec728 -RMD160 (firefox-l10n-62.0/mr.xpi) = b56dac0902ea3492e0eed1ed8bfc50b025ca5cc0 -SHA512 (firefox-l10n-62.0/mr.xpi) = 230ca6dfc30b9b75b4e3b270aa1622f556dffe8eb77e6d456f86bcff16af8afba4257a9544c87d9c3786628bca18fd263351f5fad8030c1296d2b5648d769368 -Size (firefox-l10n-62.0/mr.xpi) = 530355 bytes -SHA1 (firefox-l10n-62.0/ms.xpi) = 0331f2a5e6b99830193cc835f712547b42307b3b -RMD160 (firefox-l10n-62.0/ms.xpi) = a2cdde9e4646ace6b5d14c729ac28867dc9c8fa6 -SHA512 (firefox-l10n-62.0/ms.xpi) = f5c471ecb35e921245c2e57b7f89dcff2f9d71d88a3c2310e303098eed7315be9ad288a7a63710c1b51e48313fa8d5bf9967ef65a46d2351e3f3d52fbe7b9d77 -Size (firefox-l10n-62.0/ms.xpi) = 459910 bytes -SHA1 (firefox-l10n-62.0/my.xpi) = cb8493917739c8d5a96092d7b59cd7e49b42fd21 -RMD160 (firefox-l10n-62.0/my.xpi) = a86931a62ee594f4a4003efbf7e9376aac0eeb2f -SHA512 (firefox-l10n-62.0/my.xpi) = f7fa011e844f01d9461b6adeac06f0d08c9b93ef7ad873113c7d21ee3474c8d63cdef3ae581407668808c887cf604b55b00eb985583626db6c60a5c736a5e6f9 -Size (firefox-l10n-62.0/my.xpi) = 507317 bytes -SHA1 (firefox-l10n-62.0/nb-NO.xpi) = 5baabd6f97eae43f77eead4f813e20e23b54d941 -RMD160 (firefox-l10n-62.0/nb-NO.xpi) = a7c8553cdcfe84a99bbba3b8a1b8be5fbf48d732 -SHA512 (firefox-l10n-62.0/nb-NO.xpi) = 9ff491d1b11058b1e740f68bb8918a0cf0e21daa170922d04b6fff500f11ae054d6921647341d2dc2f3c502ac5c184107d86661f28c5e6a972c8792218260dd2 -Size (firefox-l10n-62.0/nb-NO.xpi) = 458929 bytes -SHA1 (firefox-l10n-62.0/ne-NP.xpi) = 091c148f7b19e07d573e24455b2f19d88353554f -RMD160 (firefox-l10n-62.0/ne-NP.xpi) = b1fd203b10f49c32e81506d1de394eb5dd0c9ce8 -SHA512 (firefox-l10n-62.0/ne-NP.xpi) = aad948f7b4c18a3fffba48564717e328d1b638864c7a49c9625c1b71ad1eb27e3f982b7b30d4b4d10c0cdf6f428103d3ef0edc40ecab1a0232e6e616630459e5 -Size (firefox-l10n-62.0/ne-NP.xpi) = 500520 bytes -SHA1 (firefox-l10n-62.0/nl.xpi) = a0291a8c82e3bfc8470af6a423b94f049f14943b -RMD160 (firefox-l10n-62.0/nl.xpi) = 137adb51c9844a667cc6393e43e2e49f79cd03f5 -SHA512 (firefox-l10n-62.0/nl.xpi) = 6119b38a2679a216069311211e76ae97a354adacfcb9f41a3af72349ddb1cf52d94b9c88409d4771af5f4780f98840f0612c4e4a8beb9785a859808c6b726653 -Size (firefox-l10n-62.0/nl.xpi) = 459508 bytes -SHA1 (firefox-l10n-62.0/nn-NO.xpi) = 89bfe91d4d71b974880c4d972bb073512d040bfe -RMD160 (firefox-l10n-62.0/nn-NO.xpi) = 3fbbea26e6153694ca8eb7a6f45f1a2f0c75679c -SHA512 (firefox-l10n-62.0/nn-NO.xpi) = 5abdcd55bdde9c45e2ccf0e290e829cac371c36525116c79f1ea3ef946e4d9af9b4ff45a97c2a43f07058ce265f01fb2d90c315f759d472a7baaf7dc95a3a6f1 -Size (firefox-l10n-62.0/nn-NO.xpi) = 457059 bytes -SHA1 (firefox-l10n-62.0/oc.xpi) = cb5033adc41ad1f71be60369533f8432d1dfddde -RMD160 (firefox-l10n-62.0/oc.xpi) = 8940712296717808150f2be0d7aab55b3dcf6525 -SHA512 (firefox-l10n-62.0/oc.xpi) = 9d1f8b360f9a915b7447d1d23b54cc8a9754cb124aec1ec16e162a248ef04bdf8a66608d2304cddad43df92d6ea30c6dafbc895d87b9590e2e62cdf1cc480af3 -Size (firefox-l10n-62.0/oc.xpi) = 475436 bytes -SHA1 (firefox-l10n-62.0/or.xpi) = cfb898ef9b59dccf6ccafb436ffa62fd645a53af -RMD160 (firefox-l10n-62.0/or.xpi) = 715024591b77222cfb343b1492cb8a7201984e0c -SHA512 (firefox-l10n-62.0/or.xpi) = dc0809d2bc981b35a81b61fe9b94f5444a554ff332350abc7cade9dfaed03157e6981c73ba2dfb10b20db99f0c60c58898b2571cc9ac756dfef978c57785abe4 -Size (firefox-l10n-62.0/or.xpi) = 485377 bytes -SHA1 (firefox-l10n-62.0/pa-IN.xpi) = 9c775e4742b3597332a09f6d50659ed723e6d373 -RMD160 (firefox-l10n-62.0/pa-IN.xpi) = 67fe0152fcdf51f5c5debec366896fdb4de20e8c -SHA512 (firefox-l10n-62.0/pa-IN.xpi) = fb73618fdbc88b14995f8bcfabdd01dcb3294e2e36c42af62d9192a6e0278c4720101dad315c5b9188763045d9b9c863d5809ed0170e101076ca608a88c6738b -Size (firefox-l10n-62.0/pa-IN.xpi) = 496914 bytes -SHA1 (firefox-l10n-62.0/pl.xpi) = 16df04db2b62850e1167c1b53fae260bad4a56f0 -RMD160 (firefox-l10n-62.0/pl.xpi) = 33c2423a6f364aea859c603700176a312f106fcc -SHA512 (firefox-l10n-62.0/pl.xpi) = 0ccce65cb9fdb23d625ad86d1342e4d046173051d168e15c5139a2c99edfe8cf54d8069b8088facae127c716346efe31a9c983015cb93ce5a7e441b2caf95a18 -Size (firefox-l10n-62.0/pl.xpi) = 370888 bytes -SHA1 (firefox-l10n-62.0/pt-BR.xpi) = e61dcde3565e6bcc8414c658de7921c471996c2e -RMD160 (firefox-l10n-62.0/pt-BR.xpi) = b18fb2cd0ad1191527d080abfeb0292cd5288d23 -SHA512 (firefox-l10n-62.0/pt-BR.xpi) = e3473759e94e2ca79e08e3889429c21cbc22d66565d5cb0c207c0fa5e6236577e77855dd7b1c322f10686aab9b3f15247970370ebd1eb2964f7715774ac8bf90 -Size (firefox-l10n-62.0/pt-BR.xpi) = 460868 bytes -SHA1 (firefox-l10n-62.0/pt-PT.xpi) = c8dc03b5efdb4b8a53b111bbb7c886fbcb6ea3e1 -RMD160 (firefox-l10n-62.0/pt-PT.xpi) = bbedd0845747cf574f5f43c1b7d1794a11ccb52f -SHA512 (firefox-l10n-62.0/pt-PT.xpi) = fddf6512818e3429749e53486c4c7ae0778868b7d984868793be92398637f05769abb95b838aba91cffa4706cdcf754e27fc9cb2e012a13d3e6784c504faa8b8 -Size (firefox-l10n-62.0/pt-PT.xpi) = 473528 bytes -SHA1 (firefox-l10n-62.0/rm.xpi) = 5ffd132d88bc711073ff0c6283ea6471422a1ddd -RMD160 (firefox-l10n-62.0/rm.xpi) = 220dfe4bccd356b8859ab3836dcb23da7df26509 -SHA512 (firefox-l10n-62.0/rm.xpi) = 193769a4bc03c7b34172da634bac8133ab24824ed4b75c7a6910c29810fe97c73bfb87e9f99949b77b762ee6364e2b6109e0ef41f77077b2f177143143ff3a05 -Size (firefox-l10n-62.0/rm.xpi) = 462466 bytes -SHA1 (firefox-l10n-62.0/ro.xpi) = 1a949e92d43d5dce7104427d7bdf6b1fd48ac57f -RMD160 (firefox-l10n-62.0/ro.xpi) = e89efd481b906393921fc68d5fa5239fa5507549 -SHA512 (firefox-l10n-62.0/ro.xpi) = 970a75510392bb90f89e00faab26d398266f2e5b6293a0821529c6dffc12e2313dd5323ecf128ee4b4d93d3193e4bfebd5469927e66874a982bf7601147ae07c -Size (firefox-l10n-62.0/ro.xpi) = 463404 bytes -SHA1 (firefox-l10n-62.0/ru.xpi) = 7f7a74d34c691790b8514270d346179cc41a0cbf -RMD160 (firefox-l10n-62.0/ru.xpi) = 87077758318582cb1f17bf17002fd83f7aa833c6 -SHA512 (firefox-l10n-62.0/ru.xpi) = d051eee75a1cb113db6dc869a1e3edd70771765184004007195b7c1c9169f97c576f9db19a5da8987811ac270a838a84398f7dc8c99b81effb313ceb39ae9222 -Size (firefox-l10n-62.0/ru.xpi) = 539889 bytes -SHA1 (firefox-l10n-62.0/si.xpi) = d66b819de5ae5713a9e88a1287357cddb17f1747 -RMD160 (firefox-l10n-62.0/si.xpi) = 01d55db85e0682258f6e4b1d5ca5ff71cea2217d -SHA512 (firefox-l10n-62.0/si.xpi) = 212756882b4950c5d18ce51ba60a31731b4614ce5bb97f688c0cc2588452cb0a457f9a37882c98b19eb93983ca52eff53beb59392eb9ae8b2ece49bf98ca9561 -Size (firefox-l10n-62.0/si.xpi) = 487593 bytes -SHA1 (firefox-l10n-62.0/sk.xpi) = 0a053dcbf6763237948098f08edf440377218d5b -RMD160 (firefox-l10n-62.0/sk.xpi) = 87b94a3e3d4065c2bcf6ba1b3b95c1c1fa335a29 -SHA512 (firefox-l10n-62.0/sk.xpi) = 5ec7bb9ec968347d8aacdf09b6d7bc049429b80035c74db10be9055b7752097fa41a10cffbf24e659e2840cf5d2af1af07c5760cb2f11377783cf5e4c8b20e4a -Size (firefox-l10n-62.0/sk.xpi) = 488132 bytes -SHA1 (firefox-l10n-62.0/sl.xpi) = 57d1c434dea092a676b2ddb4f02c5247e9a09172 -RMD160 (firefox-l10n-62.0/sl.xpi) = c1944dc8367137d6b0dffbfed162a016e0112758 -SHA512 (firefox-l10n-62.0/sl.xpi) = cbd7a623dd6cf3d15288424dfaf642ce81fb46b0067c8cfb61deac71f3718258ac0a9f48895b19eecb3a4326eff7352cad6fea46b3b85e65dd5b8b10fc747e7f -Size (firefox-l10n-62.0/sl.xpi) = 468413 bytes -SHA1 (firefox-l10n-62.0/son.xpi) = a6dc62dbcec44e20ac1e8c3bf3e75d16580919f2 -RMD160 (firefox-l10n-62.0/son.xpi) = 91caae372be24c4db14ac498027d3f4fe253e4ae -SHA512 (firefox-l10n-62.0/son.xpi) = 0534ae2fa505dc6e21cb3d9ce7c2474f7b6361050b2660172534c780e86a50f5aa7829256b1276bf777d095b1f966e3eb2b2a7d74ae084cd489e4144f3988fe7 -Size (firefox-l10n-62.0/son.xpi) = 445941 bytes -SHA1 (firefox-l10n-62.0/sq.xpi) = 2a7c65bc30e9cf35ea459fc3cb0980365a8bc2c4 -RMD160 (firefox-l10n-62.0/sq.xpi) = 66b1866ed1bf828214870ff9738c18641351ed54 -SHA512 (firefox-l10n-62.0/sq.xpi) = f0e86baaf4fc3a57f8d6e4009462351835366cb04f684e0e5856200e604c910d8ec9db64ff0d2dee03791dff17e6e843cecf4721d0334371de784e14d43dcdb4 -Size (firefox-l10n-62.0/sq.xpi) = 475527 bytes -SHA1 (firefox-l10n-62.0/sr.xpi) = 0db11171765bb8e3103a479499519d56c8c833f4 -RMD160 (firefox-l10n-62.0/sr.xpi) = 24ebbd3468b7d6738e4096bc3224e9fc2c94d499 -SHA512 (firefox-l10n-62.0/sr.xpi) = 87ddf8e50d5697367c7e572f73eae9d7811636d9fecce309353bcec2ab78d24bb5a3ae553a61d0b134a7b382ad7583e67a45ccc6b613f8eaacd90491cb1d551d -Size (firefox-l10n-62.0/sr.xpi) = 498808 bytes -SHA1 (firefox-l10n-62.0/sv-SE.xpi) = 29a7fa5c3e30a4877e90e9e3720a3b649c0d0791 -RMD160 (firefox-l10n-62.0/sv-SE.xpi) = f7a403aace11e234774eac28309341cf9f53b2c8 -SHA512 (firefox-l10n-62.0/sv-SE.xpi) = 4b4c2581c55c28f50423759258c8054ba26ab53e1b7ef7f8ce07223e91bda76d2811140f9c686ff7354516be1fb53cf6d10ac4b6716970487e94b53a1b0bd04e -Size (firefox-l10n-62.0/sv-SE.xpi) = 469495 bytes -SHA1 (firefox-l10n-62.0/ta.xpi) = 6b1f635c8c09d280af796859624e613b1afa9820 -RMD160 (firefox-l10n-62.0/ta.xpi) = 4ffbcd597d1faf8d60309736f173eded76d1ccfe -SHA512 (firefox-l10n-62.0/ta.xpi) = 5b202d294c7a6a9db8d1a8d2800d915566e7aa649d4d3e88bf0f0d93739b159b5da2eef030fc78157549a0f853bb78aeed401ff3d48bbb3d73ab6d1ecdff957f -Size (firefox-l10n-62.0/ta.xpi) = 526480 bytes -SHA1 (firefox-l10n-62.0/te.xpi) = 36946f9c4e388a88477608dca93ea0de2d5e2ce4 -RMD160 (firefox-l10n-62.0/te.xpi) = 2bf2ca1bc019d937237909e323a882eaee9d8604 -SHA512 (firefox-l10n-62.0/te.xpi) = 548ba890e950e8191af327862c450df69c1e0bbe0eabc0fd93e1314bf7d333d6545ad1856c94164c31f22941fb0480d06f3f9dacb61b932b1a7298660a3ec928 -Size (firefox-l10n-62.0/te.xpi) = 536772 bytes -SHA1 (firefox-l10n-62.0/th.xpi) = af1f0dbbcd0ec76265d757f14d354af3a44a0d1d -RMD160 (firefox-l10n-62.0/th.xpi) = 6b0e4878086276b2fcb67470db7ce7efd4bcfcbb -SHA512 (firefox-l10n-62.0/th.xpi) = 11a27472f158943844090c615984e60a7253d77c21c5b79d319dd5a949d9c493a7dfbb202ea0bcf8f0b235d2646adbacdc467ba41e615715ce639c159cca3725 -Size (firefox-l10n-62.0/th.xpi) = 507132 bytes -SHA1 (firefox-l10n-62.0/tr.xpi) = e58eb9e2dc0d2a3368bb5504530cdaa0208a3f62 -RMD160 (firefox-l10n-62.0/tr.xpi) = 5501f74743b63753092347cfff36d7bea7f50c3e -SHA512 (firefox-l10n-62.0/tr.xpi) = 5460596c9e950ea0dfc340e875ad55aec27c23011fd04ef632b1a3014a12894f88a8846c2d2a7799aa2d6eeb800c9af9ba2d1bf7e6bba5be72c77b6e1f842475 -Size (firefox-l10n-62.0/tr.xpi) = 477277 bytes -SHA1 (firefox-l10n-62.0/uk.xpi) = a32bde622815729129ce9c95e468d81a18d468f0 -RMD160 (firefox-l10n-62.0/uk.xpi) = 0abcc234fb567660ce30ca2885bcef8685d6e2f4 -SHA512 (firefox-l10n-62.0/uk.xpi) = ff7a33eec0ed01fbb4b00c5ba452bf59a5c7f7e4d7a34ec14176e8368fed217037a6e7e2ca654d617cdc9764c95155a71ccd4fd9ec0f54d6e94d1a6896e9c488 -Size (firefox-l10n-62.0/uk.xpi) = 532585 bytes -SHA1 (firefox-l10n-62.0/uz.xpi) = 4a00619d234389919d0d8791015b724069195970 -RMD160 (firefox-l10n-62.0/uz.xpi) = 24f9d02f9efa246648e893427895933ac3c7981e -SHA512 (firefox-l10n-62.0/uz.xpi) = 4555bff8b31ce430c0c7de0bc564ba41b1e0507baece6d09916ede7539879c6beb10a92ae0e94bec7fde3862feea870c8d8c1b51170a2234a706f1e79f9327eb -Size (firefox-l10n-62.0/uz.xpi) = 457993 bytes -SHA1 (firefox-l10n-62.0/vi.xpi) = df59c7887dfd5ec3208a83703643941cb657835b -RMD160 (firefox-l10n-62.0/vi.xpi) = 17517b0f2461d1e7a2ba073fb8a8fd8397809c3b -SHA512 (firefox-l10n-62.0/vi.xpi) = 92a1e8f71b0e1338338bf03d93eaa58d305fd32d2cd4918212de704718383867117337436956a770b1ee66c98e7322e371a44aefdced42c3c5b3302122f4f4bf -Size (firefox-l10n-62.0/vi.xpi) = 478322 bytes -SHA1 (firefox-l10n-62.0/xh.xpi) = c30fc5b0c5357711160d03d1f25a9982f776d452 -RMD160 (firefox-l10n-62.0/xh.xpi) = 381c19bce5736a4a43a5f25579b7cd5fd021497e -SHA512 (firefox-l10n-62.0/xh.xpi) = 9fab4324da3a9e9179249ab0da57ef21c1572aca6a7fa326e744541381b2fc12ed87c606e2593f33c6e1b1921cfecbf577e4291afe3cec37df7ac990c7d1efc5 -Size (firefox-l10n-62.0/xh.xpi) = 461200 bytes -SHA1 (firefox-l10n-62.0/zh-CN.xpi) = 89458ad8466bfa7b165f2663faa5cef8cd716a61 -RMD160 (firefox-l10n-62.0/zh-CN.xpi) = fc18ef9b09a9255ccc4e70290a55f80ea4bd0199 -SHA512 (firefox-l10n-62.0/zh-CN.xpi) = d6751b1e4c4362845c8b32adf8ba3705b352683c5be972a21862f759752b2c313f7681d3166a8a342a27922f19d1a8940a6c5aa0102a2362cc33dd7f95656c24 -Size (firefox-l10n-62.0/zh-CN.xpi) = 491486 bytes -SHA1 (firefox-l10n-62.0/zh-TW.xpi) = 49f32da8fedfca87d7ded1619365bb25820b3912 -RMD160 (firefox-l10n-62.0/zh-TW.xpi) = 92821f4c3649d8f017b88a49d2d23b2d541e7bc8 -SHA512 (firefox-l10n-62.0/zh-TW.xpi) = a2e02af4e7bde2af4889229ed3abceb34e0fe081ec17c0173ff89a54b6d4b1d0a58da73a813b72683c663bfbbda015d9721a9467c6775b970d872bd1e0f81020 -Size (firefox-l10n-62.0/zh-TW.xpi) = 494523 bytes +SHA1 (firefox-l10n-62.0.3/ach.xpi) = 06c065bfd319abe326f4c68231cb886514768ab6 +RMD160 (firefox-l10n-62.0.3/ach.xpi) = 000bf79076095cc9c99b775d71abc871e1167b47 +SHA512 (firefox-l10n-62.0.3/ach.xpi) = eb79bec0b69b53cf1653d7498cc6a5701b1f898f89b90ae40a414201e460db5ed7141f0fb7032f5c212b1eafe2676a09b4954c5c4ce5857850c00ffc318cd019 +Size (firefox-l10n-62.0.3/ach.xpi) = 446325 bytes +SHA1 (firefox-l10n-62.0.3/af.xpi) = d9bac10e1372f0cfe015cf7d6b8542db40a8ca52 +RMD160 (firefox-l10n-62.0.3/af.xpi) = ffc410e99f66cbb313cd46e2b0a5c93d7a7562df +SHA512 (firefox-l10n-62.0.3/af.xpi) = 8d16bf335c5ef120d72f1eb5a088860d0d25d3787f8e1099a40437658cb706d58aad64059bceea51aa958d64e1824227c43950ac6bca6e1df0cee4e60f809f2d +Size (firefox-l10n-62.0.3/af.xpi) = 432293 bytes +SHA1 (firefox-l10n-62.0.3/an.xpi) = 868b46641de65c6a3fecaaa816a2973ba851a7d3 +RMD160 (firefox-l10n-62.0.3/an.xpi) = ff3325c8626acdba977c9005e938f5d7f7b88b63 +SHA512 (firefox-l10n-62.0.3/an.xpi) = 51d0cccdbc2f294fe9a4341c89f32ad3cd935afd84417f4f01f15090fc5834a3b386b9004ecb22db3a8abe83ea9c7b8b192f6106328b68b97df3dd4bae5d1385 +Size (firefox-l10n-62.0.3/an.xpi) = 467499 bytes +SHA1 (firefox-l10n-62.0.3/ar.xpi) = 37f4b457d9d6e6348132f430d634725c895d83c2 +RMD160 (firefox-l10n-62.0.3/ar.xpi) = d8161f1424552b9f1ccf3d293091c4d8077e956e +SHA512 (firefox-l10n-62.0.3/ar.xpi) = c6c49171c78f311e000d8350885ccbbe9666666ceffc704840bbc598a70e7b39a597185194870545bc9abdc3f051ca47a64bfcfb14c129152c94cad873b40cc4 +Size (firefox-l10n-62.0.3/ar.xpi) = 497996 bytes +SHA1 (firefox-l10n-62.0.3/as.xpi) = b63e7528d19570e9ade512c98f078d3f83f1e1cf +RMD160 (firefox-l10n-62.0.3/as.xpi) = 676efee800ad749862815946434d6581e0ec89f0 +SHA512 (firefox-l10n-62.0.3/as.xpi) = 4761ebbdbd908a29b3ce9509e1d5e1d3b10951bb78f4ad156d9e502580226e6d88ad5ccb70d4b689981afbe83ad95db047bd14c524897b9270636920e7558e2a +Size (firefox-l10n-62.0.3/as.xpi) = 478315 bytes +SHA1 (firefox-l10n-62.0.3/ast.xpi) = c6eb452851c035371692c60ffc99da163f97d92e +RMD160 (firefox-l10n-62.0.3/ast.xpi) = a2ddfd69822cbb05843452afc18b6a785abebd9f +SHA512 (firefox-l10n-62.0.3/ast.xpi) = 3d8c41c8f62926c09240fecda6c59a71ad58c2e6c25099b750fe3b9c7885a7eb4d2fc0cfaca6a1080b947b56df26e114299a99997e49730e369342cbc44726bd +Size (firefox-l10n-62.0.3/ast.xpi) = 455191 bytes +SHA1 (firefox-l10n-62.0.3/az.xpi) = c41318abed2cdb235fb69c3b5daea3b559e7fb79 +RMD160 (firefox-l10n-62.0.3/az.xpi) = 248abe4115554883ff146b773810fb38b0ed1845 +SHA512 (firefox-l10n-62.0.3/az.xpi) = 40732afa8650e187efa769333dda574a1cc77dc8cd94c533e29029e8f919e0428dc23ff956bb8e39a2167489d54d05a888bc2e6642121c3d6c302b7e6539eda7 +Size (firefox-l10n-62.0.3/az.xpi) = 477135 bytes +SHA1 (firefox-l10n-62.0.3/be.xpi) = f3d564dac8db32a7de734619a26ce18f1d8b638d +RMD160 (firefox-l10n-62.0.3/be.xpi) = 0d9b4dcbb8a0b7c1e4204033e63ad0207bfa3a62 +SHA512 (firefox-l10n-62.0.3/be.xpi) = 662c5b7fad2deb14ee2e6ec8701440f30655a613f532a81ba4204709f6de180343e87d1b30756537ce00dce7ad452198f42316e76e01541dd04749266c3c7612 +Size (firefox-l10n-62.0.3/be.xpi) = 534912 bytes +SHA1 (firefox-l10n-62.0.3/bg.xpi) = 3ec9e729362922c7e782a8930ac3ea3f078e73f9 +RMD160 (firefox-l10n-62.0.3/bg.xpi) = 9390399ddbf8454391861279b404ad943d573c3e +SHA512 (firefox-l10n-62.0.3/bg.xpi) = ac6327f0956114596e79aaf145bba27813dab0a56689fd47e7fbb887942c1cc68f961a9094be83830b92ad4814ada2f91831ba409ac86c89f91700b0cbf3184d +Size (firefox-l10n-62.0.3/bg.xpi) = 524199 bytes +SHA1 (firefox-l10n-62.0.3/bn-BD.xpi) = c20172dbbd2706f31728b50b3c38ff382f65c6ab +RMD160 (firefox-l10n-62.0.3/bn-BD.xpi) = c80ab61f517514a581d4f55188eed3d8ff2907a2 +SHA512 (firefox-l10n-62.0.3/bn-BD.xpi) = 3e0206b8ae2c0c9ef736646aa45b94d12d2f18f285cce826f4a3391fe8c8eee685a274cf67c335067880d1f4c95e41a124e1b8e8c5da582940e6ae86abd2388d +Size (firefox-l10n-62.0.3/bn-BD.xpi) = 538605 bytes +SHA1 (firefox-l10n-62.0.3/bn-IN.xpi) = 05ff65d774290c2d0da8835c4488636bc4be2cd6 +RMD160 (firefox-l10n-62.0.3/bn-IN.xpi) = 67ad1f298402304f5cd50b2371349c34e6533721 +SHA512 (firefox-l10n-62.0.3/bn-IN.xpi) = 9c27baa07e824ae026cdf33ec702b47de29afd3cbbe6599706a8f13f1e2f1a73d6a42725bb511abac2164028f64e72d2b64fe11d18feb2790bdf9f77ce9024ec +Size (firefox-l10n-62.0.3/bn-IN.xpi) = 509953 bytes +SHA1 (firefox-l10n-62.0.3/br.xpi) = 6cde8f43b13f1d350ea4bcc4b2bc30a1b77126d3 +RMD160 (firefox-l10n-62.0.3/br.xpi) = 87fc9a235dbacef0f56f5bc39c9fab71582368a7 +SHA512 (firefox-l10n-62.0.3/br.xpi) = f6b07034195faae1aa0d2413b7b4293fd948937d1439c5b9e76cbab00818aef898aae36d6f5023082232984fce7bfc0292e2a70f600e84d039246cecc2bf5e94 +Size (firefox-l10n-62.0.3/br.xpi) = 464406 bytes +SHA1 (firefox-l10n-62.0.3/bs.xpi) = 3a4850279389edb9dda5bd5072f4d79b05156e1c +RMD160 (firefox-l10n-62.0.3/bs.xpi) = 860887db844264e30b7507c27a4a155dc65bbf59 +SHA512 (firefox-l10n-62.0.3/bs.xpi) = ebf626d49a3762da6fa1e3ea12073b2d3e02174a1cf2a4d1b5825a3ba05b9c2112adc8bd7997f058e46ba2d66655373c9ca7fd8b92b5f8700294a02a94538671 +Size (firefox-l10n-62.0.3/bs.xpi) = 466249 bytes +SHA1 (firefox-l10n-62.0.3/ca.xpi) = 8221980da252cd21fb8e70e790a4f2cb62bd89b0 +RMD160 (firefox-l10n-62.0.3/ca.xpi) = 9d292b7423fbabee4ec448cb601183c102d6f997 +SHA512 (firefox-l10n-62.0.3/ca.xpi) = 661ba8d03352fbae574c718076c3f5ad260a741c331e02bf2fb5e4add82c3ab8e61f3a441f40847272fd258537d6b36f7cd25bdd287bdb40d8d61ca37669feb5 +Size (firefox-l10n-62.0.3/ca.xpi) = 470055 bytes +SHA1 (firefox-l10n-62.0.3/cs.xpi) = 040549e98639d5f369d01f98f1beb811be7ba9f2 +RMD160 (firefox-l10n-62.0.3/cs.xpi) = ea34e60bfa66c3a47162b072bc06b8c813b1fe72 +SHA512 (firefox-l10n-62.0.3/cs.xpi) = c82a959c0300ef01b7ef5001eb8c7adb65089200ed444cd7abdec62f00c9a12cbdbb209b29e828381c1c5768945d0d6d851ecb50d4b659d0715e62eec6a7508e +Size (firefox-l10n-62.0.3/cs.xpi) = 478354 bytes +SHA1 (firefox-l10n-62.0.3/cy.xpi) = 32a109e0c4ebb9f18310296ed02541a984023fc9 +RMD160 (firefox-l10n-62.0.3/cy.xpi) = ae22aac58036408409b24aac385440dd3f6f9f72 +SHA512 (firefox-l10n-62.0.3/cy.xpi) = 3228f164fbebaf4272e2af778179a83751eb7ed5afcbefef739ad6a60da29e955117bc0456fd36c24b3036b3f95ce72bfe64ed131599e75925e6f9d78301007d +Size (firefox-l10n-62.0.3/cy.xpi) = 468857 bytes +SHA1 (firefox-l10n-62.0.3/da.xpi) = c0ca1df936ea930448d12efff1ef8e1c19c28fd7 +RMD160 (firefox-l10n-62.0.3/da.xpi) = d1468504055985ce00015cd437b518d8ce904e68 +SHA512 (firefox-l10n-62.0.3/da.xpi) = 8c9c48d3fb687bb5240f672968dec42f1b081592104dd921cf09102cccc06c4d662ed6032feace5d6d162544ad9021144f4efd1f52fe204a669fd199056a703a +Size (firefox-l10n-62.0.3/da.xpi) = 467290 bytes +SHA1 (firefox-l10n-62.0.3/de.xpi) = 769d55b0353e57e8b33980be7664ec3512cae161 +RMD160 (firefox-l10n-62.0.3/de.xpi) = 4909d5198bf538688b416451f84581f4872d060d +SHA512 (firefox-l10n-62.0.3/de.xpi) = 2f21533f5dc836a11d97db3856ae96e7725ea3d098e510a715eea8e5c572d7550d5be8afc733807641843d30ac4aa3442494d3d6205b837b7c8c7f7cacfc641a +Size (firefox-l10n-62.0.3/de.xpi) = 475935 bytes +SHA1 (firefox-l10n-62.0.3/dsb.xpi) = b5b4a14c22c5929126f109fb6b3ba9782ea0a569 +RMD160 (firefox-l10n-62.0.3/dsb.xpi) = f5637fbb1c89e887c305c686224c5544377f3c5d +SHA512 (firefox-l10n-62.0.3/dsb.xpi) = c39529c355521b5f28f11fd5f50acc48a4605408020cb5454d39e87fe98a1c8dfed45aa8d2dfd9b150b877f23a1296dd093e0c3fc3844a41193aeeaa22f5a050 +Size (firefox-l10n-62.0.3/dsb.xpi) = 488173 bytes +SHA1 (firefox-l10n-62.0.3/el.xpi) = a097e4ebfed5dbdb1a59008b57af388dad4d755f +RMD160 (firefox-l10n-62.0.3/el.xpi) = 93825ca5a7e9fbec1514db7747f1ca1dff0e429d +SHA512 (firefox-l10n-62.0.3/el.xpi) = 6e192e856cf370a49a16c2259d61bc22d9f2d681f56d49b72e68ec73ee72c0820eae95c82ded166c2b9d3ba73ed671b3d19089d26636e99c54184a6f97321279 +Size (firefox-l10n-62.0.3/el.xpi) = 546433 bytes +SHA1 (firefox-l10n-62.0.3/en-CA.xpi) = fb6ac02aca77ea7e8f0eba2ad1652c61875f31ad +RMD160 (firefox-l10n-62.0.3/en-CA.xpi) = 909540fe1785342c4e4805a120920bb910b29931 +SHA512 (firefox-l10n-62.0.3/en-CA.xpi) = 8300b4dc72a1f9cefe109b1acf684061176f47ab82586e1a523787d978c86e4881ce3cb690a49eaf99df26a34fb78fec8b980f652f447be7f2f53c9f8f15ecc5 +Size (firefox-l10n-62.0.3/en-CA.xpi) = 439068 bytes +SHA1 (firefox-l10n-62.0.3/en-GB.xpi) = 505c0153b415782b6a341ef1b2946f02d386e04b +RMD160 (firefox-l10n-62.0.3/en-GB.xpi) = 308a0ed100e6308b76105b13916cc1d9a25d32fe +SHA512 (firefox-l10n-62.0.3/en-GB.xpi) = 886333d113e94d63af08748ca0a599e8c2c05746de69297cfb30d020feed43bcbf5e4fa5327c940db5ecdddbc31738157c4b50b5ac57367f0096f106e99fa8e8 +Size (firefox-l10n-62.0.3/en-GB.xpi) = 436177 bytes +SHA1 (firefox-l10n-62.0.3/en-ZA.xpi) = 43422e4f4c3afbf9c81b3d62faf5033cf606e7a6 +RMD160 (firefox-l10n-62.0.3/en-ZA.xpi) = 8356eaeb3fa48c98ab20c361bb7f3970bd78d821 +SHA512 (firefox-l10n-62.0.3/en-ZA.xpi) = 40014af81a3bef8082e88102b84236514ecdc26bbf6a22a130beba5e5f12145492f557abacbdf072da695005ebc51de70bb8487cc777aa6c082b6ad1eb03639f +Size (firefox-l10n-62.0.3/en-ZA.xpi) = 422871 bytes +SHA1 (firefox-l10n-62.0.3/eo.xpi) = 429b4ef1def08cabea91098dbb5e25379d2e33bf +RMD160 (firefox-l10n-62.0.3/eo.xpi) = ca2523bedbff068be5249c3513f29bd48765c7e2 +SHA512 (firefox-l10n-62.0.3/eo.xpi) = f7dbab432f6d48859115a46390681322f296d2a20daadd3d0a49def37194414b35d0b73f41485eb7636a43f27fee1a2b20e0d5b95ddcca582457b238ae2a63a4 +Size (firefox-l10n-62.0.3/eo.xpi) = 466535 bytes +SHA1 (firefox-l10n-62.0.3/es-AR.xpi) = ac6d55f3b51f5892e0cb6d62753f49d49457f742 +RMD160 (firefox-l10n-62.0.3/es-AR.xpi) = 55cf9d3c7fdeedeb00e98bc69b861f4b2dfbcb0e +SHA512 (firefox-l10n-62.0.3/es-AR.xpi) = 378477ff2b1d84653b8c0bb2483359b9ff7bd4fa7619aeaad18ab77286a82db647b4c41397557967599dc1b4a2f6560e49716b61aec16d7560e992197299926c +Size (firefox-l10n-62.0.3/es-AR.xpi) = 473522 bytes +SHA1 (firefox-l10n-62.0.3/es-CL.xpi) = 73faf68008f4061e4442adcb06296d6e4c991831 +RMD160 (firefox-l10n-62.0.3/es-CL.xpi) = bedeae2b6ba13f886db00a110dc32c71946f0a4a +SHA512 (firefox-l10n-62.0.3/es-CL.xpi) = b64d123a9d7000320b98c563669d34a938de0ef9f9dfd2776348b1ed38b0f221e733d765473bc4fafd26f74e33db5adf73ed75985859d682595e48a1ac998908 +Size (firefox-l10n-62.0.3/es-CL.xpi) = 473990 bytes +SHA1 (firefox-l10n-62.0.3/es-ES.xpi) = f5919f49efeaaa6b1cd36c54d5542d42f2f52416 +RMD160 (firefox-l10n-62.0.3/es-ES.xpi) = 99f59b281c9e1442d55a9c0aaf604bf65e28bee4 +SHA512 (firefox-l10n-62.0.3/es-ES.xpi) = 9f8849f7977b245ae15e755315821b7487e988daf5bab3c4244df8643618fe5ebe10cfcc846d7b5783b55d4a2b283a15a9559cddb5aec7e49c7d83787207d08c +Size (firefox-l10n-62.0.3/es-ES.xpi) = 414987 bytes +SHA1 (firefox-l10n-62.0.3/es-MX.xpi) = fdc552c9eb82bd9c6738cba96378523885162eb0 +RMD160 (firefox-l10n-62.0.3/es-MX.xpi) = 2dfd6cf552615777e934d26c319648c50d53ad69 +SHA512 (firefox-l10n-62.0.3/es-MX.xpi) = cbaf5b5dc4df636ce308cb1332a987eb44c1cc27673c5ad99c9bc66910bd896d503e92af867b6a3456956d3b70c997891283971190901dfcbb2bb7c48b4db43f +Size (firefox-l10n-62.0.3/es-MX.xpi) = 477957 bytes +SHA1 (firefox-l10n-62.0.3/et.xpi) = 3fbc153c9998c59d1318ce25f4a67d4e0c2202b0 +RMD160 (firefox-l10n-62.0.3/et.xpi) = 2dfddffa4b6eccaf1056413ccd12ed5eff29f8cc +SHA512 (firefox-l10n-62.0.3/et.xpi) = 6bdac58593cceb5e5f49a032482d7877857c67f2edd2c2da8fabdc80e7c2552a337cbc60bfe0439f062f901db8685e9f8b1c9e410d83dfbdae0fd9c0213b1a65 +Size (firefox-l10n-62.0.3/et.xpi) = 455377 bytes +SHA1 (firefox-l10n-62.0.3/eu.xpi) = 3164e998aad5a363aa7beeb496e4dde57da9ae97 +RMD160 (firefox-l10n-62.0.3/eu.xpi) = 3b96fde43b083f27d79ae4821446d1f876fb52b2 +SHA512 (firefox-l10n-62.0.3/eu.xpi) = f54b3ab2508ef3638ee03c14575ca6f256c9c4310333577adb9a70198db4bd5b86feeac22c59e14cd2b750bbd6e7595b70317bbf2e597d3414a244c8988afab3 +Size (firefox-l10n-62.0.3/eu.xpi) = 465903 bytes +SHA1 (firefox-l10n-62.0.3/fa.xpi) = a7a9f985000a2423f0854f3b93021866c4828417 +RMD160 (firefox-l10n-62.0.3/fa.xpi) = 604067df31867887b4395fdc0a7310fa48d59e55 +SHA512 (firefox-l10n-62.0.3/fa.xpi) = c1be98ab1590ea7000d0faef1f1ae8aafa2a7c925d8c621bc8085b433e8d957e8ee6689458683fa1ab6df38fd1329229cec41e474043a997e98273e2a00962e3 +Size (firefox-l10n-62.0.3/fa.xpi) = 514442 bytes +SHA1 (firefox-l10n-62.0.3/ff.xpi) = a2bb8d3d10a00c9da0e0383c42e712bdbd549d71 +RMD160 (firefox-l10n-62.0.3/ff.xpi) = 4ec5e0046215b6e3b9a1350d45e258653a94d599 +SHA512 (firefox-l10n-62.0.3/ff.xpi) = 70bb37d4cf292bf3131870668aabb6ccca4ca96eb85cc72605b6b263304b2d8c041d1bd6b3977356c02c33c669413fe4373cfdde286a2aac3115ef016c15f181 +Size (firefox-l10n-62.0.3/ff.xpi) = 459046 bytes +SHA1 (firefox-l10n-62.0.3/fi.xpi) = 2e44c4d63f08d75d300957380a691fce4bbff0be +RMD160 (firefox-l10n-62.0.3/fi.xpi) = 55b91a881c640296e679689d5857e0a12ff62d4e +SHA512 (firefox-l10n-62.0.3/fi.xpi) = 788d2d14f82c0134e15b341a56179a08ebf0dd3b1702a1d337f3faf31864bb2d9354329816beb430215503b7c2ee857aae19b3f4c9be38c763e18bae631a7a31 +Size (firefox-l10n-62.0.3/fi.xpi) = 458677 bytes +SHA1 (firefox-l10n-62.0.3/fr.xpi) = 697c86cec21897be3688ac67e897f7b5c43641dc +RMD160 (firefox-l10n-62.0.3/fr.xpi) = c2e36ffa067e93d136e36650528f0d5cffee454f +SHA512 (firefox-l10n-62.0.3/fr.xpi) = 7db0be65c7eeb944b3ac1c2ddd4937b8728cf8a2342cacf5caca95182543cc398ab41454557d33a5b8743d190a7e852729c08e0d175bdeaf504993507bde0e0d +Size (firefox-l10n-62.0.3/fr.xpi) = 482968 bytes +SHA1 (firefox-l10n-62.0.3/fy-NL.xpi) = 6299b2969cfa8df2bc7b42d793baed8554a151c5 +RMD160 (firefox-l10n-62.0.3/fy-NL.xpi) = 588212667f5bf5c8a8b2127082dcb90ba5037bd3 +SHA512 (firefox-l10n-62.0.3/fy-NL.xpi) = 693064c9a81bd7c4d0aabed393a5c4978dd2ea1306441360d6c6f7e1f8312a94c475587dd2feb9924161b121648d1a1f2238f24492956dad74b6d19730300c07 +Size (firefox-l10n-62.0.3/fy-NL.xpi) = 470422 bytes +SHA1 (firefox-l10n-62.0.3/ga-IE.xpi) = bf055ec2b99d778099863b1e0e71ec30775d48c1 +RMD160 (firefox-l10n-62.0.3/ga-IE.xpi) = 36abd57c2bf4fba9d821cc86394ee072e5626442 +SHA512 (firefox-l10n-62.0.3/ga-IE.xpi) = 4259d128b05d9412903401c8e240c309c656a24de0820befffcd60a77c94e22fd971a3bd31ac358e298819292d9f22714298800ca9663a814b70a43c88ffeaa0 +Size (firefox-l10n-62.0.3/ga-IE.xpi) = 472265 bytes +SHA1 (firefox-l10n-62.0.3/gd.xpi) = 7dcfc85104ae55124dca5a41b34721ae19b8901d +RMD160 (firefox-l10n-62.0.3/gd.xpi) = a238ccdae9a3ba63d48840b429f1ebaac9a0af6e +SHA512 (firefox-l10n-62.0.3/gd.xpi) = 329137fb59779263dc9fa7612af864a42686e3a494c81a000d3b0442c6a2b57a98a07a2a234a8ebfaf1bc4e797f0fb680634f8c937448bfcb516e5932bbc408d +Size (firefox-l10n-62.0.3/gd.xpi) = 473970 bytes +SHA1 (firefox-l10n-62.0.3/gl.xpi) = d37a3fd4ba0719440aeb0ffc50225ab0335246fc +RMD160 (firefox-l10n-62.0.3/gl.xpi) = bf0a74ee8a97864b39ffe8a65d367d2a1e40fd43 +SHA512 (firefox-l10n-62.0.3/gl.xpi) = 6a898a8f80deef54d48fb76a13d90ecd687e3ecd53acba3d18e492559ec63d624d06633b5876a7126a69d42eb18756bc282ce86a3ebbe27c892a680a3bb4a966 +Size (firefox-l10n-62.0.3/gl.xpi) = 451816 bytes +SHA1 (firefox-l10n-62.0.3/gn.xpi) = 2e17988531c782098766ad041911f98d5e5bd5b2 +RMD160 (firefox-l10n-62.0.3/gn.xpi) = c98896ff6033303e59dfd8b82cfbcc3485cea765 +SHA512 (firefox-l10n-62.0.3/gn.xpi) = a1c94e52f881a36aa43841a2a197ad522b110f66d7055d88a84e3755afd941eb4e8e4d351120d68f03ebe0099c79c01397cb25695c8cc72c3da9cbe5119e14f3 +Size (firefox-l10n-62.0.3/gn.xpi) = 483149 bytes +SHA1 (firefox-l10n-62.0.3/gu-IN.xpi) = 90df5389668614641aad70bae5acf7a4613ce5bd +RMD160 (firefox-l10n-62.0.3/gu-IN.xpi) = 0b47fa59e68c417968a44cead27dab36a9f2a602 +SHA512 (firefox-l10n-62.0.3/gu-IN.xpi) = 329f5308c615899dcd5c92b950b6b0162e45997ee1f5914ca5d920f3ae5d312a71e9b377f8cce38c9eae30c47b3c0cd5c912b1b3856d6f599efd7de78cbad881 +Size (firefox-l10n-62.0.3/gu-IN.xpi) = 539984 bytes +SHA1 (firefox-l10n-62.0.3/he.xpi) = 421ac5cdb47c9bfa812b262941964b3842fbb52a +RMD160 (firefox-l10n-62.0.3/he.xpi) = d06cecb874ab7def9aa895c63cb2130c212fe3b1 +SHA512 (firefox-l10n-62.0.3/he.xpi) = 74f7c9ea2b1e3677b2db72aa095a78c17243bb9890f0a01b2be349513295d33dabf421373e44cfb6ab34c42080476a06a53213e01dda71e8330dac40afbbe2df +Size (firefox-l10n-62.0.3/he.xpi) = 484809 bytes +SHA1 (firefox-l10n-62.0.3/hi-IN.xpi) = a8c61dd1462fe817901a2bda2e28b127f353a945 +RMD160 (firefox-l10n-62.0.3/hi-IN.xpi) = 8c2e04c5dba855bc652923903ad481701a61aeee +SHA512 (firefox-l10n-62.0.3/hi-IN.xpi) = 71c9c0bf91d7ac4b9fa0ef194ec86e6fc130cf2cda42681bdc265c6ff22cd8813dad7576ab5000264b10346d6a6a33675dd92902e4ac15c9daf82899d8ba627c +Size (firefox-l10n-62.0.3/hi-IN.xpi) = 537121 bytes +SHA1 (firefox-l10n-62.0.3/hr.xpi) = f947652a571ea0f92fa132905786be8fe82a7b03 +RMD160 (firefox-l10n-62.0.3/hr.xpi) = a39c4b7a2aa28249a6b1e77722758f37c58a531d +SHA512 (firefox-l10n-62.0.3/hr.xpi) = 9e04eb814287c12cb490b3766498568d8bffce135a2aabed161dc9636c006f4bc95f35c95d769c044e7bbe059c3a92c5b6b41cfea7073aaa8158b847ec57baaa +Size (firefox-l10n-62.0.3/hr.xpi) = 459608 bytes +SHA1 (firefox-l10n-62.0.3/hsb.xpi) = 0c962c474e3af4eb5a8136818a2dac388eb3d91c +RMD160 (firefox-l10n-62.0.3/hsb.xpi) = 43323ff2664866bed0db67d46c7cb494f6bbd0b1 +SHA512 (firefox-l10n-62.0.3/hsb.xpi) = 0a944b415ea14ccb98ef5376911fe36f64a7c72f4a76a53b00e8e3f1e7c6024db3799a0f97c5aa28bdcd43ec8bae5942cf5283fa96438a448b70447b7d72be1f +Size (firefox-l10n-62.0.3/hsb.xpi) = 488120 bytes +SHA1 (firefox-l10n-62.0.3/hu.xpi) = 287250b4259d437539f8e2277812cce9413086d7 +RMD160 (firefox-l10n-62.0.3/hu.xpi) = 89786a3f84a60d8ea272b1badf7a2477717c619d +SHA512 (firefox-l10n-62.0.3/hu.xpi) = 8dad4828e2f270d1f8381226c974c632ec58f603028a350558351234e97fffb690ca9b50a68e0f82c2bd92c0cd32b107233df3f00bfea5f92526f8298520a631 +Size (firefox-l10n-62.0.3/hu.xpi) = 487428 bytes +SHA1 (firefox-l10n-62.0.3/hy-AM.xpi) = cb7d5bf1e3601becb3015b6171ab6eb51b9367ad +RMD160 (firefox-l10n-62.0.3/hy-AM.xpi) = 4e2ed92fa66e6b674fdcadb5c75d65776548174f +SHA512 (firefox-l10n-62.0.3/hy-AM.xpi) = f613672f5b2d5da34d6b32832adb10d4c8841cb54570972d84e3d02fb16d99af182d75105dcf181bdf3b6eb1b072bd4c90f1bf5e1f19e6f8031e2efa0ebed293 +Size (firefox-l10n-62.0.3/hy-AM.xpi) = 518019 bytes +SHA1 (firefox-l10n-62.0.3/id.xpi) = 830a2eab724eb1fc19e746626511360da987711c +RMD160 (firefox-l10n-62.0.3/id.xpi) = f142bca13162cc59007ed073912444ef3fb2d349 +SHA512 (firefox-l10n-62.0.3/id.xpi) = d0f46596583a2f92ad3921e11cac0c6d970f38c98e4015ad17973a674d9bc5d1617cf3fe4e91e65239de4ad6035702dca48157e843a3150bd141f7471e46f7c8 +Size (firefox-l10n-62.0.3/id.xpi) = 458276 bytes +SHA1 (firefox-l10n-62.0.3/is.xpi) = ab780d09714718f8f00b5e9c712032a68cfc1e43 +RMD160 (firefox-l10n-62.0.3/is.xpi) = 27e516845448335325a67ca3be185e81bef233c1 +SHA512 (firefox-l10n-62.0.3/is.xpi) = 1c946d4fe58958a7589fc55781c5b11cba5ed7133df723af688efca52aa53226a64d812bd6685b06117e8c15cfa1465a8ae569288323253259e079e25251983c +Size (firefox-l10n-62.0.3/is.xpi) = 459617 bytes +SHA1 (firefox-l10n-62.0.3/it.xpi) = f6662bf1d3ef3170823ef73b88c816e3af743017 +RMD160 (firefox-l10n-62.0.3/it.xpi) = 1bce870a33be5b2f5257b19e07bc8591eace6658 +SHA512 (firefox-l10n-62.0.3/it.xpi) = 02c2f89e9e5cd595b825a2239517333c47063e90e19dfc4505bacd8fc5d09f79ff8511129568895360b917192db01a78cdc1a970cb74947215dd3df7b0a7882d +Size (firefox-l10n-62.0.3/it.xpi) = 347139 bytes +SHA1 (firefox-l10n-62.0.3/ja.xpi) = 62ebdc7d54d36313a1dff6103a6c285490fb2d49 +RMD160 (firefox-l10n-62.0.3/ja.xpi) = e8ec4aa0454ec97a7ee070e3240ec9535c339e41 +SHA512 (firefox-l10n-62.0.3/ja.xpi) = 58be82999b4c42b0ab786d67b5f4cc4e63be8c84f4df227e4b94026b1e5c62a1bb9c2046c29a895caf3c086222e70b2e11d664babd1f259983e34d99436d3cf9 +Size (firefox-l10n-62.0.3/ja.xpi) = 504031 bytes +SHA1 (firefox-l10n-62.0.3/ka.xpi) = 41a9c07a84eb49cf2bf35a775138170bae018c7c +RMD160 (firefox-l10n-62.0.3/ka.xpi) = f72d34919488950fbcc0390f99a15cd30bd7a659 +SHA512 (firefox-l10n-62.0.3/ka.xpi) = 0fe2988e2133093599be21ee9191b636c13e44ed1ed2fa859779e309b39614742ddb5ea0910890f2e237fe4e4c6b515fe83c809a20212e80248e7e17ca52af77 +Size (firefox-l10n-62.0.3/ka.xpi) = 503705 bytes +SHA1 (firefox-l10n-62.0.3/kab.xpi) = 4748aa40b83017a866dd2cbd8a813450e484084e +RMD160 (firefox-l10n-62.0.3/kab.xpi) = 7580bd6fbe1d835cf81e84376695447ae3f21788 +SHA512 (firefox-l10n-62.0.3/kab.xpi) = 337cd6267f282de4d18b23342018ff9f863a5c6b8c68a3ab63a551a859d3e780117fbe74edae50a92a75f2227bbba2fb3a2d0edb55dedda3d7f32e0199f2805d +Size (firefox-l10n-62.0.3/kab.xpi) = 478240 bytes +SHA1 (firefox-l10n-62.0.3/kk.xpi) = 45b85cfa24888cdbcb00d57969e4d2917fb6212b +RMD160 (firefox-l10n-62.0.3/kk.xpi) = 776a60f3a06b9b60795864ead294dd08fc56603a +SHA512 (firefox-l10n-62.0.3/kk.xpi) = 54cf420717258954e219ce073fba3938ef959c7f4132bc621b0ef716d98e65c54345bdebce3f2584a5e6174fff44caa6c34550e8c8e4763e174626076470e15f +Size (firefox-l10n-62.0.3/kk.xpi) = 530654 bytes +SHA1 (firefox-l10n-62.0.3/km.xpi) = ef31519391b883a82fe3c8ee12c84ef8fc29794c +RMD160 (firefox-l10n-62.0.3/km.xpi) = 353cad5a889353e4ed6b51b0e105f0ff6e2a807d +SHA512 (firefox-l10n-62.0.3/km.xpi) = 550670d9523b2a9d338586105081e5c150c2a0d2a9bd2c20ad670343760d28781c0fbb7bd56f3f88a9f9cf32f9e44279e7ad9c594a158769c631067db9d5ada1 +Size (firefox-l10n-62.0.3/km.xpi) = 521445 bytes +SHA1 (firefox-l10n-62.0.3/kn.xpi) = d0143a10007642b7377a83c306f7244d57c7c462 +RMD160 (firefox-l10n-62.0.3/kn.xpi) = 12b5358af38c0fd95d10996540bbc65b7bdf55fa +SHA512 (firefox-l10n-62.0.3/kn.xpi) = 6398ebe1f32d927ad2c36487962f730efe8d1035c96b415218471975f5eadf379ccae5ea2bee8f694fd7b9164011b63ac12fd6647bdbb174415c27027ca4ebaa +Size (firefox-l10n-62.0.3/kn.xpi) = 528103 bytes +SHA1 (firefox-l10n-62.0.3/ko.xpi) = 922fb0e4a3d01ab662e05e652b9516d7de70b37c +RMD160 (firefox-l10n-62.0.3/ko.xpi) = 86e727b1b324e36b7a96cbbaea72ca0c97f0ed45 +SHA512 (firefox-l10n-62.0.3/ko.xpi) = 65a3e637801588a77efd662cda3c0bbdb8de487e810f56d9323e0170623dc7da683cf517056784e0e839dc7908b2877e7ce8447d13842c7dde85620400703338 +Size (firefox-l10n-62.0.3/ko.xpi) = 498342 bytes +SHA1 (firefox-l10n-62.0.3/lij.xpi) = db2a1affe42cf081718a3220025bde96ab0438af +RMD160 (firefox-l10n-62.0.3/lij.xpi) = 353cfa45ee752264bb09eaf6ad3850eff64c8cd4 +SHA512 (firefox-l10n-62.0.3/lij.xpi) = 7bc2b72177a4be528f477d5fe9d36411baa1222bd92ef002465b957fbe3249a7a629eb39f76228964b071e4a9c21a15c722f1bdc42240c76a86966aabaa59225 +Size (firefox-l10n-62.0.3/lij.xpi) = 463444 bytes +SHA1 (firefox-l10n-62.0.3/lt.xpi) = 89a1bfea9b7abb72423f0e1c8e9586d79c391d16 +RMD160 (firefox-l10n-62.0.3/lt.xpi) = 1c9fcd512073de1b57fd989e2deb0966b0ad4967 +SHA512 (firefox-l10n-62.0.3/lt.xpi) = dab852b7209f64a55c734fefa0238b7daa08b155efb5ff95a88a347164a06f58d55f1bd049a516309a724627ffd4329b021d473d29350e323713e62138e68101 +Size (firefox-l10n-62.0.3/lt.xpi) = 487650 bytes +SHA1 (firefox-l10n-62.0.3/lv.xpi) = 352216208a3549f9ff2f0a9431881a684862fef1 +RMD160 (firefox-l10n-62.0.3/lv.xpi) = bb1ca5a79002b3030a3309ae5be2b69b0c347297 +SHA512 (firefox-l10n-62.0.3/lv.xpi) = a887f82cac85051e599e5f728c7de908cc003dd9f0f3fb9ad838496cdfbaefb4151b5dec5f727aaa517793c6613b6ab7d3e84c8620f5654606dd7e7887ceb7f2 +Size (firefox-l10n-62.0.3/lv.xpi) = 475710 bytes +SHA1 (firefox-l10n-62.0.3/mai.xpi) = cb5e3ed5ea778ea63eee3fa34f25054bd8faa4aa +RMD160 (firefox-l10n-62.0.3/mai.xpi) = c2515c04d94a4830d5d5941a65bea07322aa0555 +SHA512 (firefox-l10n-62.0.3/mai.xpi) = 24aff560e303268148680c046413e067e64118826fedc426eec5742afded0f287adee35d156f617cb5ce22706f444d487af37eb7add691b34fccd467ac34dae6 +Size (firefox-l10n-62.0.3/mai.xpi) = 494726 bytes +SHA1 (firefox-l10n-62.0.3/mk.xpi) = e69b8e9edd8b0b22a61b5e42eb1a13a8b78941d2 +RMD160 (firefox-l10n-62.0.3/mk.xpi) = aae6aab51085135c659d5e4e3f1458c15690eb16 +SHA512 (firefox-l10n-62.0.3/mk.xpi) = 32d03bebe02c7f85cbea47970d6ec1ed72792ccafb9ead5f7fe74fca4ed722320ecc30c95b73ddb4338f1b9eae391939ba6ca60fb507b42304f092e045f2641e +Size (firefox-l10n-62.0.3/mk.xpi) = 457532 bytes +SHA1 (firefox-l10n-62.0.3/ml.xpi) = 18c29ee25ebb43805ce940e79d120a7b99918c00 +RMD160 (firefox-l10n-62.0.3/ml.xpi) = e02b4e982bbece3ad0fcf39d2ab6ecfe679f28c7 +SHA512 (firefox-l10n-62.0.3/ml.xpi) = dc43cbaaf9f40b8b1b526a0301341f7e84eb78eba06b3450dfacd4d914ea31af47de4aae16dfe7dcb0e2f5653b80cfca0e31707fa77c8b8c6da456481340417f +Size (firefox-l10n-62.0.3/ml.xpi) = 538825 bytes +SHA1 (firefox-l10n-62.0.3/mr.xpi) = 889c168b2f7bdafe1a046ca51e1b9c17f8f708e7 +RMD160 (firefox-l10n-62.0.3/mr.xpi) = cfc9b1519ec0af99adae3659566c6c63136c2edc +SHA512 (firefox-l10n-62.0.3/mr.xpi) = 7f6bae467a939ce3bcf2a7d0b6339a03dc34815dca87f13359f54e615142414125da896f348bd7e9cc20cbb21b714eb38393ffc7614afc624801c77025f91133 +Size (firefox-l10n-62.0.3/mr.xpi) = 530350 bytes +SHA1 (firefox-l10n-62.0.3/ms.xpi) = 536dc39f08a1f20638c31314939819b4e3be6705 +RMD160 (firefox-l10n-62.0.3/ms.xpi) = 05c209e4959f716a31de138888f367024eccfc71 +SHA512 (firefox-l10n-62.0.3/ms.xpi) = 58f7a3560616b6c69a6d6826ab4ca9c4fcb15bf9333887a8858f47135bc2a0881fc375a2c8c821714867dfbf9be02e64be848428463c1a8d6e90ded7fe16ef6d +Size (firefox-l10n-62.0.3/ms.xpi) = 459916 bytes +SHA1 (firefox-l10n-62.0.3/my.xpi) = 9da3b4b2fb08da87b54944f2c8528ee9484456ed +RMD160 (firefox-l10n-62.0.3/my.xpi) = cb62744f4011eaf17032ee001f9b2c1d524dd60f +SHA512 (firefox-l10n-62.0.3/my.xpi) = 3457ddfa914cbea5d80fe3a7229ba6d6f71549556a442a7e6070e8800af87141645e10ebbd8832ab00f6f4406c2370968c47f76ad3662cb11419088835c09c87 +Size (firefox-l10n-62.0.3/my.xpi) = 507314 bytes +SHA1 (firefox-l10n-62.0.3/nb-NO.xpi) = 61cac51eec56751f7bf401073d091862944a3c65 +RMD160 (firefox-l10n-62.0.3/nb-NO.xpi) = c55944f595da5ca1fef26d3c62a8fd8bec4836a6 +SHA512 (firefox-l10n-62.0.3/nb-NO.xpi) = b282a8177051cf803c9924ba0501b06f97d3d82fe98a3074c7b0fd72dfb1d0f548f85abaaa75d3c0613d1393c388279c0848c2d62445270d42a71f401d9400ef +Size (firefox-l10n-62.0.3/nb-NO.xpi) = 458931 bytes +SHA1 (firefox-l10n-62.0.3/ne-NP.xpi) = fc27a93b518ded96c001bec40f83e00c2b4e0dfd +RMD160 (firefox-l10n-62.0.3/ne-NP.xpi) = cb3aafe319b58e2b4a7728342e3bf46d794968eb +SHA512 (firefox-l10n-62.0.3/ne-NP.xpi) = 4528ecd5051d21ce1b681b24ce596251007d5db7ea911d4a23ebd63fe2424a17f1d231232683fbd9fdfc4406298e115049a668b7b14270e1f4253d317355445a +Size (firefox-l10n-62.0.3/ne-NP.xpi) = 500514 bytes +SHA1 (firefox-l10n-62.0.3/nl.xpi) = aecb7aa310212b7b61cc514f55211908524ebb58 +RMD160 (firefox-l10n-62.0.3/nl.xpi) = d51519738f0f86d2b69790d7b791347b55b40065 +SHA512 (firefox-l10n-62.0.3/nl.xpi) = b30723296f2c3d5aeef86702fe3231ea6b712e03bae498d2f34e730ca210ea5c0177db5d745db687ac9452ae7c0e980119a4d9f0577613944953aee64101a656 +Size (firefox-l10n-62.0.3/nl.xpi) = 459511 bytes +SHA1 (firefox-l10n-62.0.3/nn-NO.xpi) = 56f8f14cc53f053058f5b2d68c3816f7104129cd +RMD160 (firefox-l10n-62.0.3/nn-NO.xpi) = c497b5375b9d5f54784f3a9a70f27a6eee946687 +SHA512 (firefox-l10n-62.0.3/nn-NO.xpi) = 80a5d23058ee70f1950405b58f106cc389a2a22b19079cb7ec9ce0a9875b95888d745048d44989ce59bfbeda78b7f66052269d36597b37df29148f73daa2a046 +Size (firefox-l10n-62.0.3/nn-NO.xpi) = 457054 bytes +SHA1 (firefox-l10n-62.0.3/oc.xpi) = c19228bf46a55a903e6de99103c26ed7a905d8f7 +RMD160 (firefox-l10n-62.0.3/oc.xpi) = 9755785affe4ac4b416cd9b0f21d07a05d4fb279 +SHA512 (firefox-l10n-62.0.3/oc.xpi) = abf03359b5a725f39120100ac8186aa1cf59003a78c4e5a6d59cd431623d7a24926d1949e3ff21ef180d056ceef38e2665b7842e53f8199f18b71412dab4e260 +Size (firefox-l10n-62.0.3/oc.xpi) = 475429 bytes +SHA1 (firefox-l10n-62.0.3/or.xpi) = b26ff93b6d54aa00dbf735d94353d4f4ced4c44e +RMD160 (firefox-l10n-62.0.3/or.xpi) = 52cbff0acd77ba8ff52404953c1261f0a8ebae16 +SHA512 (firefox-l10n-62.0.3/or.xpi) = 1a553762f5d24b0aa258ea65644c1bef6041ed32e8ed8ed2a51c03a894c7505ed27994aa91b8114daa3228371e7ebabc713c454ece497ed183de5b36e149317c +Size (firefox-l10n-62.0.3/or.xpi) = 485373 bytes +SHA1 (firefox-l10n-62.0.3/pa-IN.xpi) = 20c264033a0d7ddbff1c15d1f6517bc1e80cdcda +RMD160 (firefox-l10n-62.0.3/pa-IN.xpi) = 0fc093fa49afe344a657b2da592bc3743aa8c712 +SHA512 (firefox-l10n-62.0.3/pa-IN.xpi) = b963d6a0d961557fbe3d35c14a321240a4d57474302672a670f71847ef45440b7373eff4f6820e111329d39383425f97b329aebcc7f729a56eed4ce6de22c4f6 +Size (firefox-l10n-62.0.3/pa-IN.xpi) = 496915 bytes +SHA1 (firefox-l10n-62.0.3/pl.xpi) = 016e20e967faaa3e8f0b461bc293fbda5f949356 +RMD160 (firefox-l10n-62.0.3/pl.xpi) = df911c381c7e0e126e1c61f9488f00761e5e5f89 +SHA512 (firefox-l10n-62.0.3/pl.xpi) = ab9a5a034f47af378b68b9511bea7aa8233d21f2e37dc087c30944f52c81eec29f114bf5a54238ab686b805f7a85bc5f76449bd2b582a1b4097ff886def378a9 +Size (firefox-l10n-62.0.3/pl.xpi) = 370890 bytes +SHA1 (firefox-l10n-62.0.3/pt-BR.xpi) = 1d8d3cd0ae4d41daf3496617a81934ecbd126f13 +RMD160 (firefox-l10n-62.0.3/pt-BR.xpi) = 3f68d24ccf3aaec8f4e0efbfe3ab70570b663c9f +SHA512 (firefox-l10n-62.0.3/pt-BR.xpi) = 7aa346872cb29ff0be1f05c8653079e712ca6757532bbfdddc10714e8c519e3c7a1eee10b00579d70f8472d48d228e1abe0d4172cee76490177f80684c9843e4 +Size (firefox-l10n-62.0.3/pt-BR.xpi) = 460872 bytes +SHA1 (firefox-l10n-62.0.3/pt-PT.xpi) = 38fa53a0ec5edc0d5f51ed96216688f7c5bfb993 +RMD160 (firefox-l10n-62.0.3/pt-PT.xpi) = cbf00878b9f965f9949dfa53daa386e361f31b09 +SHA512 (firefox-l10n-62.0.3/pt-PT.xpi) = cf1f1036f05763269ff759c5967d53ff93a4b2da8d4f6980c78406e519b6957be3b94c71a70e9d0323019d4183accc29b81e47ab08221b8a75ae84297aee9778 +Size (firefox-l10n-62.0.3/pt-PT.xpi) = 473528 bytes +SHA1 (firefox-l10n-62.0.3/rm.xpi) = 9f6c27790164296b7783517394d5e4e0ca91965d +RMD160 (firefox-l10n-62.0.3/rm.xpi) = df36e8c2928d868c9c3c525f2a1aa1f1aa991ed4 +SHA512 (firefox-l10n-62.0.3/rm.xpi) = dd400340cd22a38d20d9fe70d2f8b1de98fea3f3e91116f50b801b8fabbb8c05f30a9771ab621da92c77b6dff54379b0b684d9390d6de92bbfab44de6ab67d87 +Size (firefox-l10n-62.0.3/rm.xpi) = 462474 bytes +SHA1 (firefox-l10n-62.0.3/ro.xpi) = 8cccfbf6aa910261c6eabbc378401fa3d6bf751e +RMD160 (firefox-l10n-62.0.3/ro.xpi) = 58efefcc8ff421c6a745e18dd8cbc96a11f1c30c +SHA512 (firefox-l10n-62.0.3/ro.xpi) = 6faae43f4c595a38162267769a6e95b72def73c76176bbf9deb412f513a285830fb9a3fd68b675e043986595934e81068ab2ab5ab135b544a90a528abc73307d +Size (firefox-l10n-62.0.3/ro.xpi) = 463410 bytes +SHA1 (firefox-l10n-62.0.3/ru.xpi) = 93930c154f302c4dbfe9206563978a0bc7453e0f +RMD160 (firefox-l10n-62.0.3/ru.xpi) = 9a8bfc2e921fa2fd123835dfe2d532df2ff2c259 +SHA512 (firefox-l10n-62.0.3/ru.xpi) = 61070ab84255daf4fb15060fb8b449b2f72050b30a359865b73810a1fda04da0cbada58e9542f28487f4d5a61313895b22498f610ba9f208369ee87ea9933d56 +Size (firefox-l10n-62.0.3/ru.xpi) = 539883 bytes +SHA1 (firefox-l10n-62.0.3/si.xpi) = e835646978034e2892cd3a577cd8c0453dc20bae +RMD160 (firefox-l10n-62.0.3/si.xpi) = efb1594785a7d8825b3b36b0e6d3fbcdda453036 +SHA512 (firefox-l10n-62.0.3/si.xpi) = 0c8f9c2860bd85c4fd0648049d75dc789f2a3b813876383309c84789e5f5c457187923cea3143b9bdb5bb2e05e7aadd94e804063249d8b28d8d1d7d275a00ec0 +Size (firefox-l10n-62.0.3/si.xpi) = 487601 bytes +SHA1 (firefox-l10n-62.0.3/sk.xpi) = 8168bd035529b31f238a82640585047400481152 +RMD160 (firefox-l10n-62.0.3/sk.xpi) = c5830c9e8510dd4bd457630018092bf8fe2c2f08 +SHA512 (firefox-l10n-62.0.3/sk.xpi) = 7d7114ddc7ee74f97019be69844f978f5a54480aa7a14880ec9017cc0ba18f11b8a42f02f057b53fb8171aeef05116dada458650bdf286fc07ed1bfb358d1527 +Size (firefox-l10n-62.0.3/sk.xpi) = 488135 bytes +SHA1 (firefox-l10n-62.0.3/sl.xpi) = 24583b5682968cecabdb8ae6d43656489f627511 +RMD160 (firefox-l10n-62.0.3/sl.xpi) = 5d06d5bdc8e5091af822359b691b5d1b5a798826 +SHA512 (firefox-l10n-62.0.3/sl.xpi) = 884a543d205ff86abc6ad200a82d9585c5e174ea80e7c1f322567061f42c38002ca5b28f70e1fde398c0ed2df47b7fcf9bc70ca8c482a4cc2761efc312176fcb +Size (firefox-l10n-62.0.3/sl.xpi) = 468413 bytes +SHA1 (firefox-l10n-62.0.3/son.xpi) = ee213f34a9813c7739ffdfb24bf82b882955a704 +RMD160 (firefox-l10n-62.0.3/son.xpi) = aee00d1380e562dce19c324ee2c66aff2f353c8b +SHA512 (firefox-l10n-62.0.3/son.xpi) = 5da14a162b64528560c55a2d046491cca79d9de928a16aa95bc3a805f7202e4714001a32452655f414badd392268dc17dd6ed4af8b843dd2d924e42c6742c687 +Size (firefox-l10n-62.0.3/son.xpi) = 445942 bytes +SHA1 (firefox-l10n-62.0.3/sq.xpi) = b92ea452cd0796efc9e77f1175512f9799d29296 +RMD160 (firefox-l10n-62.0.3/sq.xpi) = 736c23c4f7cff923b1def4d347eb8d323f54ddab +SHA512 (firefox-l10n-62.0.3/sq.xpi) = 25959f4d2ab19bba10070f411eacbe0aad8d6da2e096451e8db3a92b100b37ac082b59b19b5796d81477ed21a021ba61675ffd2e529cefa029f9280b6a512293 +Size (firefox-l10n-62.0.3/sq.xpi) = 475527 bytes +SHA1 (firefox-l10n-62.0.3/sr.xpi) = 1b7f49bb33092e5626f2b264bbaecf1dee642bc3 +RMD160 (firefox-l10n-62.0.3/sr.xpi) = 5f87a3e427fc07bc8cb1ae87fe7b4c8248d1a26c +SHA512 (firefox-l10n-62.0.3/sr.xpi) = 89b3cdc133a26a63b476df2a1c06b0fe1bac8eac8f5a6e4921d626d7905053121c13189196790cd31a3e175126eaac868ceb49c317f1746888fc28e15fb5b4d5 +Size (firefox-l10n-62.0.3/sr.xpi) = 498808 bytes +SHA1 (firefox-l10n-62.0.3/sv-SE.xpi) = 533d4453d4e907a088234158576bc24fb941b68a +RMD160 (firefox-l10n-62.0.3/sv-SE.xpi) = b97a11f5bdc00db3d171df3a021713e9a584b078 +SHA512 (firefox-l10n-62.0.3/sv-SE.xpi) = d0f08048ccffdbed2987908b9e22afb36bf42bee957ecfd23245316f6ce2dffdc20b05dce982999cf31014ede618d83bda7e04603d23db00d8cf92b6cb70cecd +Size (firefox-l10n-62.0.3/sv-SE.xpi) = 469502 bytes +SHA1 (firefox-l10n-62.0.3/ta.xpi) = ee6624cfaa2f9c3a0bf734f8a73d3682bc976715 +RMD160 (firefox-l10n-62.0.3/ta.xpi) = 32e1808f4b03d97446786be6e675fde4335516f9 +SHA512 (firefox-l10n-62.0.3/ta.xpi) = 56a655b014be8c7c1df9054fe1ef065a8250248b1178022f3bc76d2d72f68a397ada668622e681d89ee73db6e25d3bc131d0812d90e08da306dd968fc6b8b5b1 +Size (firefox-l10n-62.0.3/ta.xpi) = 526475 bytes +SHA1 (firefox-l10n-62.0.3/te.xpi) = cf6b4df4ac9953a498dfe2840590572178e93cef +RMD160 (firefox-l10n-62.0.3/te.xpi) = 9f4de2e7290ee5cb522b913be0d5d115d83d9690 +SHA512 (firefox-l10n-62.0.3/te.xpi) = 21c380a6c2c75ec2280ff8f759fd6b7f37a70aecc21bb64e357a1704a88eae6dba44c22209d48f76dbb75d5f243aab4e420af0518c49a462339d5093bfb1d557 +Size (firefox-l10n-62.0.3/te.xpi) = 536779 bytes +SHA1 (firefox-l10n-62.0.3/th.xpi) = 4e42bdcbe01af043c7c8ed8facd9597bffde9f07 +RMD160 (firefox-l10n-62.0.3/th.xpi) = 3a30a406b87169cabefdc70cee7e4e2164f10d5a +SHA512 (firefox-l10n-62.0.3/th.xpi) = 8815ec800faecad51296220179cbcbc6906c781b2b986cbb7dfebc8624211bb1146de1c44090218f2df1ae0eda5a5039ad08432d913081067a0bcc12851d50db +Size (firefox-l10n-62.0.3/th.xpi) = 507128 bytes +SHA1 (firefox-l10n-62.0.3/tr.xpi) = ede516dc8515c3e3179b4126cde2648efdce5e5c +RMD160 (firefox-l10n-62.0.3/tr.xpi) = b58405f57725ab65fe4d8caad7245305a2860dd2 +SHA512 (firefox-l10n-62.0.3/tr.xpi) = 371be3fa55a14f46960a2e4d0fb349908c2c9bb9347868e1475ae57d233b4cc0d033e4366993fa3c49306765fc6c86b45e9015f7f7b74751ee99006b1f922052 +Size (firefox-l10n-62.0.3/tr.xpi) = 477275 bytes +SHA1 (firefox-l10n-62.0.3/uk.xpi) = 5ab69063b1cd165eb4fc069af0b5731084f64a10 +RMD160 (firefox-l10n-62.0.3/uk.xpi) = 1185d322036ef2debc665f6becf71a3fb21b3f6c +SHA512 (firefox-l10n-62.0.3/uk.xpi) = 4f7460f81a6dd5428b4af3325cc4139b13af7ceaf485998ff156d30a962ed90fc093235b245aaca6e6371ae867aaa4175bdfd5de66edd6778027865fea9ccf07 +Size (firefox-l10n-62.0.3/uk.xpi) = 532597 bytes +SHA1 (firefox-l10n-62.0.3/uz.xpi) = 9e5fb63d5468d0fa10ad0ecfd83808d3425943f4 +RMD160 (firefox-l10n-62.0.3/uz.xpi) = 47cfb439de599cc80a910a40e2a2249440a8bf46 +SHA512 (firefox-l10n-62.0.3/uz.xpi) = e465ea3ef0c38b644cef099bea7fdb5e410c877a9eec8d153c750bebee5aad3e41bf1d7a1cd12f08d6c3587f575bf5bf554babecc35b5fd7a186280ec65b5a0e +Size (firefox-l10n-62.0.3/uz.xpi) = 457999 bytes +SHA1 (firefox-l10n-62.0.3/vi.xpi) = 39ac14b5b53538b81dca3a3b61a0d72a185329cf +RMD160 (firefox-l10n-62.0.3/vi.xpi) = 1bae58391886624ad2addda445fe943f8efd79a2 +SHA512 (firefox-l10n-62.0.3/vi.xpi) = d560446571fa3767af03f4e857c26b7caa59307961e44baccc82647de9395187321b8ddb47f854dc054475aa90d874fb70b9cba3c3fbb925bdb5ad61f67a982c +Size (firefox-l10n-62.0.3/vi.xpi) = 478333 bytes +SHA1 (firefox-l10n-62.0.3/xh.xpi) = c1c0cf99b686b64ff0b222071b62dda3afc5ae39 +RMD160 (firefox-l10n-62.0.3/xh.xpi) = dbc0419b2e20f8f7872e30b414d53b4991f61f27 +SHA512 (firefox-l10n-62.0.3/xh.xpi) = 1dd1b16e9dcb468306a34b3d8b60bd1b1ab0c942d82c185a9caa1d33da3f32fe479fe548970de0799556b89db370a9522cd76558f4d0e2b15573eef9a88da435 +Size (firefox-l10n-62.0.3/xh.xpi) = 461205 bytes +SHA1 (firefox-l10n-62.0.3/zh-CN.xpi) = 428b104c7d0f753ac4c5562fbdc3b20290953218 +RMD160 (firefox-l10n-62.0.3/zh-CN.xpi) = 87c3ebcbf362327ee7920daaa53a5a0f5c9b1c4f +SHA512 (firefox-l10n-62.0.3/zh-CN.xpi) = 4b1fb095b0f120b40cb72922df2d96e95eace516c4f18d311cabdcf1654110d7d8be588b4949f0918117d5fb72a3b09eb263f09ddca676822745d19daedb25ec +Size (firefox-l10n-62.0.3/zh-CN.xpi) = 491488 bytes +SHA1 (firefox-l10n-62.0.3/zh-TW.xpi) = 62b93674ee0eb6367bfe9def0017d767fdeaa78b +RMD160 (firefox-l10n-62.0.3/zh-TW.xpi) = f0b7999cb0d69efbf8e9514b268769b78cfae045 +SHA512 (firefox-l10n-62.0.3/zh-TW.xpi) = e3beb785228264299b777724b19d98ee5ff40916a6f7fccf96b95e7040ac491afb9ddb48ef484053908b58edc8874f43c055bbbeb6937d7b10b70fb8c40200c3 +Size (firefox-l10n-62.0.3/zh-TW.xpi) = 494524 bytes diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 9073dae377745..1dd496aa47e03 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.343 2018/09/05 15:29:58 ryoon Exp $ +# $NetBSD: Makefile,v 1.343.2.1 2018/10/07 11:32:06 spz Exp $ FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR} MOZ_BRANCH= 62.0 -MOZ_BRANCH_MINOR= +MOZ_BRANCH_MINOR= .3 DISTNAME= firefox-${FIREFOX_VER}.source PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//} diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 2ca95a7ba7fcc..a4f36aa79b870 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,9 +1,9 @@ -$NetBSD: distinfo,v 1.325 2018/09/25 12:55:53 jperkin Exp $ +$NetBSD: distinfo,v 1.325.2.1 2018/10/07 11:32:06 spz Exp $ -SHA1 (firefox-62.0.source.tar.xz) = bfb9f02ba288d69c2b2fa2449ab0e25531863d76 -RMD160 (firefox-62.0.source.tar.xz) = a552523ac590868b22717e8c38795924dae18a05 -SHA512 (firefox-62.0.source.tar.xz) = 88a4ed72a9aa934b0ee654549784885a9c543de4f57bbbcbde84a4fad1aef9bc520d92a58291a890e4fa2304e3722e9c8612ac50eef95039547d467e8beaee17 -Size (firefox-62.0.source.tar.xz) = 258026884 bytes +SHA1 (firefox-62.0.3.source.tar.xz) = 063b22b863cec227608d0195979cc5bbaa6d3f3c +RMD160 (firefox-62.0.3.source.tar.xz) = 4f6e5e6898c2b62a454ebc9998ead032b049469d +SHA512 (firefox-62.0.3.source.tar.xz) = 487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527 +Size (firefox-62.0.3.source.tar.xz) = 259531444 bytes SHA1 (patch-aa) = 94c03ed9a0e72bb87c850f2e1965fb8755933822 SHA1 (patch-browser_app_profile_firefox.js) = 30e93d7817c7e17b96ba96d3d3fb3701020260d4 SHA1 (patch-build_moz.configure_old.configure) = 3b887ca0ee9e42558f3a72429f88a19676b309d9 From 6558abfb77d5cceecc3d4725ea380c9bc02d5f5b Mon Sep 17 00:00:00 2001 From: spz Date: Sun, 7 Oct 2018 11:35:34 +0000 Subject: [PATCH 116/141] ticket #5837-#5840 --- doc/CHANGES-pkgsrc-2018Q3 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/doc/CHANGES-pkgsrc-2018Q3 b/doc/CHANGES-pkgsrc-2018Q3 index 892ed4dbf3abb..35aab9acc2c19 100644 --- a/doc/CHANGES-pkgsrc-2018Q3 +++ b/doc/CHANGES-pkgsrc-2018Q3 @@ -1,3 +1,19 @@ -$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.1 2018/09/30 18:42:44 jperkin Exp $ +$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.2 2018/10/07 11:35:34 spz Exp $ Changes to packages and infrastructure on the pkgsrc-2018Q3 branch: + +Pullup ticket #5837 - requested by nia +net/dnscrypt-proxy2: build fix + +Pullup ticket #5838 - requested by nia +net/chrony: security update + +Pullup ticket #5839 - requested by maya +lang/spidermonkey52: security update +www/firefox-l10n: security update +www/firefox: security update + +Pullup ticket #5840 - requested by maya +devel/git-base: security update +devel/git: security update + From f496554f163ad917388f625034d240522cf3407d Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 8 Oct 2018 15:50:39 +0000 Subject: [PATCH 117/141] freeradius: Move openssl buildlink into common file. Also add explicit openssl configure arguments. Fixes issue where the module builds could not find openssl. --- net/freeradius/Makefile | 3 +-- net/freeradius/Makefile.common | 5 ++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/net/freeradius/Makefile b/net/freeradius/Makefile index bca044fcfd0cb..1338fdbb2d643 100644 --- a/net/freeradius/Makefile +++ b/net/freeradius/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.98 2018/09/25 12:20:05 jperkin Exp $ +# $NetBSD: Makefile,v 1.99 2018/10/08 15:50:39 jperkin Exp $ .include "Makefile.common" @@ -219,5 +219,4 @@ TEST_MAKE_FLAGS+= EAPOL_TEST="" post-install: ${RM} -f ${DESTDIR}${PREFIX}/lib/*.a ${DESTDIR}${PREFIX}/lib/*.la -.include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/freeradius/Makefile.common b/net/freeradius/Makefile.common index 8a9eb25e0cfb0..ff414adef04f8 100644 --- a/net/freeradius/Makefile.common +++ b/net/freeradius/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.3 2018/09/25 12:16:36 jperkin Exp $ +# $NetBSD: Makefile.common,v 1.4 2018/10/08 15:50:39 jperkin Exp $ # used by net/freeradius/Makefile.module DISTNAME= freeradius-server-3.0.17 @@ -14,6 +14,8 @@ GNU_CONFIGURE= yes USE_TOOLS+= gmake perl USE_LANGUAGES+= c c++ +CONFIGURE_ARGS+= --with-openssl-include-dir=${BUILDLINK_PREFIX.openssl}/include +CONFIGURE_ARGS+= --with-openssl-lib-dir=${BUILDLINK_PREFIX.openssl}/lib CONFIGURE_ARGS+= --without-rlm_yubikey CFLAGS.SunOS+= -D_XPG4_2 -D__EXTENSIONS__ @@ -27,3 +29,4 @@ INSTALLATION_DIRS+= lib .include "../../databases/gdbm/buildlink3.mk" .include "../../devel/talloc/buildlink3.mk" .include "../../net/libpcap/buildlink3.mk" +.include "../../security/openssl/buildlink3.mk" From 1ee43d211579de3f3b51df910b4269a8c0f6a81c Mon Sep 17 00:00:00 2001 From: spz Date: Mon, 15 Oct 2018 17:42:44 +0000 Subject: [PATCH 118/141] Pullup ticket #5841 - requested by ryo lang/rust: build fix Revisions pulled up: - lang/rust/Makefile 1.53 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: ryoon Date: Sun Oct 7 23:12:49 UTC 2018 Modified Files: pkgsrc/lang/rust: Makefile Log Message: Try to fix "warning: duplicate script for target "pre-build" ignored" To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 pkgsrc/lang/rust/Makefile --- lang/rust/Makefile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lang/rust/Makefile b/lang/rust/Makefile index 03946238764f8..7066452e8f002 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.52 2018/09/30 16:19:54 minskim Exp $ +# $NetBSD: Makefile,v 1.52.2.1 2018/10/15 17:42:44 spz Exp $ DISTNAME= rustc-1.29.1-src PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} @@ -62,6 +62,7 @@ GCC_REQD+= 4.8 # BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags +.PHONY: pre-build-fix # # Rust unfortunately requires itself to build. On platforms which aren't # supported by upstream (where they offer binary bootstraps), or where we do @@ -76,24 +77,28 @@ RUST_ARCH:= i686-apple-darwin RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH:= x86_64-apple-darwin RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH:= i686-unknown-linux-gnu RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH:= x86_64-unknown-linux-gnu RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH:= x86_64-sun-solaris @@ -101,18 +106,21 @@ RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH:= i686-unknown-freebsd RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH:= x86_64-unknown-freebsd RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) RUST_ARCH= i686-unknown-netbsd @@ -127,7 +135,7 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} #DIST_SUBDIR= ${PKGNAME} # For atomic ops CFLAGS+= -march=i586 -pre-build: +pre-build-fix: ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo .endif .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) @@ -135,6 +143,7 @@ RUST_ARCH= x86_64-unknown-netbsd RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} +pre-build-fix: .endif # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler. @@ -182,7 +191,7 @@ PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH:Q} MAKE_ENV+= OPENSSL_DIR=${SSLBASE} .endif -pre-build: +pre-build: pre-build-fix # Requires libssh2 defines only available in master. ${CP} -f ${WRKSRC}/src/vendor/libssh2-sys/libssh2/include/libssh2.h \ ${BUILDLINK_DIR}/include/ From eff16f57d151a93fa9ea507ca28b0bd808305cc2 Mon Sep 17 00:00:00 2001 From: spz Date: Mon, 15 Oct 2018 17:44:16 +0000 Subject: [PATCH 119/141] ticket #5841 --- doc/CHANGES-pkgsrc-2018Q3 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/CHANGES-pkgsrc-2018Q3 b/doc/CHANGES-pkgsrc-2018Q3 index 35aab9acc2c19..36233424e4f25 100644 --- a/doc/CHANGES-pkgsrc-2018Q3 +++ b/doc/CHANGES-pkgsrc-2018Q3 @@ -1,4 +1,4 @@ -$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.2 2018/10/07 11:35:34 spz Exp $ +$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.3 2018/10/15 17:44:16 spz Exp $ Changes to packages and infrastructure on the pkgsrc-2018Q3 branch: @@ -17,3 +17,6 @@ Pullup ticket #5840 - requested by maya devel/git-base: security update devel/git: security update +Pullup ticket #5841 - requested by ryo +lang/rust: build fix + From 0f6c7ad9252f06377ca0ef2fb006131a8891baf2 Mon Sep 17 00:00:00 2001 From: bsiegert Date: Thu, 18 Oct 2018 13:02:36 +0000 Subject: [PATCH 120/141] Pullup ticket #5843 - requested by maya security/libssh: security fix Revisions pulled up: - security/libssh/Makefile 1.24 - security/libssh/PLIST 1.8 - security/libssh/distinfo 1.13 --- Module Name: pkgsrc Committed By: maya Date: Tue Oct 16 20:25:25 UTC 2018 Modified Files: pkgsrc/security/libssh: Makefile PLIST distinfo Log Message: libssh: update to 0.7.6. security fix. version 0.7.6 (released 2018-10-16) * Fixed CVE-2018-10933 * Added support for OpenSSL 1.1 * Added SHA256 support for ssh_get_publickey_hash() * Fixed config parsing * Fixed random memory corruption when importing pubkeys version 0.7.5 (released 2017-04-13) * Fixed a memory allocation issue with buffers * Fixed PKI on Windows * Fixed some SSHv1 functions * Fixed config hostname expansion version 0.7.4 (released 2017-02-03) * Added id_ed25519 to the default identity list * Fixed sftp EOF packet handling * Fixed ssh_send_banner() to confirm with RFC 4253 * Fixed some memory leaks --- security/libssh/Makefile | 10 +++++----- security/libssh/PLIST | 6 +++--- security/libssh/distinfo | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/security/libssh/Makefile b/security/libssh/Makefile index d2049b492275a..fa9539d7b79a2 100644 --- a/security/libssh/Makefile +++ b/security/libssh/Makefile @@ -1,14 +1,13 @@ -# $NetBSD: Makefile,v 1.23 2016/10/09 22:02:07 kamil Exp $ +# $NetBSD: Makefile,v 1.23.18.1 2018/10/18 13:02:36 bsiegert Exp $ # # history: upstream renamed 0.11 to 0.1.1; # we have to use the old-style convention so that version compares work. # -VER= 0.7.3 +VER= 0.7.6 DISTNAME= libssh-${VER} -PKGNAME= libssh-0.73 -PKGREVISION= 2 +PKGNAME= libssh-0.76 CATEGORIES= security -MASTER_SITES= https://red.libssh.org/attachments/download/195/ +MASTER_SITES= https://www.libssh.org/files/0.7/ EXTRACT_SUFX= .tar.xz MAINTAINER= is@NetBSD.org @@ -20,6 +19,7 @@ DIST_SUBDIR= security USE_CMAKE= yes USE_LANGUAGES= c c++ +CMAKE_ARGS+= WITH_TESTING=yes PKGCONFIG_OVERRIDE+= libssh.pc.in TEST_TARGET= check diff --git a/security/libssh/PLIST b/security/libssh/PLIST index 777b0ded1ff64..cb553680d97f1 100644 --- a/security/libssh/PLIST +++ b/security/libssh/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.7 2016/02/23 15:49:42 wiz Exp $ +@comment $NetBSD: PLIST,v 1.7.24.1 2018/10/18 13:02:36 bsiegert Exp $ include/libssh/callbacks.h include/libssh/legacy.h include/libssh/libssh.h @@ -10,9 +10,9 @@ lib/cmake/libssh/libssh-config-version.cmake lib/cmake/libssh/libssh-config.cmake lib/libssh.so lib/libssh.so.4 -lib/libssh.so.4.4.1 +lib/libssh.so.4.4.3 lib/libssh_threads.so lib/libssh_threads.so.4 -lib/libssh_threads.so.4.4.1 +lib/libssh_threads.so.4.4.3 lib/pkgconfig/libssh.pc lib/pkgconfig/libssh_threads.pc diff --git a/security/libssh/distinfo b/security/libssh/distinfo index dd3ebf4647f61..6a1831958d4e8 100644 --- a/security/libssh/distinfo +++ b/security/libssh/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.12 2018/02/02 09:31:29 jperkin Exp $ +$NetBSD: distinfo,v 1.12.6.1 2018/10/18 13:02:36 bsiegert Exp $ -SHA1 (security/libssh-0.7.3.tar.xz) = 9de2a8fde51aa7b7855008fafd5bf47ebb01289f -RMD160 (security/libssh-0.7.3.tar.xz) = af73d82dad552233791aea8ac1198232e0fb0f68 -SHA512 (security/libssh-0.7.3.tar.xz) = 6797ea9492c9d07e0169163e6559a7880dd368ee763eff297b3cbddda5e892703cf32506f9513e7d9b5135984e1e888c4893b342df07da1b7ee30968c9185869 -Size (security/libssh-0.7.3.tar.xz) = 350464 bytes +SHA1 (security/libssh-0.7.6.tar.xz) = 8e5f23a861f84fa214ca1da0e3f98b839ff7c051 +RMD160 (security/libssh-0.7.6.tar.xz) = 7316fae4a5355cf2c511cd91a5a65d7354ab361f +SHA512 (security/libssh-0.7.6.tar.xz) = 2a01402b5a9fab9ecc29200544ed45d3f2c40871ed1c8241ca793f8dc7fdb3ad2150f6a522c4321affa9b8778e280dc7ed10f76adfc4a73f0751ae735a42f56c +Size (security/libssh-0.7.6.tar.xz) = 366556 bytes SHA1 (patch-aa) = 2f9a7c8a629188f40f3c94d4304b1e44720e45ae SHA1 (patch-cmake_Modules_DefineCompilerFlags.cmake) = 9f140ad664363953e4c7ff4e3bede74c693da993 From bba8f67f81909a82354ddba2629c7aa6f65d6de2 Mon Sep 17 00:00:00 2001 From: bsiegert Date: Thu, 18 Oct 2018 13:03:32 +0000 Subject: [PATCH 121/141] Pullup ticket #5843 --- doc/CHANGES-pkgsrc-2018Q3 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/CHANGES-pkgsrc-2018Q3 b/doc/CHANGES-pkgsrc-2018Q3 index 36233424e4f25..7d0120f21af06 100644 --- a/doc/CHANGES-pkgsrc-2018Q3 +++ b/doc/CHANGES-pkgsrc-2018Q3 @@ -1,4 +1,4 @@ -$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.3 2018/10/15 17:44:16 spz Exp $ +$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.4 2018/10/18 13:03:32 bsiegert Exp $ Changes to packages and infrastructure on the pkgsrc-2018Q3 branch: @@ -20,3 +20,6 @@ devel/git: security update Pullup ticket #5841 - requested by ryo lang/rust: build fix +Pullup ticket #5843 - requested by maya +security/libssh: security fix + From 12ecf2075af2e9dfb0c89ed66c964bbca20f69dc Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 20 Oct 2018 15:59:14 +0000 Subject: [PATCH 122/141] Pullup ticket #5846 - requested by bsiegert mail/spamassassin: security update Revisions pulled up: - mail/spamassassin/Makefile 1.132 - mail/spamassassin/distinfo 1.72 - mail/spamassassin/patches/patch-Makefile.PL 1.3 - mail/spamassassin/patches/patch-ae 1.14 - mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_DnsResolver.pm deleted - mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_PerMsgStatus.pm deleted - mail/spamassassin/patches/patch-sa-compile deleted - mail/spamassassin/patches/patch-spamc_libspamc.c 1.2 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: bsiegert Date: Thu Oct 18 19:54:32 UTC 2018 Modified Files: pkgsrc/mail/spamassassin: Makefile distinfo pkgsrc/mail/spamassassin/patches: patch-Makefile.PL patch-ae patch-spamc_libspamc.c Removed Files: pkgsrc/mail/spamassassin/patches: patch-lib_Mail_SpamAssassin_DnsResolver.pm patch-lib_Mail_SpamAssassin_PerMsgStatus.pm patch-sa-compile Log Message: Update spamassassin to 3.4.2. From Attila Fueloep in pull request NetBSD/pkgsrc#32. Apache SpamAssassin 3.4.2 contains numerous tweaks and bug fixes over the past three and 1/2 years. As we release 3.4.2, we are preparing 4.0.0 which will move us into a full UTF-8 environment. We expect one final 3.4.3 release. As with any release there are a number of functional patches, improvements as well as security reasons to upgrade to 3.4.2. In this case we have over 3 years of issues being resolved at once. And we are laying thr groundwork for version 4.0 which is is designed to more natively handle UTF-8. However, there is one specific pressing reason to upgrade. Specifically, we will stop producing SHA-1 signatures for rule updates. This means that while we produce rule updates with the focus on them working for any release from v3.3.2 forward, they will start failing SHA-1 validation for sa-update. *** If you do not update to 3.4.2, you will be stuck at the last ruleset with SHA-1 signatures in the near future. *** Full release notes at http://svn.apache.org/repos/asf/spamassassin/branches/3.4/build/announcements/3.4.2.txt. To generate a diff of this commit: cvs rdiff -u -r1.131 -r1.132 pkgsrc/mail/spamassassin/Makefile cvs rdiff -u -r1.71 -r1.72 pkgsrc/mail/spamassassin/distinfo cvs rdiff -u -r1.2 -r1.3 pkgsrc/mail/spamassassin/patches/patch-Makefile.PL cvs rdiff -u -r1.13 -r1.14 pkgsrc/mail/spamassassin/patches/patch-ae cvs rdiff -u -r1.5 -r0 \ pkgsrc/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_DnsResolver.pm cvs rdiff -u -r1.3 -r0 \ pkgsrc/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_PerMsgStatus.pm cvs rdiff -u -r1.1 -r0 pkgsrc/mail/spamassassin/patches/patch-sa-compile cvs rdiff -u -r1.1 -r1.2 \ pkgsrc/mail/spamassassin/patches/patch-spamc_libspamc.c --- mail/spamassassin/Makefile | 9 ++-- mail/spamassassin/distinfo | 27 ++++++------ mail/spamassassin/patches/patch-Makefile.PL | 42 ++++++++++--------- mail/spamassassin/patches/patch-ae | 14 +------ ...patch-lib_Mail_SpamAssassin_DnsResolver.pm | 16 ------- ...atch-lib_Mail_SpamAssassin_PerMsgStatus.pm | 28 ------------- mail/spamassassin/patches/patch-sa-compile | 25 ----------- .../patches/patch-spamc_libspamc.c | 14 +++---- 8 files changed, 44 insertions(+), 131 deletions(-) delete mode 100644 mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_DnsResolver.pm delete mode 100644 mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_PerMsgStatus.pm delete mode 100644 mail/spamassassin/patches/patch-sa-compile diff --git a/mail/spamassassin/Makefile b/mail/spamassassin/Makefile index 6a5699862e577..5b4338199fc30 100644 --- a/mail/spamassassin/Makefile +++ b/mail/spamassassin/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.131 2018/08/22 09:45:34 wiz Exp $ +# $NetBSD: Makefile,v 1.131.2.1 2018/10/20 15:59:14 spz Exp $ -DISTNAME= Mail-SpamAssassin-3.4.1 -PKGNAME= spamassassin-3.4.1 -PKGREVISION= 9 +DISTNAME= Mail-SpamAssassin-3.4.2 +PKGNAME= spamassassin-3.4.2 CATEGORIES= mail perl5 MASTER_SITES= ${MASTER_SITE_APACHE:=spamassassin/source/} DISTFILES= ${DISTNAME}${EXTRACT_SUFX} @@ -20,7 +19,7 @@ LICENSE= apache-2.0 SMF_METHODS= spamassassin -RULESARCHIVE= Mail-SpamAssassin-rules-3.4.1.r1675274.tgz +RULESARCHIVE= Mail-SpamAssassin-rules-3.4.2.r1840640.tgz #RULESARCHIVEASC=${RULESARCHIVE}.asc #RULESARCHIVESHA=${RULESARCHIVE}.sha1 FILES_SUBST+= RULESARCHIVE=${RULESDIR}/${RULESARCHIVE} diff --git a/mail/spamassassin/distinfo b/mail/spamassassin/distinfo index ec3a822e26945..2abf7a70bdfc8 100644 --- a/mail/spamassassin/distinfo +++ b/mail/spamassassin/distinfo @@ -1,19 +1,16 @@ -$NetBSD: distinfo,v 1.71 2018/03/17 09:14:35 tnn Exp $ +$NetBSD: distinfo,v 1.71.6.1 2018/10/20 15:59:14 spz Exp $ -SHA1 (Mail-SpamAssassin-3.4.1.tar.gz) = e7b342d30f4983f70f4234480b489ccc7d2aa615 -RMD160 (Mail-SpamAssassin-3.4.1.tar.gz) = 4b7d6a6def068eb015e8d4699db410ade76b28f3 -SHA512 (Mail-SpamAssassin-3.4.1.tar.gz) = 6a074f1a4177e1969cef575fe3b1b844d27c813d48fe1e07a46f56ffa728fc780897597d00f11acb269317a6308f284f0dee544d504da874d93b0549d094a6a3 -Size (Mail-SpamAssassin-3.4.1.tar.gz) = 3174888 bytes -SHA1 (Mail-SpamAssassin-rules-3.4.1.r1675274.tgz) = fcbcbf767f8c0b1b2ce2c3be4010cf6130f826b9 -RMD160 (Mail-SpamAssassin-rules-3.4.1.r1675274.tgz) = 7ed097fa0b8fddc43f73985f0474c45b497c0d95 -SHA512 (Mail-SpamAssassin-rules-3.4.1.r1675274.tgz) = b5822c116b5b3c558cbbc7a92dcf134a8e0338fa6e038e19ac34111d90c4fa0755111f36e61146674a9ad3b44c55a73941f103a12c4da50b17b05f95557efc6b -Size (Mail-SpamAssassin-rules-3.4.1.r1675274.tgz) = 270622 bytes -SHA1 (patch-Makefile.PL) = d322d7fb7286d5cf87ca775f9c381db32626e060 +SHA1 (Mail-SpamAssassin-3.4.2.tar.gz) = f24c471d6594f60f1a1146a11bcb1c2f5215de03 +RMD160 (Mail-SpamAssassin-3.4.2.tar.gz) = dd3cbd744a642478d5773e2fb524461b2cd864e3 +SHA512 (Mail-SpamAssassin-3.4.2.tar.gz) = 85e3d78bb885ad1d0bf2066d1bc919d6ad5e9f86795069397e7c28cc1ba02870566ec014c08c81f68e7ed03b7f60d2de0b9730b3415b35d848abde2c8920a28f +Size (Mail-SpamAssassin-3.4.2.tar.gz) = 3185452 bytes +SHA1 (Mail-SpamAssassin-rules-3.4.2.r1840640.tgz) = c93006e1572297f816a0e186a98cbbae246a4945 +RMD160 (Mail-SpamAssassin-rules-3.4.2.r1840640.tgz) = d1f5d207176e51e37c346b2b6ce893b50341011d +SHA512 (Mail-SpamAssassin-rules-3.4.2.r1840640.tgz) = 38b5f4dc6e6776937e787123c265ecd9a0a2f60aca1b57d6ed4a8f78cf81550478eddd0829b1255e9e8ce64421e06cc13ae82f1a597e893b65f0d07ba8c53a7f +Size (Mail-SpamAssassin-rules-3.4.2.r1840640.tgz) = 284758 bytes +SHA1 (patch-Makefile.PL) = f598b173e73130b55714413d5fc55e29ca6a3c4f SHA1 (patch-README) = 5d2aaecc4791e4f76df1078c17036cc23a39a8d0 -SHA1 (patch-ae) = d46b1d8f56c8c61936c307f74b39a49da1b1f353 -SHA1 (patch-lib_Mail_SpamAssassin_DnsResolver.pm) = 129386c70010f6005ff93d4c237c219fe5b8a4a9 -SHA1 (patch-lib_Mail_SpamAssassin_PerMsgStatus.pm) = 414255bf5ffb2083029950bb38309716616803ce -SHA1 (patch-sa-compile) = e8a92060eefbc1c95b7b2c674fc69686a66f230b +SHA1 (patch-ae) = e6e83c1de1002b8db647779d17740e67103b69d8 SHA1 (patch-sa-update) = 59cba1287051042fc7f510f5e5ef462e2ee8d034 -SHA1 (patch-spamc_libspamc.c) = 9175012a0e06faaf6a425da65438ba8e2c29f1f1 +SHA1 (patch-spamc_libspamc.c) = 757b845df445414d4ba0c2fb039dbc6d9e68b85f SHA1 (patch-spamd_netbsd-rc-script.sh) = 192fc1876ee30a4475c0efd9be6340e87d9fa2f4 diff --git a/mail/spamassassin/patches/patch-Makefile.PL b/mail/spamassassin/patches/patch-Makefile.PL index 1f8e3cc6a1548..0df0d69c329bf 100644 --- a/mail/spamassassin/patches/patch-Makefile.PL +++ b/mail/spamassassin/patches/patch-Makefile.PL @@ -1,4 +1,4 @@ -$NetBSD: patch-Makefile.PL,v 1.2 2015/09/09 19:13:49 christos Exp $ +$NetBSD: patch-Makefile.PL,v 1.2.28.1 2018/10/20 15:59:14 spz Exp $ - enable build of qmail-spamc - some files (local.cf, *.pre) are managed by pkgsrc, disable @@ -7,7 +7,7 @@ $NetBSD: patch-Makefile.PL,v 1.2 2015/09/09 19:13:49 christos Exp $ --- Makefile.PL.orig 2015-04-28 15:57:01.000000000 -0400 +++ Makefile.PL 2015-09-09 14:59:06.000000000 -0400 -@@ -133,6 +133,7 @@ +@@ -139,6 +139,7 @@ 'spamassassin.raw' => 'spamassassin', 'sa-learn.raw' => 'sa-learn', 'sa-update.raw' => 'sa-update', @@ -15,31 +15,33 @@ $NetBSD: patch-Makefile.PL,v 1.2 2015/09/09 19:13:49 christos Exp $ 'sa-compile.raw' => 'sa-compile', 'sa-awl.raw' => 'sa-awl', 'sa-check_spamd.raw' => 'sa-check_spamd', -@@ -1093,21 +1094,23 @@ +@@ -1120,15 +1121,16 @@ conf__install: -$(MKPATH) $(B_CONFDIR) -- $(PERL) -MFile::Copy -e "copy(q{rules/local.cf}, q{$(B_CONFDIR)/local.cf}) unless -f q{$(B_CONFDIR)/local.cf}" -- $(PERL) -MFile::Copy -e "copy(q{rules/init.pre}, q{$(B_CONFDIR)/init.pre}) unless -f q{$(B_CONFDIR)/init.pre}" -- $(PERL) -MFile::Copy -e "copy(q{rules/v310.pre}, q{$(B_CONFDIR)/v310.pre}) unless -f q{$(B_CONFDIR)/v310.pre}" -- $(PERL) -MFile::Copy -e "copy(q{rules/v312.pre}, q{$(B_CONFDIR)/v312.pre}) unless -f q{$(B_CONFDIR)/v312.pre}" -- $(PERL) -MFile::Copy -e "copy(q{rules/v320.pre}, q{$(B_CONFDIR)/v320.pre}) unless -f q{$(B_CONFDIR)/v320.pre}" -- $(PERL) -MFile::Copy -e "copy(q{rules/v330.pre}, q{$(B_CONFDIR)/v330.pre}) unless -f q{$(B_CONFDIR)/v330.pre}" -- $(PERL) -MFile::Copy -e "copy(q{rules/v340.pre}, q{$(B_CONFDIR)/v340.pre}) unless -f q{$(B_CONFDIR)/v340.pre}" -- $(PERL) -MFile::Copy -e "copy(q{rules/v341.pre}, q{$(B_CONFDIR)/v341.pre}) unless -f q{$(B_CONFDIR)/v341.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/local.cf], q{$(B_CONFDIR)/local.cf}) unless -f q{$(B_CONFDIR)/local.cf}" +- $(PERL) -MFile::Copy -e "copy(q[rules/init.pre], q{$(B_CONFDIR)/init.pre}) unless -f q{$(B_CONFDIR)/init.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v310.pre], q{$(B_CONFDIR)/v310.pre}) unless -f q{$(B_CONFDIR)/v310.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v312.pre], q{$(B_CONFDIR)/v312.pre}) unless -f q{$(B_CONFDIR)/v312.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v320.pre], q{$(B_CONFDIR)/v320.pre}) unless -f q{$(B_CONFDIR)/v320.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v330.pre], q{$(B_CONFDIR)/v330.pre}) unless -f q{$(B_CONFDIR)/v330.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v340.pre], q{$(B_CONFDIR)/v340.pre}) unless -f q{$(B_CONFDIR)/v340.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v341.pre], q{$(B_CONFDIR)/v341.pre}) unless -f q{$(B_CONFDIR)/v341.pre}" +- $(PERL) -MFile::Copy -e "copy(q[rules/v342.pre], q{$(B_CONFDIR)/v342.pre}) unless -f q{$(B_CONFDIR)/v342.pre}" + # manage local.cf and *.pre through pkgsrc .mk files -+ # $(PERL) -MFile::Copy -e "copy(q{rules/local.cf}, q{$(B_CONFDIR)/local.cf}) unless -f q{$(B_CONFDIR)/local.cf}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/init.pre}, q{$(B_CONFDIR)/init.pre}) unless -f q{$(B_CONFDIR)/init.pre}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/v310.pre}, q{$(B_CONFDIR)/v310.pre}) unless -f q{$(B_CONFDIR)/v310.pre}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/v312.pre}, q{$(B_CONFDIR)/v312.pre}) unless -f q{$(B_CONFDIR)/v312.pre}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/v320.pre}, q{$(B_CONFDIR)/v320.pre}) unless -f q{$(B_CONFDIR)/v320.pre}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/v330.pre}, q{$(B_CONFDIR)/v330.pre}) unless -f q{$(B_CONFDIR)/v330.pre}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/v340.pre}, q{$(B_CONFDIR)/v340.pre}) unless -f q{$(B_CONFDIR)/v340.pre}" -+ # $(PERL) -MFile::Copy -e "copy(q{rules/v341.pre}, q{$(B_CONFDIR)/v341.pre}) unless -f q{$(B_CONFDIR)/v341.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/local.cf], q{$(B_CONFDIR)/local.cf}) unless -f q{$(B_CONFDIR)/local.cf}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/init.pre], q{$(B_CONFDIR)/init.pre}) unless -f q{$(B_CONFDIR)/init.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v310.pre], q{$(B_CONFDIR)/v310.pre}) unless -f q{$(B_CONFDIR)/v310.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v312.pre], q{$(B_CONFDIR)/v312.pre}) unless -f q{$(B_CONFDIR)/v312.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v320.pre], q{$(B_CONFDIR)/v320.pre}) unless -f q{$(B_CONFDIR)/v320.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v330.pre], q{$(B_CONFDIR)/v330.pre}) unless -f q{$(B_CONFDIR)/v330.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v340.pre], q{$(B_CONFDIR)/v340.pre}) unless -f q{$(B_CONFDIR)/v340.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v341.pre], q{$(B_CONFDIR)/v341.pre}) unless -f q{$(B_CONFDIR)/v341.pre}" ++ # $(PERL) -MFile::Copy -e "copy(q[rules/v342.pre], q{$(B_CONFDIR)/v342.pre}) unless -f q{$(B_CONFDIR)/v342.pre}" data__install: - -$(MKPATH) $(B_DATADIR) + -$(MKPATH) $(B_DATADIR) $(PERL) -e "map unlink, <$(B_DATADIR)/*>" $(PREPROCESS) $(FIXVARS) -m$(PERM_RW) -Irules -O$(B_DATADIR) $(DATAFILES) - $(CHMOD) $(PERM_RWX) $(B_DATADIR) diff --git a/mail/spamassassin/patches/patch-ae b/mail/spamassassin/patches/patch-ae index f553a0a19b192..88cfb778a1e7e 100644 --- a/mail/spamassassin/patches/patch-ae +++ b/mail/spamassassin/patches/patch-ae @@ -1,21 +1,9 @@ -$NetBSD: patch-ae,v 1.13 2007/06/12 21:43:30 heinz Exp $ +$NetBSD: patch-ae,v 1.13.98.1 2018/10/20 15:59:14 spz Exp $ - pkgsrc sets default paths for rules and configuration data --- spamd/spamd.raw.orig 2007-04-23 14:15:48.000000000 +0200 +++ spamd/spamd.raw -@@ -2404,8 +2404,9 @@ sub backtrace_handler { - } - - sub daemonize { -- # Pretty command line in ps -- $0 = join (' ', $ORIG_ARG0, @ORIG_ARGV) unless would_log("dbg"); -+ # no pretty 'ps' command line (easier for pkgsrc rc script) -+ # # Pretty command line in ps -+ # $0 = join (' ', $ORIG_ARG0, @ORIG_ARGV) unless would_log("dbg"); - - # be a nice daemon and chdir to the root so we don't block any - # unmount attempts @@ -2664,12 +2665,12 @@ Create user preferences files if they do =item B<-C> I, B<--configpath>=I diff --git a/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_DnsResolver.pm b/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_DnsResolver.pm deleted file mode 100644 index 83b1ec6280300..0000000000000 --- a/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_DnsResolver.pm +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-lib_Mail_SpamAssassin_DnsResolver.pm,v 1.5 2016/11/10 20:25:50 roy Exp $ - -Taken from upstream to fix using newer Net::DNS - ---- lib/Mail/SpamAssassin/DnsResolver.pm.orig 2016-11-10 20:06:02.000000000 +0000 -+++ lib/Mail/SpamAssassin/DnsResolver.pm -@@ -592,6 +592,9 @@ sub new_dns_packet { - }; - - if ($packet) { -+ # RD flag needs to be set explicitly since Net::DNS 1.01, Bug 7223 -+ $packet->header->rd(1); -+ - # my $udp_payload_size = $self->{res}->udppacketsize; - my $udp_payload_size = $self->{conf}->{dns_options}->{edns}; - if ($udp_payload_size && $udp_payload_size > 512) { diff --git a/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_PerMsgStatus.pm b/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_PerMsgStatus.pm deleted file mode 100644 index 673c89bf62af7..0000000000000 --- a/mail/spamassassin/patches/patch-lib_Mail_SpamAssassin_PerMsgStatus.pm +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD: patch-lib_Mail_SpamAssassin_PerMsgStatus.pm,v 1.3 2017/07/09 22:12:12 schmonz Exp $ - -Apply upstream patch (SVN rev 1791010) to fix "Unescaped left brace in -regex is deprecated here (and will be fatal in Perl 5.30)". - ---- lib/Mail/SpamAssassin/PerMsgStatus.pm.orig 2015-04-28 19:56:49.000000000 +0000 -+++ lib/Mail/SpamAssassin/PerMsgStatus.pm -@@ -914,16 +914,16 @@ sub get_content_preview { - $str .= shift @{$ary}; - } - undef $ary; -- chomp ($str); $str .= " [...]\n"; - - # in case the last line was huge, trim it back to around 200 chars - local $1; -- $str =~ s/^(.{,200}).*$/$1/gs; -+ $str =~ s/^(.{200}).+$/$1 [...]/gm; -+ chomp ($str); $str .= "\n"; - - # now, some tidy-ups that make things look a bit prettier -- $str =~ s/-----Original Message-----.*$//gs; -+ $str =~ s/-----Original Message-----.*$//gm; - $str =~ s/This is a multi-part message in MIME format\.//gs; -- $str =~ s/[-_\*\.]{10,}//gs; -+ $str =~ s/[-_*.]{10,}//gs; - $str =~ s/\s+/ /gs; - - # add "Content preview:" ourselves, so that the text aligns diff --git a/mail/spamassassin/patches/patch-sa-compile b/mail/spamassassin/patches/patch-sa-compile deleted file mode 100644 index c5e0f4b8ad17d..0000000000000 --- a/mail/spamassassin/patches/patch-sa-compile +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-sa-compile,v 1.1 2014/04/26 13:55:10 tron Exp $ - -Use full path of "re2c" binary to make sure that "sa-compile" works -with a default command search path. - ---- sa-compile.raw.orig 2014-02-07 08:36:38.000000000 +0000 -+++ sa-compile.raw 2014-04-26 14:40:47.000000000 +0100 -@@ -108,7 +108,7 @@ - or die "error writing: $!"; - exit 1; - } --unless (qx(re2c -V)) { -+unless (qx($PREFIX/bin/re2c -V)) { - print "$0 requires re2c for proper operation.\n" - or die "error writing: $!"; - exit 1; -@@ -451,7 +451,7 @@ - } - - for (1..$numscans) { -- my $cmd = "re2c -i -b -o scanner$_.c scanner$_.re"; -+ my $cmd = "$PREFIX/bin/re2c -i -b -o scanner$_.c scanner$_.re"; - if (!run($cmd)) { - # this must be fatal; it can result in corrupt output modules missing - # scannerN() functions diff --git a/mail/spamassassin/patches/patch-spamc_libspamc.c b/mail/spamassassin/patches/patch-spamc_libspamc.c index f8b27d2aa08ac..2e7c02acf6ae0 100644 --- a/mail/spamassassin/patches/patch-spamc_libspamc.c +++ b/mail/spamassassin/patches/patch-spamc_libspamc.c @@ -1,28 +1,24 @@ -$NetBSD: patch-spamc_libspamc.c,v 1.1 2018/03/17 09:14:35 tnn Exp $ +$NetBSD: patch-spamc_libspamc.c,v 1.1.6.1 2018/10/20 15:59:14 spz Exp $ Set the client protocol to TLS instead of SSLv3. Fixes build with current openssl. --- spamc/libspamc.c.orig 2015-04-28 19:56:59.000000000 +0000 +++ spamc/libspamc.c -@@ -1213,11 +1213,7 @@ int message_filter(struct transport *tp, +@@ -1214,7 +1214,7 @@ if (flags & SPAMC_USE_SSL) { #ifdef SPAMC_SSL SSLeay_add_ssl_algorithms(); -- if (flags & SPAMC_TLSV1) { -- meth = TLSv1_client_method(); -- } else { -- meth = SSLv3_client_method(); /* default */ -- } +- meth = SSLv23_client_method(); + meth = TLSv1_client_method(); SSL_load_error_strings(); ctx = SSL_CTX_new(meth); #else -@@ -1604,7 +1600,7 @@ int message_tell(struct transport *tp, c +@@ -1601,7 +1601,7 @@ if (flags & SPAMC_USE_SSL) { #ifdef SPAMC_SSL SSLeay_add_ssl_algorithms(); -- meth = SSLv3_client_method(); +- meth = SSLv23_client_method(); + meth = TLSv1_client_method(); SSL_load_error_strings(); ctx = SSL_CTX_new(meth); From 14fb9e734dfbae59ae3d8e98f7b835a9ec9b70e6 Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 20 Oct 2018 16:12:15 +0000 Subject: [PATCH 123/141] Pullup ticket #5847 - requested by bsiegert devel/patch: security patches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revisions pulled up: - devel/patch/Makefile 1.45 - devel/patch/distinfo 1.13 - devel/patch/patches/patch-src_pch.c 1.1 - devel/patch/patches/patch-tests_Makefile.in 1.1 - devel/patch/patches/patch-tests_ed-style 1.1 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: leot Date: Thu Oct 18 19:26:16 UTC 2018 Modified Files: pkgsrc/devel/patch: Makefile distinfo Added Files: pkgsrc/devel/patch/patches: patch-src_pch.c patch-tests_Makefile.in patch-tests_ed-style Log Message: patch: Backport patches for several security fixes pkgsrc changes: - Remove custom and no longer needed do-patch target, it was fixed upstream - Minor cosmetic improvements pointed out by pkglint Changes: - Backport patches for CVE-2018-6951, CVE-2018-6952 and CVE-2018-1000156 Patch provided by Attila Fülöp via NetBSD/pkgsrc#33, thanks! Bump PKGREVISION To generate a diff of this commit: cvs rdiff -u -r1.44 -r1.45 pkgsrc/devel/patch/Makefile cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/patch/distinfo cvs rdiff -u -r0 -r1.1 pkgsrc/devel/patch/patches/patch-src_pch.c \ pkgsrc/devel/patch/patches/patch-tests_Makefile.in \ pkgsrc/devel/patch/patches/patch-tests_ed-style --- devel/patch/Makefile | 14 +- devel/patch/distinfo | 5 +- devel/patch/patches/patch-src_pch.c | 155 ++++++++++++++++++++ devel/patch/patches/patch-tests_Makefile.in | 14 ++ devel/patch/patches/patch-tests_ed-style | 48 ++++++ 5 files changed, 225 insertions(+), 11 deletions(-) create mode 100644 devel/patch/patches/patch-src_pch.c create mode 100644 devel/patch/patches/patch-tests_Makefile.in create mode 100644 devel/patch/patches/patch-tests_ed-style diff --git a/devel/patch/Makefile b/devel/patch/Makefile index 50a419962ceb4..14c75ecbeb04c 100644 --- a/devel/patch/Makefile +++ b/devel/patch/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.44 2018/03/03 01:31:35 mef Exp $ +# $NetBSD: Makefile,v 1.44.6.1 2018/10/20 16:12:15 spz Exp $ DISTNAME= patch-2.7.6 +PKGREVISION= 1 CATEGORIES= devel -MASTER_SITES= ${MASTER_SITE_GNU:=patch/} +MASTER_SITES= ${MASTER_SITE_GNU:=patch/} EXTRACT_SUFX= .tar.xz MAINTAINER= pkgsrc-users@NetBSD.org @@ -20,14 +21,7 @@ CONFIGURE_ENV+= ac_cv_func_setmode_dos=no # Fix for Interix (and old bsd?) INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1 -do-patch: -.for stdhdr in sys/param.h sys/stat.h string.h - ${ECHO} "#ifdef HAVE_${stdhdr:tu:C,[/.],_,g}" >> ${WRKSRC}/config.hin - ${ECHO} "#include <${stdhdr}>" >> ${WRKSRC}/config.hin - ${ECHO} "#endif" >> ${WRKSRC}/config.hin -.endfor - -SYMLINKS = bin/gpatch ${PKGGNUDIR}bin/patch \ +SYMLINKS= bin/gpatch ${PKGGNUDIR}bin/patch \ man/man1/gpatch.1 ${PKGGNUDIR}${PKGMANDIR}/man1/patch.1 post-install: .for o n in ${SYMLINKS} diff --git a/devel/patch/distinfo b/devel/patch/distinfo index 06577f70ad33c..4d62db313abc6 100644 --- a/devel/patch/distinfo +++ b/devel/patch/distinfo @@ -1,6 +1,9 @@ -$NetBSD: distinfo,v 1.12 2018/03/03 01:31:35 mef Exp $ +$NetBSD: distinfo,v 1.12.6.1 2018/10/20 16:12:15 spz Exp $ SHA1 (patch-2.7.6.tar.xz) = 6f64fa75993bdb285ac4ed6eca6c9212725bff91 RMD160 (patch-2.7.6.tar.xz) = 439753620b4d27d606110093d0e586719b8451c3 SHA512 (patch-2.7.6.tar.xz) = fcca87bdb67a88685a8a25597f9e015f5e60197b9a269fa350ae35a7991ed8da553939b4bbc7f7d3cfd863c67142af403b04165633acbce4339056a905e87fbd Size (patch-2.7.6.tar.xz) = 783756 bytes +SHA1 (patch-src_pch.c) = 0aed6cd0d64c380767c39908c388c91ddf3003d1 +SHA1 (patch-tests_Makefile.in) = f7fd200672b65f466a982084d2b907d32a8f0a77 +SHA1 (patch-tests_ed-style) = 7d7c2d04eddaab1d07c05022908a98ef9c984e08 diff --git a/devel/patch/patches/patch-src_pch.c b/devel/patch/patches/patch-src_pch.c new file mode 100644 index 0000000000000..51d25d4f47265 --- /dev/null +++ b/devel/patch/patches/patch-src_pch.c @@ -0,0 +1,155 @@ +$NetBSD: patch-src_pch.c,v 1.1.2.2 2018/10/20 16:12:15 spz Exp $ + + - fixes: CVE-2018-6951 CVE-2018-6952 CVE-2018-1000156 + + - bugs: 53132 53133 53566 + https://savannah.gnu.org/bugs/index.php? + + - commit ids: f290f48a62 9c986353e4 123eaff0d5 + https://git.savannah.gnu.org/cgit/patch.git/diff/?id= + +--- src/pch.c.orig 2018-10-09 17:01:21.566749708 +0000 ++++ src/pch.c +@@ -33,6 +33,7 @@ + # include + #endif + #include ++#include + + #define INITHUNKMAX 125 /* initial dynamic allocation size */ + +@@ -974,7 +975,8 @@ intuit_diff_type (bool need_header, mode + if ((pch_rename () || pch_copy ()) + && ! inname + && ! ((i == OLD || i == NEW) && +- p_name[! reverse] && ++ p_name[reverse] && p_name[! reverse] && ++ name_is_valid (p_name[reverse]) && + name_is_valid (p_name[! reverse]))) + { + say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy"); +@@ -2113,7 +2115,7 @@ pch_swap (void) + } + if (p_efake >= 0) { /* fix non-freeable ptr range */ + if (p_efake <= i) +- n = p_end - i + 1; ++ n = p_end - p_ptrn_lines; + else + n = -i; + p_efake += n; +@@ -2388,22 +2390,27 @@ do_ed_script (char const *inname, char c + static char const editor_program[] = EDITOR_PROGRAM; + + file_offset beginning_of_this_line; +- FILE *pipefp = 0; + size_t chars_read; ++ FILE *tmpfp = 0; ++ char const *tmpname; ++ int tmpfd; ++ pid_t pid; + +- if (! dry_run && ! skip_rest_of_patch) { +- int exclusive = *outname_needs_removal ? 0 : O_EXCL; +- assert (! inerrno); +- *outname_needs_removal = true; +- copy_file (inname, outname, 0, exclusive, instat.st_mode, true); +- sprintf (buf, "%s %s%s", editor_program, +- verbosity == VERBOSE ? "" : "- ", +- outname); +- fflush (stdout); +- pipefp = popen(buf, binary_transput ? "wb" : "w"); +- if (!pipefp) +- pfatal ("Can't open pipe to %s", quotearg (buf)); +- } ++ if (! dry_run && ! skip_rest_of_patch) ++ { ++ /* Write ed script to a temporary file. This causes ed to abort on ++ invalid commands such as when line numbers or ranges exceed the ++ number of available lines. When ed reads from a pipe, it rejects ++ invalid commands and treats the next line as a new command, which ++ can lead to arbitrary command execution. */ ++ ++ tmpfd = make_tempfile (&tmpname, 'e', NULL, O_RDWR | O_BINARY, 0); ++ if (tmpfd == -1) ++ pfatal ("Can't create temporary file %s", quotearg (tmpname)); ++ tmpfp = fdopen (tmpfd, "w+b"); ++ if (! tmpfp) ++ pfatal ("Can't open stream for file %s", quotearg (tmpname)); ++ } + for (;;) { + char ed_command_letter; + beginning_of_this_line = file_tell (pfp); +@@ -2414,14 +2421,14 @@ do_ed_script (char const *inname, char c + } + ed_command_letter = get_ed_command_letter (buf); + if (ed_command_letter) { +- if (pipefp) +- if (! fwrite (buf, sizeof *buf, chars_read, pipefp)) ++ if (tmpfp) ++ if (! fwrite (buf, sizeof *buf, chars_read, tmpfp)) + write_fatal (); + if (ed_command_letter != 'd' && ed_command_letter != 's') { + p_pass_comments_through = true; + while ((chars_read = get_line ()) != 0) { +- if (pipefp) +- if (! fwrite (buf, sizeof *buf, chars_read, pipefp)) ++ if (tmpfp) ++ if (! fwrite (buf, sizeof *buf, chars_read, tmpfp)) + write_fatal (); + if (chars_read == 2 && strEQ (buf, ".\n")) + break; +@@ -2434,13 +2441,49 @@ do_ed_script (char const *inname, char c + break; + } + } +- if (!pipefp) ++ if (!tmpfp) + return; +- if (fwrite ("w\nq\n", sizeof (char), (size_t) 4, pipefp) == 0 +- || fflush (pipefp) != 0) ++ if (fwrite ("w\nq\n", sizeof (char), (size_t) 4, tmpfp) == 0 ++ || fflush (tmpfp) != 0) + write_fatal (); +- if (pclose (pipefp) != 0) +- fatal ("%s FAILED", editor_program); ++ ++ if (lseek (tmpfd, 0, SEEK_SET) == -1) ++ pfatal ("Can't rewind to the beginning of file %s", quotearg (tmpname)); ++ ++ if (! dry_run && ! skip_rest_of_patch) { ++ int exclusive = *outname_needs_removal ? 0 : O_EXCL; ++ *outname_needs_removal = true; ++ if (inerrno != ENOENT) ++ { ++ *outname_needs_removal = true; ++ copy_file (inname, outname, 0, exclusive, instat.st_mode, true); ++ } ++ sprintf (buf, "%s %s%s", editor_program, ++ verbosity == VERBOSE ? "" : "- ", ++ outname); ++ fflush (stdout); ++ ++ pid = fork(); ++ if (pid == -1) ++ pfatal ("Can't fork"); ++ else if (pid == 0) ++ { ++ dup2 (tmpfd, 0); ++ execl ("/bin/sh", "sh", "-c", buf, (char *) 0); ++ _exit (2); ++ } ++ else ++ { ++ int wstatus; ++ if (waitpid (pid, &wstatus, 0) == -1 ++ || ! WIFEXITED (wstatus) ++ || WEXITSTATUS (wstatus) != 0) ++ fatal ("%s FAILED", editor_program); ++ } ++ } ++ ++ fclose (tmpfp); ++ safe_unlink (tmpname); + + if (ofp) + { diff --git a/devel/patch/patches/patch-tests_Makefile.in b/devel/patch/patches/patch-tests_Makefile.in new file mode 100644 index 0000000000000..3f60be7ed5002 --- /dev/null +++ b/devel/patch/patches/patch-tests_Makefile.in @@ -0,0 +1,14 @@ +$NetBSD: patch-tests_Makefile.in,v 1.1.2.2 2018/10/20 16:12:15 spz Exp $ + + - Add ed-style test, related to CVE-2018-1000156 fix. + +--- tests/Makefile.in.orig 2018-02-03 13:33:56.000000000 +0000 ++++ tests/Makefile.in +@@ -1308,6 +1308,7 @@ TESTS = \ + crlf-handling \ + dash-o-append \ + deep-directories \ ++ ed-style \ + empty-files \ + false-match \ + fifo \ diff --git a/devel/patch/patches/patch-tests_ed-style b/devel/patch/patches/patch-tests_ed-style new file mode 100644 index 0000000000000..e60d7b3a79c0c --- /dev/null +++ b/devel/patch/patches/patch-tests_ed-style @@ -0,0 +1,48 @@ +$NetBSD: patch-tests_ed-style,v 1.1.2.2 2018/10/20 16:12:15 spz Exp $ + + - Add ed-style test, related to CVE-2018-1000156 fix. + +--- tests/ed-style.orig 2018-10-09 17:51:47.148455875 +0000 ++++ tests/ed-style +@@ -0,0 +1,41 @@ ++# Copyright (C) 2018 Free Software Foundation, Inc. ++# ++# Copying and distribution of this file, with or without modification, ++# in any medium, are permitted without royalty provided the copyright ++# notice and this notice are preserved. ++ ++. $srcdir/test-lib.sh ++ ++require cat ++use_local_patch ++use_tmpdir ++ ++# ============================================================== ++ ++cat > ed1.diff < ed2.diff < /dev/null || echo "Status: $?"' < Date: Sat, 20 Oct 2018 16:18:20 +0000 Subject: [PATCH 124/141] Pullup ticket #5848 - requested by bsiegert devel/libgit2: security update Revisions pulled up: - devel/libgit2/Makefile 1.29 - devel/libgit2/distinfo 1.14 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: taca Date: Thu Oct 18 14:43:01 UTC 2018 Modified Files: pkgsrc/devel/libgit2: Makefile distinfo Log Message: devel/libgit2: update to 0.27.5 libgit2 0.27.5 (2018/10/5) This is a security release fixing the following list of issues: * Submodule URLs and paths with a leading "-" are now ignored. This is due to the recently discovered CVE-2018-17456, which can lead to arbitrary code execution in upstream git. While libgit2 itself is not vulnerable, it can be used to inject options in an implementation which performs a recursive clone by executing an external command. * When running repack while doing repo writes, packfile_load__cb() could see some temporary files in the directory that were bigger than the usual, and makes memcmp overflow on the p->pack_name string. This issue was reported and fixed by bisho. * The configuration file parser used unbounded recursion to parse multiline variables, which could lead to a stack overflow. The issue was reported by the oss-fuzz project, issue 10048 and fixed by Nelson Elhage. * The fix to the unbounded recursion introduced a memory leak in the config parser. While this leak was never in a public release, the oss-fuzz project reported this as issue 10127. The fix was implemented by Nelson Elhage and Patrick Steinhardt. * When parsing "ok" packets received via the smart protocol, our parsing code did not correctly verify the bounds of the packets, which could result in a heap-buffer overflow. The issue was reported by the oss-fuzz project, issue 9749 and fixed by Patrick Steinhardt. * The parsing code for the smart protocol has been tightened in general, fixing heap-buffer overflows when parsing the packet type as well as for "ACK" and "unpack" packets. The issue was discovered and fixed by Patrick Steinhardt. * Fixed potential integer overflows on platforms with 16 bit integers when parsing packets for the smart protocol. The issue was discovered and fixed by Patrick Steinhardt. * Fixed potential NULL pointer dereference when parsing configuration files which have "include.path" or "includeIf..path" statements without a value. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 pkgsrc/devel/libgit2/Makefile cvs rdiff -u -r1.13 -r1.14 pkgsrc/devel/libgit2/distinfo --- devel/libgit2/Makefile | 4 ++-- devel/libgit2/distinfo | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/devel/libgit2/Makefile b/devel/libgit2/Makefile index 714d29a30f6f2..2604a3e2d150f 100644 --- a/devel/libgit2/Makefile +++ b/devel/libgit2/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.28 2018/09/23 15:11:42 taca Exp $ +# $NetBSD: Makefile,v 1.28.2.1 2018/10/20 16:18:20 spz Exp $ -DISTNAME= libgit2-0.27.4 +DISTNAME= libgit2-0.27.5 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GITHUB:=libgit2/} GITHUB_TAG= v${PKGVERSION_NOREV} diff --git a/devel/libgit2/distinfo b/devel/libgit2/distinfo index 3f3782825eb3f..de048aa47bbb7 100644 --- a/devel/libgit2/distinfo +++ b/devel/libgit2/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.13 2018/09/23 15:11:42 taca Exp $ +$NetBSD: distinfo,v 1.13.2.1 2018/10/20 16:18:20 spz Exp $ -SHA1 (libgit2-0.27.4.tar.gz) = 47392972e2c9689dbce0cf68b1e678fcc9915c2a -RMD160 (libgit2-0.27.4.tar.gz) = 6efb878890e638d2f780f80351827a46b0a63510 -SHA512 (libgit2-0.27.4.tar.gz) = d27db86eb1b9f0d4057f8538ba1985ee76c3ca106e57d417fa9bff79d575f91a07ad28693112b58dc1d61d68116a82e6a145f12276158f2806b6c4964d741f61 -Size (libgit2-0.27.4.tar.gz) = 4772254 bytes +SHA1 (libgit2-0.27.5.tar.gz) = dc339e9dd54316bd44b2769b52d5e30943e90dcf +RMD160 (libgit2-0.27.5.tar.gz) = 864a350940288b3bdbdc90601cb24aed46ce7cbe +SHA512 (libgit2-0.27.5.tar.gz) = 318b981456d55f60f8aa1897f1f70274329e48f09769b661eb4bbe76399071eca0fbc7deacb3191db16bc89dba8cc69a64adaf8cbc65e34a65b6e72ca122e21f +Size (libgit2-0.27.5.tar.gz) = 4775158 bytes From fdde3ebcdbabdca6eb47c2c31bbd695e3dc18b2a Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 20 Oct 2018 16:24:01 +0000 Subject: [PATCH 125/141] Pullup ticket #5849 - requested by bsiegert devel/ncurses: security patch devel/ncursesw: security patch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revisions pulled up: - devel/ncurses/Makefile 1.100 - devel/ncurses/distinfo 1.35 - devel/ncurses/patches/patch-ncurses_tinfo_parse__entry.c 1.3 - devel/ncursesw/Makefile 1.17 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: leot Date: Thu Oct 18 19:42:50 UTC 2018 Modified Files: pkgsrc/devel/ncurses: Makefile distinfo pkgsrc/devel/ncursesw: Makefile Added Files: pkgsrc/devel/ncurses/patches: patch-ncurses_tinfo_parse__entry.c Log Message: ncurses{,w}: Backport patch for CVE-2018-10754 Patch provided by Attila Fülöp via NetBSD/pkgsrc#34, thanks! Bump PKGREVISION To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.100 pkgsrc/devel/ncurses/Makefile cvs rdiff -u -r1.34 -r1.35 pkgsrc/devel/ncurses/distinfo cvs rdiff -u -r0 -r1.3 \ pkgsrc/devel/ncurses/patches/patch-ncurses_tinfo_parse__entry.c cvs rdiff -u -r1.16 -r1.17 pkgsrc/devel/ncursesw/Makefile --- devel/ncurses/Makefile | 4 ++-- devel/ncurses/distinfo | 3 ++- .../patch-ncurses_tinfo_parse__entry.c | 23 +++++++++++++++++++ devel/ncursesw/Makefile | 3 ++- 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 devel/ncurses/patches/patch-ncurses_tinfo_parse__entry.c diff --git a/devel/ncurses/Makefile b/devel/ncurses/Makefile index dc9127d561901..06d144aa57c12 100644 --- a/devel/ncurses/Makefile +++ b/devel/ncurses/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.99 2018/09/15 22:47:41 wiz Exp $ +# $NetBSD: Makefile,v 1.99.2.1 2018/10/20 16:24:01 spz Exp $ .include "Makefile.common" -PKGREVISION= 2 +PKGREVISION= 3 COMMENT= CRT screen handling and optimization package INSTALLATION_DIRS+= share/examples diff --git a/devel/ncurses/distinfo b/devel/ncurses/distinfo index 8328cfbcb18d5..2eabebfeec66a 100644 --- a/devel/ncurses/distinfo +++ b/devel/ncurses/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.34 2018/04/02 16:26:03 spz Exp $ +$NetBSD: distinfo,v 1.34.4.1 2018/10/20 16:24:01 spz Exp $ SHA1 (ncurses-6.1.tar.gz) = 57acf6bc24cacd651d82541929f726f4def780cc RMD160 (ncurses-6.1.tar.gz) = 938235f3922f9c6ef0f1081d643ecb2da1347a17 @@ -12,3 +12,4 @@ SHA1 (patch-c++_Makefile.in) = 68ff81c719ec4aa13beb962cb66d7cd6749d7af5 SHA1 (patch-configure.in) = 48a705b3f4de3a65c0c1c3648f5a24c5310ed3fa SHA1 (patch-misc_ncurses-config.in) = 43e4dc8abe85804513da1189aeffa5c7746ffcca SHA1 (patch-ncurses_base_MKlib__gen.sh) = f8ce67fbd273529e4161a2820677d05a623fd527 +SHA1 (patch-ncurses_tinfo_parse__entry.c) = 06d2b52e84595f8acd47ad36ded7b7d5bec95b8a diff --git a/devel/ncurses/patches/patch-ncurses_tinfo_parse__entry.c b/devel/ncurses/patches/patch-ncurses_tinfo_parse__entry.c new file mode 100644 index 0000000000000..cbda178bac39b --- /dev/null +++ b/devel/ncurses/patches/patch-ncurses_tinfo_parse__entry.c @@ -0,0 +1,23 @@ +$NetBSD: patch-ncurses_tinfo_parse__entry.c,v 1.3.2.2 2018/10/20 16:24:02 spz Exp $ + + - Fixes CVE-2018-10754 + +--- ncurses/tinfo/parse_entry.c.orig 2018-10-09 21:41:29.020445746 +0000 ++++ ncurses/tinfo/parse_entry.c +@@ -543,11 +543,12 @@ _nc_parse_entry(ENTRY * entryp, int lite + * Otherwise, look for a base entry that will already + * have picked up defaults via translation. + */ +- for (i = 0; i < entryp->nuses; i++) +- if (!strchr((char *) entryp->uses[i].name, '+')) +- has_base_entry = TRUE; ++ for (i = 0; i < entryp->nuses; i++) { ++ if (entryp->uses[i].name != 0 ++ && !strchr(entryp->uses[i].name, '+')) ++ has_base_entry = TRUE; ++ } + } +- + postprocess_termcap(&entryp->tterm, has_base_entry); + } else + postprocess_terminfo(&entryp->tterm); diff --git a/devel/ncursesw/Makefile b/devel/ncursesw/Makefile index d93afc4b04feb..a348f195b2c71 100644 --- a/devel/ncursesw/Makefile +++ b/devel/ncursesw/Makefile @@ -1,9 +1,10 @@ -# $NetBSD: Makefile,v 1.16 2018/04/02 16:26:04 spz Exp $ +# $NetBSD: Makefile,v 1.16.4.1 2018/10/20 16:24:02 spz Exp $ .include "../../devel/ncurses/Makefile.common" PKGNAME= ${DISTNAME:S/ncurses/ncursesw/} COMMENT= Wide character CRT screen handling and optimization package +PKGREVISION= 1 PATCHDIR= ${.CURDIR}/../../devel/ncurses/patches DISTINFO_FILE= ${.CURDIR}/../../devel/ncurses/distinfo From 1c92dd8fcdde12ffe5df26bc5ae397170b751798 Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 20 Oct 2018 16:31:01 +0000 Subject: [PATCH 126/141] Pullup ticket #5850 - requested by bsiegert lang/chicken: security update Revisions pulled up: - lang/chicken/Makefile 1.59-1.60 - lang/chicken/distinfo 1.43 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: leot Date: Sun Oct 14 09:07:25 UTC 2018 Modified Files: pkgsrc/lang/chicken: Makefile distinfo Log Message: chicken: Update lang/chicken to 4.13.0 Patch provided by dziltener via PR pkg/52929, thanks! Changes: 4.13.0 - Security fixes - CVE-2017-6949: Remove unchecked malloc() call in SRFI-4 constructors when allocating in non-GC memory, resulting in potential 1-word buffer overrun and/or segfault (thanks to Lemonboy). - CVE-2017-9334: `length' no longer crashes on improper lists (fixes #1375, thanks to "megane"). - CVE-2017-11343: The randomization factor of the symbol table was set before the random seed was set, causing it to have a fixed value on many platforms. - Core Libraries - Unit "posix": If file-lock, file-lock/blocking or file-unlock are interrupted by a signal, we now retry (thanks to Joerg Wittenberger). - char-ready? on string ports now also returns #t at EOF, as per R5RS; in other words, it always returns #t (thanks to Moritz Heidkamp) - Unit srfi-4: Fixed typo that broke SRFI-17 generalised set! syntax on s8vectors (thanks to Kristian Lein-Mathisen). - Large literals no longer crash with "invalid encoded numeric literal" on mingw-64 (#1344, thanks to Lemonboy). - Unit irregex: Fix bug that prevented multibyte UTF-8 character sets from being matched correctly (Thanks to Lemonboy and Chunyang Xu). - Runtime system: - The profiler no longer uses malloc from a signal handler which may cause deadlocks (#1414, thanks to Lemonboy). - The scheduler no longer indirectly hangs on to the old thread when switching to a new one, which caused excessive memory consumption (#1367, thanks to "megane"). - C++ programs no longer fail with a symbol lookup error when compiled with debugger support (-d3 or -debug-info). - Syntax expander - Renaming an identifier twice no longer results in an undo of the rename (fixes #1362, thanks to "megane"). - Build system - Fixed broken compilation on NetBSD, due to missing _NETBSD_SOURCE. - Fixed compilation on DragonflyBSD due to no feature macro support in its standard C library (thanks to Markus Pfeiffer). - Compiler - The scrutinizer no longer uses 'fixnum as the type for fixnums that might not fit into a fixnum on 32-bit architectures. - Foreign function interface - Correctly calculate memory requirements of Scheme objects produced from foreign types with "const" qualifiers, avoiding memory corruption (#1424, thanks to Vasilij Schneidermann and Lemonboy) - Do not read beyond temporary stack buffer, which could lead to a crash when returning from a foreign callback (#1428). 4.12.0 - Security fixes - CVE-2016-6830: Fix buffer overrun due to excessively long argument or environment lists in process-execute and process-spawn (#1308). This also removes unnecessary limitations on the length of these lists (thanks to Vasilij Schneidermann). - CVE-2016-6831: Fix memory leak in process-execute and process-spawn. If, during argument and environment list processing, a list item isn't a string, an exception is thrown, in which case previously malloc()ed strings weren't freed. - CVE-2016-9954: Irregex has been updated to 0.9.6, which fixes an exponential explosion in compilation of nested "+" patterns. - Compiler: - define-constant now correctly keeps symbol values quoted. - Warnings are now emitted when using vector-{ref,set!} or one of take, drop, list-ref or list-tail with an out of range index for vectors and proper lists of a definitely known length. - The scrutinizer will no longer drop knowledge of the length of a vector. It still drops types of its contents (which may be mutated). - Fixed incorrect argvector restoration after GC in directly recursive functions (#1317). - "Direct" procedure invocations now also maintain debug info (#894). - Syntax expander - DSSSL lambda lists have improved hygiene, so they don't need the chicken or scheme modules to be imported in full (#806). - The let-optionals* macro no longer needs "quote", "car" and "cdr" to be imported and bound to their default values (#806). - Runtime system: - C_locative_ref has been deprecated in favor of C_a_i_locative_ref, which is faster because it is inlined (#1260, thanks to Kooda). - The default error handler now truncates very long condition messages (thanks to Lemonboy). - Weak symbol GC (-:w) no longer drops random symbols (#1173). - The number of arguments to procedures, both via "apply" and direct invocation, are now limited only by the C stack size (#1098). - "time" macro now shows peak memory usage (#1318, thanks to Kooda). - Avoid crashes in ffi callbacks after GC (#1337, thanks to cosarara). - Core libraries: - Irregex has been updated to 0.9.5, which fixes matching of all "bow" occurrances beyond the first with irregex-fold (upstream issue #14). - Keywords are more consistently read/written, like symbols (#1332). - SRFI-39: When jumping out of a parameterized dynamic extent, "parameterize" now remember the actual values, so when jumping back in, they are restored (fixes #1336, thanks to Joo ChurlSoo). This was a regression caused by the fix for #1227. - Tools: - "chicken-install" - When installing eggs in deploy mode with "-keep-installed", eggs under the prefix won't unnecessarily be reinstalled (#1144). - Added new option "-no-install-deps" which inhibits automatic installation of dependencies, useful with "-prefix" (#1298). To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 pkgsrc/lang/chicken/Makefile cvs rdiff -u -r1.42 -r1.43 pkgsrc/lang/chicken/distinfo ------------------------------------------------------------------- Module Name: pkgsrc Committed By: jperkin Date: Thu Oct 18 14:32:43 UTC 2018 Modified Files: pkgsrc/lang/chicken: Makefile Log Message: chicken: Set INSTALL_PROGRAM, fixes install on SunOS. To generate a diff of this commit: cvs rdiff -u -r1.59 -r1.60 pkgsrc/lang/chicken/Makefile --- lang/chicken/Makefile | 5 +++-- lang/chicken/distinfo | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lang/chicken/Makefile b/lang/chicken/Makefile index 03917227fc939..8fe492dfec5f8 100644 --- a/lang/chicken/Makefile +++ b/lang/chicken/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.58 2018/01/01 18:16:36 rillig Exp $ +# $NetBSD: Makefile,v 1.58.6.1 2018/10/20 16:31:01 spz Exp $ -DISTNAME= chicken-4.11.0 +DISTNAME= chicken-4.13.0 CATEGORIES= lang MASTER_SITES= http://code.call-cc.org/releases/${PKGVERSION_NOREV}/ MASTER_SITES+= http://code.call-cc.org/releases/${PKGVERSION_NOREV:R}/ @@ -49,6 +49,7 @@ MAKE_FLAGS+= PLATFORM=${PLATFORM:Q} PREFIX=${PREFIX:Q} DESTDIR=${DESTDIR:Q} MAKE_FLAGS+= MANDIR=${PREFIX:Q}/${PKGMANDIR} MAKE_FLAGS+= INFODIR=${PREFIX:Q}/${PKGINFODIR:Q} MAKE_FLAGS+= DOCDIR=${PREFIX:Q}/share/doc/${PKGNAME_NOREV} +MAKE_FLAGS+= INSTALL_PROGRAM=${INSTALL:Q} TEST_TARGET= check diff --git a/lang/chicken/distinfo b/lang/chicken/distinfo index 095e1b76b024f..00d807222499b 100644 --- a/lang/chicken/distinfo +++ b/lang/chicken/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.42 2016/06/08 14:44:54 asau Exp $ +$NetBSD: distinfo,v 1.42.22.1 2018/10/20 16:31:01 spz Exp $ -SHA1 (chicken-4.11.0.tar.gz) = b8b1e8b741a5ea5b318c449c3bf8a42f8de8ba69 -RMD160 (chicken-4.11.0.tar.gz) = 3207bdd9e5b7d8f454d7612634c1da5bb3b820c7 -SHA512 (chicken-4.11.0.tar.gz) = 130d9f35ccecda3aefe4790fcb186eef321947013b681f3f978e3b666a45102ed9bc455c9452fe8b0b81c92cd571138c38365dff5bb7382ea2046a8bf3d188ad -Size (chicken-4.11.0.tar.gz) = 4201815 bytes +SHA1 (chicken-4.13.0.tar.gz) = ebbef7206f7f2faa3ac430a8c1e50f841d5db23e +RMD160 (chicken-4.13.0.tar.gz) = aff50d0949bb753002c01fbe50906735f4330abf +SHA512 (chicken-4.13.0.tar.gz) = 02c2035b4f81da6f4af2d246361ce8debdc9d9c663c3f43b7afb9abbf1ff591a2bb8fa144511b4d747a373dea4dcd9c10cac48466bf97032db76f3830c08709d +Size (chicken-4.13.0.tar.gz) = 4244358 bytes From f7cc4deeffcab4a6cb902c2c09cc94bad75b2048 Mon Sep 17 00:00:00 2001 From: spz Date: Sat, 20 Oct 2018 16:32:43 +0000 Subject: [PATCH 127/141] tickets 5846-5850 --- doc/CHANGES-pkgsrc-2018Q3 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/doc/CHANGES-pkgsrc-2018Q3 b/doc/CHANGES-pkgsrc-2018Q3 index 7d0120f21af06..a0f3890efa3db 100644 --- a/doc/CHANGES-pkgsrc-2018Q3 +++ b/doc/CHANGES-pkgsrc-2018Q3 @@ -1,4 +1,4 @@ -$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.4 2018/10/18 13:03:32 bsiegert Exp $ +$NetBSD: CHANGES-pkgsrc-2018Q3,v 1.1.2.5 2018/10/20 16:32:43 spz Exp $ Changes to packages and infrastructure on the pkgsrc-2018Q3 branch: @@ -23,3 +23,19 @@ lang/rust: build fix Pullup ticket #5843 - requested by maya security/libssh: security fix +Pullup ticket #5846 - requested by bsiegert +mail/spamassassin: security update + +Pullup ticket #5847 - requested by bsiegert +devel/patch: security patches + +Pullup ticket #5848 - requested by bsiegert +devel/libgit2: security update + +Pullup ticket #5849 - requested by bsiegert +devel/ncurses: security patch +devel/ncursesw: security patch + +Pullup ticket #5850 - requested by bsiegert +lang/chicken: security update + From 6badc7bea743ff786b9d143d7607acd8c7e34ce7 Mon Sep 17 00:00:00 2001 From: jperkin Date: Tue, 23 Oct 2018 13:10:05 +0000 Subject: [PATCH 128/141] isc-dhcp4: Fix build on SunOS with newer GCC. --- net/isc-dhcp4/Makefile.common | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/net/isc-dhcp4/Makefile.common b/net/isc-dhcp4/Makefile.common index a2c41faa0999e..385772a512a24 100644 --- a/net/isc-dhcp4/Makefile.common +++ b/net/isc-dhcp4/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.36 2018/03/21 15:05:05 taca Exp $ +# $NetBSD: Makefile.common,v 1.37 2018/10/23 13:10:05 jperkin Exp $ # # used by net/isc-dhcp4/Makefile # used by net/isc-dhcpd4/Makefile @@ -27,7 +27,7 @@ DHCP_PID?= ${VARBASE}/run/isc-dhcp PKG_SYSCONFSUBDIR= dhcp USE_TOOLS+= gmake gunzip gzip tar -USE_LANGUAGES+= c c++ +USE_LANGUAGES+= c99 c++ PATCHDIR= ${.CURDIR}/../isc-dhcp4/patches DISTINFO_FILE= ${.CURDIR}/../isc-dhcp4/distinfo @@ -57,6 +57,8 @@ CONFIGURE_ENV.NetBSD+= ac_cv_file__dev_random=yes CONFIGURE_ARGS.NetBSD+= --with-randomdev=/dev/random .endif +CPPFLAGS.SunOS+= -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ + SUBST_CLASSES+= config SUBST_STAGE.config= pre-configure SUBST_FILES.config= includes/dhcpd.h @@ -93,4 +95,5 @@ post-configure: ${CONFIGURE_ARGS} \ ${BIND_CONFIGURE_ARGS} +.include "../../devel/zlib/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" From c8dcf805bd2507e2fbe97110649a331dbe158110 Mon Sep 17 00:00:00 2001 From: jperkin Date: Wed, 24 Oct 2018 14:10:59 +0000 Subject: [PATCH 129/141] clamav: Fix build on SunOS C99. --- security/clamav/Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/security/clamav/Makefile b/security/clamav/Makefile index 9839fa27c05da..3e1204fda6b4a 100644 --- a/security/clamav/Makefile +++ b/security/clamav/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.45 2018/08/16 18:55:09 adam Exp $ +# $NetBSD: Makefile,v 1.46 2018/10/24 14:10:59 jperkin Exp $ PKGREVISION= 2 .include "Makefile.common" @@ -31,13 +31,16 @@ CONFIGURE_ARGS+= --disable-zlib-vcheck CHECK_PORTABILITY_SKIP= contrib/* unit_tests/* win32/* -.include "../../mk/bsd.prefs.mk" +.include "../../mk/compiler.mk" NOT_PAX_MPROTECT_SAFE+= sbin/clamd NOT_PAX_MPROTECT_SAFE+= bin/clamscan NOT_PAX_MPROTECT_SAFE+= bin/freshclam CFLAGS.SunOS+= -D__EXTENSIONS__ +.if !empty(PKGSRC_COMPILER:Mclang) || !empty(CC_VERSION:Mgcc-[6-9]*) +CFLAGS.SunOS+= -D_XOPEN_SOURCE=600 +.endif BUILD_DEFS+= CLAMAV_USER CLAMAV_GROUP CLAMAV_DBDIR FILES_SUBST+= CLAMAV_USER=${CLAMAV_USER} From 1475065031e9d4b3aaa73664f0d03bdfda4b97ff Mon Sep 17 00:00:00 2001 From: jperkin Date: Wed, 24 Oct 2018 12:30:07 +0000 Subject: [PATCH 130/141] normalize: Force gnu89 on SunOS to work around _POSIX_C_SOURCE. It's set in too many files to patch. --- audio/normalize/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/audio/normalize/Makefile b/audio/normalize/Makefile index 82cf52c7bb073..20b308e19d9c7 100644 --- a/audio/normalize/Makefile +++ b/audio/normalize/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.33 2018/08/22 09:42:56 wiz Exp $ +# $NetBSD: Makefile,v 1.34 2018/10/24 12:30:07 jperkin Exp $ DISTNAME= normalize-0.7.7 PKGREVISION= 8 @@ -23,6 +23,9 @@ CPPFLAGS+= -I${BUILDLINK_PREFIX.libaudiofile}/include LDFLAGS+= -L${BUILDLINK_PREFIX.libaudiofile}/lib LDFLAGS+= ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.libaudiofile}/lib -laudiofile +# Hardcodes _POSIX_C_SOURCE=2 everywhere +CFLAGS.SunOS+= -std=gnu89 + # is a generated file which doesn't exist when REPLACE_PERL happens #REPLACE_PERL= src/normalize-mp3 From 3646a2a946bb734b2e79335c9697e65cf775c10b Mon Sep 17 00:00:00 2001 From: jperkin Date: Wed, 24 Oct 2018 11:27:28 +0000 Subject: [PATCH 131/141] bind911: Fix build on SunOS. --- net/bind911/distinfo | 4 ++-- net/bind911/options.mk | 4 +++- net/bind911/patches/patch-configure | 25 ++++++++++++++++--------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/net/bind911/distinfo b/net/bind911/distinfo index 8080a49ce25cf..be1b0e2e05c03 100644 --- a/net/bind911/distinfo +++ b/net/bind911/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.2 2018/09/20 10:01:36 taca Exp $ +$NetBSD: distinfo,v 1.4 2018/10/24 11:27:28 jperkin Exp $ SHA1 (bind-9.11.4-P2.tar.gz) = f01eada382fb2bd4d1fcab3f6f83bd3ebc35a9ab RMD160 (bind-9.11.4-P2.tar.gz) = 152448ebda7d9824f6035a35466ee29ed0391ab3 @@ -7,7 +7,7 @@ Size (bind-9.11.4-P2.tar.gz) = 9617963 bytes SHA1 (patch-bin_dig_dighost.c) = c87f145a0e78df5d1b834bfec90ab3b4523ee915 SHA1 (patch-bin_tests_system_metadata_tests.sh) = d01a492d0b7738760bdbff714248e279a78fef28 SHA1 (patch-config.threads.in) = 8341bdb11888d3efdde5f115de91b1f46aa40bd0 -SHA1 (patch-configure) = 9e488b315253dd9cf84e6658468e26399798b0e6 +SHA1 (patch-configure) = 7f73f26266ebd4556ab160e93dc0738188a70e20 SHA1 (patch-contrib_dlz_config.dlz.in) = 6c53d61aaaf1a952a867e4c4da0194db94f511d7 SHA1 (patch-lib_dns_rbt.c) = 8af91b6d40b591d28d15f7f98c9b7a82df234381 SHA1 (patch-lib_isc_unix_socket.c) = 73cbf20f8a1e4714450d291332ee928b1eb2898a diff --git a/net/bind911/options.mk b/net/bind911/options.mk index 552cdee24da8c..2d05f6a8b9664 100644 --- a/net/bind911/options.mk +++ b/net/bind911/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.1 2018/09/09 13:11:38 taca Exp $ +# $NetBSD: options.mk,v 1.2 2018/10/24 11:27:28 jperkin Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.bind911 PKG_SUPPORTED_OPTIONS= bind-dig-sigchase bind-xml-statistics-server @@ -65,6 +65,7 @@ CONFIGURE_ARGS+= --enable-fetchlimit .if !empty(PKG_OPTIONS:Mgeoip) CONFIGURE_ARGS+= --with-geoip=${PREFIX} +LDFLAGS+= -lGeoIP .include "../../net/GeoIP/buildlink3.mk" .endif @@ -87,6 +88,7 @@ CONFIGURE_ARGS+= --with-tuning=large .if !empty(PKG_OPTIONS:Mbind-xml-statistics-server) .include "../../textproc/libxml2/buildlink3.mk" CONFIGURE_ARGS+= --with-libxml2 +LDFLAGS+= -lxml2 .else CONFIGURE_ARGS+= --without-libxml2 .endif diff --git a/net/bind911/patches/patch-configure b/net/bind911/patches/patch-configure index de7eca0059e52..0a086dd6037b9 100644 --- a/net/bind911/patches/patch-configure +++ b/net/bind911/patches/patch-configure @@ -1,12 +1,12 @@ -$NetBSD: patch-configure,v 1.1 2018/09/09 13:11:38 taca Exp $ +$NetBSD: patch-configure,v 1.2 2018/10/24 11:27:28 jperkin Exp $ * Add DragonFly support. * Use proper link options for NetBSD. * Link proper postgresql library. ---- configure.orig 2018-07-24 17:24:11.000000000 +0000 +--- configure.orig 2018-10-06 01:36:17.000000000 +0000 +++ configure -@@ -15270,6 +15270,8 @@ case $host in +@@ -15415,6 +15415,8 @@ case $host in use_threads=false ;; *-freebsd*) use_threads=true ;; @@ -15,7 +15,7 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:11:38 taca Exp $ *-bsdi[234]*) # Thread signals do not work reliably on some versions of BSD/OS. use_threads=false ;; -@@ -17817,27 +17819,10 @@ case "$use_libjson" in +@@ -17962,27 +17964,10 @@ case "$use_libjson" in libjson_libs="" ;; auto|yes) @@ -47,7 +47,7 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:11:38 taca Exp $ ;; *) if test -f "${use_libjson}/include/json/json.h" -@@ -23345,7 +23330,7 @@ if test "yes" = "$dlopen"; then +@@ -23436,7 +23421,7 @@ if test "yes" = "$dlopen"; then SO_LD="ld" fi ;; @@ -56,7 +56,7 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:11:38 taca Exp $ LDFLAGS="${LDFLAGS} -Wl,-E" SO_CFLAGS="-fpic" if test "yes" = "$use_libtool"; then -@@ -23356,12 +23341,6 @@ if test "yes" = "$dlopen"; then +@@ -23447,16 +23432,10 @@ if test "yes" = "$dlopen"; then SO_LD="${CC}" fi ;; @@ -67,9 +67,16 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:11:38 taca Exp $ - SO_STRIP="sed -e s/-Wl,//g" - ;; *-solaris*) - SO_CFLAGS="-KPIC" - SO_LDFLAGS="-G -z text" -@@ -23614,8 +23593,8 @@ $as_echo "no" >&6; } +- SO_CFLAGS="-KPIC" +- SO_LDFLAGS="-G -z text" +- SO_LD="ld" ++ SO_CFLAGS="-fPIC" ++ SO_LDFLAGS="-Xcompiler -shared -Wl,-z -Wl,text" ++ SO_LD="${CC}" + ;; + *-hp-hpux*) + SO=sl +@@ -23705,8 +23684,8 @@ $as_echo "no" >&6; } fi if test -n "-L$use_dlz_postgres_lib -lpq" then From e2b23dac8e84ecce911aa4c98fda791eb0dd6a76 Mon Sep 17 00:00:00 2001 From: jperkin Date: Wed, 24 Oct 2018 11:10:31 +0000 Subject: [PATCH 132/141] bind912: Fix build on SunOS. Fix PKG_OPTIONS_VAR. --- net/bind912/distinfo | 4 ++-- net/bind912/options.mk | 6 ++++-- net/bind912/patches/patch-configure | 25 ++++++++++++++++--------- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/net/bind912/distinfo b/net/bind912/distinfo index 6e4c789a04dc7..87f7b2d88bbd0 100644 --- a/net/bind912/distinfo +++ b/net/bind912/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.2 2018/09/20 10:03:03 taca Exp $ +$NetBSD: distinfo,v 1.4 2018/10/24 11:10:31 jperkin Exp $ SHA1 (bind-9.12.2-P2.tar.gz) = 2f18c562201b7a1288d21a2427718bacbc988eb1 RMD160 (bind-9.12.2-P2.tar.gz) = 2bd96c309584b61fcc885f7fdde665b1040da7ae @@ -6,7 +6,7 @@ SHA512 (bind-9.12.2-P2.tar.gz) = 458adf6b3d0df286e7d345a21c40b639efcb275e76f9e0b Size (bind-9.12.2-P2.tar.gz) = 9422128 bytes SHA1 (patch-bin_tests_system_metadata_tests.sh) = d01a492d0b7738760bdbff714248e279a78fef28 SHA1 (patch-config.threads.in) = 8341bdb11888d3efdde5f115de91b1f46aa40bd0 -SHA1 (patch-configure) = 020f4746544f74606ccc57cb30de7f7501a47e10 +SHA1 (patch-configure) = 7d74eef1002351a5513c7c617e28721b39de65d0 SHA1 (patch-contrib_dlz_config.dlz.in) = 6c53d61aaaf1a952a867e4c4da0194db94f511d7 SHA1 (patch-lib_dns_rbt.c) = 8af91b6d40b591d28d15f7f98c9b7a82df234381 SHA1 (patch-lib_isc_unix_socket.c) = d525e84924b42eb107b00aecdbc92fbb5a3df3db diff --git a/net/bind912/options.mk b/net/bind912/options.mk index 617364ecbc28d..015b735ddb16e 100644 --- a/net/bind912/options.mk +++ b/net/bind912/options.mk @@ -1,6 +1,6 @@ -# $NetBSD: options.mk,v 1.1 2018/09/09 13:16:01 taca Exp $ +# $NetBSD: options.mk,v 1.2 2018/10/24 11:10:31 jperkin Exp $ -PKG_OPTIONS_VAR= PKG_OPTIONS.bind911 +PKG_OPTIONS_VAR= PKG_OPTIONS.bind912 PKG_SUPPORTED_OPTIONS= bind-dig-sigchase bind-xml-statistics-server PKG_SUPPORTED_OPTIONS+= bind-json-statistics-server PKG_SUPPORTED_OPTIONS+= inet6 threads readline mysql pgsql ldap dlz-filesystem @@ -65,6 +65,7 @@ CONFIGURE_ARGS+= --enable-fetchlimit .if !empty(PKG_OPTIONS:Mgeoip) CONFIGURE_ARGS+= --with-geoip=${PREFIX} +LDFLAGS+= -lGeoIP .include "../../net/GeoIP/buildlink3.mk" .endif @@ -87,6 +88,7 @@ CONFIGURE_ARGS+= --with-tuning=large .if !empty(PKG_OPTIONS:Mbind-xml-statistics-server) .include "../../textproc/libxml2/buildlink3.mk" CONFIGURE_ARGS+= --with-libxml2 +LDFLAGS+= -lxml2 .else CONFIGURE_ARGS+= --without-libxml2 .endif diff --git a/net/bind912/patches/patch-configure b/net/bind912/patches/patch-configure index faf21fd09152b..4e3d462ceba17 100644 --- a/net/bind912/patches/patch-configure +++ b/net/bind912/patches/patch-configure @@ -1,12 +1,12 @@ -$NetBSD: patch-configure,v 1.1 2018/09/09 13:16:01 taca Exp $ +$NetBSD: patch-configure,v 1.2 2018/10/24 11:10:31 jperkin Exp $ * Add DragonFly support. * Use proper link options for NetBSD. * Link proper postgresql library. ---- configure.orig 2018-07-24 17:22:12.000000000 +0000 +--- configure.orig 2018-10-06 05:51:22.000000000 +0000 +++ configure -@@ -15248,6 +15248,8 @@ case $host in +@@ -15394,6 +15394,8 @@ case $host in use_threads=false ;; *-freebsd*) use_threads=true ;; @@ -15,7 +15,7 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:16:01 taca Exp $ *-bsdi[234]*) # Thread signals do not work reliably on some versions of BSD/OS. use_threads=false ;; -@@ -17869,27 +17871,10 @@ case "$use_libjson" in +@@ -18015,27 +18017,10 @@ case "$use_libjson" in libjson_libs="" ;; auto|yes) @@ -47,7 +47,7 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:16:01 taca Exp $ ;; *) if test -f "${use_libjson}/include/json/json.h" -@@ -23288,7 +23273,7 @@ if test "yes" = "$dlopen"; then +@@ -23384,7 +23369,7 @@ if test "yes" = "$dlopen"; then SO_LD="ld" fi ;; @@ -56,7 +56,7 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:16:01 taca Exp $ LDFLAGS="${LDFLAGS} -Wl,-E" SO_CFLAGS="-fpic" if test "yes" = "$use_libtool"; then -@@ -23299,12 +23284,6 @@ if test "yes" = "$dlopen"; then +@@ -23395,16 +23380,10 @@ if test "yes" = "$dlopen"; then SO_LD="${CC}" fi ;; @@ -67,9 +67,16 @@ $NetBSD: patch-configure,v 1.1 2018/09/09 13:16:01 taca Exp $ - SO_STRIP="sed -e s/-Wl,//g" - ;; *-solaris*) - SO_CFLAGS="-KPIC" - SO_LDFLAGS="-G -z text" -@@ -23557,8 +23536,8 @@ $as_echo "no" >&6; } +- SO_CFLAGS="-KPIC" +- SO_LDFLAGS="-G -z text" +- SO_LD="ld" ++ SO_CFLAGS="-fPIC" ++ SO_LDFLAGS="-Xcompiler -shared -Wl,-z -Wl,text" ++ SO_LD="${CC}" + ;; + *-hp-hpux*) + SO=sl +@@ -23653,8 +23632,8 @@ $as_echo "no" >&6; } fi if test -n "-L$use_dlz_postgres_lib -lpq" then From 3b3bec9cead1eb45f8a2b26e93115416ef89e09f Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Thu, 25 Oct 2018 01:01:30 +0100 Subject: [PATCH 133/141] bind911: remove config file --- net/bind911/Makefile | 3 --- net/bind911/PLIST | 1 - 2 files changed, 4 deletions(-) diff --git a/net/bind911/Makefile b/net/bind911/Makefile index 8726cd08b8004..a62c8ac10afab 100644 --- a/net/bind911/Makefile +++ b/net/bind911/Makefile @@ -66,8 +66,6 @@ SMF_METHODS= named INSTALL_MAKE_FLAGS+= sysconfdir=${PREFIX}/share/examples/bind9 CONF_FILES+= share/examples/bind9/bind.keys \ ${PKG_SYSCONFDIR}/bind.keys -CONF_FILES+= share/examples/bind9/named.conf \ - ${PKG_SYSCONFDIR}/named.conf INSTALLATION_DIRS+= ${DOCDIR} ${DOCDIR}/arm @@ -76,7 +74,6 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${DOCDIR} .endfor ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DESTDIR}${PREFIX}/${DOCDIR}/arm - ${INSTALL_DATA} ${FILESDIR}/named.conf ${DESTDIR}${PREFIX}/share/examples/bind9 .include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/bind911/PLIST b/net/bind911/PLIST index df5d0dd5dc355..22b7141897850 100644 --- a/net/bind911/PLIST +++ b/net/bind911/PLIST @@ -480,4 +480,3 @@ share/doc/bind9/arm/man.rndc.conf.html share/doc/bind9/arm/man.rndc.html share/doc/bind9/arm/notes.html share/examples/bind9/bind.keys -share/examples/bind9/named.conf From 941531feed4b88161a57a53374f4368887aabc90 Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 1 Oct 2018 17:58:49 +0000 Subject: [PATCH 134/141] mkvtoolnix: updated to 27.0.0 Version 27.0.0 "Metropolis": New features and enhancements * mkvmerge: chapters: the timestamps of chapters read from containers or from chapter files can be adjusted (multiplication and addition) with the new `--chapter-sync` option or using the special track ID `-2` for the existing `--sync` option. * MKVToolNix GUI: multiplexer: adjusted & added controls for mkvmerge's new feature of being able to adjust chapter timestamps. * MKVToolNix GUI: multiplexer: the GUI can now ask for confirmation when the user is about to create a file that won't contain audio tracks. It does this by default if at least one source file contains an audio track. Bug fixes * mkvmerge: AC-3: dialog normalization gain removal was corrupting E-AC-3 frames irreversibly by writing checksums in places where they didn't belong. Additionally only the first E-AC-3 frame in a Matroska was processed but not additional dependent frames in the same block. * MKVToolNix GUI: fixed a leak of Windows font resources leading to a general slowdown and subsequent crash. --- multimedia/mkvtoolnix/Makefile | 4 ++-- multimedia/mkvtoolnix/distinfo | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/multimedia/mkvtoolnix/Makefile b/multimedia/mkvtoolnix/Makefile index fb8a41769debc..c40d90d263b42 100644 --- a/multimedia/mkvtoolnix/Makefile +++ b/multimedia/mkvtoolnix/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.113 2018/08/27 06:50:16 adam Exp $ +# $NetBSD: Makefile,v 1.114 2018/10/01 17:58:49 adam Exp $ -DISTNAME= mkvtoolnix-26.0.0 +DISTNAME= mkvtoolnix-27.0.0 CATEGORIES= multimedia MASTER_SITES= https://mkvtoolnix.download/sources/ EXTRACT_SUFX= .tar.xz diff --git a/multimedia/mkvtoolnix/distinfo b/multimedia/mkvtoolnix/distinfo index 9e2effee0a431..cbfa3f2f93520 100644 --- a/multimedia/mkvtoolnix/distinfo +++ b/multimedia/mkvtoolnix/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.52 2018/08/27 06:50:16 adam Exp $ +$NetBSD: distinfo,v 1.53 2018/10/01 17:58:49 adam Exp $ -SHA1 (mkvtoolnix-26.0.0.tar.xz) = 40d0ffc866be2a427479104364e41037192687b0 -RMD160 (mkvtoolnix-26.0.0.tar.xz) = e415928dea97bc6e0cce2289ab8f8f30e59a4b5d -SHA512 (mkvtoolnix-26.0.0.tar.xz) = 3d1822dcc381d895e6c62ca31b3edf2b2e5443d6fdfb96b9c28c19f1d3395e44938a68c751d20c4da3419c269524e4edceb795797728281de94b8b1ba57f7479 -Size (mkvtoolnix-26.0.0.tar.xz) = 4802044 bytes +SHA1 (mkvtoolnix-27.0.0.tar.xz) = 374508775ea0c37109ec135d41485e193d616dda +RMD160 (mkvtoolnix-27.0.0.tar.xz) = 21ecd9c9527cac1f7e377565d98a1083905af1de +SHA512 (mkvtoolnix-27.0.0.tar.xz) = 750094256bcc3418d0da96142c2af2491ef8a2f1e8b7f8ac2524bb740e3f8d59dfd63da814c20bb9b2d9cc96ef8b5d194aeec9491de87aa665f4714a1b1788bc +Size (mkvtoolnix-27.0.0.tar.xz) = 4811204 bytes SHA1 (patch-build-config.in) = 89c67720f7886741dcabbbed88cfbfd31bf4ccc7 From 72cf359e6d84a449074e1da69b80fb7dcd287e23 Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 23 Oct 2018 06:32:05 +0000 Subject: [PATCH 135/141] mkvtoolnix: updated to 28.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Version 28.0.0 "Voice In My Head": New features and enhancements * mkvmerge: AV1 parser: updated the code for the finalized AV1 bitstream specification. * mkvmerge: AV1 packetizer: updated the code for the finalized AV1-in-Matroska & WebM mapping specification. * mkvmerge: AV1 support: the `--engage enable_av1` option has been removed again. * mkvmerge: MP4 reader: added support for AV1. * mkvmerge: DTS: implemented dialog normalization gain removal for extension substreams. * mkvmerge, mkvextract: simple text subtitles: added a workaround for simple text subtitle tracks that don't contain a duration. * mkvextract: added support for extracting AV1 to IVF. * mkvextract: IVF extractor (AV1, VP8, VP9): precise values will be used for the frame rate numerator & denominator header fields for certain well-known values of the track's default duration. * mkvmerge: VP9: mkvmerge will now create codec private data according to the VP9 codec mapping described in the WebM specifications. * MKVToolNix GUI: automatic scaling for high DPI displays is activated if the GUI is compiled with Qt ≥ 5.6.0. * MKVToolNix GUI: added a menu item ("Help" → "System information") for displaying information about the system MKVToolNix is running on in order to make debugging easier. * MKVToolNix GUI: multiplexer, header editor: the user can enter a list of predefined track names in the preferences. She can later select from them in "track name" combo box. Bug fixes * mkvmerge: JSON identification: fixed a bug when removing invalid UTF-8 data from strings before they're output as JSON. * mkvmerge: MP4/QuickTime reader: fixed handling of PCM audio with FourCC `in24`. * mkvmerge: MPEG transport stream reader, teletext subtitles: the decision whether or not to keep frames around in order to potentially merge them with the following frame is made sooner. That avoids problems if there are large gaps between teletext subtitle frames which could lead to frames being interleaved too late. * mkvextract: IVF extractor (AV1, VP8, VP8): the frame rate header fields weren't clamped to 16 bits properly causing wrong frame rates to be written in certain situations. * mkvpropedit, MKVToolNix GUI's header editor: fixed file corruption when a one-byte space must be covered with a new EBML void element but all surrounding elements have a "size length" field that's eight bytes long already. --- multimedia/mkvtoolnix/Makefile | 4 ++-- multimedia/mkvtoolnix/distinfo | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/multimedia/mkvtoolnix/Makefile b/multimedia/mkvtoolnix/Makefile index c40d90d263b42..8cbd8b815afc8 100644 --- a/multimedia/mkvtoolnix/Makefile +++ b/multimedia/mkvtoolnix/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.114 2018/10/01 17:58:49 adam Exp $ +# $NetBSD: Makefile,v 1.115 2018/10/23 06:32:05 adam Exp $ -DISTNAME= mkvtoolnix-27.0.0 +DISTNAME= mkvtoolnix-28.0.0 CATEGORIES= multimedia MASTER_SITES= https://mkvtoolnix.download/sources/ EXTRACT_SUFX= .tar.xz diff --git a/multimedia/mkvtoolnix/distinfo b/multimedia/mkvtoolnix/distinfo index cbfa3f2f93520..4cf4f0cfbf89a 100644 --- a/multimedia/mkvtoolnix/distinfo +++ b/multimedia/mkvtoolnix/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.53 2018/10/01 17:58:49 adam Exp $ +$NetBSD: distinfo,v 1.54 2018/10/23 06:32:05 adam Exp $ -SHA1 (mkvtoolnix-27.0.0.tar.xz) = 374508775ea0c37109ec135d41485e193d616dda -RMD160 (mkvtoolnix-27.0.0.tar.xz) = 21ecd9c9527cac1f7e377565d98a1083905af1de -SHA512 (mkvtoolnix-27.0.0.tar.xz) = 750094256bcc3418d0da96142c2af2491ef8a2f1e8b7f8ac2524bb740e3f8d59dfd63da814c20bb9b2d9cc96ef8b5d194aeec9491de87aa665f4714a1b1788bc -Size (mkvtoolnix-27.0.0.tar.xz) = 4811204 bytes +SHA1 (mkvtoolnix-28.0.0.tar.xz) = eb0b036b046b3a3f51fb2ce06e0dac27127607fe +RMD160 (mkvtoolnix-28.0.0.tar.xz) = 2bfcc2ff18c001190932a61076eb7b6e4c060cb3 +SHA512 (mkvtoolnix-28.0.0.tar.xz) = b45571c99ed8200015291cba2ce247ca968272122b9d5867962ef749b79f3fe271f69dd2ba4f416acdfe8d520649633de4e12186c6feb94e40f263242ca7c648 +Size (mkvtoolnix-28.0.0.tar.xz) = 6545232 bytes SHA1 (patch-build-config.in) = 89c67720f7886741dcabbbed88cfbfd31bf4ccc7 From d5943af492a0361140f4db0b13fed59c3cd84a86 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 24 Oct 2018 10:55:06 +0000 Subject: [PATCH 136/141] mkvtoolnix: updated to 28.1.0 Version 28.1.0 "Morning Child": Bug fixes * mkvmerge: AV1 parser: fixed an error in the sequence header parser if neither the reduced_still_picture_header nor the frame_id_numbers_present_flag is set. * mkvmerge: AV1 parser: when creating the av1C structure for the Codec Private element the sequence header OBU wasn't copied completely: its common data (type field & OBU size among others) was missing. * mkvmerge: Matroska reader, AV1: mkvmerge will try to re-create the av1C data stored in Codec Private when reading AV1 from Matroska or WebM files created by mkvmerge v28.0.0. * MKVToolNix GUI: info tool: the tool will no longer stop scanning elements when an EBML Void element is found after the first Cluster element. --- multimedia/mkvtoolnix/Makefile | 4 ++-- multimedia/mkvtoolnix/distinfo | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/multimedia/mkvtoolnix/Makefile b/multimedia/mkvtoolnix/Makefile index 8cbd8b815afc8..315e36205765d 100644 --- a/multimedia/mkvtoolnix/Makefile +++ b/multimedia/mkvtoolnix/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.115 2018/10/23 06:32:05 adam Exp $ +# $NetBSD: Makefile,v 1.116 2018/10/24 10:55:06 adam Exp $ -DISTNAME= mkvtoolnix-28.0.0 +DISTNAME= mkvtoolnix-28.1.0 CATEGORIES= multimedia MASTER_SITES= https://mkvtoolnix.download/sources/ EXTRACT_SUFX= .tar.xz diff --git a/multimedia/mkvtoolnix/distinfo b/multimedia/mkvtoolnix/distinfo index 4cf4f0cfbf89a..4b6483a43b49d 100644 --- a/multimedia/mkvtoolnix/distinfo +++ b/multimedia/mkvtoolnix/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.54 2018/10/23 06:32:05 adam Exp $ +$NetBSD: distinfo,v 1.55 2018/10/24 10:55:06 adam Exp $ -SHA1 (mkvtoolnix-28.0.0.tar.xz) = eb0b036b046b3a3f51fb2ce06e0dac27127607fe -RMD160 (mkvtoolnix-28.0.0.tar.xz) = 2bfcc2ff18c001190932a61076eb7b6e4c060cb3 -SHA512 (mkvtoolnix-28.0.0.tar.xz) = b45571c99ed8200015291cba2ce247ca968272122b9d5867962ef749b79f3fe271f69dd2ba4f416acdfe8d520649633de4e12186c6feb94e40f263242ca7c648 -Size (mkvtoolnix-28.0.0.tar.xz) = 6545232 bytes +SHA1 (mkvtoolnix-28.1.0.tar.xz) = ff19f392d89c2cb0fc8a1448c579b2a928f1b8f2 +RMD160 (mkvtoolnix-28.1.0.tar.xz) = f6535808fdd4412744b61e1d09333e3f80fbd6bd +SHA512 (mkvtoolnix-28.1.0.tar.xz) = be081ce454c1940d3be50930072aa0e7fc9de905b06715829dc0d5e52e21727f91eb6beaf68e48296f2830755e613c082b6f14d52f7d7cbbd8d05dbd9ec8c1f0 +Size (mkvtoolnix-28.1.0.tar.xz) = 6546944 bytes SHA1 (patch-build-config.in) = 89c67720f7886741dcabbbed88cfbfd31bf4ccc7 From 5157f41b6448ef26300e60b88a076998be8e8011 Mon Sep 17 00:00:00 2001 From: jperkin Date: Fri, 19 Oct 2018 16:49:58 +0000 Subject: [PATCH 137/141] beats: Create a go tool pointing to the appropriate version. This should be moved to the go infrastructure if it turns out there are more packages that call "go" directly in their build. --- sysutils/beats/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sysutils/beats/Makefile b/sysutils/beats/Makefile index 8e792a1fafd50..18a6e824d91b0 100644 --- a/sysutils/beats/Makefile +++ b/sysutils/beats/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.30 2018/06/12 17:50:27 bsiegert Exp $ +# $NetBSD: Makefile,v 1.31 2018/10/19 16:49:58 jperkin Exp $ DISTNAME= beats-6.2.4 PKGREVISION= 1 @@ -18,6 +18,9 @@ USE_TOOLS+= gmake GO_DIST_BASE= ${PKGBASE}-${GITHUB_TAG:S/v//} GO_SRCPATH= github.com/elastic/beats +TOOLS_CREATE+= go +TOOLS_PATH.go= ${GO} + .include "../../mk/bsd.prefs.mk" PLIST_VARS+= audit From 91edfc06fd08eee4a79d7252ebfbe522104fb27c Mon Sep 17 00:00:00 2001 From: jperkin Date: Thu, 25 Oct 2018 09:47:19 +0000 Subject: [PATCH 138/141] pkg-config: Fix build on SunOS C99. --- devel/pkg-config/distinfo | 4 +- devel/pkg-config/patches/patch-glib_configure | 52 +++++++++++++++++-- 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/devel/pkg-config/distinfo b/devel/pkg-config/distinfo index b7dac06685cf6..3ae6ad1ae2f40 100644 --- a/devel/pkg-config/distinfo +++ b/devel/pkg-config/distinfo @@ -1,9 +1,9 @@ -$NetBSD: distinfo,v 1.35 2017/05/05 01:19:35 mef Exp $ +$NetBSD: distinfo,v 1.36 2018/10/25 09:47:19 jperkin Exp $ SHA1 (pkg-config-0.29.2.tar.gz) = 76e501663b29cb7580245720edfb6106164fad2b RMD160 (pkg-config-0.29.2.tar.gz) = 31e6a17810893d95fd33967c2e433beb2175cd8a SHA512 (pkg-config-0.29.2.tar.gz) = 4861ec6428fead416f5cbbbb0bbad10b9152967e481d4b0ff2eb396a9f297f552984c9bb72f6864a37dcd8fca1d9ccceda3ef18d8f121938dbe4fdf2b870fe75 Size (pkg-config-0.29.2.tar.gz) = 2016830 bytes SHA1 (patch-configure) = 6847644b9df3e3e2334f7c45bcbb2d3b7734d165 -SHA1 (patch-glib_configure) = 5080a19186a948ba305278cef91ec76a920429e4 +SHA1 (patch-glib_configure) = e31362f713f3634e75e33bf215bf8d6217ccaddb SHA1 (patch-glib_glib_gtimer.c) = ee877a6c148b148a86f9087960863cfa8305bbf7 diff --git a/devel/pkg-config/patches/patch-glib_configure b/devel/pkg-config/patches/patch-glib_configure index 6e35dbb1da435..b6ec857ee9a07 100644 --- a/devel/pkg-config/patches/patch-glib_configure +++ b/devel/pkg-config/patches/patch-glib_configure @@ -1,12 +1,12 @@ -$NetBSD: patch-glib_configure,v 1.4 2015/10/17 09:50:48 tnn Exp $ +$NetBSD: patch-glib_configure,v 1.5 2018/10/25 09:47:19 jperkin Exp $ Fix unportable test construct. Disable Carbon support in the bundled glib. It does not link correctly with the Frameworks and pkg-config should not need any of those features. ---- glib/configure.orig 2015-09-27 14:07:16.000000000 +0000 +--- glib/configure.orig 2017-03-19 14:57:03.000000000 +0000 +++ glib/configure -@@ -5298,6 +5298,7 @@ $as_echo_n "checking for Mac OS X Carbon +@@ -5306,6 +5306,7 @@ $as_echo_n "checking for Mac OS X Carbon cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14,7 +14,7 @@ with the Frameworks and pkg-config should not need any of those features. #include #include -@@ -5885,7 +5886,7 @@ else +@@ -5893,7 +5894,7 @@ else ENABLE_ALWAYS_BUILD_TESTS_FALSE= fi @@ -23,3 +23,47 @@ with the Frameworks and pkg-config should not need any of those features. installed_test_metadir=${datadir}/installed-tests/glib installed_testdir=${libexecdir}/installed-tests/glib +@@ -23334,16 +23335,34 @@ fi + + case $host in + *-*-solaris* ) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SunOS C99" >&5 ++ $as_echo_n "checking for SunOS C99... " >&6; } ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++#if __STDC_VERSION__-0 < 199901L ++#error not C99 ++#endif + +-$as_echo "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h +- +- +-$as_echo "#define _XOPEN_SOURCE 2" >>confdefs.h +- +- +-$as_echo "#define __EXTENSIONS__ 1" >>confdefs.h +- +- ;; ++int main() ++{ ++ return 0; ++} ++_ACEOF ++ if ac_fn_c_try_compile "$LINENO"; then ++ g_have_sunos_c99=yes ++ else ++ g_have_sunos_c99=no ++ fi ++ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $g_have_sunos_c99" >&5 ++ $as_echo "$g_have_sunos_c99" >&6; } ++ if test $g_have_sunos_c99 = yes; then ++ $as_echo "#define _XOPEN_SOURCE 600" >>confdefs.h ++ else ++ $as_echo "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h ++ $as_echo "#define _XOPEN_SOURCE 2" >>confdefs.h ++ fi ++ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h ++ ;; + esac + + if test "$ac_cv_func_statfs" = yes; then : From 45366912d76646b8a6e217614b2d71ec11d96c1a Mon Sep 17 00:00:00 2001 From: jperkin Date: Thu, 18 Oct 2018 15:11:59 +0000 Subject: [PATCH 139/141] gcc8: Add same SunOS mkostemp workaround as others. --- lang/gcc8/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lang/gcc8/Makefile b/lang/gcc8/Makefile index 56bc91ea3860b..1ff1d0ba77ae0 100644 --- a/lang/gcc8/Makefile +++ b/lang/gcc8/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2018/09/15 03:06:15 ryoon Exp $ +# $NetBSD: Makefile,v 1.5 2018/10/18 15:11:59 jperkin Exp $ GCC_PKGNAME= gcc8 .include "version.mk" @@ -123,6 +123,8 @@ MAKE_ENV+= ac_cv_func_newlocale=no MAKE_ENV+= ac_cv_func_uselocale=no .endif +MAKE_ENV.SunOS+= ac_cv_func_mkostemp=no + CONFIGURE_ARGS.DragonFly+= --disable-bootstrap .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386) From 49eacf945f76a21dcbd78648163cde212b7dc41f Mon Sep 17 00:00:00 2001 From: Jonathan Perkin Date: Sat, 27 Oct 2018 00:57:59 +0100 Subject: [PATCH 140/141] Update 'joyent' submodule. --- joyent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joyent b/joyent index ab68edecbf65c..86e019d5c98cb 160000 --- a/joyent +++ b/joyent @@ -1 +1 @@ -Subproject commit ab68edecbf65c1fec5cf50d22faff945019a63ac +Subproject commit 86e019d5c98cb20d80fcdc5a106d6fa93d0c5fe3 From 4e7601b379d3e6ff5905b3f33056b6f58c5e47f4 Mon Sep 17 00:00:00 2001 From: Brad Fish Date: Thu, 27 Dec 2018 17:24:26 +0000 Subject: [PATCH 141/141] Re-enable mod_proxy_html. --- www/apache24/Makefile | 6 ++++-- www/apache24/PLIST | 4 +++- www/apache24/buildlink3.mk | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/www/apache24/Makefile b/www/apache24/Makefile index 30be2ab9b8fbe..e2a884e2d036c 100644 --- a/www/apache24/Makefile +++ b/www/apache24/Makefile @@ -30,6 +30,7 @@ CONFIGURE_ARGS+= --enable-mods-shared=all CONFIGURE_ARGS+= --enable-so CONFIGURE_ARGS+= --with-apr=${BUILDLINK_PREFIX.apr} CONFIGURE_ARGS+= --with-apr-util=${BUILDLINK_PREFIX.apr-util} +CONFIGURE_ARGS+= --with-libxml2=${BUILDLINK_PREFIX.libxml2} CONFIGURE_ARGS+= --with-port=80 CONFIGURE_ENV+= perlbin=${PERL5:Q} CONFIGURE_ENV+= ac_cv_path_RSYNC=/nonexistent @@ -57,11 +58,12 @@ BUILDLINK_API_DEPENDS.apr-util+= apr-util>=1.5.3 .include "../../devel/pcre/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" .include "../../textproc/expat/buildlink3.mk" +.include "../../textproc/libxml2/buildlink3.mk" .include "../../mk/dlopen.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" -CONFIGURE_ARGS+= --disable-xml2enc -CONFIGURE_ARGS+= --disable-proxy-html +CONFIGURE_ARGS+= --enable-xml2enc +CONFIGURE_ARGS+= --enable-proxy-html CONFIGURE_ARGS+= --enable-proxy-fdpass DFLT_APACHE_MODULES+= all diff --git a/www/apache24/PLIST b/www/apache24/PLIST index 16006005a4220..ccdee055d3e96 100644 --- a/www/apache24/PLIST +++ b/www/apache24/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.26 2018/09/24 07:37:47 adam Exp $ +@comment $NetBSD$ bin/ab bin/apxs bin/dbmmanage @@ -150,6 +150,7 @@ lib/httpd/mod_proxy_fcgi.so lib/httpd/mod_proxy_fdpass.so lib/httpd/mod_proxy_ftp.so lib/httpd/mod_proxy_hcheck.so +lib/httpd/mod_proxy_html.so lib/httpd/mod_proxy_http.so lib/httpd/mod_proxy_scgi.so lib/httpd/mod_proxy_uwsgi.so @@ -183,6 +184,7 @@ lib/httpd/mod_usertrack.so lib/httpd/mod_version.so lib/httpd/mod_vhost_alias.so lib/httpd/mod_watchdog.so +lib/httpd/mod_xml2enc.so libexec/cgi-bin/printenv libexec/cgi-bin/printenv.vbs libexec/cgi-bin/printenv.wsf diff --git a/www/apache24/buildlink3.mk b/www/apache24/buildlink3.mk index 3ab33948cae59..5f16026388c6b 100644 --- a/www/apache24/buildlink3.mk +++ b/www/apache24/buildlink3.mk @@ -29,6 +29,7 @@ CONFIGURE_ARGS+= --with-apxs2=${APXS:Q} .include "../../devel/apr/buildlink3.mk" .include "../../devel/apr-util/buildlink3.mk" +.include "../../textproc/libxml2/buildlink3.mk" .endif # APACHE_BUILDLINK3_MK BUILDLINK_TREE+= -apache