Index: head/Mk/bsd.gecko.mk =================================================================== --- head/Mk/bsd.gecko.mk (revision 485459) +++ head/Mk/bsd.gecko.mk (revision 485460) @@ -1,608 +1,584 @@ #-*- tab-width: 4; -*- # ex:ts=4 # # Date created: 12 Nov 2005 # Whom: Michael Johnson # # $FreeBSD$ # # 4 column tabs prevent hair loss and tooth decay! # bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users # and porters to support any available gecko backend without needing to build # many conditional tests. ${USE_GECKO} is the list of backends that your port # can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend. # Users set ${WITH_GECKO} to the list of gecko backends they want on their # system. .if defined(USE_GECKO) .if !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include) Gecko_Pre_Include= bsd.gecko.mk # This file contains some reusable components for mozilla ports. It's of # use primarily to apps from the mozilla project itself (such as Firefox, # Thunderbird, etc.), and probably won't be of use for gecko-based ports # like epiphany, galeon, etc. # # You need to make sure to add USE_GECKO=gecko to for your port can uses # one of these options below. # # Ports can use the following: # # USE_MOZILLA By default, it enables every system dependency # listed in '_ALL_DEPENDS'. If your port doesn't # need one of those then you can use '-' like # 'USE_MOZILLA= -png -vpx' to subtract the # dependencies. Experimental deps use '+' like # 'USE_MOZILLA= +speex +theora'. # # MOZILLA_PLIST_DIRS List of directories to descend into when installing # and creating the plist # # MOZ_PIS_SCRIPTS List of scripts residing in ${FILESDIR} to be # filtered through MOZCONFIG_SED and installed along # with our Pluggable Init Scripts (PIS) # # MOZ_SED_ARGS sed(1) commands through which MOZ_PIS_SCRIPTS are # filtered. There is a default set defined here, so # you probably want to add to MOZ_SED_ARGS rather # than clobber it # # MOZ_OPTIONS configure arguments (added to .mozconfig). If # NOMOZCONFIG is defined, you probably want to set # CONFIGURE_ARGS+=${MOZ_OPTIONS} # # MOZ_MK_OPTIONS The make(1) arguments (added to .mozconfig). If # NOMOZCONFIG is defined, you probably want to set # MAKE_ARGS+=${MOZ_MK_OPTIONS} # # MOZ_EXPORT Environment variables for the build process (added # to .mozconfig). If NOMOZCONFIG is defined, you # probably want to set MAKE_ENV+=${MOZ_EXPORT} # # MOZ_CHROME A variable for the --enable-chrome-format= in # CONFIGURE_ARGS. The default is omni. # # MOZ_TOOLKIT A variable for the --enable-default-toolkit= in # CONFIGURE_ARGS. The default is cairo-gtk2. # # PORT_MOZCONFIG Defaults to ${FILESDIR}/mozconfig.in, but can be # set to a generic mozconfig included with the port # # NOMOZCONFIG Don't drop a customized .mozconfig into the build # directory. Options will have to be specified in # CONFIGURE_ARGS instead # MAINTAINER?= gecko@FreeBSD.org MOZILLA?= ${PORTNAME} MOZILLA_VER?= ${PORTVERSION} MOZILLA_BIN?= ${PORTNAME}-bin MOZILLA_EXEC_NAME?=${MOZILLA} MOZ_RPATH?= ${MOZILLA} USES+= cpe gl gmake iconv localbase perl5 pkgconfig \ python:2.7,build desktop-file-utils CPE_VENDOR?=mozilla USE_GL= gl USE_PERL5= build USE_XORG= x11 xcomposite xdamage xext xfixes xrender xt HAS_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes BUNDLE_LIBS= yes .if ${MOZILLA_VER:R:R} >= 49 USES+= compiler:c++17-lang .else USES+= compiler:c++11-lang .endif .if ${MOZILLA_VER:R:R} >= 50 USE_XORG+= xcb .endif .if ${MOZILLA_VER:R:R} >= 56 LLVM_DEFAULT?= 70 BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} MOZ_EXPORT+= LLVM_CONFIG=llvm-config${LLVM_DEFAULT} # Require newer Clang than what's in base system unless user opted out . if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so) BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} USES:= ${USES:Ncompiler\:*} # XXX avoid warnings . endif .endif .if ${MOZILLA_VER:R:R} >= 61 BUILD_DEPENDS+= ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} MOZ_EXPORT+= PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}" .endif .if ${MOZILLA_VER:R:R} >= 63 BUILD_DEPENDS+= rust-cbindgen>=0.6.2:devel/rust-cbindgen \ node:www/node .endif MOZILLA_SUFX?= none MOZSRC?= ${WRKSRC} PLISTF?= ${WRKDIR}/plist_files MOZ_PIS_DIR?= lib/${MOZILLA}/init.d PORT_MOZCONFIG?= ${FILESDIR}/mozconfig.in MOZCONFIG?= ${WRKSRC}/.mozconfig MOZILLA_PLIST_DIRS?= bin lib share/pixmaps share/applications PKGINSTALL?= ${WRKDIR}/pkg-install PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall PKGINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-install.in PKGDEINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-deinstall.in MOZ_PKGCONFIG_FILES?= ${MOZILLA}-gtkmozembed ${MOZILLA}-js \ ${MOZILLA}-xpcom ${MOZILLA}-plugin MOZ_EXPORT+= ${CONFIGURE_ENV} \ RUSTFLAGS="${RUSTFLAGS}" \ PERL="${PERL}" MOZ_OPTIONS+= --prefix="${PREFIX}" MOZ_MK_OPTIONS+=MOZ_OBJDIR="${BUILD_WRKSRC}" LDFLAGS+= -Wl,--as-needed # Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk .if ${ARCH} == amd64 || ${ARCH} == i386 RUSTFLAGS+= ${CFLAGS:M-march=*:S/-march=/-C target-cpu=/} .else RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/} .endif .if ${MOZILLA_VER:R:R} < 55 && ${OPSYS} == FreeBSD && ${OSVERSION} < 1200032 # use jemalloc 3.0.0 (4.0 for firefox 43+) API for stats/tuning MOZ_EXPORT+= MOZ_JEMALLOC4=1 .if ${MOZILLA_VER:R:R} >= 48 MOZ_OPTIONS+= --enable-jemalloc=4 .endif # Mozilla >= 48 .endif # Mozilla < 55 # Standard depends -_ALL_DEPENDS= cairo event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman soundtouch sqlite vpx +_ALL_DEPENDS= cairo event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman sqlite vpx -.if ${PORT_OPTIONS:MINTEGER_SAMPLES} -MOZ_EXPORT+= MOZ_INTEGER_SAMPLES=1 -_ALL_DEPENDS+= tremor -.else -_ALL_DEPENDS+= vorbis -.endif - .if ! ${PORT_OPTIONS:MBUNDLED_CAIRO} cairo_BUILD_DEPENDS=cairo>=1.12.16_1,2:graphics/cairo cairo_LIB_DEPENDS= libcairo.so:graphics/cairo cairo_MOZ_OPTIONS= --enable-system-cairo .endif event_LIB_DEPENDS= libevent.so:devel/libevent event_MOZ_OPTIONS= --with-system-libevent ffi_LIB_DEPENDS= libffi.so:devel/libffi ffi_MOZ_OPTIONS= --enable-system-ffi .if exists(${FILESDIR}/patch-bug847568) graphite_LIB_DEPENDS= libgraphite2.so:graphics/graphite2 graphite_MOZ_OPTIONS= --with-system-graphite2 harfbuzz_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz harfbuzz_MOZ_OPTIONS= --with-system-harfbuzz .endif hunspell_LIB_DEPENDS= libhunspell-1.6.so:textproc/hunspell hunspell_MOZ_OPTIONS= --enable-system-hunspell icu_LIB_DEPENDS= libicui18n.so:devel/icu icu_MOZ_OPTIONS= --with-system-icu --with-intl-api -jpeg_BUILD_DEPENDS=yasm:devel/yasm jpeg_USES= jpeg jpeg_MOZ_OPTIONS= --with-system-jpeg=${LOCALBASE} nspr_LIB_DEPENDS= libnspr4.so:devel/nspr nspr_MOZ_OPTIONS= --with-system-nspr nss_LIB_DEPENDS= libnss3.so:security/nss nss_MOZ_OPTIONS= --with-system-nss pixman_LIB_DEPENDS= libpixman-1.so:x11/pixman pixman_MOZ_OPTIONS= --enable-system-pixman png_LIB_DEPENDS= libpng.so:graphics/png png_MOZ_OPTIONS= --with-system-png=${LOCALBASE} -.if exists(${FILESDIR}/patch-z-bug517422) -soundtouch_LIB_DEPENDS= libSoundTouch.so:audio/soundtouch -soundtouch_MOZ_OPTIONS= --with-system-soundtouch -.endif - sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 sqlite_MOZ_OPTIONS= --enable-system-sqlite - -.if exists(${FILESDIR}/patch-z-bug517422) -# XXX disabled: update to 1.2.x or review backported fixes -theora_LIB_DEPENDS= libtheora.so:multimedia/libtheora -theora_MOZ_OPTIONS= --with-system-theora - -tremor_LIB_DEPENDS= libogg.so:audio/libogg libvorbisidec.so:audio/libtremor -tremor_MOZ_OPTIONS= --with-system-tremor --with-system-ogg - -vorbis_LIB_DEPENDS= libogg.so:audio/libogg libvorbis.so:audio/libvorbis -vorbis_MOZ_OPTIONS= --with-system-vorbis --with-system-ogg -.endif -vpx_BUILD_DEPENDS= yasm:devel/yasm vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx vpx_MOZ_OPTIONS= --with-system-libvpx .for use in ${USE_MOZILLA} ${use:S/-/_WITHOUT_/}= ${TRUE} .endfor LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 .for dep in ${_ALL_DEPENDS} ${USE_MOZILLA:M+*:S/+//} .if !defined(_WITHOUT_${dep}) BUILD_DEPENDS+= ${${dep}_BUILD_DEPENDS} LIB_DEPENDS+= ${${dep}_LIB_DEPENDS} RUN_DEPENDS+= ${${dep}_RUN_DEPENDS} USES+= ${${dep}_USES} MOZ_OPTIONS+= ${${dep}_MOZ_OPTIONS} .else BUILD_DEPENDS+= ${-${dep}_BUILD_DEPENDS} .endif .endfor # Standard options MOZ_CHROME?= omni MOZ_TOOLKIT?= cairo-gtk3 MOZ_CHANNEL?= ${PKGNAMESUFFIX:Urelease:S/^-//} MOZ_OPTIONS+= \ --enable-chrome-format=${MOZ_CHROME} \ --enable-default-toolkit=${MOZ_TOOLKIT} \ --enable-update-channel=${MOZ_CHANNEL} \ --disable-updater \ --enable-pie # others MOZ_OPTIONS+= --with-system-zlib \ --with-system-bz2 # API keys from www/chromium # http://www.chromium.org/developers/how-tos/api-keys # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. MOZ_EXPORT+= MOZ_GOOGLE_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 .if ${PORT_OPTIONS:MGTK2} MOZ_TOOLKIT= cairo-gtk2 .elif ${PORT_OPTIONS:MWAYLAND} MOZ_TOOLKIT= cairo-gtk3-wayland .endif USES+= gnome .if ${MOZ_TOOLKIT:Mcairo-gtk3*} BUILD_DEPENDS+= gtk3>=3.14.6:x11-toolkits/gtk30 USE_GNOME+= gdkpixbuf2 gtk20 gtk30 .else # gtk2, cairo-gtk2 USE_GNOME+= gdkpixbuf2 gtk20 .endif .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} CFLAGS+= -O3 MOZ_EXPORT+= MOZ_OPTIMIZE_FLAGS="${CFLAGS:M-O*}" MOZ_OPTIONS+= --enable-optimize .else MOZ_OPTIONS+= --disable-optimize . if ${MOZILLA_VER:R:R} >= 56 . if ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld # ld 2.17 barfs on Stylo built with -C opt-level=0 USE_BINUTILS= yes LDFLAGS+= -B${LOCALBASE}/bin . endif . endif .endif .if ${PORT_OPTIONS:MCANBERRA} RUN_DEPENDS+= libcanberra>0:audio/libcanberra .endif .if ${PORT_OPTIONS:MDBUS} BUILD_DEPENDS+= libnotify>0:devel/libnotify LIB_DEPENDS+= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libstartup-notification-1.so:x11/startup-notification MOZ_OPTIONS+= --enable-startup-notification .else MOZ_OPTIONS+= --disable-dbus .endif .if ${PORT_OPTIONS:MFFMPEG} # dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp RUN_DEPENDS+= ffmpeg>=0.8,1:multimedia/ffmpeg .endif .if ${MOZILLA_VER:R:R} < 46 MOZ_OPTIONS+= --disable-gstreamer .endif .if ${PORT_OPTIONS:MGCONF} USE_GNOME+= gconf2 MOZ_OPTIONS+= --enable-gconf .else MOZ_OPTIONS+= --disable-gconf .endif .if ${PORT_OPTIONS:MLIBPROXY} LIB_DEPENDS+= libproxy.so:net/libproxy MOZ_OPTIONS+= --enable-libproxy .else MOZ_OPTIONS+= --disable-libproxy .endif .if ${PORT_OPTIONS:MALSA} LIB_DEPENDS+= libasound.so:audio/alsa-lib RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins RUN_DEPENDS+= alsa-lib>=1.1.1_1:audio/alsa-lib MOZ_OPTIONS+= --enable-alsa .endif .if ${PORT_OPTIONS:MJACK} BUILD_DEPENDS+= ${LOCALBASE}/include/jack/jack.h:audio/jack MOZ_OPTIONS+= --enable-jack .endif .if ${PORT_OPTIONS:MPULSEAUDIO} BUILD_DEPENDS+= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio MOZ_OPTIONS+= --enable-pulseaudio .else MOZ_OPTIONS+= --disable-pulseaudio .endif .if ${PORT_OPTIONS:MSNDIO} LIB_DEPENDS+= libsndio.so:audio/sndio post-patch-SNDIO-on: @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ ${MOZSRC}/media/libcubeb/src/moz.build \ ${MOZSRC}/toolkit/library/moz.build . for tests in tests gtest @if [ -f "${MOZSRC}/media/libcubeb/${tests}/moz.build" ]; then \ ${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ ${MOZSRC}/media/libcubeb/${tests}/moz.build; \ fi . endfor @if [ -f "${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi" ]; then \ ${REINPLACE_CMD} -e 's|OS==\"openbsd\"|OS==\"${OPSYS:tl}\"|g' \ ${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi; \ fi @if [ -f "${MOZSRC}/media/webrtc/signaling/test/common.build" ]; then \ ${ECHO_CMD} "OS_LIBS += ['sndio']" >> \ ${MOZSRC}/media/webrtc/signaling/test/common.build; \ fi .endif .if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54 BUILD_DEPENDS+= ${RUST_PORT:T}>=1.28:${RUST_PORT} RUST_PORT?= lang/rust . if ${MOZILLA_VER:R:R} < 54 MOZ_OPTIONS+= --enable-rust . endif .else MOZ_OPTIONS+= --disable-rust .endif .if ${PORT_OPTIONS:MDEBUG} MOZ_OPTIONS+= --enable-debug --disable-release STRIP= # ports/184285 .else MOZ_OPTIONS+= --disable-debug --disable-debug-symbols --enable-release . if ${MOZILLA_VER:R:R} >= 56 && (${ARCH:Maarch64} || ${MACHINE_CPU:Msse2}) MOZ_OPTIONS+= --enable-rust-simd . endif .endif .if ${PORT_OPTIONS:MDTRACE} MOZ_OPTIONS+= --enable-dtrace \ --disable-gold STRIP= .else MOZ_OPTIONS+= --disable-dtrace .endif .if ${PORT_OPTIONS:MPROFILE} MOZ_OPTIONS+= --enable-profiling STRIP= .else MOZ_OPTIONS+= --disable-profiling .endif .if ${PORT_OPTIONS:MTEST} USE_XORG+= xscrnsaver MOZ_OPTIONS+= --enable-tests .else MOZ_OPTIONS+= --disable-tests .endif .if !defined(STRIP) || ${STRIP} == "" MOZ_OPTIONS+= --disable-strip --disable-install-strip .else MOZ_OPTIONS+= --enable-strip --enable-install-strip .endif # _MAKE_JOBS is only available after bsd.port.post.mk, thus cannot be # used in .mozconfig. And client.mk automatically uses -jN where N # is what multiprocessing.cpu_count() returns. .if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE) MAKE_JOBS_NUMBER= 1 .endif .if defined(MAKE_JOBS_NUMBER) MOZ_MAKE_FLAGS+=-j${MAKE_JOBS_NUMBER} .endif .if defined(MOZ_MAKE_FLAGS) MOZ_MK_OPTIONS+=MOZ_MAKE_FLAGS="${MOZ_MAKE_FLAGS}" .endif MOZ_SED_ARGS+= -e's|@CPPFLAGS@|${CPPFLAGS}|g' \ -e 's|@CFLAGS@|${CFLAGS}|g' \ -e 's|@LDFLAGS@|${LDFLAGS}|g' \ -e 's|@LIBS@|${LIBS}|g' \ -e 's|@LOCALBASE@|${LOCALBASE}|g' \ -e 's|@PERL@|${PERL}|g' \ -e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g' \ -e 's|%%PREFIX%%|${PREFIX}|g' \ -e 's|%%CFLAGS%%|${CFLAGS}|g' \ -e 's|%%LDFLAGS%%|${LDFLAGS}|g' \ -e 's|%%LIBS%%|${LIBS}|g' \ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ -e 's|%%PERL%%|${PERL}|g' \ -e 's|%%MOZILLA%%|${MOZILLA}|g' \ -e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g' \ -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g' MOZCONFIG_SED?= ${SED} ${MOZ_SED_ARGS} .if ${ARCH} == amd64 . if ${USE_MOZILLA:M-nss} USE_BINUTILS= # intel-gcm.s CFLAGS+= -B${LOCALBASE}/bin LDFLAGS+= -B${LOCALBASE}/bin . endif .elif ${ARCH:Mpowerpc*} . if ${ARCH} == "powerpc64" MOZ_EXPORT+= UNAME_m="${ARCH}" CFLAGS+= -mminimal-toc . endif .elif ${ARCH} == "sparc64" # Work around miscompilation/mislinkage of the sCanonicalVTable hacks. MOZ_OPTIONS+= --disable-v1-string-abi .endif .else # bsd.port.post.mk post-patch: gecko-post-patch gecko-moz-pis-patch gecko-post-patch: .if exists(${PKGINSTALL_INC}) @${MOZCONFIG_SED} < ${PKGINSTALL_INC} > ${PKGINSTALL} .endif .if exists(${PKGDEINSTALL_INC}) @${MOZCONFIG_SED} < ${PKGDEINSTALL_INC} > ${PKGDEINSTALL} .endif @${RM} ${MOZCONFIG} .if !defined(NOMOZCONFIG) @if [ -e ${PORT_MOZCONFIG} ] ; then \ ${MOZCONFIG_SED} < ${PORT_MOZCONFIG} >> ${MOZCONFIG} ; \ fi .for arg in ${MOZ_OPTIONS} @${ECHO_CMD} ac_add_options ${arg:Q} >> ${MOZCONFIG} .endfor .for arg in ${MOZ_MK_OPTIONS} @${ECHO_CMD} mk_add_options ${arg:Q} >> ${MOZCONFIG} .endfor .for var in ${MOZ_EXPORT} @${ECHO_CMD} export ${var:Q} >> ${MOZCONFIG} .endfor .endif # .if !defined(NOMOZCONFIG) .if exists(${MOZSRC}/build/unix/mozilla-config.in) @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \ s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \ s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \ ${MOZSRC}/build/unix/mozilla-config.in .endif .if ${USE_MOZILLA:M-nspr} @${ECHO_MSG} "===> Applying NSPR patches" @for i in ${.CURDIR}/../../devel/nspr/files/patch-*; do \ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/nsprpub < $$i; \ done .endif .if ${USE_MOZILLA:M-nss} @${ECHO_MSG} "===> Applying NSS patches" @for i in ${.CURDIR}/../../security/nss/files/patch-*; do \ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/security/nss < $$i; \ done .endif @for f in \ ${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \ ${WRKSRC}/directory/c-sdk/configure \ ${MOZSRC}/security/coreconf/FreeBSD.mk \ ${MOZSRC}/js/src/Makefile.in \ ${MOZSRC}/js/src/configure \ ${MOZSRC}/configure \ ${WRKSRC}/configure; do \ if [ -f $$f ] ; then \ ${REINPLACE_CMD} -Ee 's|-lc_r|-pthread|g ; \ s|-l?pthread|-pthread|g ; \ s|echo aout|echo elf|g ; \ s|/usr/X11R6|${LOCALBASE}|g' \ $$f; \ fi; \ done @if [ -f ${WRKSRC}/config/baseconfig.mk ] ; then \ ${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ ${WRKSRC}/config/baseconfig.mk; \ fi @${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ ${MOZSRC}/config/baseconfig.mk @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \ s|%%LOCALBASE%%|${LOCALBASE}|g' \ ${MOZSRC}/build/unix/run-mozilla.sh @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \ s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \ ${MOZSRC}/xpcom/io/SpecialSystemDirectory.cpp @${REINPLACE_CMD} -e 's|/etc|${PREFIX}&|g' \ ${MOZSRC}/xpcom/build/nsXPCOMPrivate.h @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ -e 's|mozilla/plugins|browser_plugins|g' \ -e 's|share/mozilla/extensions|lib/xpi|g' \ ${MOZSRC}/xpcom/io/nsAppFileLocationProvider.cpp \ ${MOZSRC}/toolkit/xre/nsXREDirProvider.cpp @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${MOZSRC}/extensions/spellcheck/hunspell/*/mozHunspell.cpp # handles mozilla pis scripts. gecko-moz-pis-patch: .for moz in ${MOZ_PIS_SCRIPTS} @${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz} .endfor pre-configure: gecko-pre-configure gecko-pre-configure: .if ${PORT_OPTIONS:MWAYLAND} # .if !exists() evaluates too early before gtk3 has a chance to be installed @if ! pkg-config --exists gtk+-wayland-3.0; then \ ${ECHO_MSG} "${PKGNAME}: Needs gtk3 with WAYLAND support enabled."; \ ${FALSE}; \ fi .endif pre-install: gecko-moz-pis-pre-install post-install-script: gecko-create-plist gecko-create-plist: # Create the plist ${RM} ${PLISTF} .for dir in ${MOZILLA_PLIST_DIRS} @cd ${STAGEDIR}${PREFIX}/${dir} && ${FIND} -H -s * ! -type d | \ ${SED} -e 's|^|${dir}/|' >> ${PLISTF} .endfor ${CAT} ${PLISTF} | ${SORT} >> ${TMPPLIST} gecko-moz-pis-pre-install: .if defined(MOZ_PIS_SCRIPTS) ${MKDIR} ${STAGEDIR}${PREFIX}/${MOZ_PIS_DIR} .for moz in ${MOZ_PIS_SCRIPTS} ${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${STAGEDIR}${PREFIX}/${MOZ_PIS_DIR} .endfor .endif .endif .endif # HERE THERE BE TACOS -- adamw Index: head/mail/thunderbird/Makefile =================================================================== --- head/mail/thunderbird/Makefile (revision 485459) +++ head/mail/thunderbird/Makefile (revision 485460) @@ -1,82 +1,81 @@ # Created by: Joe Marcus Clarke # $FreeBSD$ PORTNAME= thunderbird DISTVERSION= 60.3.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Mozilla Thunderbird is standalone mail and news that stands above BUILD_DEPENDS= nspr>=4.19:devel/nspr \ nss>=3.36.1:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.7.6:print/harfbuzz \ graphite2>=1.3.11:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.22.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip -# soundtouch>=1.9.0:audio/soundtouch \ SSP_UNSAFE= yes USE_GECKO= gecko -USE_MOZILLA= -cairo -soundtouch +USE_MOZILLA= -cairo USES= tar:xz MOZ_OPTIONS= --enable-application=comm/mail --enable-official-branding MOZ_MK_OPTIONS= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1 MOZ_EXPORT= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1 MOZ_PKGCONFIG_FILES= PORTNAME_ICON= ${MOZILLA}.png PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome OPTIONS_DEFINE= LIGHTNING OPTIONS_DEFAULT=CANBERRA LIGHTNING OPTIONS_EXCLUDE=BUNDLED_CAIRO .include "${.CURDIR}/../../www/firefox/Makefile.options" .include .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar .else MOZ_OPTIONS+= --disable-calendar .endif post-extract: @${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|;s|@MOZILLA@|${MOZILLA}|' \ <${FILESDIR}/thunderbird.desktop.in >${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/comm/mail/app/nsMailApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) port-pre-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/defaults post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop ${STAGEDIR}${PREFIX}/share/applications ${LN} -sf ${PORTNAME_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME_ICON} .include Index: head/mail/thunderbird/files/patch-z-bug517422 =================================================================== --- head/mail/thunderbird/files/patch-z-bug517422 (revision 485459) +++ head/mail/thunderbird/files/patch-z-bug517422 (nonexistent) @@ -1,496 +0,0 @@ -# Allow more config/external/ libs built against system-wide version. - -diff --git build/moz.configure/old.configure build/moz.configure/old.configure -index d0fe7accffe6..c46bdd023225 100644 ---- build/moz.configure/old.configure -+++ build/moz.configure/old.configure -@@ -285,7 +285,12 @@ def old_configure_options(*options): - '--with-system-libvpx', - '--with-system-nspr', - '--with-system-nss', -+ '--with-system-ogg', - '--with-system-png', -+ '--with-system-soundtouch', -+ '--with-system-theora', -+ '--with-system-tremor', -+ '--with-system-vorbis', - '--with-system-zlib', - '--with-thumb', - '--with-thumb-interwork', -diff --git config/external/moz.build config/external/moz.build -index 029ff8504795..2c3a40caa1ba 100644 ---- config/external/moz.build -+++ config/external/moz.build -@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2'] - - external_dirs += ['modules/xz-embedded'] - --if CONFIG['MOZ_VORBIS']: -+if not CONFIG['MOZ_SYSTEM_OGG']: -+ external_dirs += ['media/libogg'] -+ -+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: - external_dirs += ['media/libvorbis'] - --if CONFIG['MOZ_TREMOR']: -+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: - external_dirs += ['media/libtremor'] - -+if not CONFIG['MOZ_SYSTEM_THEORA']: -+ external_dirs += ['media/libtheora'] -+ -+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ external_dirs += ['media/libsoundtouch'] -+ - if CONFIG['MOZ_WEBM_ENCODER']: - external_dirs += ['media/libmkv'] - -@@ -51,11 +60,8 @@ external_dirs += [ - 'media/kiss_fft', - 'media/libcubeb', - 'media/libnestegg', -- 'media/libogg', - 'media/libopus', -- 'media/libtheora', - 'media/libspeex_resampler', -- 'media/libsoundtouch', - 'media/mp4parse-rust', - 'media/psshparser' - ] -diff --git config/system-headers.mozbuild config/system-headers.mozbuild -index 09d3db5ca8c0..c6533b84c470 100644 ---- config/system-headers.mozbuild -+++ config/system-headers.mozbuild -@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - 'harfbuzz/hb.h', - ] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ system_headers += [ -+ 'ogg/ogg.h', -+ 'ogg/os_types.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ system_headers += [ -+ 'theora/theoradec.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ system_headers += [ -+ 'vorbis/codec.h', -+ 'vorbis/vorbisenc.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ system_headers += [ -+ 'tremor/ivorbiscodec.h', -+ ] -+ - if CONFIG['MOZ_SYSTEM_LIBVPX']: - system_headers += [ - 'vpx_mem/vpx_mem.h', -diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp -index 93ecda4319af..ff674c64ea07 100644 ---- dom/media/AudioStream.cpp -+++ dom/media/AudioStream.cpp -@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource) - : mMonitor("AudioStream") - , mChannels(0) - , mOutChannels(0) -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - , mTimeStretcher(nullptr) -+#endif - , mDumpFile(nullptr) - , mState(INITIALIZED) - , mDataSource(aSource) -@@ -142,9 +144,11 @@ AudioStream::~AudioStream() - if (mDumpFile) { - fclose(mDumpFile); - } -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - if (mTimeStretcher) { - soundtouch::destroySoundTouchObj(mTimeStretcher); - } -+#endif - #if defined(XP_WIN) - if (XRE_IsContentProcess()) { - audio::AudioNotificationReceiver::Unregister(this); -@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() - { - mMonitor.AssertCurrentThreadOwns(); - if (!mTimeStretcher) { -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ mTimeStretcher = new soundtouch::SoundTouch(); -+#else - mTimeStretcher = soundtouch::createSoundTouchObj(); -+#endif - mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); - mTimeStretcher->setChannels(mOutChannels); - mTimeStretcher->setPitch(1.0); -diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 7dc1f60f95cc..67d402a4117f 100644 ---- dom/media/AudioStream.h -+++ dom/media/AudioStream.h -@@ -15,7 +15,11 @@ - #include "mozilla/TimeStamp.h" - #include "mozilla/UniquePtr.h" - #include "CubebUtils.h" -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "soundtouch/SoundTouch.h" -+#else - #include "soundtouch/SoundTouchFactory.h" -+#endif - - #if defined(XP_WIN) - #include "mozilla/audio/AudioNotificationReceiver.h" -@@ -297,7 +301,11 @@ private: - uint32_t mChannels; - uint32_t mOutChannels; - AudioClock mAudioClock; -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ nsAutoPtr mTimeStretcher; -+#else - soundtouch::SoundTouch* mTimeStretcher; -+#endif - - // Output file for dumping audio - FILE* mDumpFile; -diff --git dom/media/moz.build dom/media/moz.build -index 86b051c58d33..fb6186dce78b 100644 ---- dom/media/moz.build -+++ dom/media/moz.build -@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']: - - DEFINES['MOZILLA_INTERNAL_API'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] -+ - if CONFIG['MOZ_ANDROID_HLS_SUPPORT']: - DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True - -diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -index 078f6ea5ef60..c600db067539 100644 ---- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -@@ -15,9 +15,13 @@ - #include - #endif - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "nsXPCOMPrivate.h" // for XUL_DLL -+#else - // We use a known symbol located in lgpllibs to determine its location. - // soundtouch happens to be always included in lgpllibs - #include "soundtouch/SoundTouch.h" -+#endif - - namespace mozilla { - -@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init() - - sLinkStatus = LinkStatus_FAILED; - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ // We retrieve the path of the XUL library as this is where mozavcodec and -+ // mozavutil libs are located. -+ char* path = -+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); -+#else - // We retrieve the path of the lgpllibs library as this is where mozavcodec - // and mozavutil libs are located. - PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs"); -@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init() - PathString path = - GetLibraryFilePathname(lgpllibsname.get(), - (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); -+#endif - if (path.IsEmpty()) { - return false; - } -diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA -index 6213fdc7770c..ada799916a17 100644 ---- media/libogg/README_MOZILLA -+++ media/libogg/README_MOZILLA -@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script. - The int-types.patch address a bug that config_types.h generated from - Linux platform can't be used on OpenSolaris directly see Mozilla bug - 449754 -+ -+The in-tree copy may be omitted during build by --with-system-ogg. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA -index dc0dbe8f6886..ea73b55e3e39 100644 ---- media/libsoundtouch/README_MOZILLA -+++ media/libsoundtouch/README_MOZILLA -@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree, - using the script `update.sh`. Some changes have been made to the files, using - the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. - -+The in-tree copy may be omitted during build by --with-system-soundtouch. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h -index 0af2fe618311..10973564e7a4 100644 ---- media/libsoundtouch/src/soundtouch_perms.h -+++ media/libsoundtouch/src/soundtouch_perms.h -@@ -12,7 +12,9 @@ - - #pragma GCC visibility push(default) - #include "SoundTouch.h" -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - #include "SoundTouchFactory.h" -+#endif - #pragma GCC visibility pop - - #endif // MOZILLA_SOUNDTOUCH_PERMS_H -diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA -index d48dbfa6f63d..6f30f250220e 100644 ---- media/libtheora/README_MOZILLA -+++ media/libtheora/README_MOZILLA -@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh, - the addition/update of Makefile.in files for the Mozilla build system. - - The subversion revision used was r17578. -+ -+The in-tree copy may be omitted during build by --with-system-theora. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtheora/moz.build media/libtheora/moz.build -index c7f85eebff95..aae7b814adb5 100644 ---- media/libtheora/moz.build -+++ media/libtheora/moz.build -@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' - # The encoder is currently not included. - DEFINES['THEORA_DISABLE_ENCODE'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ - # Suppress warnings in third-party code. - if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'): - CFLAGS += ['-Wno-type-limits'] -diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA -index ee67b53a05c5..81c971773d55 100644 ---- media/libtremor/README_MOZILLA -+++ media/libtremor/README_MOZILLA -@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system. - - The upstream release used was http://svn.xiph.org/trunk/Tremor/ - The subversion revision used was r17547. -+ -+The in-tree copy may be omitted during build by --with-system-tremor. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtremor/moz.build media/libtremor/moz.build -index 83afc8e37c64..71ef159da3d7 100644 ---- media/libtremor/moz.build -+++ media/libtremor/moz.build -@@ -9,3 +9,5 @@ with Files('*'): - - DIRS += ['include/tremor', 'lib'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA -index 1211ac074b33..eb31084aed25 100644 ---- media/libvorbis/README_MOZILLA -+++ media/libvorbis/README_MOZILLA -@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git - - Some files are renamed during the copy to prevent clashes with object - file names with other Mozilla libraries. -+ -+The in-tree copy may be omitted during build by --with-system-vorbis. -+Keep version in old-configure.in in sync on updates. -diff --git media/libvorbis/moz.build media/libvorbis/moz.build -index adf393782cc9..923b76231107 100644 ---- media/libvorbis/moz.build -+++ media/libvorbis/moz.build -@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' - # Suppress warnings in third-party code. - if CONFIG['CC_TYPE'] in ('clang', 'gcc'): - CFLAGS += ['-Wno-uninitialized'] -+ -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git old-configure.in old-configure.in -index b614eef85c89..85f9099dba4d 100644 ---- old-configure.in -+++ old-configure.in -@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then - fi - fi # COMPILE_ENVIRONMENT - -+dnl ======================================================== -+dnl Check for libogg -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-ogg, -+[ --with-system-ogg Use system libogg (located with pkgconfig)], -+MOZ_SYSTEM_OGG=1, -+MOZ_SYSTEM_OGG=) -+ -+if test -n "$MOZ_SYSTEM_OGG"; then -+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3) -+ -+ _SAVE_LIBS=$LIBS -+ LIBS="$LIBS $MOZ_OGG_LIBS" -+ AC_CHECK_FUNC(ogg_set_mem_functions, [], -+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) -+ LIBS=$_SAVE_LIBS -+fi -+ -+AC_SUBST(MOZ_SYSTEM_OGG) -+ -+dnl ======================================================== -+dnl Check for libvorbis -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-vorbis, -+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], -+MOZ_SYSTEM_VORBIS=1, -+MOZ_SYSTEM_VORBIS=) -+ -+if test -n "$MOZ_SYSTEM_VORBIS"; then -+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_VORBIS) -+ -+dnl ======================================================== -+dnl Check for integer-only libvorbis aka tremor -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-tremor, -+[ --with-system-tremor Use system libtremor (located with pkgconfig)], -+MOZ_SYSTEM_TREMOR=1, -+MOZ_SYSTEM_TREMOR=) -+ -+if test -n "$MOZ_SYSTEM_TREMOR"; then -+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_TREMOR) -+ -+dnl ======================================================== -+dnl Check for libtheora -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-theora, -+[ --with-system-theora Use system libtheora (located with pkgconfig)], -+MOZ_SYSTEM_THEORA=1, -+MOZ_SYSTEM_THEORA=) -+ -+if test -n "$MOZ_SYSTEM_THEORA"; then -+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_THEORA) -+ -+dnl ======================================================== -+dnl Check for libSoundTouch -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-soundtouch, -+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], -+MOZ_SYSTEM_SOUNDTOUCH=1, -+MOZ_SYSTEM_SOUNDTOUCH=) -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) -+ -+ AC_LANG_SAVE -+ AC_LANG_CPLUSPLUS -+ _SAVE_CXXFLAGS=$CXXFLAGS -+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" -+ AC_CACHE_CHECK(for soundtouch sample type, -+ ac_cv_soundtouch_sample_type, -+ [AC_TRY_COMPILE([#include -+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES -+ #error soundtouch expects float samples -+ #endif], -+ [], -+ [ac_cv_soundtouch_sample_type=short], -+ [ac_cv_soundtouch_sample_type=float])]) -+ CXXFLAGS=$_SAVE_CXXFLAGS -+ AC_LANG_RESTORE -+ -+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ -+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then -+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) -+ fi -+fi -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) -+fi -+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) -+ - dnl system libvpx Support - dnl ======================================================== - MOZ_ARG_WITH_BOOL(system-libvpx, -diff --git toolkit/library/moz.build toolkit/library/moz.build -index 079a575adec3..514d901195de 100644 ---- toolkit/library/moz.build -+++ toolkit/library/moz.build -@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - if CONFIG['MOZ_SYSTEM_HUNSPELL']: - OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] -+ - if CONFIG['MOZ_SYSTEM_LIBEVENT']: - OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] - -diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp -index c083ab4bc4f3..62b917043a2c 100644 ---- xpcom/build/XPCOMInit.cpp -+++ xpcom/build/XPCOMInit.cpp -@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); - - #include "mozilla/ipc/GeckoChildProcessHost.h" - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - #include "ogg/ogg.h" -+#endif - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - #if defined(HAVE_STDINT_H) - // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in -@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult, - // this oddness. - mozilla::SetICUMemoryFunctions(); - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - // Do the same for libogg. - ogg_set_mem_functions(OggReporter::CountingMalloc, - OggReporter::CountingCalloc, - OggReporter::CountingRealloc, - OggReporter::CountingFree); -+#endif - - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - // And for VPX. Property changes on: head/mail/thunderbird/files/patch-z-bug517422 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/thunderbird/files/patch-sample-type =================================================================== --- head/mail/thunderbird/files/patch-sample-type (revision 485459) +++ head/mail/thunderbird/files/patch-sample-type (nonexistent) @@ -1,13 +0,0 @@ -# Let ports handle default sample type - ---- old-configure.in~ -+++ old-configure.in -@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o - dnl (regarless of the CPU architecture, because audio - dnl backends for those platforms don't support floats. We also - dnl use integers on ARM with other OS, because it's more efficient. --if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then -+if test -n "$MOZ_INTEGER_SAMPLES"; then - MOZ_SAMPLE_TYPE_S16=1 - AC_DEFINE(MOZ_SAMPLE_TYPE_S16) - AC_SUBST(MOZ_SAMPLE_TYPE_S16) Property changes on: head/mail/thunderbird/files/patch-sample-type ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 485459) +++ head/www/firefox/Makefile (revision 485460) @@ -1,66 +1,65 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 63.0.3 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build4/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.19:devel/nspr \ nss>=3.39:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.8.8:print/harfbuzz \ graphite2>=1.3.12:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.24.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip -# soundtouch>=1.9.0:audio/soundtouch \ USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -cairo -hunspell -soundtouch +USE_MOZILLA= -cairo -hunspell USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding OPTIONS_EXCLUDE= BUNDLED_CAIRO DTRACE .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox/Makefile.options =================================================================== --- head/www/firefox/Makefile.options (revision 485459) +++ head/www/firefox/Makefile.options (revision 485460) @@ -1,33 +1,30 @@ # -*- makefile-bsdmake -*- OPTIONS_DEFINE+= BUNDLED_CAIRO CANBERRA DBUS DEBUG DTRACE FFMPEG GCONF \ - INTEGER_SAMPLES LIBPROXY \ - OPTIMIZED_CFLAGS PROFILE TEST WAYLAND + LIBPROXY OPTIMIZED_CFLAGS PROFILE TEST WAYLAND OPTIONS_DEFAULT+= DBUS FFMPEG GCONF OPTIMIZED_CFLAGS PROFILE WAYLAND \ - ${OPTIONS_MULTI_AUDIO:NSNDIO} \ - ${MACHINE_CPU:Msoftfp:C/.+/INTEGER_SAMPLES/} + ${OPTIONS_MULTI_AUDIO:NSNDIO} OPTIONS_MULTI+= AUDIO OPTIONS_MULTI_AUDIO= ALSA JACK PULSEAUDIO SNDIO # WebRTC legacy audio library only supports ALSA and PulseAudio JACK_IMPLIES= ALSA # dragonfly, sparc64, riscv .if !exists(/usr/sbin/dtrace) OPTIONS_EXCLUDE+= DTRACE .endif # opensolaris/lib/libdtrace/common/dt_link.c: # not implemented # failed to allocate space for probe OPTIONS_DEFAULT_amd64+= DTRACE OPTIONS_DEFAULT_i386+= DTRACE BUNDLED_CAIRO_DESC?= Use bundled fork of cairo-1.9.5 CANBERRA_DESC?= Sound theme alerts -INTEGER_SAMPLES_DESC?= Integer audio sample format LIBPROXY_DESC?= Proxy support via libproxy LIGHTNING_DESC?= Calendar extension RUST_DESC?= Build with components written in Rust language Index: head/www/firefox/files/patch-z-bug517422 =================================================================== --- head/www/firefox/files/patch-z-bug517422 (revision 485459) +++ head/www/firefox/files/patch-z-bug517422 (nonexistent) @@ -1,496 +0,0 @@ -# Allow more config/external/ libs built against system-wide version. - -diff --git build/moz.configure/old.configure build/moz.configure/old.configure -index d0fe7accffe6..c46bdd023225 100644 ---- build/moz.configure/old.configure -+++ build/moz.configure/old.configure -@@ -285,7 +285,12 @@ def old_configure_options(*options): - '--with-system-libvpx', - '--with-system-nspr', - '--with-system-nss', -+ '--with-system-ogg', - '--with-system-png', -+ '--with-system-soundtouch', -+ '--with-system-theora', -+ '--with-system-tremor', -+ '--with-system-vorbis', - '--with-system-zlib', - '--with-thumb', - '--with-thumb-interwork', -diff --git config/external/moz.build config/external/moz.build -index 029ff8504795..2c3a40caa1ba 100644 ---- config/external/moz.build -+++ config/external/moz.build -@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2'] - - external_dirs += ['modules/xz-embedded'] - --if CONFIG['MOZ_VORBIS']: -+if not CONFIG['MOZ_SYSTEM_OGG']: -+ external_dirs += ['media/libogg'] -+ -+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: - external_dirs += ['media/libvorbis'] - --if CONFIG['MOZ_TREMOR']: -+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: - external_dirs += ['media/libtremor'] - -+if not CONFIG['MOZ_SYSTEM_THEORA']: -+ external_dirs += ['media/libtheora'] -+ -+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ external_dirs += ['media/libsoundtouch'] -+ - if CONFIG['MOZ_WEBM_ENCODER']: - external_dirs += ['media/libmkv'] - -@@ -51,11 +60,8 @@ external_dirs += [ - 'media/kiss_fft', - 'media/libcubeb', - 'media/libnestegg', -- 'media/libogg', - 'media/libopus', -- 'media/libtheora', - 'media/libspeex_resampler', -- 'media/libsoundtouch', - 'media/mp4parse-rust', - 'media/psshparser' - ] -diff --git config/system-headers.mozbuild config/system-headers.mozbuild -index 09d3db5ca8c0..c6533b84c470 100644 ---- config/system-headers.mozbuild -+++ config/system-headers.mozbuild -@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - 'harfbuzz/hb.h', - ] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ system_headers += [ -+ 'ogg/ogg.h', -+ 'ogg/os_types.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ system_headers += [ -+ 'theora/theoradec.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ system_headers += [ -+ 'vorbis/codec.h', -+ 'vorbis/vorbisenc.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ system_headers += [ -+ 'tremor/ivorbiscodec.h', -+ ] -+ - if CONFIG['MOZ_SYSTEM_LIBVPX']: - system_headers += [ - 'vpx_mem/vpx_mem.h', -diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp -index 93ecda4319af..ff674c64ea07 100644 ---- dom/media/AudioStream.cpp -+++ dom/media/AudioStream.cpp -@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource) - : mMonitor("AudioStream") - , mChannels(0) - , mOutChannels(0) -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - , mTimeStretcher(nullptr) -+#endif - , mDumpFile(nullptr) - , mState(INITIALIZED) - , mDataSource(aSource) -@@ -142,9 +144,11 @@ AudioStream::~AudioStream() - if (mDumpFile) { - fclose(mDumpFile); - } -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - if (mTimeStretcher) { - soundtouch::destroySoundTouchObj(mTimeStretcher); - } -+#endif - #if defined(XP_WIN) - if (XRE_IsContentProcess()) { - audio::AudioNotificationReceiver::Unregister(this); -@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() - { - mMonitor.AssertCurrentThreadOwns(); - if (!mTimeStretcher) { -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ mTimeStretcher = new soundtouch::SoundTouch(); -+#else - mTimeStretcher = soundtouch::createSoundTouchObj(); -+#endif - mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); - mTimeStretcher->setChannels(mOutChannels); - mTimeStretcher->setPitch(1.0); -diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 7dc1f60f95cc..67d402a4117f 100644 ---- dom/media/AudioStream.h -+++ dom/media/AudioStream.h -@@ -16,7 +16,11 @@ - #include "nsAutoPtr.h" - #include "nsCOMPtr.h" - #include "nsThreadUtils.h" -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "soundtouch/SoundTouch.h" -+#else - #include "soundtouch/SoundTouchFactory.h" -+#endif - - #if defined(XP_WIN) - #include "mozilla/audio/AudioNotificationReceiver.h" -@@ -297,7 +301,11 @@ private: - uint32_t mChannels; - uint32_t mOutChannels; - AudioClock mAudioClock; -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ nsAutoPtr mTimeStretcher; -+#else - soundtouch::SoundTouch* mTimeStretcher; -+#endif - - // Output file for dumping audio - FILE* mDumpFile; -diff --git dom/media/moz.build dom/media/moz.build -index 86b051c58d33..fb6186dce78b 100644 ---- dom/media/moz.build -+++ dom/media/moz.build -@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']: - - DEFINES['MOZILLA_INTERNAL_API'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] -+ - if CONFIG['MOZ_ANDROID_HLS_SUPPORT']: - DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True - -diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -index 078f6ea5ef60..c600db067539 100644 ---- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -@@ -15,9 +15,13 @@ - #include - #endif - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "nsXPCOMPrivate.h" // for XUL_DLL -+#else - // We use a known symbol located in lgpllibs to determine its location. - // soundtouch happens to be always included in lgpllibs - #include "soundtouch/SoundTouch.h" -+#endif - - namespace mozilla { - -@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init() - - sLinkStatus = LinkStatus_FAILED; - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ // We retrieve the path of the XUL library as this is where mozavcodec and -+ // mozavutil libs are located. -+ char* path = -+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); -+#else - // We retrieve the path of the lgpllibs library as this is where mozavcodec - // and mozavutil libs are located. - PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs"); -@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init() - PathString path = - GetLibraryFilePathname(lgpllibsname.get(), - (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); -+#endif - if (path.IsEmpty()) { - return false; - } -diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA -index 6213fdc7770c..ada799916a17 100644 ---- media/libogg/README_MOZILLA -+++ media/libogg/README_MOZILLA -@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script. - The int-types.patch address a bug that config_types.h generated from - Linux platform can't be used on OpenSolaris directly see Mozilla bug - 449754 -+ -+The in-tree copy may be omitted during build by --with-system-ogg. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA -index dc0dbe8f6886..ea73b55e3e39 100644 ---- media/libsoundtouch/README_MOZILLA -+++ media/libsoundtouch/README_MOZILLA -@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree, - using the script `update.sh`. Some changes have been made to the files, using - the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. - -+The in-tree copy may be omitted during build by --with-system-soundtouch. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h -index 0af2fe618311..10973564e7a4 100644 ---- media/libsoundtouch/src/soundtouch_perms.h -+++ media/libsoundtouch/src/soundtouch_perms.h -@@ -12,7 +12,9 @@ - - #pragma GCC visibility push(default) - #include "SoundTouch.h" -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - #include "SoundTouchFactory.h" -+#endif - #pragma GCC visibility pop - - #endif // MOZILLA_SOUNDTOUCH_PERMS_H -diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA -index d48dbfa6f63d..6f30f250220e 100644 ---- media/libtheora/README_MOZILLA -+++ media/libtheora/README_MOZILLA -@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh, - the addition/update of Makefile.in files for the Mozilla build system. - - The subversion revision used was r17578. -+ -+The in-tree copy may be omitted during build by --with-system-theora. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtheora/moz.build media/libtheora/moz.build -index c7f85eebff95..aae7b814adb5 100644 ---- media/libtheora/moz.build -+++ media/libtheora/moz.build -@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' - # The encoder is currently not included. - DEFINES['THEORA_DISABLE_ENCODE'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ - # Suppress warnings in third-party code. - if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'): - CFLAGS += ['-Wno-type-limits'] -diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA -index ee67b53a05c5..81c971773d55 100644 ---- media/libtremor/README_MOZILLA -+++ media/libtremor/README_MOZILLA -@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system. - - The upstream release used was http://svn.xiph.org/trunk/Tremor/ - The subversion revision used was r17547. -+ -+The in-tree copy may be omitted during build by --with-system-tremor. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtremor/moz.build media/libtremor/moz.build -index 83afc8e37c64..71ef159da3d7 100644 ---- media/libtremor/moz.build -+++ media/libtremor/moz.build -@@ -9,3 +9,5 @@ with Files('*'): - - DIRS += ['include/tremor', 'lib'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA -index 1211ac074b33..eb31084aed25 100644 ---- media/libvorbis/README_MOZILLA -+++ media/libvorbis/README_MOZILLA -@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git - - Some files are renamed during the copy to prevent clashes with object - file names with other Mozilla libraries. -+ -+The in-tree copy may be omitted during build by --with-system-vorbis. -+Keep version in old-configure.in in sync on updates. -diff --git media/libvorbis/moz.build media/libvorbis/moz.build -index adf393782cc9..923b76231107 100644 ---- media/libvorbis/moz.build -+++ media/libvorbis/moz.build -@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' - # Suppress warnings in third-party code. - if CONFIG['CC_TYPE'] in ('clang', 'gcc'): - CFLAGS += ['-Wno-uninitialized'] -+ -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git old-configure.in old-configure.in -index b614eef85c89..85f9099dba4d 100644 ---- old-configure.in -+++ old-configure.in -@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then - fi - fi # COMPILE_ENVIRONMENT - -+dnl ======================================================== -+dnl Check for libogg -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-ogg, -+[ --with-system-ogg Use system libogg (located with pkgconfig)], -+MOZ_SYSTEM_OGG=1, -+MOZ_SYSTEM_OGG=) -+ -+if test -n "$MOZ_SYSTEM_OGG"; then -+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3) -+ -+ _SAVE_LIBS=$LIBS -+ LIBS="$LIBS $MOZ_OGG_LIBS" -+ AC_CHECK_FUNC(ogg_set_mem_functions, [], -+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) -+ LIBS=$_SAVE_LIBS -+fi -+ -+AC_SUBST(MOZ_SYSTEM_OGG) -+ -+dnl ======================================================== -+dnl Check for libvorbis -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-vorbis, -+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], -+MOZ_SYSTEM_VORBIS=1, -+MOZ_SYSTEM_VORBIS=) -+ -+if test -n "$MOZ_SYSTEM_VORBIS"; then -+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_VORBIS) -+ -+dnl ======================================================== -+dnl Check for integer-only libvorbis aka tremor -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-tremor, -+[ --with-system-tremor Use system libtremor (located with pkgconfig)], -+MOZ_SYSTEM_TREMOR=1, -+MOZ_SYSTEM_TREMOR=) -+ -+if test -n "$MOZ_SYSTEM_TREMOR"; then -+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_TREMOR) -+ -+dnl ======================================================== -+dnl Check for libtheora -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-theora, -+[ --with-system-theora Use system libtheora (located with pkgconfig)], -+MOZ_SYSTEM_THEORA=1, -+MOZ_SYSTEM_THEORA=) -+ -+if test -n "$MOZ_SYSTEM_THEORA"; then -+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_THEORA) -+ -+dnl ======================================================== -+dnl Check for libSoundTouch -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-soundtouch, -+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], -+MOZ_SYSTEM_SOUNDTOUCH=1, -+MOZ_SYSTEM_SOUNDTOUCH=) -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) -+ -+ AC_LANG_SAVE -+ AC_LANG_CPLUSPLUS -+ _SAVE_CXXFLAGS=$CXXFLAGS -+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" -+ AC_CACHE_CHECK(for soundtouch sample type, -+ ac_cv_soundtouch_sample_type, -+ [AC_TRY_COMPILE([#include -+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES -+ #error soundtouch expects float samples -+ #endif], -+ [], -+ [ac_cv_soundtouch_sample_type=short], -+ [ac_cv_soundtouch_sample_type=float])]) -+ CXXFLAGS=$_SAVE_CXXFLAGS -+ AC_LANG_RESTORE -+ -+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ -+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then -+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) -+ fi -+fi -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) -+fi -+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) -+ - dnl system libvpx Support - dnl ======================================================== - MOZ_ARG_WITH_BOOL(system-libvpx, -diff --git toolkit/library/moz.build toolkit/library/moz.build -index 079a575adec3..514d901195de 100644 ---- toolkit/library/moz.build -+++ toolkit/library/moz.build -@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - if CONFIG['MOZ_SYSTEM_HUNSPELL']: - OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] -+ - if CONFIG['MOZ_SYSTEM_LIBEVENT']: - OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] - -diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp -index c083ab4bc4f3..62b917043a2c 100644 ---- xpcom/build/XPCOMInit.cpp -+++ xpcom/build/XPCOMInit.cpp -@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); - - #include "mozilla/ipc/GeckoChildProcessHost.h" - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - #include "ogg/ogg.h" -+#endif - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - #if defined(HAVE_STDINT_H) - // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in -@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult, - // this oddness. - mozilla::SetICUMemoryFunctions(); - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - // Do the same for libogg. - ogg_set_mem_functions(OggReporter::CountingMalloc, - OggReporter::CountingCalloc, - OggReporter::CountingRealloc, - OggReporter::CountingFree); -+#endif - - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - // And for VPX. Property changes on: head/www/firefox/files/patch-z-bug517422 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/firefox/files/patch-sample-type =================================================================== --- head/www/firefox/files/patch-sample-type (revision 485459) +++ head/www/firefox/files/patch-sample-type (nonexistent) @@ -1,22 +0,0 @@ -# Let ports handle default sample type - ---- toolkit/moz.configure~ -+++ toolkit/moz.configure -@@ -419,12 +419,11 @@ set_config('MOZ_FMP4', fmp4) - set_define('MOZ_FMP4', fmp4) - add_old_configure_assignment('MOZ_FMP4', fmp4) - --@depends(target) --def sample_type_is_s16(target): -- # Use integers over floats for audio on Android regardless of the CPU -- # architecture, because audio backends for Android don't support floats. -- # We also use integers on ARM because it's more efficient. -- if target.os == 'Android' or target.cpu == 'arm': -+option(env='MOZ_INTEGER_SAMPLES', help='Enable signed 16-bit audio samples') -+@depends('MOZ_INTEGER_SAMPLES') -+def sample_type_is_s16(value): -+ enabled = bool(value) -+ if enabled: - return True - - @depends(sample_type_is_s16) Property changes on: head/www/firefox/files/patch-sample-type ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/firefox-esr/Makefile =================================================================== --- head/www/firefox-esr/Makefile (revision 485459) +++ head/www/firefox-esr/Makefile (revision 485460) @@ -1,68 +1,67 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 60.3.0 -PORTREVISION= 4 +PORTREVISION= 5 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build1/source PKGNAMESUFFIX= -esr DISTFILES= ${DISTNAME}esr.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.19:devel/nspr \ nss>=3.36.1:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.7.6:print/harfbuzz \ graphite2>=1.3.11:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.22.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip -# soundtouch>=1.9.0:audio/soundtouch \ USE_GECKO= gecko CPE_PRODUCT= ${PORTNAME}_esr CONFLICTS_INSTALL= firefox MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -cairo -soundtouch +USE_MOZILLA= -cairo USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding OPTIONS_EXCLUDE= BUNDLED_CAIRO .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox-esr/files/patch-z-bug517422 =================================================================== --- head/www/firefox-esr/files/patch-z-bug517422 (revision 485459) +++ head/www/firefox-esr/files/patch-z-bug517422 (nonexistent) @@ -1,496 +0,0 @@ -# Allow more config/external/ libs built against system-wide version. - -diff --git build/moz.configure/old.configure build/moz.configure/old.configure -index d0fe7accffe6..c46bdd023225 100644 ---- build/moz.configure/old.configure -+++ build/moz.configure/old.configure -@@ -285,7 +285,12 @@ def old_configure_options(*options): - '--with-system-libvpx', - '--with-system-nspr', - '--with-system-nss', -+ '--with-system-ogg', - '--with-system-png', -+ '--with-system-soundtouch', -+ '--with-system-theora', -+ '--with-system-tremor', -+ '--with-system-vorbis', - '--with-system-zlib', - '--with-thumb', - '--with-thumb-interwork', -diff --git config/external/moz.build config/external/moz.build -index 029ff8504795..2c3a40caa1ba 100644 ---- config/external/moz.build -+++ config/external/moz.build -@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2'] - - external_dirs += ['modules/xz-embedded'] - --if CONFIG['MOZ_VORBIS']: -+if not CONFIG['MOZ_SYSTEM_OGG']: -+ external_dirs += ['media/libogg'] -+ -+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: - external_dirs += ['media/libvorbis'] - --if CONFIG['MOZ_TREMOR']: -+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: - external_dirs += ['media/libtremor'] - -+if not CONFIG['MOZ_SYSTEM_THEORA']: -+ external_dirs += ['media/libtheora'] -+ -+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ external_dirs += ['media/libsoundtouch'] -+ - if CONFIG['MOZ_WEBM_ENCODER']: - external_dirs += ['media/libmkv'] - -@@ -51,11 +60,8 @@ external_dirs += [ - 'media/kiss_fft', - 'media/libcubeb', - 'media/libnestegg', -- 'media/libogg', - 'media/libopus', -- 'media/libtheora', - 'media/libspeex_resampler', -- 'media/libsoundtouch', - 'media/mp4parse-rust', - 'media/psshparser' - ] -diff --git config/system-headers.mozbuild config/system-headers.mozbuild -index 09d3db5ca8c0..c6533b84c470 100644 ---- config/system-headers.mozbuild -+++ config/system-headers.mozbuild -@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - 'harfbuzz/hb.h', - ] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ system_headers += [ -+ 'ogg/ogg.h', -+ 'ogg/os_types.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ system_headers += [ -+ 'theora/theoradec.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ system_headers += [ -+ 'vorbis/codec.h', -+ 'vorbis/vorbisenc.h', -+ ] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ system_headers += [ -+ 'tremor/ivorbiscodec.h', -+ ] -+ - if CONFIG['MOZ_SYSTEM_LIBVPX']: - system_headers += [ - 'vpx_mem/vpx_mem.h', -diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp -index 93ecda4319af..ff674c64ea07 100644 ---- dom/media/AudioStream.cpp -+++ dom/media/AudioStream.cpp -@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource) - : mMonitor("AudioStream") - , mChannels(0) - , mOutChannels(0) -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - , mTimeStretcher(nullptr) -+#endif - , mDumpFile(nullptr) - , mState(INITIALIZED) - , mDataSource(aSource) -@@ -142,9 +144,11 @@ AudioStream::~AudioStream() - if (mDumpFile) { - fclose(mDumpFile); - } -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - if (mTimeStretcher) { - soundtouch::destroySoundTouchObj(mTimeStretcher); - } -+#endif - #if defined(XP_WIN) - if (XRE_IsContentProcess()) { - audio::AudioNotificationReceiver::Unregister(this); -@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() - { - mMonitor.AssertCurrentThreadOwns(); - if (!mTimeStretcher) { -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ mTimeStretcher = new soundtouch::SoundTouch(); -+#else - mTimeStretcher = soundtouch::createSoundTouchObj(); -+#endif - mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); - mTimeStretcher->setChannels(mOutChannels); - mTimeStretcher->setPitch(1.0); -diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 7dc1f60f95cc..67d402a4117f 100644 ---- dom/media/AudioStream.h -+++ dom/media/AudioStream.h -@@ -15,7 +15,11 @@ - #include "mozilla/TimeStamp.h" - #include "mozilla/UniquePtr.h" - #include "CubebUtils.h" -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "soundtouch/SoundTouch.h" -+#else - #include "soundtouch/SoundTouchFactory.h" -+#endif - - #if defined(XP_WIN) - #include "mozilla/audio/AudioNotificationReceiver.h" -@@ -297,7 +301,11 @@ private: - uint32_t mChannels; - uint32_t mOutChannels; - AudioClock mAudioClock; -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ nsAutoPtr mTimeStretcher; -+#else - soundtouch::SoundTouch* mTimeStretcher; -+#endif - - // Output file for dumping audio - FILE* mDumpFile; -diff --git dom/media/moz.build dom/media/moz.build -index 86b051c58d33..fb6186dce78b 100644 ---- dom/media/moz.build -+++ dom/media/moz.build -@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']: - - DEFINES['MOZILLA_INTERNAL_API'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] -+ - if CONFIG['MOZ_ANDROID_HLS_SUPPORT']: - DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True - -diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -index 078f6ea5ef60..c600db067539 100644 ---- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -@@ -15,9 +15,13 @@ - #include - #endif - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "nsXPCOMPrivate.h" // for XUL_DLL -+#else - // We use a known symbol located in lgpllibs to determine its location. - // soundtouch happens to be always included in lgpllibs - #include "soundtouch/SoundTouch.h" -+#endif - - namespace mozilla { - -@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init() - - sLinkStatus = LinkStatus_FAILED; - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ // We retrieve the path of the XUL library as this is where mozavcodec and -+ // mozavutil libs are located. -+ char* path = -+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); -+#else - // We retrieve the path of the lgpllibs library as this is where mozavcodec - // and mozavutil libs are located. - PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs"); -@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init() - PathString path = - GetLibraryFilePathname(lgpllibsname.get(), - (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); -+#endif - if (path.IsEmpty()) { - return false; - } -diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA -index 6213fdc7770c..ada799916a17 100644 ---- media/libogg/README_MOZILLA -+++ media/libogg/README_MOZILLA -@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script. - The int-types.patch address a bug that config_types.h generated from - Linux platform can't be used on OpenSolaris directly see Mozilla bug - 449754 -+ -+The in-tree copy may be omitted during build by --with-system-ogg. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA -index dc0dbe8f6886..ea73b55e3e39 100644 ---- media/libsoundtouch/README_MOZILLA -+++ media/libsoundtouch/README_MOZILLA -@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree, - using the script `update.sh`. Some changes have been made to the files, using - the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. - -+The in-tree copy may be omitted during build by --with-system-soundtouch. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h -index 0af2fe618311..10973564e7a4 100644 ---- media/libsoundtouch/src/soundtouch_perms.h -+++ media/libsoundtouch/src/soundtouch_perms.h -@@ -12,7 +12,9 @@ - - #pragma GCC visibility push(default) - #include "SoundTouch.h" -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - #include "SoundTouchFactory.h" -+#endif - #pragma GCC visibility pop - - #endif // MOZILLA_SOUNDTOUCH_PERMS_H -diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA -index d48dbfa6f63d..6f30f250220e 100644 ---- media/libtheora/README_MOZILLA -+++ media/libtheora/README_MOZILLA -@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh, - the addition/update of Makefile.in files for the Mozilla build system. - - The subversion revision used was r17578. -+ -+The in-tree copy may be omitted during build by --with-system-theora. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtheora/moz.build media/libtheora/moz.build -index c7f85eebff95..aae7b814adb5 100644 ---- media/libtheora/moz.build -+++ media/libtheora/moz.build -@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' - # The encoder is currently not included. - DEFINES['THEORA_DISABLE_ENCODE'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ - # Suppress warnings in third-party code. - if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'): - CFLAGS += ['-Wno-type-limits'] -diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA -index ee67b53a05c5..81c971773d55 100644 ---- media/libtremor/README_MOZILLA -+++ media/libtremor/README_MOZILLA -@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system. - - The upstream release used was http://svn.xiph.org/trunk/Tremor/ - The subversion revision used was r17547. -+ -+The in-tree copy may be omitted during build by --with-system-tremor. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtremor/moz.build media/libtremor/moz.build -index 83afc8e37c64..71ef159da3d7 100644 ---- media/libtremor/moz.build -+++ media/libtremor/moz.build -@@ -9,3 +9,5 @@ with Files('*'): - - DIRS += ['include/tremor', 'lib'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA -index 1211ac074b33..eb31084aed25 100644 ---- media/libvorbis/README_MOZILLA -+++ media/libvorbis/README_MOZILLA -@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git - - Some files are renamed during the copy to prevent clashes with object - file names with other Mozilla libraries. -+ -+The in-tree copy may be omitted during build by --with-system-vorbis. -+Keep version in old-configure.in in sync on updates. -diff --git media/libvorbis/moz.build media/libvorbis/moz.build -index adf393782cc9..923b76231107 100644 ---- media/libvorbis/moz.build -+++ media/libvorbis/moz.build -@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' - # Suppress warnings in third-party code. - if CONFIG['CC_TYPE'] in ('clang', 'gcc'): - CFLAGS += ['-Wno-uninitialized'] -+ -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git old-configure.in old-configure.in -index b614eef85c89..85f9099dba4d 100644 ---- old-configure.in -+++ old-configure.in -@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then - fi - fi # COMPILE_ENVIRONMENT - -+dnl ======================================================== -+dnl Check for libogg -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-ogg, -+[ --with-system-ogg Use system libogg (located with pkgconfig)], -+MOZ_SYSTEM_OGG=1, -+MOZ_SYSTEM_OGG=) -+ -+if test -n "$MOZ_SYSTEM_OGG"; then -+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3) -+ -+ _SAVE_LIBS=$LIBS -+ LIBS="$LIBS $MOZ_OGG_LIBS" -+ AC_CHECK_FUNC(ogg_set_mem_functions, [], -+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) -+ LIBS=$_SAVE_LIBS -+fi -+ -+AC_SUBST(MOZ_SYSTEM_OGG) -+ -+dnl ======================================================== -+dnl Check for libvorbis -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-vorbis, -+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], -+MOZ_SYSTEM_VORBIS=1, -+MOZ_SYSTEM_VORBIS=) -+ -+if test -n "$MOZ_SYSTEM_VORBIS"; then -+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_VORBIS) -+ -+dnl ======================================================== -+dnl Check for integer-only libvorbis aka tremor -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-tremor, -+[ --with-system-tremor Use system libtremor (located with pkgconfig)], -+MOZ_SYSTEM_TREMOR=1, -+MOZ_SYSTEM_TREMOR=) -+ -+if test -n "$MOZ_SYSTEM_TREMOR"; then -+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_TREMOR) -+ -+dnl ======================================================== -+dnl Check for libtheora -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-theora, -+[ --with-system-theora Use system libtheora (located with pkgconfig)], -+MOZ_SYSTEM_THEORA=1, -+MOZ_SYSTEM_THEORA=) -+ -+if test -n "$MOZ_SYSTEM_THEORA"; then -+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_THEORA) -+ -+dnl ======================================================== -+dnl Check for libSoundTouch -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-soundtouch, -+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], -+MOZ_SYSTEM_SOUNDTOUCH=1, -+MOZ_SYSTEM_SOUNDTOUCH=) -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) -+ -+ AC_LANG_SAVE -+ AC_LANG_CPLUSPLUS -+ _SAVE_CXXFLAGS=$CXXFLAGS -+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" -+ AC_CACHE_CHECK(for soundtouch sample type, -+ ac_cv_soundtouch_sample_type, -+ [AC_TRY_COMPILE([#include -+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES -+ #error soundtouch expects float samples -+ #endif], -+ [], -+ [ac_cv_soundtouch_sample_type=short], -+ [ac_cv_soundtouch_sample_type=float])]) -+ CXXFLAGS=$_SAVE_CXXFLAGS -+ AC_LANG_RESTORE -+ -+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ -+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then -+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) -+ fi -+fi -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) -+fi -+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) -+ - dnl system libvpx Support - dnl ======================================================== - MOZ_ARG_WITH_BOOL(system-libvpx, -diff --git toolkit/library/moz.build toolkit/library/moz.build -index 079a575adec3..514d901195de 100644 ---- toolkit/library/moz.build -+++ toolkit/library/moz.build -@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - if CONFIG['MOZ_SYSTEM_HUNSPELL']: - OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] -+ - if CONFIG['MOZ_SYSTEM_LIBEVENT']: - OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] - -diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp -index c083ab4bc4f3..62b917043a2c 100644 ---- xpcom/build/XPCOMInit.cpp -+++ xpcom/build/XPCOMInit.cpp -@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); - - #include "mozilla/ipc/GeckoChildProcessHost.h" - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - #include "ogg/ogg.h" -+#endif - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - #if defined(HAVE_STDINT_H) - // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in -@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult, - // this oddness. - mozilla::SetICUMemoryFunctions(); - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - // Do the same for libogg. - ogg_set_mem_functions(OggReporter::CountingMalloc, - OggReporter::CountingCalloc, - OggReporter::CountingRealloc, - OggReporter::CountingFree); -+#endif - - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - // And for VPX. Property changes on: head/www/firefox-esr/files/patch-z-bug517422 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/firefox-esr/files/patch-sample-type =================================================================== --- head/www/firefox-esr/files/patch-sample-type (revision 485459) +++ head/www/firefox-esr/files/patch-sample-type (nonexistent) @@ -1,13 +0,0 @@ -# Let ports handle default sample type - ---- old-configure.in~ -+++ old-configure.in -@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o - dnl (regarless of the CPU architecture, because audio - dnl backends for those platforms don't support floats. We also - dnl use integers on ARM with other OS, because it's more efficient. --if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then -+if test -n "$MOZ_INTEGER_SAMPLES"; then - MOZ_SAMPLE_TYPE_S16=1 - AC_DEFINE(MOZ_SAMPLE_TYPE_S16) - AC_SUBST(MOZ_SAMPLE_TYPE_S16) Property changes on: head/www/firefox-esr/files/patch-sample-type ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/palemoon/Makefile =================================================================== --- head/www/palemoon/Makefile (revision 485459) +++ head/www/palemoon/Makefile (revision 485460) @@ -1,60 +1,60 @@ # Created by: Zhihao Yuan # $FreeBSD$ PORTNAME= palemoon DISTVERSION= 27.9.4 DISTVERSIONSUFFIX=_Release PORTREVISION= 1 CATEGORIES= www ipv6 MAINTAINER= lichray@gmail.com COMMENT= Open Source Goanna-based web browser BUILD_DEPENDS= nspr>=4.15:devel/nspr \ nss>=3.31.1:security/nss \ libevent>=2.0.22:devel/libevent \ harfbuzz>=1.4.3:print/harfbuzz \ graphite2>=1.3.10:graphics/graphite2 \ png>=1.6.16:graphics/png \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.19.3:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip USE_GITHUB= yes GH_ACCOUNT= MoonchildProductions GH_PROJECT= Pale-Moon USE_GECKO= gecko MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -soundtouch +USE_MOZILLA= # empty PM_ICON= ${PORTNAME}.png PM_ICON_SRC= ${PREFIX}/lib/${PORTNAME}/browser/icons/mozicon128.png PM_DESKTOP= ${WRKSRC}/browser/branding/official/${PORTNAME}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-devtools \ --enable-jemalloc \ --enable-jemalloc-lib OPTIONS_DEFAULT= BUNDLED_CAIRO GTK2 -OPTIONS_EXCLUDE= DTRACE INTEGER_SAMPLES JACK TEST WAYLAND +OPTIONS_EXCLUDE= DTRACE JACK TEST WAYLAND .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${PM_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${PM_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${PM_ICON} .include Index: head/www/seamonkey/Makefile =================================================================== --- head/www/seamonkey/Makefile (revision 485459) +++ head/www/seamonkey/Makefile (revision 485460) @@ -1,91 +1,90 @@ # Created by: eivind/dima/jseger # $FreeBSD$ PORTNAME= seamonkey DISTVERSION= 2.49.4 -PORTREVISION= 16 +PORTREVISION= 17 MOZILLA_VER= 52 # above + 3 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= The open source, standards compliant web browser BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \ nss>=3.28.6:security/nss \ libevent>=2.0.21_2:devel/libevent \ harfbuzz>=1.4.1:print/harfbuzz \ graphite2>=1.3.8:graphics/graphite2 \ png>=1.6.25:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.17.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip -# soundtouch>=1.9.0:audio/soundtouch \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l SSP_UNSAFE= yes USE_GECKO= gecko USES= tar:xz MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome MOZ_OPTIONS+= --enable-application=suite -USE_MOZILLA= -soundtouch +USE_MOZILLA= # empty MOZ_PKGCONFIG_FILES= OPTIONS_DEFINE= LDAP LIGHTNING RUST OPTIONS_SINGLE= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3 OPTIONS_DEFAULT=CANBERRA GTK3 LDAP LIGHTNING OPTIONS_EXCLUDE=WAYLAND LDAP_DESC?= LDAP support for Mailnews .include "${.CURDIR}/../../www/firefox/Makefile.options" # Inconsistent fallback order (libcubeb vs. audio_device) SNDIO_PREVENTS= ${OPTIONS_MULTI_AUDIO:NSNDIO} .include MOZSRC:= ${WRKSRC}/mozilla .if ! ${PORT_OPTIONS:MLDAP} MOZ_OPTIONS+= --disable-ldap .else MOZ_OPTIONS+= --enable-ldap .endif .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar .else MOZ_OPTIONS+= --disable-calendar .endif post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/suite/app/nsSuiteApp.cpp @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \ ${WRKSRC}/mozilla/modules/libpref/init/all.js @${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ < ${FILESDIR}/seamonkey.desktop.in > \ ${WRKDIR}/${MOZILLA}.desktop pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png .include Index: head/www/seamonkey/files/patch-z-bug517422 =================================================================== --- head/www/seamonkey/files/patch-z-bug517422 (revision 485459) +++ head/www/seamonkey/files/patch-z-bug517422 (nonexistent) @@ -1,502 +0,0 @@ -# Allow more config/external/ libs built against system-wide version. - -diff --git build/moz.configure/old.configure build/moz.configure/old.configure -index d0fe7accffe6..c46bdd023225 100644 ---- mozilla/build/moz.configure/old.configure -+++ mozilla/build/moz.configure/old.configure -@@ -288,7 +288,12 @@ def old_configure_options(*options): - '--with-system-libvpx', - '--with-system-nspr', - '--with-system-nss', -+ '--with-system-ogg', - '--with-system-png', -+ '--with-system-soundtouch', -+ '--with-system-theora', -+ '--with-system-tremor', -+ '--with-system-vorbis', - '--with-system-zlib', - '--with-thumb', - '--with-thumb-interwork', -diff --git config/Makefile.in config/Makefile.in -index a6206bb0ff30..f20987c61754 100644 ---- mozilla/config/Makefile.in -+++ mozilla/config/Makefile.in -@@ -51,6 +51,11 @@ export:: $(export-preqs) - -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \ - -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \ - -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \ -+ -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \ -+ -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \ -+ -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \ -+ -DMOZ_SYSTEM_TREMOR=$(MOZ_SYSTEM_TREMOR) \ -+ -DMOZ_SYSTEM_SOUNDTOUCH=$(MOZ_SYSTEM_SOUNDTOUCH) \ - $(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers - $(INSTALL) system_wrappers $(DIST) - -diff --git config/external/moz.build config/external/moz.build -index 029ff8504795..2c3a40caa1ba 100644 ---- mozilla/config/external/moz.build -+++ mozilla/config/external/moz.build -@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']: - external_dirs += ['modules/brotli'] - external_dirs += ['modules/woff2'] - --if CONFIG['MOZ_VORBIS']: -+if not CONFIG['MOZ_SYSTEM_OGG']: -+ external_dirs += ['media/libogg'] -+ -+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: - external_dirs += ['media/libvorbis'] - --if CONFIG['MOZ_TREMOR']: -+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: - external_dirs += ['media/libtremor'] - -+if not CONFIG['MOZ_SYSTEM_THEORA']: -+ external_dirs += ['media/libtheora'] -+ -+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ external_dirs += ['media/libsoundtouch'] -+ - if CONFIG['MOZ_WEBM_ENCODER']: - external_dirs += ['media/libmkv'] - -@@ -52,12 +61,9 @@ external_dirs += [ - 'media/kiss_fft', - 'media/libcubeb', - 'media/libnestegg', -- 'media/libogg', - 'media/libopus', -- 'media/libtheora', - 'media/libspeex_resampler', - 'media/libstagefright', -- 'media/libsoundtouch', - 'media/psshparser' - ] - -diff --git config/system-headers config/system-headers -index 5ee7f71f9634..13178ac3b3ab 100644 ---- mozilla/config/system-headers -+++ mozilla/config/system-headers -@@ -1348,3 +1348,17 @@ unicode/utypes.h - libutil.h - unwind.h - fenv.h -+#if MOZ_SYSTEM_OGG==1 -+ogg/ogg.h -+ogg/os_types.h -+#endif -+#if MOZ_SYSTEM_THEORA==1 -+theora/theoradec.h -+#endif -+#if MOZ_SYSTEM_VORBIS==1 -+vorbis/codec.h -+vorbis/vorbisenc.h -+#endif -+#if MOZ_SYSTEM_TREMOR==1 -+tremor/ivorbiscodec.h -+#endif -diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp -index 93ecda4319af..ff674c64ea07 100644 ---- mozilla/dom/media/AudioStream.cpp -+++ mozilla/dom/media/AudioStream.cpp -@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSource) - : mMonitor("AudioStream") - , mChannels(0) - , mOutChannels(0) -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - , mTimeStretcher(nullptr) -+#endif - , mDumpFile(nullptr) - , mState(INITIALIZED) - , mDataSource(aSource) -@@ -130,9 +132,11 @@ AudioStream::~AudioStream() - if (mDumpFile) { - fclose(mDumpFile); - } -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - if (mTimeStretcher) { - soundtouch::destroySoundTouchObj(mTimeStretcher); - } -+#endif - } - - size_t -@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() - { - mMonitor.AssertCurrentThreadOwns(); - if (!mTimeStretcher) { -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ mTimeStretcher = new soundtouch::SoundTouch(); -+#else - mTimeStretcher = soundtouch::createSoundTouchObj(); -+#endif - mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); - mTimeStretcher->setChannels(mOutChannels); - mTimeStretcher->setPitch(1.0); -diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 7dc1f60f95cc..67d402a4117f 100644 ---- mozilla/dom/media/AudioStream.h -+++ mozilla/dom/media/AudioStream.h -@@ -16,7 +16,11 @@ - #include "mozilla/TimeStamp.h" - #include "mozilla/UniquePtr.h" - #include "CubebUtils.h" -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "soundtouch/SoundTouch.h" -+#else - #include "soundtouch/SoundTouchFactory.h" -+#endif - - namespace mozilla { - -@@ -287,7 +291,11 @@ private: - uint32_t mChannels; - uint32_t mOutChannels; - AudioClock mAudioClock; -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ nsAutoPtr mTimeStretcher; -+#else - soundtouch::SoundTouch* mTimeStretcher; -+#endif - - // Output file for dumping audio - FILE* mDumpFile; -diff --git dom/media/moz.build dom/media/moz.build -index 86b051c58d33..fb6186dce78b 100644 ---- mozilla/dom/media/moz.build -+++ mozilla/dom/media/moz.build -@@ -308,6 +308,21 @@ if CONFIG['MOZ_WEBRTC']: - - DEFINES['MOZILLA_INTERNAL_API'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] -+ - if CONFIG['OS_TARGET'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True - else: -diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -index 078f6ea5ef60..c600db067539 100644 ---- mozilla/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -+++ mozilla/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp -@@ -11,9 +11,13 @@ - #include "prmem.h" - #include "prlink.h" - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+#include "nsXPCOMPrivate.h" // for XUL_DLL -+#else - // We use a known symbol located in lgpllibs to determine its location. - // soundtouch happens to be always included in lgpllibs - #include "soundtouch/SoundTouch.h" -+#endif - - namespace mozilla { - -@@ -50,6 +54,12 @@ FFVPXRuntimeLinker::Init() - - sLinkStatus = LinkStatus_FAILED; - -+#ifdef MOZ_SYSTEM_SOUNDTOUCH -+ // We retrieve the path of the XUL library as this is where mozavcodec and -+ // mozavutil libs are located. -+ char* path = -+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); -+#else - // We retrieve the path of the lgpllibs library as this is where mozavcodec - // and mozavutil libs are located. - char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs"); -@@ -60,6 +70,7 @@ FFVPXRuntimeLinker::Init() - PR_GetLibraryFilePathname(lgpllibsname, - (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); - PR_FreeLibraryName(lgpllibsname); -+#endif - if (!path) { - return false; - } -diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA -index 6213fdc7770c..ada799916a17 100644 ---- mozilla/media/libogg/README_MOZILLA -+++ mozilla/media/libogg/README_MOZILLA -@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script. - The int-types.patch address a bug that config_types.h generated from - Linux platform can't be used on OpenSolaris directly see Mozilla bug - 449754 -+ -+The in-tree copy may be omitted during build by --with-system-ogg. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA -index dc0dbe8f6886..ea73b55e3e39 100644 ---- mozilla/media/libsoundtouch/README_MOZILLA -+++ mozilla/media/libsoundtouch/README_MOZILLA -@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree, - using the script `update.sh`. Some changes have been made to the files, using - the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. - -+The in-tree copy may be omitted during build by --with-system-soundtouch. -+Keep version in old-configure.in in sync on updates. -diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h -index 0af2fe618311..10973564e7a4 100644 ---- mozilla/media/libsoundtouch/src/soundtouch_perms.h -+++ mozilla/media/libsoundtouch/src/soundtouch_perms.h -@@ -12,7 +12,9 @@ - - #pragma GCC visibility push(default) - #include "SoundTouch.h" -+#ifndef MOZ_SYSTEM_SOUNDTOUCH - #include "SoundTouchFactory.h" -+#endif - #pragma GCC visibility pop - - #endif // MOZILLA_SOUNDTOUCH_PERMS_H -diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA -index d48dbfa6f63d..6f30f250220e 100644 ---- mozilla/media/libtheora/README_MOZILLA -+++ mozilla/media/libtheora/README_MOZILLA -@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh, - the addition/update of Makefile.in files for the Mozilla build system. - - The subversion revision used was r17578. -+ -+The in-tree copy may be omitted during build by --with-system-theora. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtheora/moz.build media/libtheora/moz.build -index c7f85eebff95..aae7b814adb5 100644 ---- mozilla/media/libtheora/moz.build -+++ mozilla/media/libtheora/moz.build -@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' - # The encoder is currently not included. - DEFINES['THEORA_DISABLE_ENCODE'] = True - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -+ - # Suppress warnings in third-party code. - if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']: - CFLAGS += ['-Wno-type-limits'] -diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA -index ee67b53a05c5..81c971773d55 100644 ---- mozilla/media/libtremor/README_MOZILLA -+++ mozilla/media/libtremor/README_MOZILLA -@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system. - - The upstream release used was http://svn.xiph.org/trunk/Tremor/ - The subversion revision used was r17547. -+ -+The in-tree copy may be omitted during build by --with-system-tremor. -+Keep version in old-configure.in in sync on updates. -diff --git media/libtremor/moz.build media/libtremor/moz.build -index 83afc8e37c64..71ef159da3d7 100644 ---- mozilla/media/libtremor/moz.build -+++ mozilla/media/libtremor/moz.build -@@ -9,3 +9,5 @@ with Files('*'): - - DIRS += ['include/tremor', 'lib'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA -index 1211ac074b33..eb31084aed25 100644 ---- mozilla/media/libvorbis/README_MOZILLA -+++ mozilla/media/libvorbis/README_MOZILLA -@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.5@19464 - - Some files are renamed during the copy to prevent clashes with object - file names with other Mozilla libraries. -+ -+The in-tree copy may be omitted during build by --with-system-vorbis. -+Keep version in old-configure.in in sync on updates. -diff --git media/libvorbis/moz.build media/libvorbis/moz.build -index adf393782cc9..923b76231107 100644 ---- mozilla/media/libvorbis/moz.build -+++ mozilla/media/libvorbis/moz.build -@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' - # Suppress warnings in third-party code. - if CONFIG['GNU_CC']: - CFLAGS += ['-Wno-uninitialized'] -+ -+if CONFIG['MOZ_SYSTEM_OGG']: -+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git old-configure.in old-configure.in -index b614eef85c89..85f9099dba4d 100644 ---- mozilla/old-configure.in -+++ mozilla/old-configure.in -@@ -2941,6 +2941,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then - fi - fi - -+dnl ======================================================== -+dnl Check for libogg -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-ogg, -+[ --with-system-ogg Use system libogg (located with pkgconfig)], -+MOZ_SYSTEM_OGG=1, -+MOZ_SYSTEM_OGG=) -+ -+if test -n "$MOZ_SYSTEM_OGG"; then -+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.0) -+ -+ _SAVE_LIBS=$LIBS -+ LIBS="$LIBS $MOZ_OGG_LIBS" -+ AC_CHECK_FUNC(ogg_set_mem_functions, [], -+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) -+ LIBS=$_SAVE_LIBS -+fi -+ -+AC_SUBST(MOZ_SYSTEM_OGG) -+ -+dnl ======================================================== -+dnl Check for libvorbis -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-vorbis, -+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], -+MOZ_SYSTEM_VORBIS=1, -+MOZ_SYSTEM_VORBIS=) -+ -+if test -n "$MOZ_SYSTEM_VORBIS"; then -+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_VORBIS) -+ -+dnl ======================================================== -+dnl Check for integer-only libvorbis aka tremor -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-tremor, -+[ --with-system-tremor Use system libtremor (located with pkgconfig)], -+MOZ_SYSTEM_TREMOR=1, -+MOZ_SYSTEM_TREMOR=) -+ -+if test -n "$MOZ_SYSTEM_TREMOR"; then -+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_TREMOR) -+ -+dnl ======================================================== -+dnl Check for libtheora -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-theora, -+[ --with-system-theora Use system libtheora (located with pkgconfig)], -+MOZ_SYSTEM_THEORA=1, -+MOZ_SYSTEM_THEORA=) -+ -+if test -n "$MOZ_SYSTEM_THEORA"; then -+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) -+fi -+ -+AC_SUBST(MOZ_SYSTEM_THEORA) -+ -+dnl ======================================================== -+dnl Check for libSoundTouch -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-soundtouch, -+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], -+MOZ_SYSTEM_SOUNDTOUCH=1, -+MOZ_SYSTEM_SOUNDTOUCH=) -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) -+ -+ AC_LANG_SAVE -+ AC_LANG_CPLUSPLUS -+ _SAVE_CXXFLAGS=$CXXFLAGS -+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" -+ AC_CACHE_CHECK(for soundtouch sample type, -+ ac_cv_soundtouch_sample_type, -+ [AC_TRY_COMPILE([#include -+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES -+ #error soundtouch expects float samples -+ #endif], -+ [], -+ [ac_cv_soundtouch_sample_type=short], -+ [ac_cv_soundtouch_sample_type=float])]) -+ CXXFLAGS=$_SAVE_CXXFLAGS -+ AC_LANG_RESTORE -+ -+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ -+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then -+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) -+ fi -+fi -+ -+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then -+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) -+fi -+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) -+ - dnl system libvpx Support - dnl ======================================================== - MOZ_ARG_WITH_BOOL(system-libvpx, -diff --git toolkit/library/moz.build toolkit/library/moz.build -index 079a575adec3..514d901195de 100644 ---- mozilla/toolkit/library/moz.build -+++ mozilla/toolkit/library/moz.build -@@ -237,6 +237,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: - if CONFIG['MOZ_SYSTEM_HUNSPELL']: - OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] - -+if CONFIG['MOZ_SYSTEM_OGG']: -+ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_THEORA']: -+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_VORBIS']: -+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_TREMOR']: -+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] -+ -+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: -+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] -+ - if CONFIG['MOZ_SYSTEM_LIBEVENT']: - OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] - -diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp -index c083ab4bc4f3..62b917043a2c 100644 ---- mozilla/xpcom/build/XPCOMInit.cpp -+++ mozilla/xpcom/build/XPCOMInit.cpp -@@ -154,7 +154,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); - - #include "mozilla/ipc/GeckoChildProcessHost.h" - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - #include "ogg/ogg.h" -+#endif - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - #if defined(HAVE_STDINT_H) - // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in -@@ -664,11 +666,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult, - // this oddness. - mozilla::SetICUMemoryFunctions(); - -+#ifndef MOZ_OGG_NO_MEM_REPORTING - // Do the same for libogg. - ogg_set_mem_functions(OggReporter::CountingMalloc, - OggReporter::CountingCalloc, - OggReporter::CountingRealloc, - OggReporter::CountingFree); -+#endif - - #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - // And for VPX. Property changes on: head/www/seamonkey/files/patch-z-bug517422 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-sample-type =================================================================== --- head/www/seamonkey/files/patch-sample-type (revision 485459) +++ head/www/seamonkey/files/patch-sample-type (nonexistent) @@ -1,13 +0,0 @@ -# Let ports handle default sample type - ---- mozilla/old-configure.in~ -+++ mozilla/old-configure.in -@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o - dnl (regarless of the CPU architecture, because audio - dnl backends for those platforms don't support floats. We also - dnl use integers on ARM with other OS, because it's more efficient. --if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then -+if test -n "$MOZ_INTEGER_SAMPLES"; then - MOZ_SAMPLE_TYPE_S16=1 - AC_DEFINE(MOZ_SAMPLE_TYPE_S16) - AC_SUBST(MOZ_SAMPLE_TYPE_S16) Property changes on: head/www/seamonkey/files/patch-sample-type ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property