ports/contrib (3.7): firefox: add patch for icu 74
commit cabe7cfb062b79b27f7f6efc34289c44a6eb406f Author: John McQuah <jmcquah@disroot.org> Date: Tue Nov 28 21:57:48 2023 +0000 firefox: add patch for icu 74 diff --git a/firefox/.signature b/firefox/.signature index ea60f6e35..8216104cd 100644 --- a/firefox/.signature +++ b/firefox/.signature @@ -1,7 +1,8 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF35akxwnccEeDC/Gr8pR/N+TWE/woukGUnv/rZtsVBf33n5sld0ifalJs/knD0A73yqrxrQYTWnSbIYsTtUN/HQk= -SHA256 (Pkgfile) = faed53d12174bced5404a7134a225637e05560b9f2d39cfa1cddc804a7175f2f +RWSagIOpLGJF36ig2T0UFyB9osG9/UaqKPahjbNymT57stokY0W5xlLJvhvjIFz2MTPqS3oZPTQmDY4EwHQF1fNYNm0zOGDMHg0= +SHA256 (Pkgfile) = 88e6b17c63be36831750a4503106e56040f8de37b07fba089a252687c11e9d49 SHA256 (.footprint) = c6149f123c43d45e03a0d84332c26a699352ffb2a6fc005dd4d69efd6a056cf8 SHA256 (firefox-120.0.source.tar.xz) = e710058701074eda53ca9f5fd52c57254858a027984f735bdcd58d6906f6b574 SHA256 (firefox.desktop) = 05bd1a4e283bc68f525f87cabf35ad0a59e5e63e107ce3901a4ac73e3d16ef33 +SHA256 (icu-linebreak-classes.patch) = bdfd2a93be5eed5c723ae67b308c4c2d9ed91d3173839fe560a7ca47946c7813 SHA256 (node-stdout-nonblocking-wrapper) = bb8c503015e49ed1b152225bdc56cf502cd831f35962d113dcbb9121967f3523 diff --git a/firefox/Pkgfile b/firefox/Pkgfile index d0fe88a4b..5b36f6317 100644 --- a/firefox/Pkgfile +++ b/firefox/Pkgfile @@ -6,17 +6,18 @@ name=firefox version=120.0 -release=1 -source=(https://ftp.mozilla.org/pub/firefox/releases/${version}/source/$name-${version}.source.tar.xz +release=2 +source=(https://ftp.mozilla.org/pub/$name/releases/$version/source/$name-$version.so... firefox.desktop + icu-linebreak-classes.patch node-stdout-nonblocking-wrapper) build() { cd $name-$version - #for p in $SRC/*.patch; do - # patch -p1 -i $p - #done + for p in $SRC/*.patch; do + patch -p1 -i $p + done if [ "$(/usr/bin/python3 -c "import sys; print(sys.stdout.encoding)")" != 'utf-8' ]; then printf "\e[031mError: set an UTF-8 locale to compile this!\033[0m\n" @@ -33,9 +34,6 @@ cat <<- EOF > .mozconfig unset MOZ_TELEMETRY_REPORTING ac_add_options --prefix=/usr ac_add_options --enable-application=browser - #ac_add_options --with-system-harfbuzz - #ac_add_options --with-system-graphite2 - #ac_add_options --with-system-av1 ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-png @@ -70,6 +68,9 @@ EOF [ -e /usr/lib/libsndio.so ] && PKGMK_FFAUDIO+=",sndio" echo "ac_add_options --enable-audio-backends=${PKGMK_FFAUDIO}" >> .mozconfig + # unicode internationalization + prt-get isinst icu 2>/dev/null && echo 'ac_add_options --with-system-icu' >> .mozconfig + if prt-get isinst wayland xorg-server 2>/dev/null ; then echo 'ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland' >> .mozconfig elif prt-get isinst wayland 2>/dev/null ; then diff --git a/firefox/icu-linebreak-classes.patch b/firefox/icu-linebreak-classes.patch new file mode 100644 index 000000000..24f1a4dd7 --- /dev/null +++ b/firefox/icu-linebreak-classes.patch @@ -0,0 +1,22 @@ +--- a/intl/lwbrk/LineBreaker.cpp 2023-11-16 17:42:54.000000000 +0000 ++++ b/intl/lwbrk/LineBreaker.cpp 2023-11-28 18:39:40.735654246 +0000 +@@ -448,12 +448,18 @@ static int8_t GetClass(uint32_t u, LineB + /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER, + /* E_BASE = 40, [EB] */ CLASS_BREAKABLE, + /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER, +- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER}; +- +- static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass), ++ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER, ++ /* AKSARA = 43, [AK] */ CLASS_CHARACTER, ++ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER, ++ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER, ++ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER, ++ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER, ++ }; ++ ++ static_assert(U_LB_COUNT <= mozilla::ArrayLength(sUnicodeLineBreakToClass), + "Gecko vs ICU LineBreak class mismatch"); + + auto cls = GetLineBreakClass(u); + MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
participants (1)
-
crux@crux.nu