Index: head/www/cliqz/Makefile =================================================================== --- head/www/cliqz/Makefile (revision 518835) +++ head/www/cliqz/Makefile (revision 518836) @@ -1,162 +1,161 @@ # $FreeBSD$ PORTNAME= cliqz -DISTVERSION= 1.30.0 -PORTREVISION= 1 +DISTVERSION= 1.30.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= 20191113183817 +CLIQZ_LAST_BUILD_ID= 20191128141357 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 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 518835) +++ head/www/cliqz/distinfo (revision 518836) @@ -1,11 +1,11 @@ -TIMESTAMP = 1573995889 +TIMESTAMP = 1575124586 SHA256 (cliqz/adult-domains.bin) = 3d018d6ffa75107fdfbf39658e4adaa092d9b8a90c7865b21376855f7c382b65 SIZE (cliqz/adult-domains.bin) = 528392 -SHA256 (cliqz/cliqz@cliqz.com.xpi) = ee56b1aa803410a953903a3a052bec646a011c9d89e33c3484533be8a39ad969 -SIZE (cliqz/cliqz@cliqz.com.xpi) = 4542302 +SHA256 (cliqz/cliqz@cliqz.com.xpi) = 501f4c3caadd18f3ce7caa5535bd6dab8375be3c52bfb231cc6d512bc62d4695 +SIZE (cliqz/cliqz@cliqz.com.xpi) = 4542303 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.0_GH0.tar.gz) = adc64c38108cca995562528a5cce9bfe75888dbb42c1bb7d31f5ba970b9504fd -SIZE (cliqz/cliqz-oss-browser-f-1.30.0_GH0.tar.gz) = 507238773 +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 Index: head/www/cliqz/files/patch-Makefile.in =================================================================== --- head/www/cliqz/files/patch-Makefile.in (nonexistent) +++ head/www/cliqz/files/patch-Makefile.in (revision 518836) @@ -0,0 +1,22 @@ +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 ___________________________________________________________________ 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 518835) +++ head/www/cliqz/files/patch-bug847568 (revision 518836) @@ -1,232 +1,232 @@ # Allow building against system-wide graphite2/harfbuzz. --- mozilla-release/config/system-headers.mozbuild.orig 2019-11-13 13:22:25 UTC +++ mozilla-release/config/system-headers.mozbuild @@ -1295,6 +1295,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 +++ mozilla-release/dom/base/moz.build @@ -539,6 +539,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/andr 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 +++ 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 #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 +++ 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 +++ mozilla-release/gfx/moz.build @@ -13,6 +13,12 @@ with Files('wr/**'): if CONFIG['MOZ_TREE_CAIRO']: DIRS += ['cairo'] +if not CONFIG['MOZ_SYSTEM_GRAPHITE2']: + DIRS += ['graphite2/src' ] + +if not CONFIG['MOZ_SYSTEM_HARFBUZZ']: + DIRS += ['harfbuzz/src'] + DIRS += [ '2d', 'ycbcr', @@ -21,8 +27,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 +++ 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 +++ 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 +++ 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 +++ 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 +++ mozilla-release/netwerk/dns/moz.build @@ -90,3 +90,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 +++ mozilla-release/old-configure.in @@ -2674,6 +2674,27 @@ dnl ================================================== AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) 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 Check for pixman and cairo dnl ======================================================== --- mozilla-release/toolkit/library/moz.build.orig 2019-11-13 13:22:25 UTC +++ mozilla-release/toolkit/library/moz.build @@ -254,6 +254,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 +++ mozilla-release/toolkit/moz.configure @@ -931,6 +931,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.1', ++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) # ==============================================================