aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2019-06-14 08:41:42 +0000
committerJan Beich <jbeich@FreeBSD.org>2019-06-14 08:41:42 +0000
commitcde7c0f82b5ed66dbbf16ab65306cbfeef81118e (patch)
tree837de476dc7230fad8e9b28b212584e88fad062a
parentb9c8dd646acee465dfdb361e81605b9ac700ef04 (diff)
downloadports-cde7c0f82b5ed66dbbf16ab65306cbfeef81118e.tar.gz
ports-cde7c0f82b5ed66dbbf16ab65306cbfeef81118e.zip
MFH: r504160
www/firefox: switch to system aom/dav1d Obtained from: upstream (via Gentoo) Approved by: ports-secteam blanket
Notes
Notes: svn path=/branches/2019Q2/; revision=504171
-rw-r--r--Mk/bsd.gecko.mk7
-rw-r--r--www/firefox/Makefile2
-rw-r--r--www/firefox/files/patch-bug1559213100
3 files changed, 107 insertions, 2 deletions
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index 205c4b64a0af..7e95e356edb8 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -157,7 +157,12 @@ RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/}
.endif
# Standard depends
-_ALL_DEPENDS= event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman sqlite vpx webp
+_ALL_DEPENDS= av1 event ffi graphite harfbuzz hunspell 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
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 3c9af3f17c8d..ddb9700cc321 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -3,7 +3,7 @@
PORTNAME= firefox
DISTVERSION= 67.0.2
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
diff --git a/www/firefox/files/patch-bug1559213 b/www/firefox/files/patch-bug1559213
new file mode 100644
index 000000000000..0100df8d09b0
--- /dev/null
+++ b/www/firefox/files/patch-bug1559213
@@ -0,0 +1,100 @@
+commit 717bba28411c
+Author: Jory A. Pratt <anarchy@gentoo.org>
+Date: Thu Jun 13 11:53:00 2019 -0700
+
+ Bug 1559213 - Allow to use system av1 libs instead of bundled.
+---
+ config/external/moz.build | 5 +++--
+ config/system-headers.mozbuild | 8 ++++++++
+ dom/media/platforms/moz.build | 5 +++++
+ toolkit/moz.configure | 19 ++++++++++++++++++-
+ 4 files changed, 34 insertions(+), 3 deletions(-)
+
+diff --git config/external/moz.build config/external/moz.build
+index 03e4fa143bd1..a67d10b11fe6 100644
+--- config/external/moz.build
++++ config/external/moz.build
+@@ -37,8 +37,9 @@ if not CONFIG['MOZ_SYSTEM_LIBVPX']:
+ external_dirs += ['media/libvpx']
+
+ if CONFIG['MOZ_AV1']:
+- external_dirs += ['media/libaom']
+- external_dirs += ['media/libdav1d']
++ if not CONFIG['MOZ_SYSTEM_AV1']:
++ external_dirs += ['media/libaom']
++ external_dirs += ['media/libdav1d']
+
+ if not CONFIG['MOZ_SYSTEM_PNG']:
+ external_dirs += ['media/libpng']
+diff --git config/system-headers.mozbuild config/system-headers.mozbuild
+index bcf5c4925564..48964a999a9b 100644
+--- config/system-headers.mozbuild
++++ config/system-headers.mozbuild
+@@ -1304,6 +1304,14 @@ if CONFIG['MOZ_ENABLE_CONTENTMANAGER']:
+ 'SelectSingleContentItemPage.h',
+ ]
+
++if CONFIG['MOZ_SYSTEM_AV1']:
++ system_headers += [
++ 'aom/aom_decoder.h',
++ 'aom/aomdx.h',
++ 'aom/aom_image.h',
++ 'dav1d/dav1d.h',
++ ]
++
+ if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ system_headers += [
+ 'vpx_mem/vpx_mem.h',
+diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build
+index 092cee0c9b66..38e45de5b5f0 100644
+--- dom/media/platforms/moz.build
++++ dom/media/platforms/moz.build
+@@ -80,6 +80,11 @@ if CONFIG['MOZ_AV1']:
+ 'agnostic/AOMDecoder.cpp',
+ 'agnostic/DAV1DDecoder.cpp',
+ ]
++ if CONFIG['MOZ_SYSTEM_AV1']:
++ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
++ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
++ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
++ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
+
+ if CONFIG['MOZ_OMX']:
+ EXPORTS += [
+diff --git toolkit/moz.configure toolkit/moz.configure
+index 82b5a59acf42..e2329560b42b 100644
+--- toolkit/moz.configure
++++ toolkit/moz.configure
+@@ -441,7 +441,23 @@ def av1(value):
+ if value:
+ return True
+
+-@depends(target, nasm_version, when=av1 & compile_environment)
++option('--with-system-av1',
++ help="Use system av1 (located with pkgconfig)")
++
++system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
++ when='--with-system-av1')
++
++system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 0.1.1',
++ when='--with-system-av1')
++
++@depends(system_libaom_info, system_libdav1d_info)
++def system_av1(system_libaom_info, system_libdav1d_info):
++ has_av1_libs = False
++ if system_libaom_info and system_libdav1d_info:
++ has_av1_libs = True
++ return has_av1_libs
++
++@depends(target, nasm_version, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
+ def dav1d_asm(target, nasm_version):
+ if target.os != 'Android':
+ if target.cpu == 'aarch64':
+@@ -457,6 +473,7 @@ set_config('MOZ_DAV1D_ASM', dav1d_asm)
+ set_define('MOZ_DAV1D_ASM', dav1d_asm)
+ set_config('MOZ_AV1', av1)
+ set_define('MOZ_AV1', av1)
++set_config('MOZ_SYSTEM_AV1', depends_if(system_av1)(lambda _: True))
+
+ # Built-in fragmented MP4 support.
+ # ==============================================================