Index: head/Mk/Uses/gecko.mk =================================================================== --- head/Mk/Uses/gecko.mk (revision 468750) +++ head/Mk/Uses/gecko.mk (revision 468751) @@ -1,127 +1,127 @@ # $FreeBSD$ # # Handle dependency of different gecko based applications # # MAINTAINER: gecko@FreeBSD.org # # Feature: gecko # Usage: USES=gecko or USES=gecko:ARGS # Valid ARGS: libxul, firefox, seamonkey, thunderbird # in case the first argument is not libxul # The following arguments are available # - build: also add the dependency as a build # dependency # - [0-9][0-9][+]?: a version optionnally # followed by a + # .if !defined(_INCLUDE_USES_GECKO_MK) _INCLUDE_USES_GECKO_MK= yes .if empty(gecko_ARGS) gecko_ARGS= libxul .endif _GECKO_VERSION= ${gecko_ARGS:M[0-9][0-9]*} .if ${gecko_ARGS:Mlibxul} # Compat with older versions GECKO= libxul GECKO_CONFING?= ${LOCALBASE}/bin/${GECKO}-config XPIDL?= ${LOCALBASE}/lib/${GECKO}/xpidl XPIDL_INCL?= `${GECKO_CONFIG} --idlflags` BUILD_DEPENDS+= libxul>=45:www/libxul RUN_DEPENDS+= libxul>=45:www/libxul .elif ${gecko_ARGS:Mfirefox} _GECKO_DEFAULT_VERSION= 52 -_GECKO_VERSIONS= 52 59 +_GECKO_VERSIONS= 52 60 _GECKO_TYPE= firefox # Dependence lines for different Firefox versions 52_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr -59_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox +60_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox .if exists(${LOCALBASE}/bin/firefox) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/firefox --version 2>/dev/null _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g} .endif .elif ${gecko_ARGS:Mseamonkey} _GECKO_DEFAULT_VERSION= 49 _GECKO_VERSIONS= 49 _GECKO_TYPE= seamonkey .if exists(${LOCALBASE}/bin/seamonkey) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/seamonkey --version 2>/dev/null _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9]*:C/[0-9].([0-9][0-9]).*/\1/g} .endif # Dependence lines for different Seamonkey versions 49_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:www/seamonkey .elif ${gecko_ARGS:Mthunderbird} _GECKO_DEFAULT_VERSION= 52 _GECKO_VERSIONS= 52 _GECKO_TYPE= thunderbird .if exists(${LOCALBASE}/bin/thunderbird) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/thunderbird --version 2>/dev/null _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g} .endif # Dependence lines for different Thunderbird versions 52_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird .else IGNORE= Unknown type of gecko dependency you may specify either libxul, firefox, seamonkey or thunderbird .endif .if defined(_GECKO_TYPE) .if ${_GECKO_VERSION:M*+} _GECKO_MIN_VERSION:= ${_GECKO_VERSION:S/+//} _GECKO_WANTED_VERSIONS:= ${_GECKO_DEFAULT_VERSION} .endif .if ${_GECKO_VERSION:M[0-9][0-9]} _GECKO_WANTED_VERSIONS:= ${_GECKO_VERSION:M[0-9][0-9]} .endif _GECKO_WANTED_VERSIONS?= ${_GECKO_DEFAULT_VERSION} .if defined(_GECKO_MIN_VERSION) . for _v in ${_GECKO_VERSIONS} . if ${_GECKO_MIN_VERSION} <= ${_v} _GECKO_WANTED_VERSIONS+= ${_v} . endif . endfor .endif .for _v in ${_GECKO_WANTED_VERSIONS:O:u} _GECKO_HIGHEST_VERSION:= ${_v} .if defined(_GECKO_INSTALLED_VER) && ${_GECKO_INSTALLED_VER} == ${_v} _GECKO_WANTED_VERSION:= ${_v} .endif .endfor .if !defined(_GECKO_WANTED_VERSION) .if defined(_GECKO_INSTALLED_VER) IGNORE= cannot install: ${_GECKO_TYPE} versions mismatch: ${_GECKO_TYPE}-${_GECKO_INSTALLED_VER} is installed and wanted version is ${_GECKO_TYPE}-${_GECKO_VERSION:M[0-9][0-9]} .else _GECKO_WANTED_VERSION:= ${_GECKO_HIGHEST_VERSION} .endif .endif .if ${gecko_ARGS:Mbuild} BUILD_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS} .endif RUN_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS} .endif .endif Index: head/Mk/bsd.gecko.mk =================================================================== --- head/Mk/bsd.gecko.mk (revision 468750) +++ head/Mk/bsd.gecko.mk (revision 468751) @@ -1,590 +1,590 @@ #-*- 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 gmake iconv localbase perl5 pkgconfig \ python:2.7,build desktop-file-utils CPE_VENDOR?=mozilla USE_PERL5= build USE_XORG= x11 xcomposite xdamage xext xfixes xrender xt HAS_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes .if ${MOZILLA} != "libxul" BUNDLE_LIBS= yes .endif .if ${MOZILLA_VER:R:R} >= 49 USES+= compiler:c++14-lang CPPFLAGS+= -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 \ -D_DECLARE_C99_LDBL_MATH # XXX ports/193528 .else USES+= compiler:c++11-lang .endif .if ${MOZILLA_VER:R:R} >= 50 USE_XORG+= xcb .endif .if ${MOZILLA_VER:R:R} >= 56 MESA_LLVM_VER?= 60 BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>0:devel/llvm${MESA_LLVM_VER} MOZ_EXPORT+= LLVM_CONFIG=llvm-config${MESA_LLVM_VER} .endif .if ${OPSYS} == FreeBSD && ${OSREL} == 11.1 LLD_UNSAFE= yes .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 .elif ${OSVERSION} < 1100079 MOZ_OPTIONS+= --enable-jemalloc .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 .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 # XXX Remove files/patch-ijg-libjpeg once -turbo is default 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 \ --with-pthreads # 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 .endif .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.22.1:${RUST_PORT} +BUILD_DEPENDS+= ${RUST_PORT:T}>=1.24:${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 . if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100061 LIBS+= -lelf . endif 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-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/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 468750) +++ head/www/firefox/Makefile (revision 468751) @@ -1,70 +1,66 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 59.0.3 +DISTVERSION= 60.0 PORTEPOCH= 1 CATEGORIES= www ipv6 -MASTER_SITES= https://hg.mozilla.org/releases/mozilla-release/archive/ -MASTER_SITES+= LOCAL/${DIST_SUBDIR}/jbeich -DISTNAME= ${MASTER_SITES:M*hg*:S,/archive/,,:T}-6b51784853e47e091d213d421a19cb623af718f0 -DISTFILES= ${DISTNAME:C/.*-//}${EXTRACT_SUFX} -DIST_SUBDIR= firefox +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.18:devel/nspr \ - nss>=3.35:security/nss \ +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.4:print/harfbuzz \ - graphite2>=1.3.10:graphics/graphite2 \ + harfbuzz>=1.7.6:print/harfbuzz \ + graphite2>=1.3.11:graphics/graphite2 \ png>=1.6.34:graphics/png \ - libvorbis>=1.3.5,3:audio/libvorbis \ + libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ - sqlite3>=3.21.0:databases/sqlite3 \ + 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 \ -LIB_DEPENDS= libv4l2.so:multimedia/libv4l - USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -cairo -soundtouch USE_GL= gl -USES= tar:bz2 +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/distinfo =================================================================== --- head/www/firefox/distinfo (revision 468750) +++ head/www/firefox/distinfo (revision 468751) @@ -1,3 +1,3 @@ -TIMESTAMP = 1523300563 -SHA256 (firefox/6b51784853e47e091d213d421a19cb623af718f0.tar.bz2) = 9f607fd192a30dab38fa63bd1be174a3e72e3a8f8e7d354c5a4b6d285c23942b -SIZE (firefox/6b51784853e47e091d213d421a19cb623af718f0.tar.bz2) = 304955566 +TIMESTAMP = 1525121503 +SHA256 (firefox-60.0.source.tar.xz) = 97fb2ebac36f04ea6da0218dd8c74c80a15870dc64f60f8d9625839f5ebef5ff +SIZE (firefox-60.0.source.tar.xz) = 267060764 Index: head/www/firefox/files/patch-bug826985 =================================================================== --- head/www/firefox/files/patch-bug826985 (revision 468750) +++ head/www/firefox/files/patch-bug826985 (nonexistent) @@ -1,171 +0,0 @@ -commit 8024d93 -Author: Henrik Gulbrandsen -Date: Fri Jan 4 13:49:22 2013 +0100 - - Bug 826985 - Support more video formats for WebRTC via libv4l2 on Linux. ---- - config/system-headers | 1 + - old-configure.in | 7 +++++++ - media/webrtc/signaling/test/Makefile.in | 1 + - .../modules/video_capture/linux/device_info_linux.cc | 17 +++++++++++++++++ - .../modules/video_capture/linux/video_capture_linux.cc | 16 +++++++++++++++- - .../webrtc/modules/video_capture/video_capture.gypi | 11 +++++++++++ - toolkit/library/Makefile.in | 1 + - 6 files changed, 52 insertions(+), 1 deletion(-) - -diff --git config/system-headers.mozbuild config/system-headers.mozbuild -index e02d381a12e9..7620b4d00623 100644 ---- config/system-headers.mozbuild -+++ config/system-headers.mozbuild -@@ -428,6 +428,7 @@ system_headers = [ - 'libgnomeui/gnome-icon-theme.h', - 'libgnomeui/gnome-ui-init.h', - 'libutil.h', -+ 'libv4l2.h', - 'limits.h', - 'link.h', - 'linux/ioprio.h', -diff --git old-configure.in configure.in -index 55e4cd1..76567b3 100644 ---- old-configure.in -+++ old-configure.in -@@ -2558,6 +2558,9 @@ if test -n "$MOZ_WEBRTC"; then - if test -n "$MOZ_X11"; then - MOZ_WEBRTC_X11_LIBS="-lXext -lXdamage -lXfixes -lXcomposite" - fi -+ -+ dnl with libv4l2 we can support more cameras -+ PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2) - else - MOZ_SYNTH_PICO= - fi -diff --git build/gyp.mozbuild build/gyp.mozbuild -index b483cd1..f1dd1f0 100644 ---- build/gyp.mozbuild -+++ build/gyp.mozbuild -@@ -11,6 +11,7 @@ gyp_vars = { - 'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0, - 'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0, - 'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0, -+ 'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0, - # basic stuff for everything - 'include_internal_video_render': 0, - 'clang_use_chrome_plugins': 0, -diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc -index 239a292..bab496c 100644 ---- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc -+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc -@@ -25,6 +25,9 @@ - #else - #include - #endif -+#ifdef HAVE_LIBV4L2 -+#include -+#endif - - #include "webrtc/system_wrappers/interface/ref_count.h" - #include "webrtc/system_wrappers/interface/trace.h" -@@ -34,6 +37,15 @@ - #define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) ) - #endif - -+#ifdef HAVE_LIBV4L2 -+#define open v4l2_open -+#define close v4l2_close -+#define dup v4l2_dup -+#define ioctl v4l2_ioctl -+#define mmap v4l2_mmap -+#define munmap v4l2_munmap -+#endif -+ - namespace webrtc - { - namespace videocapturemodule -@@ -274,6 +286,11 @@ int32_t DeviceInfoLinux::GetDeviceName( - memset(deviceNameUTF8, 0, deviceNameLength); - memcpy(cameraName, cap.card, sizeof(cap.card)); - -+ if (cameraName[0] == '\0') -+ { -+ sprintf(cameraName, "Camera at /dev/video%d", deviceNumber); -+ } -+ - if (deviceNameLength >= strlen(cameraName)) - { - memcpy(deviceNameUTF8, cameraName, strlen(cameraName)); -diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc -index 12df1b3..e9863ba 100644 ---- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc -+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc -@@ -25,6 +25,9 @@ - #else - #include - #endif -+#ifdef HAVE_LIBV4L2 -+#include -+#endif - - #include - -@@ -32,6 +35,15 @@ - #include "webrtc/modules/video_capture/linux/video_capture_linux.h" - #include "webrtc/system_wrappers/include/critical_section_wrapper.h" - #include "webrtc/system_wrappers/include/trace.h" -+ -+#ifdef HAVE_LIBV4L2 -+#define open v4l2_open -+#define close v4l2_close -+#define dup v4l2_dup -+#define ioctl v4l2_ioctl -+#define mmap v4l2_mmap -+#define munmap v4l2_munmap -+#endif - - namespace webrtc { - namespace videocapturemodule { -diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi -index d46b5aa..e452223 100644 ---- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi -+++ media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi -@@ -7,6 +7,9 @@ - # be found in the AUTHORS file in the root of the source tree. - - { -+ 'variables': { -+ 'use_libv4l2%': 0, -+ }, - 'targets': [ - { - 'target_name': 'video_capture_module', -@@ -76,6 +76,19 @@ - 'linux/video_capture_linux.cc', - 'linux/video_capture_linux.h', - ], -+ 'conditions': [ -+ ['use_libv4l2==1', { -+ 'defines': [ -+ 'HAVE_LIBV4L2', -+ ], -+ 'cflags_mozilla': [ -+ '$(MOZ_LIBV4L2_CFLAGS)', -+ ], -+ 'libraries': [ -+ '-lv4l2', -+ ], -+ }], -+ ], - }], - ['OS=="mac"', { - 'sources': [ -diff --git toolkit/library/moz.build toolkit/library/moz.build -index 9c16ffa..1db3794 100644 ---- toolkit/library/moz.build -+++ toolkit/library/moz.build -@@ -163,6 +163,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF - ] - - OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS'] -+OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] - OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] - OS_LIBS += CONFIG['MOZ_APP_EXTRA_LIBS'] - Property changes on: head/www/firefox/files/patch-bug826985 ___________________________________________________________________ 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-bug1452041 =================================================================== --- head/www/firefox/files/patch-bug1452041 (revision 468750) +++ head/www/firefox/files/patch-bug1452041 (nonexistent) @@ -1,28 +0,0 @@ -commit 90944c5323c3 -Author: Martin Stransky -Date: Mon Apr 9 13:36:03 2018 +0200 - - Bug 1452041 - nsClipboard::HasDataMatchingFlavors(): return immediately when there's no clipboard content, r=jhorak a=jcristau - - MozReview-Commit-ID: CTz0tRr3p57 - - --HG-- - extra : rebase_source : 35453506a58e698d8f0b6e9681fb87da8511eb9c - extra : source : 4b841d1c7ec0513eb080fb033f54bde12ccb7ddc ---- - widget/gtk/nsClipboard.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git widget/gtk/nsClipboard.cpp widget/gtk/nsClipboard.cpp -index 36e8d6ad5cee..61d3ef53ca98 100644 ---- widget/gtk/nsClipboard.cpp -+++ widget/gtk/nsClipboard.cpp -@@ -390,6 +390,8 @@ nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, uint32_t aLength, - - int targetNums; - GdkAtom* targets = mContext->GetTargets(aWhichClipboard, &targetNums); -+ if (!targets) -+ return NS_OK; - - // Walk through the provided types and try to match it to a - // provided type. Property changes on: head/www/firefox/files/patch-bug1452041 ___________________________________________________________________ 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-bug1433747 =================================================================== --- head/www/firefox/files/patch-bug1433747 (revision 468750) +++ head/www/firefox/files/patch-bug1433747 (nonexistent) @@ -1,24 +0,0 @@ -Apply simd@cf87865a998a to unbreak -C target-cpu with Rust >= 1.24 - -diff --git third_party/rust/simd/.cargo-checksum.json third_party/rust/simd/.cargo-checksum.json -index 65f31b0560e6..f16d0dd4fd61 100644 ---- third_party/rust/simd/.cargo-checksum.json -+++ third_party/rust/simd/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{".travis.yml":"e2c720c3633b7671efce49147c62b12bcbf630d7c5d6fc65cd97620bfa4ddcea","Cargo.toml":"608aad04f17a524ee21048fa2ce9f656ae344e0473dd0e331dc954f0f9677c63","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6d3a9431e65e69c73a8923e6517b889d17549b23db406b9ec027710d16af701f","README.md":"249294a9a5f63c64c0f7fe4a607060f43f3507dce2378067aa59d25fb3ae681d","benches/mandelbrot.rs":"051b5199e66bca6cf7774e9024915fd4e1349ab39726a10a14e06b60d65d87a4","benches/matrix.rs":"048a21dacdb62365e0105d00d2c8cd6bd2396ac81134f2bff7eb4f7d095fb735","examples/axpy.rs":"4307626045d64ec08361c97c9c72c5dc8d361bdc88f64453b97ac0212041a1b2","examples/convert.rs":"8e658fde050f8a0d8b84ad7570446b10fcf544afbd551b940ca340474f324840","examples/dot-product.rs":"6fe2e007c147af5353804173a593c5b9d57dbccec156e1da37e9e32537363f91","examples/fannkuch-redux-nosimd.rs":"7b2fbde35e8666929d14d67328471cb0483d038a5325232f8db148b30865312b","examples/fannkuch-redux.rs":"ea21fdbd2274488a62cc984acad6e0b65d52f24fb4ff63b7057a3a667e9c8aae","examples/mandelbrot.rs":"8b8fdca1edac50e5a33e0e0592bd41eb75114f31839ccd40d485c61a9a664380","examples/matrix-inverse.rs":"a378d20ef20c2119bb10a86de27c92fec2c2f77f374e6bfd36707c9825a5fe92","examples/nbody-nosimd.rs":"2c8e0a7feacd202fdd65eeceb6420d6e9f43340b81f20a8e532704a587a2796b","examples/nbody.rs":"a864311affab262024479d6348ff51af43d809e9ad332ec30ea4aacceaa2eae1","examples/ops.rs":"1316f915d0afcfa98fdc4077e965ccccf6b4b21c433cbe487ff0cdc60df3cd39","examples/spectral-norm-nosimd.rs":"ffc8512ecde779078ea467f38f423a0ea623c63da7078193f9dd370200773f79","examples/spectral-norm.rs":"edb09c9d477f83939098cfb77a27cc298bc7a0c8a8e29cece0cccae0d70d890e","src/aarch64/mod.rs":"83f52775364c98de0cecb7e1509530c18972e932469f5f1522aa24a735d0fa37","src/aarch64/neon.rs":"1fe769979e07d8e2bc3c78ce116e05d735860744efe097a894cc9421153257fb","src/arm/mod.rs":"dcdd90bc0b39abaf86a0c8946d442b16313563fbae1ff03248628275c74d8617","src/arm/neon.rs":"51cc509856200e80f8e4cc2c982586e6d1cef593ec4537e153dce0cfe31d3428","src/common.rs":"62f4e7e0fefb52ad190d0f2191bc435ac4deab3f2bc70dc427f2a7f9ccb7856e","src/lib.rs":"25f0b39c038fa85af858318135dfd87865be26c33bb4bd1438aec96a1e68d8b5","src/sixty_four.rs":"510a9e00189a61e4f0a5beb7052d5dee37fc8261f94a2af45ef10327e0f3b7df","src/v256.rs":"2e328e49034876d535e0627c7a62191da2b4fb156a657614bf531a5fc75b1385","src/x86/avx.rs":"c66140abefca634b48eae307c3ec8cf5a40f2279b10e246a7e2ac602a2a2bb28","src/x86/avx2.rs":"efe3006b13a13261a3dec3d37dc1d8cb53950f3803c420069231803374949937","src/x86/mod.rs":"0acc5a5e2672e2a0fddc11065663be8b8fa2da87320ea291fa86ff8c2f33edf5","src/x86/sse2.rs":"5ceda75a401958a135fc9d851b22075314cdeed69fd483b6a7be4f11373f40da","src/x86/sse3.rs":"9bd01a4f08069ca4f445952e744d651efe887e3835b18872e757375f0d053bd2","src/x86/sse4_1.rs":"9ceb80dd70a7e7dfeef508cb935e1a2637175bc87a3b090f5dea691ff6aa0516","src/x86/sse4_2.rs":"c59321aed8decdce4d0d8570cff46aed02e1a8265647ef7702e9b180fc581254","src/x86/ssse3.rs":"2290f0269bae316b8e0491495645ee38a9bd73525c8572759c1328341c3bdb4c"},"package":"7a94d14a2ae1f1f110937de5fb69e494372560181c7e1739a097fcc2cee37ba0"} -\ No newline at end of file -+{"files":{".travis.yml":"e2c720c3633b7671efce49147c62b12bcbf630d7c5d6fc65cd97620bfa4ddcea","Cargo.toml":"608aad04f17a524ee21048fa2ce9f656ae344e0473dd0e331dc954f0f9677c63","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6d3a9431e65e69c73a8923e6517b889d17549b23db406b9ec027710d16af701f","README.md":"249294a9a5f63c64c0f7fe4a607060f43f3507dce2378067aa59d25fb3ae681d","benches/mandelbrot.rs":"051b5199e66bca6cf7774e9024915fd4e1349ab39726a10a14e06b60d65d87a4","benches/matrix.rs":"048a21dacdb62365e0105d00d2c8cd6bd2396ac81134f2bff7eb4f7d095fb735","examples/axpy.rs":"4307626045d64ec08361c97c9c72c5dc8d361bdc88f64453b97ac0212041a1b2","examples/convert.rs":"8e658fde050f8a0d8b84ad7570446b10fcf544afbd551b940ca340474f324840","examples/dot-product.rs":"6fe2e007c147af5353804173a593c5b9d57dbccec156e1da37e9e32537363f91","examples/fannkuch-redux-nosimd.rs":"7b2fbde35e8666929d14d67328471cb0483d038a5325232f8db148b30865312b","examples/fannkuch-redux.rs":"ea21fdbd2274488a62cc984acad6e0b65d52f24fb4ff63b7057a3a667e9c8aae","examples/mandelbrot.rs":"8b8fdca1edac50e5a33e0e0592bd41eb75114f31839ccd40d485c61a9a664380","examples/matrix-inverse.rs":"a378d20ef20c2119bb10a86de27c92fec2c2f77f374e6bfd36707c9825a5fe92","examples/nbody-nosimd.rs":"2c8e0a7feacd202fdd65eeceb6420d6e9f43340b81f20a8e532704a587a2796b","examples/nbody.rs":"a864311affab262024479d6348ff51af43d809e9ad332ec30ea4aacceaa2eae1","examples/ops.rs":"1316f915d0afcfa98fdc4077e965ccccf6b4b21c433cbe487ff0cdc60df3cd39","examples/spectral-norm-nosimd.rs":"ffc8512ecde779078ea467f38f423a0ea623c63da7078193f9dd370200773f79","examples/spectral-norm.rs":"edb09c9d477f83939098cfb77a27cc298bc7a0c8a8e29cece0cccae0d70d890e","src/aarch64/mod.rs":"83f52775364c98de0cecb7e1509530c18972e932469f5f1522aa24a735d0fa37","src/aarch64/neon.rs":"1fe769979e07d8e2bc3c78ce116e05d735860744efe097a894cc9421153257fb","src/arm/mod.rs":"dcdd90bc0b39abaf86a0c8946d442b16313563fbae1ff03248628275c74d8617","src/arm/neon.rs":"51cc509856200e80f8e4cc2c982586e6d1cef593ec4537e153dce0cfe31d3428","src/common.rs":"62f4e7e0fefb52ad190d0f2191bc435ac4deab3f2bc70dc427f2a7f9ccb7856e","src/lib.rs":"25f0b39c038fa85af858318135dfd87865be26c33bb4bd1438aec96a1e68d8b5","src/sixty_four.rs":"510a9e00189a61e4f0a5beb7052d5dee37fc8261f94a2af45ef10327e0f3b7df","src/v256.rs":"2e328e49034876d535e0627c7a62191da2b4fb156a657614bf531a5fc75b1385","src/x86/avx.rs":"c66140abefca634b48eae307c3ec8cf5a40f2279b10e246a7e2ac602a2a2bb28","src/x86/avx2.rs":"3bcb3f391ad5f16f0a6da0bc1301329beb478ad6265bd3b2c9c124fc2e6198e5","src/x86/mod.rs":"0acc5a5e2672e2a0fddc11065663be8b8fa2da87320ea291fa86ff8c2f33edf5","src/x86/sse2.rs":"5ceda75a401958a135fc9d851b22075314cdeed69fd483b6a7be4f11373f40da","src/x86/sse3.rs":"9bd01a4f08069ca4f445952e744d651efe887e3835b18872e757375f0d053bd2","src/x86/sse4_1.rs":"9ceb80dd70a7e7dfeef508cb935e1a2637175bc87a3b090f5dea691ff6aa0516","src/x86/sse4_2.rs":"c59321aed8decdce4d0d8570cff46aed02e1a8265647ef7702e9b180fc581254","src/x86/ssse3.rs":"2290f0269bae316b8e0491495645ee38a9bd73525c8572759c1328341c3bdb4c"},"package":"7a94d14a2ae1f1f110937de5fb69e494372560181c7e1739a097fcc2cee37ba0"} -\ No newline at end of file -diff --git third_party/rust/simd/src/x86/avx2.rs third_party/rust/simd/src/x86/avx2.rs -index fa92e3b60786..e86a33d3b5bb 100644 ---- third_party/rust/simd/src/x86/avx2.rs -+++ third_party/rust/simd/src/x86/avx2.rs -@@ -42,7 +42,7 @@ extern "platform-intrinsic" { - fn x86_mm256_packus_epi32(x: i32x8, y: i32x8) -> u16x16; - fn x86_mm256_permutevar8x32_epi32(x: i32x8, y: i32x8) -> i32x8; - fn x86_mm256_permutevar8x32_ps(x: f32x8, y: i32x8) -> f32x8; -- fn x86_mm256_sad_epu8(x: u8x32, y: u8x32) -> u8x32; -+ fn x86_mm256_sad_epu8(x: u8x32, y: u8x32) -> u64x4; - fn x86_mm256_shuffle_epi8(x: i8x32, y: i8x32) -> i8x32; - fn x86_mm256_sign_epi8(x: i8x32, y: i8x32) -> i8x32; - fn x86_mm256_sign_epi16(x: i16x16, y: i16x16) -> i16x16; Property changes on: head/www/firefox/files/patch-bug1433747 ___________________________________________________________________ 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-bug1447925 =================================================================== --- head/www/firefox/files/patch-bug1447925 (revision 468750) +++ head/www/firefox/files/patch-bug1447925 (nonexistent) @@ -1,447 +0,0 @@ -commit d648a9a26195 -Author: Martin Stransky -Date: Tue Mar 27 15:51:07 2018 +0200 - - Bug 1447925 - Add GetClipboardText() to get text data from clipboard, r=jhorak - - GetClipboardText() calls gtk_clipboard_request_text() to request text clipboard data from Gtk+ - and leave Gtk+ to do clipboard text format conversions. Also unify data getting code for text/data/targets. - - MozReview-Commit-ID: 9DGSdOACho1 - - --HG-- - extra : rebase_source : f1d95609f8a7587a4abc11739db9d17ec5446a7b ---- - widget/gtk/nsClipboard.h | 1 + - widget/gtk/nsClipboardX11.cpp | 177 +++++++++++++++++++++++++++++------------- - widget/gtk/nsClipboardX11.h | 39 +++++++--- - 3 files changed, 152 insertions(+), 65 deletions(-) - -diff --git widget/gtk/nsClipboard.h widget/gtk/nsClipboard.h -index 2be635bca10d..fa3b9b6ff087 100644 ---- widget/gtk/nsClipboard.h -+++ widget/gtk/nsClipboard.h -@@ -21,6 +21,7 @@ public: - virtual const char* GetClipboardData(const char* aMimeType, - int32_t aWhichClipboard, - uint32_t* aContentLength) = 0; -+ virtual const char* GetClipboardText(int32_t aWhichClipboard) = 0; - virtual void ReleaseClipboardData(const char* aClipboardData) = 0; - - virtual GdkAtom* GetTargets(int32_t aWhichClipboard, -diff --git widget/gtk/nsClipboardX11.cpp widget/gtk/nsClipboardX11.cpp -index 6a574069dcc4..e8d8522651c2 100644 ---- widget/gtk/nsClipboardX11.cpp -+++ widget/gtk/nsClipboardX11.cpp -@@ -62,8 +62,10 @@ selection_request_filter(GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) - - nsRetrievalContextX11::nsRetrievalContextX11() - : mState(INITIAL) -- , mData(nullptr) - , mClipboardRequestNumber(0) -+ , mClipboardData(nullptr) -+ , mClipboardDataLength(0) -+ , mTargetMIMEType(gdk_atom_intern("TARGETS", FALSE)) - { - // A custom event filter to workaround attempting to dereference a null - // selection requestor in GTK3 versions before 3.11.3. See bug 1178799. -@@ -139,13 +141,11 @@ checkEventProc(Display *display, XEvent *event, XPointer arg) - return False; - } - --void * --nsRetrievalContextX11::Wait() -+bool -+nsRetrievalContextX11::WaitForX11Content() - { - if (mState == COMPLETED) { // the request completed synchronously -- void *data = mData; -- mData = nullptr; -- return data; -+ return true; - } - - GdkDisplay *gdkDisplay = gdk_display_get_default(); -@@ -181,9 +181,7 @@ nsRetrievalContextX11::Wait() - DispatchPropertyNotifyEvent(context.cbWidget, &xevent); - - if (mState == COMPLETED) { -- void *data = mData; -- mData = nullptr; -- return data; -+ return true; - } - } - -@@ -200,11 +198,12 @@ nsRetrievalContextX11::Wait() - printf("exceeded clipboard timeout\n"); - #endif - mState = TIMED_OUT; -- return nullptr; -+ return false; - } - - // Call this when data has been retrieved. --void nsRetrievalContextX11::Complete(GtkSelectionData* aData, -+void nsRetrievalContextX11::Complete(ClipboardDataType aDataType, -+ const void* aData, - int aDataRequestNumber) - { - if (mClipboardRequestNumber != aDataRequestNumber) { -@@ -214,8 +213,54 @@ void nsRetrievalContextX11::Complete(GtkSelectionData* aData, - - if (mState == INITIAL) { - mState = COMPLETED; -- mData = gtk_selection_data_get_length(aData) >= 0 ? -- gtk_selection_data_copy(aData) : nullptr; -+ -+ MOZ_ASSERT(mClipboardData == nullptr && -+ mClipboardDataLength == 0, -+ "We're leaking clipboard data!"); -+ -+ switch (aDataType) { -+ case CLIPBOARD_TEXT: -+ { -+ const char* text = static_cast(aData); -+ if (text) { -+ mClipboardDataLength = sizeof(char) * (strlen(text) + 1); -+ mClipboardData = moz_xmalloc(mClipboardDataLength); -+ memcpy(mClipboardData, text, mClipboardDataLength); -+ } -+ } -+ break; -+ case CLIPBOARD_TARGETS: -+ { -+ const GtkSelectionData *selection = -+ static_cast(aData); -+ -+ gint n_targets = 0; -+ GdkAtom *targets = nullptr; -+ -+ if (!gtk_selection_data_get_targets(selection, &targets, &n_targets) || -+ !n_targets) { -+ return; -+ } -+ -+ mClipboardData = targets; -+ mClipboardDataLength = n_targets; -+ } -+ break; -+ case CLIPBOARD_DATA: -+ { -+ const GtkSelectionData *selection = -+ static_cast(aData); -+ -+ gint dataLength = gtk_selection_data_get_length(selection); -+ if (dataLength > 0) { -+ mClipboardDataLength = dataLength; -+ mClipboardData = moz_xmalloc(dataLength); -+ memcpy(mClipboardData, gtk_selection_data_get_data(selection), -+ dataLength); -+ } -+ } -+ break; -+ } - } else { - // Already timed out - MOZ_ASSERT(mState == TIMED_OUT); -@@ -233,12 +278,24 @@ clipboard_contents_received(GtkClipboard *clipboard, - delete handler; - } - --GtkSelectionData* --nsRetrievalContextX11::WaitForContents(GtkClipboard *clipboard, -- const char *aMimeType) -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data) -+{ -+ ClipboardRequestHandler *handler = -+ static_cast(data); -+ handler->Complete(text); -+ delete handler; -+} -+ -+bool -+nsRetrievalContextX11::WaitForClipboardData(ClipboardDataType aDataType, -+ GtkClipboard *clipboard, -+ const char *aMimeType) - { - mState = INITIAL; -- NS_ASSERTION(!mData, "Leaking clipboard content!"); -+ NS_ASSERTION(!mClipboardData, "Leaking clipboard content!"); - - // Call ClipboardRequestHandler() with unique clipboard request number. - // The request number pairs gtk_clipboard_request_contents() data request -@@ -246,39 +303,45 @@ nsRetrievalContextX11::WaitForContents(GtkClipboard *clipboard, - // is provided by Gtk. - mClipboardRequestNumber++; - ClipboardRequestHandler* handler = -- new ClipboardRequestHandler(this, mClipboardRequestNumber); -+ new ClipboardRequestHandler(this, aDataType, mClipboardRequestNumber); -+ -+ switch (aDataType) { -+ case CLIPBOARD_DATA: -+ gtk_clipboard_request_contents(clipboard, -+ gdk_atom_intern(aMimeType, FALSE), clipboard_contents_received, -+ handler); -+ break; -+ case CLIPBOARD_TEXT: -+ gtk_clipboard_request_text(clipboard, clipboard_text_received, -+ handler); -+ break; -+ case CLIPBOARD_TARGETS: -+ gtk_clipboard_request_contents(clipboard, -+ mTargetMIMEType, clipboard_contents_received, -+ handler); -+ break; -+ } - -- gtk_clipboard_request_contents(clipboard, -- gdk_atom_intern(aMimeType, FALSE), -- clipboard_contents_received, -- handler); -- return static_cast(Wait()); -+ return WaitForX11Content(); - } - - GdkAtom* - nsRetrievalContextX11::GetTargets(int32_t aWhichClipboard, int* aTargetNums) - { -- *aTargetNums = 0; -+ GtkClipboard *clipboard = -+ gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); - -- GtkClipboard *clipboard = -- gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -- -- GtkSelectionData *selection_data = WaitForContents(clipboard, "TARGETS"); -- if (!selection_data) -- return nullptr; -+ if (!WaitForClipboardData(CLIPBOARD_TARGETS, clipboard)) -+ return nullptr; - -- gint n_targets = 0; -- GdkAtom *targets = nullptr; -+ *aTargetNums = mClipboardDataLength; -+ GdkAtom* targets = static_cast(mClipboardData); - -- if (!gtk_selection_data_get_targets(selection_data, &targets, &n_targets) || -- !n_targets) { -- return nullptr; -- } -+ // We don't hold the target list internally but we transfer the ownership. -+ mClipboardData = nullptr; -+ mClipboardDataLength = 0; - -- gtk_selection_data_free(selection_data); -- -- *aTargetNums = n_targets; -- return targets; -+ return targets; - } - - const char* -@@ -289,25 +352,31 @@ nsRetrievalContextX11::GetClipboardData(const char* aMimeType, - GtkClipboard *clipboard; - clipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); - -- GtkSelectionData *selectionData = WaitForContents(clipboard, aMimeType); -- if (!selectionData) -+ if (!WaitForClipboardData(CLIPBOARD_DATA, clipboard, aMimeType)) - return nullptr; - -- char* clipboardData = nullptr; -- int contentLength = gtk_selection_data_get_length(selectionData); -- if (contentLength > 0) { -- clipboardData = reinterpret_cast( -- moz_xmalloc(sizeof(char)*contentLength)); -- memcpy(clipboardData, gtk_selection_data_get_data(selectionData), -- sizeof(char)*contentLength); -- } -- gtk_selection_data_free(selectionData); -+ *aContentLength = mClipboardDataLength; -+ return static_cast(mClipboardData); -+} - -- *aContentLength = contentLength; -- return (const char*)clipboardData; -+const char* -+nsRetrievalContextX11::GetClipboardText(int32_t aWhichClipboard) -+{ -+ GtkClipboard *clipboard; -+ clipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ -+ if (!WaitForClipboardData(CLIPBOARD_TEXT, clipboard)) -+ return nullptr; -+ -+ return static_cast(mClipboardData); - } - - void nsRetrievalContextX11::ReleaseClipboardData(const char* aClipboardData) - { -- free((void *)aClipboardData); -+ NS_ASSERTION(aClipboardData == mClipboardData, -+ "Releasing unknown clipboard data!"); -+ free((void*)aClipboardData); -+ -+ mClipboardData = nullptr; -+ mClipboardDataLength = 0; - } -diff --git widget/gtk/nsClipboardX11.h widget/gtk/nsClipboardX11.h -index 210f6b1fdbd4..9e89e08445dd 100644 ---- widget/gtk/nsClipboardX11.h -+++ widget/gtk/nsClipboardX11.h -@@ -11,6 +11,12 @@ - #include "nsIClipboard.h" - #include - -+enum ClipboardDataType { -+ CLIPBOARD_DATA, -+ CLIPBOARD_TEXT, -+ CLIPBOARD_TARGETS -+}; -+ - class nsRetrievalContextX11 : public nsRetrievalContext - { - public: -@@ -19,48 +25,59 @@ public: - virtual const char* GetClipboardData(const char* aMimeType, - int32_t aWhichClipboard, - uint32_t* aContentLength) override; -+ virtual const char* GetClipboardText(int32_t aWhichClipboard) override; - virtual void ReleaseClipboardData(const char* aClipboardData) override; - - virtual GdkAtom* GetTargets(int32_t aWhichClipboard, - int* aTargetNums) override; - -- // Call this when data has been retrieved. -- void Complete(GtkSelectionData* aData, int aDataRequestNumber); -+ // Call this when data or text has been retrieved. -+ void Complete(ClipboardDataType aDataType, -+ const void* aData, -+ int aDataRequestNumber); - - nsRetrievalContextX11(); - virtual ~nsRetrievalContextX11() override; - - private: -- GtkSelectionData* WaitForContents(GtkClipboard *clipboard, -- const char *aMimeType); -+ bool WaitForClipboardData(ClipboardDataType aDataType, -+ GtkClipboard *clipboard, -+ const char *aMimeType = nullptr); -+ - /** - * Spins X event loop until timing out or being completed. Returns - * null if we time out, otherwise returns the completed data (passing - * ownership to caller). - */ -- void *Wait(); -+ bool WaitForX11Content(); - -- State mState; -- void* mData; -- int mClipboardRequestNumber; -+ State mState; -+ int mClipboardRequestNumber; -+ void* mClipboardData; -+ uint32_t mClipboardDataLength; -+ GdkAtom mTargetMIMEType; - }; - - class ClipboardRequestHandler - { - public: -- ClipboardRequestHandler(nsRetrievalContextX11 *aContext, int aDataRequestNumber) -+ ClipboardRequestHandler(nsRetrievalContextX11 *aContext, -+ ClipboardDataType aDataType, -+ int aDataRequestNumber) - : mContext(aContext) - , mDataRequestNumber(aDataRequestNumber) -+ , mDataType(aDataType) - {} - -- void Complete(GtkSelectionData* aData) -+ void Complete(const void *aData) - { -- mContext->Complete(aData, mDataRequestNumber); -+ mContext->Complete(mDataType, aData, mDataRequestNumber); - } - - private: - nsRetrievalContextX11 *mContext; - int mDataRequestNumber; -+ ClipboardDataType mDataType; - }; - - #endif /* __nsClipboardX11_h_ */ - -commit 3a5fb9d15546 -Author: Martin Stransky -Date: Tue Apr 3 10:30:37 2018 +0200 - - Bug 1447925 - Use GetClipboardText() to get text data at nsClipboard::GetData(), r=jhorak - - MozReview-Commit-ID: 3JnLLyk0BOF - - --HG-- - extra : rebase_source : 7bd5faff15d805d19628bdbd9fcd194c89c283a4 ---- - widget/gtk/nsClipboard.cpp | 7 ++----- - widget/gtk/nsClipboard.h | 7 ++++--- - 2 files changed, 6 insertions(+), 8 deletions(-) - -diff --git widget/gtk/nsClipboard.cpp widget/gtk/nsClipboard.cpp -index 5e8105987842..36e8d6ad5cee 100644 ---- widget/gtk/nsClipboard.cpp -+++ widget/gtk/nsClipboard.cpp -@@ -301,11 +301,8 @@ nsClipboard::GetData(nsITransferable *aTransferable, int32_t aWhichClipboard) - // Special case text/unicode since we can convert any - // string into text/unicode - if (flavorStr.EqualsLiteral(kUnicodeMime)) { -- uint32_t clipboardDataLength; - const char* clipboardData = -- mContext->GetClipboardData(GTK_DEFAULT_MIME_TEXT, -- aWhichClipboard, -- &clipboardDataLength); -+ mContext->GetClipboardText(aWhichClipboard); - if (!clipboardData) { - // If the type was text/unicode and we couldn't get - // text off the clipboard, run the next loop -@@ -314,7 +311,7 @@ nsClipboard::GetData(nsITransferable *aTransferable, int32_t aWhichClipboard) - } - - // Convert utf-8 into our unicode format. -- NS_ConvertUTF8toUTF16 ucs2string(clipboardData, clipboardDataLength); -+ NS_ConvertUTF8toUTF16 ucs2string(clipboardData); - const char* unicodeData = (const char *)ToNewUnicode(ucs2string); - uint32_t unicodeDataLength = ucs2string.Length() * 2; - SetTransferableData(aTransferable, flavorStr, -diff --git widget/gtk/nsClipboard.h widget/gtk/nsClipboard.h -index fa3b9b6ff087..9b59bf8176f6 100644 ---- widget/gtk/nsClipboard.h -+++ widget/gtk/nsClipboard.h -@@ -13,17 +13,18 @@ - #include "nsIBinaryOutputStream.h" - #include - --// Default Gtk MIME for text --#define GTK_DEFAULT_MIME_TEXT "UTF8_STRING" -- - class nsRetrievalContext { - public: -+ // Get actual clipboard content (GetClipboardData/GetClipboardText) -+ // which has to be released by ReleaseClipboardData(). - virtual const char* GetClipboardData(const char* aMimeType, - int32_t aWhichClipboard, - uint32_t* aContentLength) = 0; - virtual const char* GetClipboardText(int32_t aWhichClipboard) = 0; - virtual void ReleaseClipboardData(const char* aClipboardData) = 0; - -+ // Get data mime types which can be obtained from clipboard. -+ // The returned array has to be released by g_free(). - virtual GdkAtom* GetTargets(int32_t aWhichClipboard, - int* aTargetNum) = 0; - Property changes on: head/www/firefox/files/patch-bug1447925 ___________________________________________________________________ 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-bug1444083 =================================================================== --- head/www/firefox/files/patch-bug1444083 (revision 468750) +++ head/www/firefox/files/patch-bug1444083 (nonexistent) @@ -1,17 +0,0 @@ -Disable custom styling for dropdowns (more than 40 options) - pref("dom.forms.selectSearch", false); - // Allow for webpages to provide custom styling for