diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk index 90721cb42ce9..5333a93bbc85 100644 --- a/Mk/bsd.gecko.mk +++ b/Mk/bsd.gecko.mk @@ -1,388 +1,386 @@ #-*- 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_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} # # 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} USES+= compiler:c++17-lang cpe gl gmake gnome iconv localbase perl5 pkgconfig \ python:2.7,build desktop-file-utils CPE_VENDOR?=mozilla USE_GL= gl USE_GNOME= cairo gdkpixbuf2 gtk20 gtk30 USE_PERL5= build USE_XORG= x11 xcb xcomposite xdamage xext xfixes xrender xt HAS_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes LDFLAGS+= -Wl,--as-needed BUNDLE_LIBS= yes BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ rust-cbindgen>=0.13.1:devel/rust-cbindgen \ ${RUST_DEFAULT}>=1.41:lang/${RUST_DEFAULT} \ ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \ node:www/node MOZ_EXPORT+= ${CONFIGURE_ENV} \ LLVM_CONFIG=llvm-config${LLVM_DEFAULT} \ PERL="${PERL}" \ PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}" \ RUSTFLAGS="${RUSTFLAGS}" MOZ_OPTIONS+= --prefix="${PREFIX}" MOZ_MK_OPTIONS+=MOZ_OBJDIR="${BUILD_WRKSRC}" # 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 MOZSRC?= ${WRKSRC} PLISTF?= ${WRKDIR}/plist_files MOZCONFIG?= ${WRKSRC}/.mozconfig MOZILLA_PLIST_DIRS?= bin lib share/pixmaps share/applications # 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 # Standard depends _ALL_DEPENDS= av1 event ffi graphite harfbuzz icu jpeg nspr nss png pixman sqlite vpx webp .if exists(${FILESDIR}/patch-bug1559213) av1_LIB_DEPENDS= libaom.so:multimedia/aom libdav1d.so:multimedia/dav1d av1_MOZ_OPTIONS= --with-system-av1 .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 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} sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 sqlite_MOZ_OPTIONS= --enable-system-sqlite -vpx_BUILD_DEPENDS= yasm:devel/yasm vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx vpx_MOZ_OPTIONS= --with-system-libvpx webp_LIB_DEPENDS= libwebp.so:graphics/webp webp_MOZ_OPTIONS= --with-system-webp .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_OPTIONS+= \ --enable-update-channel=${PKGNAMESUFFIX:Urelease:S/^-//} \ --disable-updater \ --with-system-zlib # 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_LOCATION_SERVICE_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 MOZ_EXPORT+= MOZ_GOOGLE_SAFEBROWSING_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 .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 ${/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 .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 + libdbus-glib-1.so:devel/dbus-glib .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 ${PORT_OPTIONS:MLIBPROXY} LIB_DEPENDS+= libproxy.so:net/libproxy MOZ_OPTIONS+= --enable-libproxy .else MOZ_OPTIONS+= --disable-libproxy .endif .if ${PORT_OPTIONS:MALSA} BUILD_DEPENDS+= ${LOCALBASE}/include/alsa/asoundlib.h: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} BUILD_DEPENDS+= ${LOCALBASE}/include/sndio.h:audio/sndio post-patch-SNDIO-on: @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ -e '/DISABLE_LIBSNDIO_DLOPEN/d' \ ${MOZSRC}/media/libcubeb/src/moz.build .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 ${ARCH:Maarch64} || ${MACHINE_CPU:Msse2} MOZ_OPTIONS+= --enable-rust-simd . endif .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 .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}" . 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-post-patch: @${RM} ${MOZCONFIG} .if !defined(NOMOZCONFIG) .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 ${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 @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|/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 # Disable vendor checksums like lang/rust @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${MOZSRC}/third_party/rust/*/.cargo-checksum.json pre-configure-script: # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64 @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \ ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh 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} .endif .endif # HERE THERE BE TACOS -- adamw diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile index 83e368a16f29..d6412ade618d 100644 --- a/mail/thunderbird/Makefile +++ b/mail/thunderbird/Makefile @@ -1,76 +1,76 @@ # Created by: Joe Marcus Clarke # $FreeBSD$ PORTNAME= thunderbird DISTVERSION= 68.8.0 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= mail news net-im 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.21:devel/nspr \ nss>=3.44.3:security/nss \ icu>=63.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.4.0:print/harfbuzz \ graphite2>=1.3.13:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.28.0:databases/sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ nasm:devel/nasm \ zip:archivers/zip SSP_UNSAFE= yes USE_GECKO= gecko USE_MOZILLA= -vpx 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 PORTNAME_ICON= ${MOZILLA}.png PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js OPTIONS_DEFINE= LIGHTNING OPTIONS_DEFAULT=CANBERRA LIGHTNING .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:R}|;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 diff --git a/mail/thunderbird/files/patch-bug726479 b/mail/thunderbird/files/patch-bug726479 new file mode 100644 index 000000000000..f08c6f7efa7b --- /dev/null +++ b/mail/thunderbird/files/patch-bug726479 @@ -0,0 +1,237 @@ +commit b92dbf54798e +Author: Ben Iofel +Date: Mon Jan 6 12:03:38 2020 +0000 + + Bug 726479 - Use GTK's support for startup notifications, r=karlt + + Original author: Ben Iofel + + Differential Revision: https://phabricator.services.mozilla.com/D58594 + + --HG-- + extra : moz-landing-system : lando +--- + config/system-headers.mozbuild | 10 ---------- + old-configure.in | 35 ----------------------------------- + toolkit/library/moz.build | 3 --- + toolkit/xre/nsAppRunner.cpp | 6 ------ + widget/gtk/moz.build | 4 ---- + widget/gtk/mozgtk/mozgtk.c | 1 + + widget/gtk/nsWindow.cpp | 37 +------------------------------------ + 7 files changed, 2 insertions(+), 94 deletions(-) + +diff --git config/system-headers.mozbuild config/system-headers.mozbuild +index 33ba01eaea3ae..2081d0c683a4c 100644 +--- config/system-headers.mozbuild ++++ config/system-headers.mozbuild +@@ -1267,16 +1267,6 @@ if CONFIG['MOZ_SYSTEM_ZLIB']: + 'zlib.h', + ] + +-if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']: +- system_headers += [ +- 'libsn/sn-common.h', +- 'libsn/sn.h', +- 'libsn/sn-launchee.h', +- 'libsn/sn-launcher.h', +- 'libsn/sn-monitor.h', +- 'libsn/sn-util.h', +- ] +- + if CONFIG['MOZ_SYSTEM_LIBEVENT']: + system_headers += [ + 'event2/event_compat.h', +diff --git old-configure.in old-configure.in +index f9278ba3f8451..2ac7fd92dfaa7 100644 +--- old-configure.in ++++ old-configure.in +@@ -61,7 +61,6 @@ GTK2_VERSION=2.18.0 + GTK3_VERSION=3.4.0 + GDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_4 + W32API_VERSION=3.14 +-STARTUP_NOTIFICATION_VERSION=0.8 + DBUS_VERSION=0.60 + SQLITE_VERSION=3.30.1 + +@@ -1759,40 +1758,6 @@ fi # COMPILE_ENVIRONMENT + + AC_SUBST(MOZ_FS_LAYOUT) + +-dnl ======================================================== +-dnl = startup-notification support module +-dnl ======================================================== +- +-if test "$MOZ_ENABLE_GTK" +-then +- MOZ_ENABLE_STARTUP_NOTIFICATION= +- +- MOZ_ARG_ENABLE_BOOL(startup-notification, +- [ --enable-startup-notification +- Enable startup-notification support (default: disabled) ], +- MOZ_ENABLE_STARTUP_NOTIFICATION=force, +- MOZ_ENABLE_STARTUP_NOTIFICATION=) +- if test "$MOZ_ENABLE_STARTUP_NOTIFICATION" +- then +- PKG_CHECK_MODULES(MOZ_STARTUP_NOTIFICATION, +- libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION, +- [MOZ_ENABLE_STARTUP_NOTIFICATION=1], [ +- if test "$MOZ_ENABLE_STARTUP_NOTIFICATION" = "force" +- then +- AC_MSG_ERROR([* * * Could not find startup-notification >= $STARTUP_NOTIFICATION_VERSION]) +- fi +- MOZ_ENABLE_STARTUP_NOTIFICATION= +- ]) +- fi +- +- if test "$MOZ_ENABLE_STARTUP_NOTIFICATION"; then +- AC_DEFINE(MOZ_ENABLE_STARTUP_NOTIFICATION) +- fi +- +- TK_LIBS="$TK_LIBS $MOZ_STARTUP_NOTIFICATION_LIBS" +-fi +-AC_SUBST(MOZ_ENABLE_STARTUP_NOTIFICATION) +- + AC_SUBST_LIST(TK_CFLAGS) + AC_SUBST_LIST(TK_LIBS) + +diff --git toolkit/library/moz.build toolkit/library/moz.build +index 736acbaae7fa9..af8400f4931f6 100644 +--- toolkit/library/moz.build ++++ toolkit/library/moz.build +@@ -285,9 +285,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': + 'gthread-2.0', + ] + +-if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']: +- OS_LIBS += CONFIG['MOZ_STARTUP_NOTIFICATION_LIBS'] +- + if CONFIG['MOZ_ENABLE_LIBPROXY']: + OS_LIBS += CONFIG['MOZ_LIBPROXY_LIBS'] + +diff --git toolkit/xre/nsAppRunner.cpp toolkit/xre/nsAppRunner.cpp +index 219265cbfda75..5e8dfb68e1ca5 100644 +--- toolkit/xre/nsAppRunner.cpp ++++ toolkit/xre/nsAppRunner.cpp +@@ -278,7 +278,6 @@ nsString gAbsoluteArgv0Path; + # ifdef MOZ_X11 + # include + # endif /* MOZ_X11 */ +-# include "nsGTKToolkit.h" + # include + #endif + #include "BinaryPath.h" +@@ -3851,7 +3850,6 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { + #endif + #if defined(MOZ_WIDGET_GTK) + g_set_application_name(mAppData->name); +- gtk_window_set_auto_startup_notification(false); + + #endif /* defined(MOZ_WIDGET_GTK) */ + #ifdef MOZ_X11 +@@ -4492,10 +4490,6 @@ nsresult XREMain::XRE_mainRun() { + #endif + + #if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK) +- nsGTKToolkit* toolkit = nsGTKToolkit::GetToolkit(); +- if (toolkit && !mDesktopStartupID.IsEmpty()) { +- toolkit->SetDesktopStartupID(mDesktopStartupID); +- } + // Clear the environment variable so it won't be inherited by + // child processes and confuse things. + g_unsetenv("DESKTOP_STARTUP_ID"); +diff --git widget/gtk/moz.build widget/gtk/moz.build +index 2cbd226ef2222..1c8ee424aeb11 100644 +--- widget/gtk/moz.build ++++ widget/gtk/moz.build +@@ -146,8 +146,6 @@ DEFINES['CAIRO_GFX'] = True + + DEFINES['MOZ_APP_NAME'] = '"%s"' % CONFIG['MOZ_APP_NAME'] + +-CFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] +- + # When building with GTK3, the widget code always needs to use + # system Cairo headers, regardless of whether we are also linked + # against and using in-tree Cairo. By not using in-tree Cairo +@@ -158,8 +156,6 @@ CFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] + if not (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk' and CONFIG['MOZ_TREE_CAIRO']): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + +-CXXFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] +- + CFLAGS += CONFIG['TK_CFLAGS'] + CXXFLAGS += CONFIG['TK_CFLAGS'] + +diff --git widget/gtk/mozgtk/mozgtk.c widget/gtk/mozgtk/mozgtk.c +index 9954083d5c1ef..84599830ca00a 100644 +--- widget/gtk/mozgtk/mozgtk.c ++++ widget/gtk/mozgtk/mozgtk.c +@@ -529,6 +529,7 @@ STUB(gtk_window_set_geometry_hints) + STUB(gtk_window_set_icon_name) + STUB(gtk_window_set_modal) + STUB(gtk_window_set_skip_taskbar_hint) ++STUB(gtk_window_set_startup_id) + STUB(gtk_window_set_title) + STUB(gtk_window_set_transient_for) + STUB(gtk_window_set_type_hint) +diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp +index 05902ac3bfb26..89748404988c3 100644 +--- widget/gtk/nsWindow.cpp ++++ widget/gtk/nsWindow.cpp +@@ -64,11 +64,6 @@ + + #include "nsGkAtoms.h" + +-#ifdef MOZ_ENABLE_STARTUP_NOTIFICATION +-# define SN_API_NOT_YET_FROZEN +-# include +-#endif +- + #include "mozilla/Assertions.h" + #include "mozilla/Likely.h" + #include "mozilla/Preferences.h" +@@ -1393,8 +1388,6 @@ void nsWindow::SetSizeMode(nsSizeMode aMode) { + + typedef void (*SetUserTimeFunc)(GdkWindow* aWindow, guint32 aTimestamp); + +-// This will become obsolete when new GTK APIs are widely supported, +-// as described here: http://bugzilla.gnome.org/show_bug.cgi?id=347375 + static void SetUserTimeAndStartupIDForActivatedWindow(GtkWidget* aWindow) { + nsGTKToolkit* GTKToolkit = nsGTKToolkit::GetToolkit(); + if (!GTKToolkit) return; +@@ -1414,35 +1407,7 @@ static void SetUserTimeAndStartupIDForActivatedWindow( + return; + } + +-#if defined(MOZ_ENABLE_STARTUP_NOTIFICATION) +- // TODO - Implement for non-X11 Gtk backends (Bug 726479) +- if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { +- GdkWindow* gdkWindow = gtk_widget_get_window(aWindow); +- +- GdkScreen* screen = gdk_window_get_screen(gdkWindow); +- SnDisplay* snd = sn_display_new( +- gdk_x11_display_get_xdisplay(gdk_window_get_display(gdkWindow)), +- nullptr, nullptr); +- if (!snd) return; +- SnLauncheeContext* ctx = sn_launchee_context_new( +- snd, gdk_screen_get_number(screen), desktopStartupID.get()); +- if (!ctx) { +- sn_display_unref(snd); +- return; +- } +- +- if (sn_launchee_context_get_id_has_timestamp(ctx)) { +- gdk_x11_window_set_user_time(gdkWindow, +- sn_launchee_context_get_timestamp(ctx)); +- } +- +- sn_launchee_context_setup_window(ctx, gdk_x11_window_get_xid(gdkWindow)); +- sn_launchee_context_complete(ctx); +- +- sn_launchee_context_unref(ctx); +- sn_display_unref(snd); +- } +-#endif ++ gtk_window_set_startup_id(GTK_WINDOW(aWindow), desktopStartupID.get()); + + // If we used the startup ID, that already contains the focus timestamp; + // we don't want to reuse the timestamp next time we raise the window diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile index 284801abba15..ab8c6d263b37 100644 --- a/www/firefox-esr/Makefile +++ b/www/firefox-esr/Makefile @@ -1,62 +1,62 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 68.8.0 -PORTREVISION= 4 +PORTREVISION= 5 PORTEPOCH= 1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build2/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.21:devel/nspr \ nss>=3.44.3:security/nss \ icu>=63.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.4.0:print/harfbuzz \ graphite2>=1.3.13:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.28.0:databases/sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ nasm:devel/nasm \ zip:archivers/zip USE_GECKO= gecko CPE_PRODUCT= ${PORTNAME}_esr CONFLICTS_INSTALL= firefox USE_MOZILLA= -vpx 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 .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 diff --git a/www/firefox-esr/files/patch-bug726479 b/www/firefox-esr/files/patch-bug726479 new file mode 100644 index 000000000000..f08c6f7efa7b --- /dev/null +++ b/www/firefox-esr/files/patch-bug726479 @@ -0,0 +1,237 @@ +commit b92dbf54798e +Author: Ben Iofel +Date: Mon Jan 6 12:03:38 2020 +0000 + + Bug 726479 - Use GTK's support for startup notifications, r=karlt + + Original author: Ben Iofel + + Differential Revision: https://phabricator.services.mozilla.com/D58594 + + --HG-- + extra : moz-landing-system : lando +--- + config/system-headers.mozbuild | 10 ---------- + old-configure.in | 35 ----------------------------------- + toolkit/library/moz.build | 3 --- + toolkit/xre/nsAppRunner.cpp | 6 ------ + widget/gtk/moz.build | 4 ---- + widget/gtk/mozgtk/mozgtk.c | 1 + + widget/gtk/nsWindow.cpp | 37 +------------------------------------ + 7 files changed, 2 insertions(+), 94 deletions(-) + +diff --git config/system-headers.mozbuild config/system-headers.mozbuild +index 33ba01eaea3ae..2081d0c683a4c 100644 +--- config/system-headers.mozbuild ++++ config/system-headers.mozbuild +@@ -1267,16 +1267,6 @@ if CONFIG['MOZ_SYSTEM_ZLIB']: + 'zlib.h', + ] + +-if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']: +- system_headers += [ +- 'libsn/sn-common.h', +- 'libsn/sn.h', +- 'libsn/sn-launchee.h', +- 'libsn/sn-launcher.h', +- 'libsn/sn-monitor.h', +- 'libsn/sn-util.h', +- ] +- + if CONFIG['MOZ_SYSTEM_LIBEVENT']: + system_headers += [ + 'event2/event_compat.h', +diff --git old-configure.in old-configure.in +index f9278ba3f8451..2ac7fd92dfaa7 100644 +--- old-configure.in ++++ old-configure.in +@@ -61,7 +61,6 @@ GTK2_VERSION=2.18.0 + GTK3_VERSION=3.4.0 + GDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_4 + W32API_VERSION=3.14 +-STARTUP_NOTIFICATION_VERSION=0.8 + DBUS_VERSION=0.60 + SQLITE_VERSION=3.30.1 + +@@ -1759,40 +1758,6 @@ fi # COMPILE_ENVIRONMENT + + AC_SUBST(MOZ_FS_LAYOUT) + +-dnl ======================================================== +-dnl = startup-notification support module +-dnl ======================================================== +- +-if test "$MOZ_ENABLE_GTK" +-then +- MOZ_ENABLE_STARTUP_NOTIFICATION= +- +- MOZ_ARG_ENABLE_BOOL(startup-notification, +- [ --enable-startup-notification +- Enable startup-notification support (default: disabled) ], +- MOZ_ENABLE_STARTUP_NOTIFICATION=force, +- MOZ_ENABLE_STARTUP_NOTIFICATION=) +- if test "$MOZ_ENABLE_STARTUP_NOTIFICATION" +- then +- PKG_CHECK_MODULES(MOZ_STARTUP_NOTIFICATION, +- libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION, +- [MOZ_ENABLE_STARTUP_NOTIFICATION=1], [ +- if test "$MOZ_ENABLE_STARTUP_NOTIFICATION" = "force" +- then +- AC_MSG_ERROR([* * * Could not find startup-notification >= $STARTUP_NOTIFICATION_VERSION]) +- fi +- MOZ_ENABLE_STARTUP_NOTIFICATION= +- ]) +- fi +- +- if test "$MOZ_ENABLE_STARTUP_NOTIFICATION"; then +- AC_DEFINE(MOZ_ENABLE_STARTUP_NOTIFICATION) +- fi +- +- TK_LIBS="$TK_LIBS $MOZ_STARTUP_NOTIFICATION_LIBS" +-fi +-AC_SUBST(MOZ_ENABLE_STARTUP_NOTIFICATION) +- + AC_SUBST_LIST(TK_CFLAGS) + AC_SUBST_LIST(TK_LIBS) + +diff --git toolkit/library/moz.build toolkit/library/moz.build +index 736acbaae7fa9..af8400f4931f6 100644 +--- toolkit/library/moz.build ++++ toolkit/library/moz.build +@@ -285,9 +285,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': + 'gthread-2.0', + ] + +-if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']: +- OS_LIBS += CONFIG['MOZ_STARTUP_NOTIFICATION_LIBS'] +- + if CONFIG['MOZ_ENABLE_LIBPROXY']: + OS_LIBS += CONFIG['MOZ_LIBPROXY_LIBS'] + +diff --git toolkit/xre/nsAppRunner.cpp toolkit/xre/nsAppRunner.cpp +index 219265cbfda75..5e8dfb68e1ca5 100644 +--- toolkit/xre/nsAppRunner.cpp ++++ toolkit/xre/nsAppRunner.cpp +@@ -278,7 +278,6 @@ nsString gAbsoluteArgv0Path; + # ifdef MOZ_X11 + # include + # endif /* MOZ_X11 */ +-# include "nsGTKToolkit.h" + # include + #endif + #include "BinaryPath.h" +@@ -3851,7 +3850,6 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { + #endif + #if defined(MOZ_WIDGET_GTK) + g_set_application_name(mAppData->name); +- gtk_window_set_auto_startup_notification(false); + + #endif /* defined(MOZ_WIDGET_GTK) */ + #ifdef MOZ_X11 +@@ -4492,10 +4490,6 @@ nsresult XREMain::XRE_mainRun() { + #endif + + #if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK) +- nsGTKToolkit* toolkit = nsGTKToolkit::GetToolkit(); +- if (toolkit && !mDesktopStartupID.IsEmpty()) { +- toolkit->SetDesktopStartupID(mDesktopStartupID); +- } + // Clear the environment variable so it won't be inherited by + // child processes and confuse things. + g_unsetenv("DESKTOP_STARTUP_ID"); +diff --git widget/gtk/moz.build widget/gtk/moz.build +index 2cbd226ef2222..1c8ee424aeb11 100644 +--- widget/gtk/moz.build ++++ widget/gtk/moz.build +@@ -146,8 +146,6 @@ DEFINES['CAIRO_GFX'] = True + + DEFINES['MOZ_APP_NAME'] = '"%s"' % CONFIG['MOZ_APP_NAME'] + +-CFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] +- + # When building with GTK3, the widget code always needs to use + # system Cairo headers, regardless of whether we are also linked + # against and using in-tree Cairo. By not using in-tree Cairo +@@ -158,8 +156,6 @@ CFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] + if not (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk' and CONFIG['MOZ_TREE_CAIRO']): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + +-CXXFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] +- + CFLAGS += CONFIG['TK_CFLAGS'] + CXXFLAGS += CONFIG['TK_CFLAGS'] + +diff --git widget/gtk/mozgtk/mozgtk.c widget/gtk/mozgtk/mozgtk.c +index 9954083d5c1ef..84599830ca00a 100644 +--- widget/gtk/mozgtk/mozgtk.c ++++ widget/gtk/mozgtk/mozgtk.c +@@ -529,6 +529,7 @@ STUB(gtk_window_set_geometry_hints) + STUB(gtk_window_set_icon_name) + STUB(gtk_window_set_modal) + STUB(gtk_window_set_skip_taskbar_hint) ++STUB(gtk_window_set_startup_id) + STUB(gtk_window_set_title) + STUB(gtk_window_set_transient_for) + STUB(gtk_window_set_type_hint) +diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp +index 05902ac3bfb26..89748404988c3 100644 +--- widget/gtk/nsWindow.cpp ++++ widget/gtk/nsWindow.cpp +@@ -64,11 +64,6 @@ + + #include "nsGkAtoms.h" + +-#ifdef MOZ_ENABLE_STARTUP_NOTIFICATION +-# define SN_API_NOT_YET_FROZEN +-# include +-#endif +- + #include "mozilla/Assertions.h" + #include "mozilla/Likely.h" + #include "mozilla/Preferences.h" +@@ -1393,8 +1388,6 @@ void nsWindow::SetSizeMode(nsSizeMode aMode) { + + typedef void (*SetUserTimeFunc)(GdkWindow* aWindow, guint32 aTimestamp); + +-// This will become obsolete when new GTK APIs are widely supported, +-// as described here: http://bugzilla.gnome.org/show_bug.cgi?id=347375 + static void SetUserTimeAndStartupIDForActivatedWindow(GtkWidget* aWindow) { + nsGTKToolkit* GTKToolkit = nsGTKToolkit::GetToolkit(); + if (!GTKToolkit) return; +@@ -1414,35 +1407,7 @@ static void SetUserTimeAndStartupIDForActivatedWindow( + return; + } + +-#if defined(MOZ_ENABLE_STARTUP_NOTIFICATION) +- // TODO - Implement for non-X11 Gtk backends (Bug 726479) +- if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { +- GdkWindow* gdkWindow = gtk_widget_get_window(aWindow); +- +- GdkScreen* screen = gdk_window_get_screen(gdkWindow); +- SnDisplay* snd = sn_display_new( +- gdk_x11_display_get_xdisplay(gdk_window_get_display(gdkWindow)), +- nullptr, nullptr); +- if (!snd) return; +- SnLauncheeContext* ctx = sn_launchee_context_new( +- snd, gdk_screen_get_number(screen), desktopStartupID.get()); +- if (!ctx) { +- sn_display_unref(snd); +- return; +- } +- +- if (sn_launchee_context_get_id_has_timestamp(ctx)) { +- gdk_x11_window_set_user_time(gdkWindow, +- sn_launchee_context_get_timestamp(ctx)); +- } +- +- sn_launchee_context_setup_window(ctx, gdk_x11_window_get_xid(gdkWindow)); +- sn_launchee_context_complete(ctx); +- +- sn_launchee_context_unref(ctx); +- sn_display_unref(snd); +- } +-#endif ++ gtk_window_set_startup_id(GTK_WINDOW(aWindow), desktopStartupID.get()); + + // If we used the startup ID, that already contains the focus timestamp; + // we don't want to reuse the timestamp next time we raise the window diff --git a/www/firefox/Makefile b/www/firefox/Makefile index edca93d4058e..c67e905633ba 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,61 +1,61 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 76.0.1 -PORTREVISION= 2 +PORTREVISION= 3 PORTEPOCH= 1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.25:devel/nspr \ nss>=3.51.1:security/nss \ icu>=64.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.6.4:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.8.2:multimedia/libvpx \ py${PYTHON3_DEFAULT:S/.//}-sqlite3>0:databases/py-sqlite3@py${PYTHON3_DEFAULT:S/.//} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ nasm:devel/nasm \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr USE_MOZILLA= -sqlite 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 .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