Index: head/www/cliqz/Makefile =================================================================== --- head/www/cliqz/Makefile (revision 523905) +++ head/www/cliqz/Makefile (revision 523906) @@ -1,162 +1,164 @@ # $FreeBSD$ PORTNAME= cliqz -DISTVERSION= 1.30.1 -PORTREVISION= 1 +DISTVERSION= 1.32.1 CATEGORIES= www MASTER_SITES= https://s3.amazonaws.com/cdn.cliqz.com/browser-f/APT/:amazon \ http://repository.cliqz.com/dist/${CLIQZ_CHANNEL}/${DISTVERSION}/${CLIQZ_LAST_BUILD_ID}/:cliqz DISTFILES= adult-domains.bin:amazon \ cliqz@cliqz.com.xpi:cliqz \ gdprtool@cliqz.com.xpi:cliqz \ https-everywhere@cliqz.com.xpi:cliqz DIST_SUBDIR= ${PORTNAME} EXTRACT_ONLY= ${DISTNAME}${_GITHUB_EXTRACT_SUFX} MAINTAINER= fox@FreeBSD.org COMMENT= Secure browser (Mozilla based) with built-in quick search LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/LICENSE FETCH_DEPENDS= ca_root_nss>=0:security/ca_root_nss LIB_DEPENDS= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libgraphite2.so:graphics/graphite2 \ libharfbuzz.so:print/harfbuzz \ libnspr4.so:devel/nspr \ libnssutil3.so:security/nss \ libplc4.so:devel/nspr \ libplds4.so:devel/nspr BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ ${RUST_DEFAULT}>=1.35:lang/${RUST_DEFAULT} \ autoconf-2.13:devel/autoconf213 \ bash:shells/bash \ graphite2>=1.3.13:graphics/graphite2 \ harfbuzz>=2.6.1:print/harfbuzz \ icu>=64.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \ llvm${LLVM_DEFAULT}>=0:devel/llvm${LLVM_DEFAULT} \ nasm:devel/nasm \ node:www/node \ nspr>=4.21:devel/nspr \ nss>=3.46.1:security/nss \ png>=1.6.35:graphics/png \ rust-cbindgen>=0.8.7:devel/rust-cbindgen \ sqlite3>=3.29.0:databases/sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ yasm:devel/yasm \ zip:archivers/zip USES= compiler:c++17-lang desktop-file-utils gmake gnome pkgconfig \ python:2.7,build shebangfix tar:xz xorg USE_GNOME= cairo gconf2 gdkpixbuf2 gtk20 gtk30 USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrender xt USE_GITHUB= yes GH_ACCOUNT= cliqz-oss GH_PROJECT= browser-f USE_LDCONFIG= yes bash_OLD_CMD= "/bin/bash" bash_CMD= ${LOCALBASE}/bin/bash SHEBANG_FILES= magic_build_and_package.sh CLIQZ_CHANNEL= release # If the DISTVERSION is updated, make sure to update the last build id from # fetch -qo - https://repository.cliqz.com/dist/${CLIQZ_CHANNEL}/${DISTVERSION}/lastbuildid -CLIQZ_LAST_BUILD_ID= 20191128141357 +CLIQZ_LAST_BUILD_ID= 20200121101408 CLIQZ_ICON= ${PORTNAME}.png CLIQZ_ICON_SRC= ${WRKSRC}/mozilla-release/browser/branding/${PORTNAME}/default48.png MOZ_DESKTOP= ${WRKSRC}/mozilla-release/toolkit/mozapps/installer/linux/rpm/mozilla.desktop CLIQZ_DESKTOP= ${WRKSRC}/mozilla-release/toolkit/mozapps/installer/linux/rpm/cliqz.desktop MAKE_ENV+= CQZ_BUILD_ID=${CLIQZ_LAST_BUILD_ID} \ CQZ_RELEASE_CHANNEL=${CLIQZ_CHANNEL} \ LLVM_CONFIG=llvm-config${LLVM_DEFAULT} \ LLVM_OBJDUMP=${LOCALBASE}/llvm${LLVM_DEFAULT}/bin/llvm-objdump \ PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}" \ MOZBUILD_STATE_PATH=${WRKDIR} # Configure args passed into mach build system MOZ_CONFIGURE_ARGS+= "--disable-crashreporter" \ "--disable-debug" \ "--disable-debug-symbols" \ "--disable-tests" \ "--disable-updater" \ "--libclang-path=${LOCALBASE}/llvm${LLVM_DEFAULT}/lib" \ "--with-system-graphite2" \ "--with-system-harfbuzz" .include "${.CURDIR}/Makefile.options" .include # Require newer Clang than what's in base system unless user opted out .if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so) CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} # XXX avoid warnings USES:= ${USES:Ncompiler\:*} .endif post-extract: ${CP} ${DISTDIR}/${DIST_SUBDIR}/adult-domains.bin ${WRKSRC} ${MKDIR} ${WRKSRC}/obj/dist/bin/browser/features ${CP} ${DISTDIR}/${DIST_SUBDIR}/cliqz@cliqz.com.xpi \ ${DISTDIR}/${DIST_SUBDIR}/https-everywhere@cliqz.com.xpi \ ${DISTDIR}/${DIST_SUBDIR}/gdprtool@cliqz.com.xpi \ ${WRKSRC}/obj/dist/bin/browser/features post-patch: @${CP} ${MOZ_DESKTOP} ${CLIQZ_DESKTOP} @${REINPLACE_CMD} -e 's/@MOZ_APP_DISPLAYNAME@/Cliqz Internet/g' \ -e 's/@MOZ_APP_NAME@/${PORTNAME}/g' \ -e '/Icon=${PORTNAME}/ s/${PORTNAME}/${CLIQZ_ICON}/' \ -e '/StartupWMClass/d' \ ${CLIQZ_DESKTOP} .for MOZ_CONFIGURE_ARG in ${MOZ_CONFIGURE_ARGS} @${ECHO_CMD} "ac_add_options" ${MOZ_CONFIGURE_ARG} >> \ ${WRKSRC}/mozilla-release/browser/config/cliqz.mozconfig; .endfor # This prevents linker exhausting memory in i386 builds .if ${ARCH} == "i386" @${ECHO_CMD} 'export LDFLAGS="-Wl,--no-keep-memory -Wl,--as-needed"' >> \ ${WRKSRC}/mozilla-release/browser/config/cliqz.mozconfig .endif +# Disable vendor checksums like lang/rust + @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ + ${WRKSRC}/mozilla-release/third_party/rust/*/.cargo-checksum.json do-build: (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./magic_build_and_package.sh) do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME} (cd ${WRKSRC}/obj/dist/${PORTNAME} && \ ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/${PORTNAME}) # Check if the wayland lib was generated, this happens if # x11-toolkits/gtk30 has WAYLAND option enabled. @if [ -f ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/libmozwayland.so ]; then \ ${REINPLACE_CMD} -e 's|%%WAYLAND%%||' ${TMPPLIST}; \ else \ ${REINPLACE_CMD} -e 's|%%WAYLAND%%|@comment |' ${TMPPLIST}; \ fi @${CHMOD} 755 ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME}-bin @${CHMOD} 755 ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME} post-install: ${RLN} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME}-bin ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${INSTALL_DATA} ${CLIQZ_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps @${CP} ${CLIQZ_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${CLIQZ_ICON} .include Index: head/www/cliqz/distinfo =================================================================== --- head/www/cliqz/distinfo (revision 523905) +++ head/www/cliqz/distinfo (revision 523906) @@ -1,11 +1,11 @@ -TIMESTAMP = 1575124586 -SHA256 (cliqz/adult-domains.bin) = 3d018d6ffa75107fdfbf39658e4adaa092d9b8a90c7865b21376855f7c382b65 +TIMESTAMP = 1579729917 +SHA256 (cliqz/adult-domains.bin) = fcbec6811ca696bd044c0cce7f7aae45f4b822797eb6ecf657e5dc795870418f SIZE (cliqz/adult-domains.bin) = 528392 -SHA256 (cliqz/cliqz@cliqz.com.xpi) = 501f4c3caadd18f3ce7caa5535bd6dab8375be3c52bfb231cc6d512bc62d4695 -SIZE (cliqz/cliqz@cliqz.com.xpi) = 4542303 +SHA256 (cliqz/cliqz@cliqz.com.xpi) = 8ff1fd47bbaa57f32356573f8f4b530e2c0219e5a1e87ba70cabad6d77b973a1 +SIZE (cliqz/cliqz@cliqz.com.xpi) = 3669619 SHA256 (cliqz/gdprtool@cliqz.com.xpi) = 95ce7bd4ba1ea301246ce45bc3cdcff550acf7d8f1af1b42fd22984614cd9018 SIZE (cliqz/gdprtool@cliqz.com.xpi) = 222247 -SHA256 (cliqz/https-everywhere@cliqz.com.xpi) = 094516da166aa984c836130075184315c5636033899c49fe6bca5b7190f488fc -SIZE (cliqz/https-everywhere@cliqz.com.xpi) = 2147608 -SHA256 (cliqz/cliqz-oss-browser-f-1.30.1_GH0.tar.gz) = 930785beeb58e917a7ed231c1d23ad7fd20945836cbaa9f2dc2173ea90f15797 -SIZE (cliqz/cliqz-oss-browser-f-1.30.1_GH0.tar.gz) = 507243510 +SHA256 (cliqz/https-everywhere@cliqz.com.xpi) = 8b743d319cc2bc08eef90c564a6fca725eb2fe0e35c6caa441826c3408244346 +SIZE (cliqz/https-everywhere@cliqz.com.xpi) = 2038441 +SHA256 (cliqz/cliqz-oss-browser-f-1.32.1_GH0.tar.gz) = ec69008726e60af40a86026a2252c09996770efe502279ead4f0512c5231c4ce +SIZE (cliqz/cliqz-oss-browser-f-1.32.1_GH0.tar.gz) = 495123166 Index: head/www/cliqz/files/patch-Makefile.in =================================================================== --- head/www/cliqz/files/patch-Makefile.in (revision 523905) +++ head/www/cliqz/files/patch-Makefile.in (nonexistent) @@ -1,22 +0,0 @@ -Don't force mach after https://bugzilla.mozilla.org/show_bug.cgi?id=1496746 - -Patch taken from www/firefox - ---- mozilla-release/Makefile.in 2019-11-30 13:22:25 UTC -+++ mozilla-release/Makefile.in -@@ -55,15 +55,8 @@ $(RUNNABLE_TIERS) binaries:: CLOBBER $(BUILD_BACKEND_FILES) - endif - endif - --ifdef JS_STANDALONE - .PHONY: CLOBBER - CLOBBER: --else --CLOBBER: $(topsrcdir)/CLOBBER -- @echo 'STOP! The CLOBBER file has changed.' -- @echo 'Please run the build through "mach build".' -- @exit 1 --endif - - install_manifests := \ - $(addprefix dist/,branding include public private xpi-stage) \ Property changes on: head/www/cliqz/files/patch-Makefile.in ___________________________________________________________________ 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/cliqz/files/patch-bindgen-rust1390 =================================================================== --- head/www/cliqz/files/patch-bindgen-rust1390 (revision 523905) +++ head/www/cliqz/files/patch-bindgen-rust1390 (nonexistent) @@ -1,170 +0,0 @@ -From 9696bc1795c75b1b527e2b70d9baf3ced9e3c154 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= -Date: Mon, 23 Sep 2019 17:54:37 +0200 -Subject: [PATCH] ir: Make Ord and PartialOrd implementations agree. - -See https://github.com/rust-lang/rust/issues/64710. - -Bogus implementations were introduced in 230545e7c, d3e39dc62, and 379bb1663. - ---- mozilla-release/third_party/rust/bindgen/.cargo-checksum.json.orig 2019-11-05 18:32:47 UTC -+++ mozilla-release/third_party/rust/bindgen/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"Cargo.toml":"a970d1a9e47f029fe3e3ce43ae4292054ad60c4490e035b86b669fcf32015624","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","csmith-fuzzing/README.md":"7107b70fedb0c0a0cadb3c439a49c1bd0119a6d38dc63b1aecc74d1942256ef2","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"0009b8b6e3f6c33ec2776ec4cb8de2625ae8be22c9f0433c39b06bdd9fc7db4d","src/codegen/bitfield_unit.rs":"87be2d7f7774327a1608c2c4d64df869e17fb34b7efdacb4030b6794d98e40f3","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"aa0daff2061c6de31acfbd113190889e0f7ca2d2b8d4f46740bfd5832c33e4d2","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partialeq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"ad116e2af755219bd556e8ee00ca48562f64a161d0b2c94846ae01297446ea0d","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"82511f1bb8cbd04d98f57b000903b0264237962af93a72a58220437213eba1ef","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"5788372d27bdbaaf0454bc17be31a5480918bc41a8a1c4832e8c61185c07f9cd","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc853fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"b73865b6689d4f3546edd91909a47c329c4ae630ea97715d29bc683ae1dc17ad","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"78e245835efcd22b5cc878a8a7031171116c708408bdb48b0c9284a067041e56","src/ir/context.rs":"8fd64654343295e0e4a43efe5db6f64315dcd50a5015c3d86e90aae992e2fa9f","src/ir/derive.rs":"34f9aa76b6c9c05136bb69dcd6455397faef571a567254d2c541d50a962994db","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"7658cf68c00b1732dfa599c2d6b6a93a82de8401142591c3afe5fcb27d901a66","src/ir/function.rs":"c2feb2e26d47aa96a74af9912ada26be077e2b0c36d46fa10167da7109590500","src/ir/int.rs":"5b8d5bcedb04f39dc2d7e571bc04114b1f1e09cf294afe944c2e7879451c4378","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"e6771c8102b9f01b0c4b664bf1151b4773b599634a83895376ce122ca9f74f8b","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"a07ef7a3d099493555ae5a58b7b4bf9106a978e38a23b5ff445a83b92727ab62","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"8c96cd2a051e3f09b1b87b75cd9ed77e82e889c8309ebd3e4bc782960cf63e58","src/options.rs":"5b309b225cc51e665bd42ed3e7965a7cd73d984e4455a2d76987fc42ab271ff8","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"18270cdd7065ec045a6bb4bdcd5144d14a78b3aedb3bc5111e688773ac8b9ad0"} -\ No newline at end of file -+{"files":{},"package":"18270cdd7065ec045a6bb4bdcd5144d14a78b3aedb3bc5111e688773ac8b9ad0"} ---- mozilla-release/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs.orig 2019-10-30 17:36:44 UTC -+++ mozilla-release/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs -@@ -9,37 +9,22 @@ use std::ops; - use {HashMap, Entry}; - - /// The result of the `HasVtableAnalysis` for an individual item. --#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)] -+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] - pub enum HasVtableResult { -- /// The item has a vtable, but the actual vtable pointer is in a base -- /// member. -- BaseHasVtable, -+ /// The item does not have a vtable pointer. -+ No, - - /// The item has a vtable and the actual vtable pointer is within this item. - SelfHasVtable, - -- /// The item does not have a vtable pointer. -- No -+ /// The item has a vtable, but the actual vtable pointer is in a base -+ /// member. -+ BaseHasVtable, - } - - impl Default for HasVtableResult { - fn default() -> Self { - HasVtableResult::No -- } --} -- --impl cmp::PartialOrd for HasVtableResult { -- fn partial_cmp(&self, rhs: &Self) -> Option { -- use self::HasVtableResult::*; -- -- match (*self, *rhs) { -- (x, y) if x == y => Some(cmp::Ordering::Equal), -- (BaseHasVtable, _) => Some(cmp::Ordering::Greater), -- (_, BaseHasVtable) => Some(cmp::Ordering::Less), -- (SelfHasVtable, _) => Some(cmp::Ordering::Greater), -- (_, SelfHasVtable) => Some(cmp::Ordering::Less), -- _ => unreachable!(), -- } - } - } - ---- mozilla-release/third_party/rust/bindgen/src/ir/analysis/sizedness.rs.orig 2019-10-30 17:36:21 UTC -+++ mozilla-release/third_party/rust/bindgen/src/ir/analysis/sizedness.rs -@@ -22,13 +22,14 @@ use {HashMap, Entry}; - /// - /// We initially assume that all types are `ZeroSized` and then update our - /// understanding as we learn more about each type. --#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)] -+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] - pub enum SizednessResult { -- /// Has some size that is known to be greater than zero. That doesn't mean -- /// it has a static size, but it is not zero sized for sure. In other words, -- /// it might contain an incomplete array or some other dynamically sized -- /// type. -- NonZeroSized, -+ /// The type is zero-sized. -+ /// -+ /// This means that if it is a C++ type, and is not being used as a base -+ /// member, then we must add an `_address` byte to enforce the -+ /// unique-address-per-distinct-object-instance rule. -+ ZeroSized, - - /// Whether this type is zero-sized or not depends on whether a type - /// parameter is zero-sized or not. -@@ -52,32 +53,16 @@ pub enum SizednessResult { - /// https://github.com/rust-lang/rust-bindgen/issues/586 - DependsOnTypeParam, - -- /// The type is zero-sized. -- /// -- /// This means that if it is a C++ type, and is not being used as a base -- /// member, then we must add an `_address` byte to enforce the -- /// unique-address-per-distinct-object-instance rule. -- ZeroSized, -+ /// Has some size that is known to be greater than zero. That doesn't mean -+ /// it has a static size, but it is not zero sized for sure. In other words, -+ /// it might contain an incomplete array or some other dynamically sized -+ /// type. -+ NonZeroSized, - } - - impl Default for SizednessResult { - fn default() -> Self { - SizednessResult::ZeroSized -- } --} -- --impl cmp::PartialOrd for SizednessResult { -- fn partial_cmp(&self, rhs: &Self) -> Option { -- use self::SizednessResult::*; -- -- match (*self, *rhs) { -- (x, y) if x == y => Some(cmp::Ordering::Equal), -- (NonZeroSized, _) => Some(cmp::Ordering::Greater), -- (_, NonZeroSized) => Some(cmp::Ordering::Less), -- (DependsOnTypeParam, _) => Some(cmp::Ordering::Greater), -- (_, DependsOnTypeParam) => Some(cmp::Ordering::Less), -- _ => unreachable!(), -- } - } - } - ---- mozilla-release/third_party/rust/bindgen/src/ir/derive.rs.orig 2019-10-30 17:36:44 UTC -+++ mozilla-release/third_party/rust/bindgen/src/ir/derive.rs -@@ -92,10 +92,10 @@ pub trait CanDeriveOrd { - /// - /// Initially we assume that we can derive trait for all types and then - /// update our understanding as we learn more about each type. --#[derive(Debug, Copy, Clone, PartialEq, Eq, Ord)] -+#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)] - pub enum CanDerive { -- /// No, we cannot. -- No, -+ /// Yes, we can derive automatically. -+ Yes, - - /// The only thing that stops us from automatically deriving is that - /// array with more than maximum number of elements is used. -@@ -103,29 +103,13 @@ pub enum CanDerive { - /// This means we probably can "manually" implement such trait. - Manually, - -- /// Yes, we can derive automatically. -- Yes, -+ /// No, we cannot. -+ No, - } - - impl Default for CanDerive { - fn default() -> CanDerive { - CanDerive::Yes -- } --} -- --impl cmp::PartialOrd for CanDerive { -- fn partial_cmp(&self, rhs: &Self) -> Option { -- use self::CanDerive::*; -- -- let ordering = match (*self, *rhs) { -- (x, y) if x == y => cmp::Ordering::Equal, -- (No, _) => cmp::Ordering::Greater, -- (_, No) => cmp::Ordering::Less, -- (Manually, _) => cmp::Ordering::Greater, -- (_, Manually) => cmp::Ordering::Less, -- _ => unreachable!() -- }; -- Some(ordering) - } - } - Property changes on: head/www/cliqz/files/patch-bindgen-rust1390 ___________________________________________________________________ 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/cliqz/files/patch-bug1550891 =================================================================== --- head/www/cliqz/files/patch-bug1550891 (nonexistent) +++ head/www/cliqz/files/patch-bug1550891 (revision 523906) @@ -0,0 +1,90 @@ +commit 965eb33c5e86 +Author: Greg V +Date: Wed Jan 8 15:06:00 2020 -0800 + + Bug 1550891 - re-add SHM_ANON support in IPC shared memory, freezing via capabilities + +Taken from www/firefox +--- + config/system-headers.mozbuild | 1 + + ipc/chromium/src/base/shared_memory_posix.cc | 20 +++++++++++++++++--- + 2 files changed, 18 insertions(+), 3 deletions(-) + +diff --git config/system-headers.mozbuild config/system-headers.mozbuild +index 88afca1070f86..beff3e2542c9f 100644 +--- mozilla-release/config/system-headers.mozbuild ++++ mozilla-release/config/system-headers.mozbuild +@@ -816,6 +816,7 @@ system_headers = [ + 'sys/bitypes.h', + 'sys/byteorder.h', + 'syscall.h', ++ 'sys/capsicum.h', + 'sys/cdefs.h', + 'sys/cfgodm.h', + 'sys/elf.h', +diff --git ipc/chromium/src/base/shared_memory_posix.cc ipc/chromium/src/base/shared_memory_posix.cc +index 0be9cce0b4bed..89e67483e4c16 100644 +--- mozilla-release/ipc/chromium/src/base/shared_memory_posix.cc ++++ mozilla-release/ipc/chromium/src/base/shared_memory_posix.cc +@@ -16,6 +16,10 @@ + # include + #endif + ++#ifdef __FreeBSD__ ++# include ++#endif ++ + #include "base/eintr_wrapper.h" + #include "base/logging.h" + #include "base/string_util.h" +@@ -148,7 +152,7 @@ static int SafeShmUnlink(bool freezeable, const char* name) { + } + } + +-#elif !defined(ANDROID) ++#elif !defined(ANDROID) && !defined(__FreeBSD__) + static int SafeShmOpen(bool freezeable, const char* name, int oflag, int mode) { + return shm_open(name, oflag, mode); + } +@@ -160,7 +164,7 @@ static int SafeShmUnlink(bool freezeable, const char* name) { + + // static + bool SharedMemory::AppendPosixShmPrefix(std::string* str, pid_t pid) { +-#if defined(ANDROID) ++#if defined(ANDROID) || defined(__FreeBSD__) + return false; + #else + *str += '/'; +@@ -186,7 +190,7 @@ bool SharedMemory::AppendPosixShmPrefix(std::string* str, pid_t pid) { + // enough for this. + StringAppendF(str, "org.mozilla.ipc.%d.", static_cast(pid)); + return true; +-#endif // !ANDROID ++#endif // !ANDROID && !__FreeBSD__ + } + + bool SharedMemory::CreateInternal(size_t size, bool freezeable) { +@@ -212,6 +216,9 @@ bool SharedMemory::CreateInternal(size_t size, bool freezeable) { + return false; + } + needs_truncate = false; ++#elif defined(__FreeBSD__) ++ // FreeBSD supports anonymous shm_open ++ fd.reset(shm_open(SHM_ANON, O_RDWR, 0600)); + #else + // Generic Unix: shm_open + shm_unlink + do { +@@ -275,6 +282,13 @@ bool SharedMemory::Freeze() { + CHROMIUM_LOG(WARNING) << "failed to freeze shm: " << strerror(errno); + return false; + } ++#elif defined(__FreeBSD__) ++ cap_rights_t rights; ++ cap_rights_init(&rights, CAP_MMAP_R); ++ if (cap_rights_limit(mapped_file_, &rights) != 0) { ++ CHROMIUM_LOG(WARNING) << "failed to freeze shm: " << strerror(errno); ++ return false; ++ } + #else + DCHECK(frozen_file_ >= 0); + DCHECK(mapped_file_ >= 0); Property changes on: head/www/cliqz/files/patch-bug1550891 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/cliqz/files/patch-bug1556301 =================================================================== --- head/www/cliqz/files/patch-bug1556301 (nonexistent) +++ head/www/cliqz/files/patch-bug1556301 (revision 523906) @@ -0,0 +1,241 @@ +commit 5f2329c58c1b +Author: myfreeweb +Date: Wed Dec 18 20:25:00 2019 +0000 + + Bug 1556301 - Wayland-EGL/GLES support in glxtest + + This allows GfxInfoX11 to get GLES3 and Mesa version from Wayland-EGL, which + allows automatic enablement of acceleration to work without Xwayland. + + This also fixes bug 1578598 - WebRender did not work correctly + without this GL version information. + + Differential Revision: https://phabricator.services.mozilla.com/D57474 + +Taken from www/firefox + +--- + toolkit/xre/glxtest.cpp | 132 +++++++++++++++++++++++++++++++++++-- + widget/gtk/mozwayland/mozwayland.h | 1 + + 2 files changed, 126 insertions(+), 7 deletions(-) + +diff --git toolkit/xre/glxtest.cpp toolkit/xre/glxtest.cpp +index 7b33a5c2b08f0..a1e6036cb6002 100644 +--- mozilla-release/toolkit/xre/glxtest.cpp ++++ mozilla-release/toolkit/xre/glxtest.cpp +@@ -36,6 +36,11 @@ + + #include "mozilla/Unused.h" + ++#ifdef MOZ_WAYLAND ++#include "nsAppRunner.h" // for IsWaylandDisabled ++#include "mozilla/widget/mozwayland.h" ++#endif ++ + // stuff from glx.h + typedef struct __GLXcontextRec* GLXContext; + typedef XID GLXPixmap; +@@ -74,6 +79,15 @@ typedef uint32_t GLenum; + #define GLX_RENDERER_ID_MESA 0x818E + // clang-format on + ++// stuff from egl.h ++#define EGL_BLUE_SIZE 0x3022 ++#define EGL_GREEN_SIZE 0x3023 ++#define EGL_RED_SIZE 0x3024 ++#define EGL_NONE 0x3038 ++#define EGL_VENDOR 0x3053 ++#define EGL_CONTEXT_CLIENT_VERSION 0x3098 ++#define EGL_NO_CONTEXT nullptr ++ + namespace mozilla { + namespace widget { + // the read end of the pipe, which will be used by GfxInfo +@@ -118,7 +132,10 @@ static int x_error_handler(Display*, XErrorEvent* ev) { + // care about leaking memory + extern "C" { + +-static int get_egl_status(char* buf, int bufsize) { ++typedef void* EGLNativeDisplayType; ++ ++static int get_egl_status(char* buf, int bufsize, ++ EGLNativeDisplayType native_dpy, bool gles_test) { + void* libegl = dlopen("libEGL.so.1", RTLD_LAZY); + if (!libegl) { + libegl = dlopen("libEGL.so", RTLD_LAZY); +@@ -164,7 +181,7 @@ static int get_egl_status(char* buf, int bufsize) { + return 0; + } + +- EGLDisplay dpy = eglGetDisplay(nullptr); ++ EGLDisplay dpy = eglGetDisplay(native_dpy); + if (!dpy) { + dlclose(libegl); + return 0; +@@ -177,9 +194,87 @@ static int get_egl_status(char* buf, int bufsize) { + } + + int length = 0; ++ ++ if (gles_test) { ++ typedef void* EGLConfig; ++ typedef void* EGLContext; ++ typedef void* EGLSurface; ++ ++ typedef EGLBoolean (*PFNEGLCHOOSECONFIGPROC)( ++ EGLDisplay dpy, EGLint const* attrib_list, EGLConfig* configs, ++ EGLint config_size, EGLint* num_config); ++ PFNEGLCHOOSECONFIGPROC eglChooseConfig = ++ cast(eglGetProcAddress("eglChooseConfig")); ++ ++ typedef EGLContext (*PFNEGLCREATECONTEXTPROC)( ++ EGLDisplay dpy, EGLConfig config, EGLContext share_context, ++ EGLint const* attrib_list); ++ PFNEGLCREATECONTEXTPROC eglCreateContext = ++ cast(eglGetProcAddress("eglCreateContext")); ++ ++ typedef EGLSurface (*PFNEGLCREATEPBUFFERSURFACEPROC)( ++ EGLDisplay dpy, EGLConfig config, EGLint const* attrib_list); ++ PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurface = ++ cast( ++ eglGetProcAddress("eglCreatePbufferSurface")); ++ ++ typedef EGLBoolean (*PFNEGLMAKECURRENTPROC)( ++ EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext context); ++ PFNEGLMAKECURRENTPROC eglMakeCurrent = ++ cast(eglGetProcAddress("eglMakeCurrent")); ++ ++ void* libgles = dlopen("libGLESv2.so.2", RTLD_LAZY); ++ if (!libgles) { ++ libgles = dlopen("libGLESv2.so", RTLD_LAZY); ++ } ++ if (!libgles) { ++ fatal_error("Unable to load libGLESv2"); ++ } ++ ++ typedef GLubyte* (*PFNGLGETSTRING)(GLenum); ++ PFNGLGETSTRING glGetString = ++ cast(eglGetProcAddress("glGetString")); ++ ++ if (!glGetString) { ++ // Implementations disagree about whether eglGetProcAddress or dlsym ++ // should be used for getting functions from the actual API, see ++ // https://github.com/anholt/libepoxy/commit/14f24485e33816139398d1bd170d617703473738 ++ glGetString = cast(dlsym(libgles, "glGetString")); ++ } ++ ++ if (!glGetString) { ++ fatal_error("GLESv2 glGetString not found"); ++ } ++ ++ EGLint config_attrs[] = {EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, ++ EGL_BLUE_SIZE, 8, EGL_NONE}; ++ EGLConfig config; ++ EGLint num_config; ++ eglChooseConfig(dpy, config_attrs, &config, 1, &num_config); ++ EGLint ctx_attrs[] = {EGL_CONTEXT_CLIENT_VERSION, 3, EGL_NONE}; ++ EGLContext ectx = eglCreateContext(dpy, config, EGL_NO_CONTEXT, ctx_attrs); ++ EGLSurface pbuf = eglCreatePbufferSurface(dpy, config, nullptr); ++ eglMakeCurrent(dpy, pbuf, pbuf, ectx); ++ ++ const GLubyte* versionString = glGetString(GL_VERSION); ++ const GLubyte* vendorString = glGetString(GL_VENDOR); ++ const GLubyte* rendererString = glGetString(GL_RENDERER); ++ ++ if (!versionString || !vendorString || !rendererString) ++ fatal_error("glGetString returned null"); ++ ++ length = snprintf(buf, bufsize, ++ "VENDOR\n%s\nRENDERER\n%s\nVERSION\n%s\nTFP\nTRUE\n", ++ vendorString, rendererString, versionString); ++ if (length >= bufsize) { ++ fatal_error("GL strings length too large for buffer size"); ++ } ++ } ++ + const char* driDriver = eglGetDisplayDriverName(dpy); + if (driDriver) { +- length = snprintf(buf, bufsize, "DRI_DRIVER\n%s\n", driDriver); ++ length += ++ snprintf(buf + length, bufsize - length, "DRI_DRIVER\n%s\n", driDriver); + } + + eglTerminate(dpy); +@@ -187,7 +282,7 @@ static int get_egl_status(char* buf, int bufsize) { + return length; + } + +-void glxtest() { ++static void close_logging() { + // we want to redirect to /dev/null stdout, stderr, and while we're at it, + // any PR logging file descriptors. To that effect, we redirect all positive + // file descriptors up to what open() returns here. In particular, 1 is stdout +@@ -199,8 +294,32 @@ void glxtest() { + if (getenv("MOZ_AVOID_OPENGL_ALTOGETHER")) + fatal_error( + "The MOZ_AVOID_OPENGL_ALTOGETHER environment variable is defined"); ++} ++ ++#ifdef MOZ_WAYLAND ++bool wayland_egltest() { ++ // NOTE: returns false to fall back to X11 when the Wayland socket doesn't ++ // exist but fails with fatal_error if something actually went wrong ++ struct wl_display* dpy = wl_display_connect(nullptr); ++ if (!dpy) return false; ++ ++ enum { bufsize = 2048 }; ++ char buf[bufsize]; ++ ++ int length = get_egl_status(buf, bufsize, (EGLNativeDisplayType)dpy, true); ++ if (length >= bufsize) { ++ fatal_error("GL strings length too large for buffer size"); ++ } + +- ///// Open libGL and load needed symbols ///// ++ ///// Finally write data to the pipe ++ mozilla::Unused << write(write_end_of_the_pipe, buf, length); ++ ++ return true; ++} ++#endif ++ ++void glxtest() { ++ ///// Open libGL and load needed symbols ///// + #if defined(__OpenBSD__) || defined(__NetBSD__) + # define LIBGL_FILENAME "libGL.so" + #else +@@ -401,7 +520,7 @@ void glxtest() { + // If we failed to get the driver name from X, try via EGL_MESA_query_driver. + // We are probably using Wayland. + if (!gotDriDriver) { +- length += get_egl_status(buf + length, bufsize - length); ++ length += get_egl_status(buf + length, bufsize - length, nullptr, false); + if (length >= bufsize) { + fatal_error("GL strings length too large for buffer size"); + } +@@ -431,7 +550,12 @@ bool fire_glxtest_process() { + if (pid == 0) { + close(pfd[0]); + write_end_of_the_pipe = pfd[1]; +- glxtest(); ++ close_logging(); ++ // TODO: --display command line argument is not properly handled ++#ifdef MOZ_WAYLAND ++ if (IsWaylandDisabled() || !wayland_egltest()) ++#endif ++ glxtest(); + close(pfd[1]); + _exit(0); + } +diff --git widget/gtk/mozwayland/mozwayland.h widget/gtk/mozwayland/mozwayland.h +index b31742fb2bc33..8aa0ce6f4665a 100644 +--- mozilla-release/widget/gtk/mozwayland/mozwayland.h ++++ mozilla-release/widget/gtk/mozwayland/mozwayland.h +@@ -20,6 +20,7 @@ + extern "C" { + #endif + ++MOZ_EXPORT struct wl_display* wl_display_connect(const char* name); + MOZ_EXPORT int wl_display_roundtrip_queue(struct wl_display* display, + struct wl_event_queue* queue); + MOZ_EXPORT uint32_t wl_proxy_get_version(struct wl_proxy* proxy); Property changes on: head/www/cliqz/files/patch-bug1556301 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/cliqz/files/patch-bug847568 =================================================================== --- head/www/cliqz/files/patch-bug847568 (revision 523905) +++ head/www/cliqz/files/patch-bug847568 (revision 523906) @@ -1,232 +1,286 @@ # Allow building against system-wide graphite2/harfbuzz. ---- mozilla-release/config/system-headers.mozbuild.orig 2019-11-13 13:22:25 UTC +diff --git config/system-headers.mozbuild config/system-headers.mozbuild +index 7620b4d00623..09d3db5ca8c0 100644 +--- mozilla-release/config/system-headers.mozbuild +++ mozilla-release/config/system-headers.mozbuild -@@ -1295,6 +1295,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']: +@@ -1299,6 +1299,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']: 'proxy.h', ] +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: + system_headers += [ + 'graphite2/Font.h', + 'graphite2/Segment.h', + ] + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + system_headers += [ + 'harfbuzz/hb-glib.h', + 'harfbuzz/hb-ot.h', + 'harfbuzz/hb.h', + ] + if CONFIG['MOZ_SYSTEM_LIBVPX']: system_headers += [ 'vpx_mem/vpx_mem.h', ---- mozilla-release/dom/base/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git dom/base/moz.build dom/base/moz.build +index 8e19020315ae..2fcdbb6f7b42 100644 +--- mozilla-release/dom/base/moz.build +++ mozilla-release/dom/base/moz.build -@@ -539,6 +539,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/andr +@@ -543,6 +543,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: if CONFIG['MOZ_X11']: CXXFLAGS += CONFIG['TK_CFLAGS'] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + - GENERATED_FILES += [ - 'UseCounterList.h', - ] ---- mozilla-release/gfx/graphite2/moz-gr-update.sh.orig 2019-11-13 13:22:25 UTC + GeneratedFile('UseCounterList.h', script='gen-usecounters.py', + entry_point='use_counter_list', inputs=['UseCounters.conf']) + +diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build +new file mode 100644 +index 0000000000000..24e8d7a03274a +--- /dev/null ++++ mozilla-release/gfx/graphite2/geckoextra/moz.build +@@ -0,0 +1,20 @@ ++# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- ++# vim: set filetype=python: ++# This Source Code Form is subject to the terms of the Mozilla Public ++# License, v. 2.0. If a copy of the MPL was not distributed with this ++# file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ ++EXPORTS.graphite2 += [ ++ 'include/GraphiteExtra.h', ++] ++ ++UNIFIED_SOURCES += [ ++ '../geckoextra/src/GraphiteExtra.cpp', ++] ++ ++CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] ++ ++# Match bundled graphite2 configuration ++AllowCompilerWarnings() ++ ++FINAL_LIBRARY = 'gkmedias' +diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh +index faaab1b17971..04eff5f09882 100644 +--- mozilla-release/gfx/graphite2/moz-gr-update.sh +++ mozilla-release/gfx/graphite2/moz-gr-update.sh @@ -1,6 +1,7 @@ #!/bin/bash # Script used to update the Graphite2 library in the mozilla source tree +# and bump version for --with-system-graphite2 # This script lives in gfx/graphite2, along with the library source, # but must be run from the top level of the mozilla-central tree. -@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2 +@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s///;s/Windows.h/windows.h/;" {} \; #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s///;s/Windows.h/windows.h/;" {} \; +# chase version for --with-system-graphite2 +perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \ + if /GR2_VERSION_REQUIRE/" old-configure.in + # summarize what's been touched echo Updated to $RELEASE. echo Here is what changed in the gfx/graphite2 directory: echo -hg stat gfx/graphite2 +hg stat old-configure.in gfx/graphite2 echo echo If gfx/graphite2/src/files.mk has changed, please make corresponding ---- mozilla-release/gfx/harfbuzz/README-mozilla.orig 2019-11-13 13:22:25 UTC +diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla +index 22c76a7df020..a01490bd49ee 100644 +--- mozilla-release/gfx/harfbuzz/README-mozilla +++ mozilla-release/gfx/harfbuzz/README-mozilla @@ -15,3 +15,8 @@ from within the gfx/harfbuzz directory. If the collection of source files changes, manual updates to moz.build may be needed as we don't use the upstream makefiles. + +The in-tree copy may be omitted during build by --with-system-harfbuzz. +Make sure to keep pkg-config version check within toolkit/moz.configure in sync +with checkout version or increment latest tag by one if it's not based +on upstream release. ---- mozilla-release/gfx/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git gfx/moz.build gfx/moz.build +index 771f652e837a..3b358d84e384 100644 +--- mozilla-release/gfx/moz.build +++ mozilla-release/gfx/moz.build -@@ -13,6 +13,12 @@ with Files('wr/**'): +@@ -13,6 +13,14 @@ with Files('wr/**'): if CONFIG['MOZ_TREE_CAIRO']: DIRS += ['cairo'] -+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']: ++if CONFIG['MOZ_SYSTEM_GRAPHITE2']: ++ DIRS += ['graphite2/geckoextra'] ++else: + DIRS += ['graphite2/src' ] + +if not CONFIG['MOZ_SYSTEM_HARFBUZZ']: + DIRS += ['harfbuzz/src'] + DIRS += [ '2d', 'ycbcr', -@@ -21,8 +27,6 @@ DIRS += [ +@@ -21,8 +29,6 @@ DIRS += [ 'qcms', 'gl', 'layers', - 'graphite2/src', - 'harfbuzz/src', 'ots/src', 'thebes', 'ipc', ---- mozilla-release/gfx/skia/generate_mozbuild.py.orig 2019-11-13 13:22:25 UTC +diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py +index e06ae3457a47..93faa61594a3 100755 +--- mozilla-release/gfx/skia/generate_mozbuild.py +++ mozilla-release/gfx/skia/generate_mozbuild.py @@ -117,6 +117,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'): CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] ---- mozilla-release/gfx/skia/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git gfx/skia/moz.build gfx/skia/moz.build +index 2118677ca3a8..e4978b413784 100644 +--- mozilla-release/gfx/skia/moz.build +++ mozilla-release/gfx/skia/moz.build @@ -493,6 +493,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'): CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] ---- mozilla-release/gfx/thebes/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git gfx/thebes/moz.build gfx/thebes/moz.build +index 56f1b9fe3f4b..0ac1100b0df3 100644 +--- mozilla-release/gfx/thebes/moz.build +++ mozilla-release/gfx/thebes/moz.build @@ -284,7 +284,13 @@ if CONFIG['MOZ_WAYLAND']: LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] -DEFINES['GRAPHITE2_STATIC'] = True +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: + CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] +else: + DEFINES['GRAPHITE2_STATIC'] = True + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] if CONFIG['CC_TYPE'] == 'clang': # Suppress warnings from Skia header files. ---- mozilla-release/intl/unicharutil/util/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build +index cb1233c56d7e..06fb1f9f174b 100644 +--- mozilla-release/intl/unicharutil/util/moz.build +++ mozilla-release/intl/unicharutil/util/moz.build @@ -25,4 +25,7 @@ UNIFIED_SOURCES += [ 'nsUnicodeProperties.cpp', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + FINAL_LIBRARY = 'xul' ---- mozilla-release/netwerk/dns/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git netwerk/dns/moz.build netwerk/dns/moz.build +index 79c26e3e7001..c4d93bc5f7dc 100644 +--- mozilla-release/netwerk/dns/moz.build +++ mozilla-release/netwerk/dns/moz.build -@@ -90,3 +90,6 @@ USE_LIBS += ['icu'] +@@ -86,3 +86,6 @@ USE_LIBS += ['icu'] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow'] + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ---- mozilla-release/old-configure.in.orig 2019-11-13 13:22:25 UTC +diff --git old-configure.in old-configure.in +index 95a58b634593..b614eef85c89 100644 +--- mozilla-release/old-configure.in +++ mozilla-release/old-configure.in -@@ -2674,6 +2674,27 @@ dnl ================================================== +@@ -2639,6 +2639,27 @@ dnl ======================================================== + AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) - dnl ======================================================== ++dnl ======================================================== +dnl Check for graphite2 +dnl ======================================================== +if test -n "$MOZ_SYSTEM_GRAPHITE2"; then + dnl graphite2.pc has bogus version, check manually + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" + AC_TRY_COMPILE([ #include + #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ + ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ + * 100 + GR2_VERSION_BUGFIX >= \ + (major) * 10000 + (minor) * 100 + (bugfix) ) + ], [ + #if !GR2_VERSION_REQUIRE(1,3,12) + #error "Insufficient graphite2 version." + #endif + ], [], + [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) + CFLAGS=$_SAVE_CFLAGS +fi + -+dnl ======================================================== + dnl ======================================================== dnl Check for pixman and cairo dnl ======================================================== - ---- mozilla-release/toolkit/library/moz.build.orig 2019-11-13 13:22:25 UTC +diff --git toolkit/library/moz.build toolkit/library/moz.build +index 24f940e1ed7e..079a575adec3 100644 +--- mozilla-release/toolkit/library/moz.build +++ mozilla-release/toolkit/library/moz.build -@@ -254,6 +254,12 @@ if CONFIG['MOZ_SYSTEM_PNG']: +@@ -248,6 +248,12 @@ if CONFIG['MOZ_SYSTEM_PNG']: if CONFIG['MOZ_SYSTEM_WEBP']: OS_LIBS += CONFIG['MOZ_WEBP_LIBS'] +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: + OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] + if CONFIG['MOZ_SYSTEM_LIBEVENT']: OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] ---- mozilla-release/toolkit/moz.configure.orig 2019-11-13 13:22:25 UTC +diff --git toolkit/moz.configure toolkit/moz.configure +index 9297e4d6f501..d8e273887e4b 100644 +--- mozilla-release/toolkit/moz.configure +++ mozilla-release/toolkit/moz.configure -@@ -931,6 +931,25 @@ add_old_configure_assignment('FT2_LIBS', +@@ -937,6 +937,25 @@ add_old_configure_assignment('FT2_LIBS', add_old_configure_assignment('FT2_CFLAGS', ft2_info.cflags) +# Graphite2 +# ============================================================== +option('--with-system-graphite2', + help="Use system graphite2 (located with pkgconfig)") + +system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2', + when='--with-system-graphite2') + +set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True)) + +# HarfBuzz +# ============================================================== +option('--with-system-harfbuzz', + help="Use system harfbuzz (located with pkgconfig)") + +system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.6.2', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) # Remote agent (part of CDP based remote protocol) # ==============================================================