diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest index c102fa4eb3b2c..f1ff0c578ec83 100644 --- a/dev-libs/nss/Manifest +++ b/dev-libs/nss/Manifest @@ -1,3 +1,4 @@ DIST nss-3.104-cacert-class1-class3.patch 22038 BLAKE2B 66e2dd47230d6aa58a767e35c9c069fa29f3111d470345e0f69486d1eead3cd1741939ac394f6b9b637e79a10d658cfb1a9da4387953b8968a9001bab94d4de0 SHA512 bafc4212e0e0ca3eb129a5b88767727159c6ec3da450c7625d0b282f82699378d64eaa2c3fecb72c61000ec9b6d3c24f20bc7defdac6edc673e0fbb26e0c1f7e DIST nss-3.112.3.tar.gz 76858959 BLAKE2B 9cc4666cad51a45a4cdac4836b5e746f3ea77fcd8430e70e2fd1f349f68a630881b2b746e7ab1e2b3116a88836a848ff50552fb782d5bbfb2742c5237688298b SHA512 3f6829c1f0d180812a14cde2c5181ed917e02c0f3bdfe19fb4380fe19f7f84b9f8c3cae82a2b559fff2b988d5bef15191d7ade2ed1200d82525637651ac2a8be DIST nss-3.121.tar.gz 77644546 BLAKE2B 972eedd73c46655a561956ac1a38814d96ce81767392532ecf42fe143f6f256a25a640d3b4b4829f4a7553d6d1961fc3e0279e740ca35d54ab6582742788cc31 SHA512 799cfb07bb806d3ab2786f7f1e88aa20ad490a0021a931b9382c08b08b6e6728367768335b05e15229f134275ee27ff153afaad78f07b394ef4c0b0e554e130c +DIST nss-3.122.tar.gz 77654239 BLAKE2B a34de23e316cff66f989074c91b6a33788db7fc21bbeadafeb76001aa198dbaf024d33845bbee2c319f5dc65850f0cd6a83cdd50419d2dead6b5ffc25484c03d SHA512 53847c2de0e4608b387d5688ecf005a2a78da67408bda31f522539306816e25580d6046656cd5bb7fb9642feb625a904a17d3102573be96a9fd8b46e14037ff7 diff --git a/dev-libs/nss/nss-3.122.ebuild b/dev-libs/nss/nss-3.122.ebuild new file mode 100644 index 0000000000000..8e46132a8d072 --- /dev/null +++ b/dev-libs/nss/nss-3.122.ebuild @@ -0,0 +1,437 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a flag-o-matic multilib toolchain-funcs multilib-minimal + +NSPR_VER="4.38.2" +RTM_NAME="NSS_${PV//./_}_RTM" + +# If the release is made in Github only, not released at the official archive.mozilla.org. These +# Github-only tarballs have a different directory structure. Unfortunately more releases are +# published through Github-only lately. Leave the variable empty for archive.mozilla.org release: +# GH_ONLY_REL= +GH_ONLY_REL= + +DESCRIPTION="Mozilla's Network Security Services library that implements PKI support" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" + +if [[ -n ${GH_ONLY_REL} ]] ; then + SRC_URI="https://github.com/nss-dev/nss/archive/refs/tags/${RTM_NAME}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${RTM_NAME}" +else + SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz" + S="${WORKDIR}/${P}/${PN}" +fi +SRC_URI+=" cacert? ( https://dev.gentoo.org/~juippis/mozilla/patchsets/nss-3.104-cacert-class1-class3.patch )" + +LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris" +IUSE="cacert test test-full +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx" + +REQUIRED_USE="test-full? ( test )" + +PROPERTIES="test_network" +RESTRICT="test" + +# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND +RDEPEND=" + >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}] + >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}] + >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + virtual/pkgconfig +" +DEPEND="${RDEPEND}" +BDEPEND="dev-lang/perl" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nss-config +) + +PATCHES=( + "${FILESDIR}"/nss-3.103-gentoo-fixes-add-pkgconfig-files.patch + "${FILESDIR}"/nss-3.21-gentoo-fixup-warnings.patch +) + +src_prepare() { + default + + if use cacert ; then + eapply -p2 "${DISTDIR}"/nss-3.104-cacert-class1-class3.patch + fi + + pushd coreconf >/dev/null || die + # hack nspr paths + echo 'INCLUDES += -I$(DIST)/include/dbm' \ + >> headers.mk || die "failed to append include" + + # modify install path + sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \ + -i source.mk || die + + # Respect LDFLAGS + sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk + + # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069 + sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die + + popd >/dev/null || die + + # Fix pkgconfig file for Prefix + sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \ + config/Makefile || die + + # use host shlibsign if need be #436216 + if tc-is-cross-compiler ; then + sed -i \ + -e 's:"${2}"/shlibsign:shlibsign:' \ + cmd/shlibsign/sign.sh || die + fi + + # dirty hack + sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \ + lib/ssl/config.mk || die + sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \ + cmd/platlibs.mk || die + + multilib_copy_sources + lto-guarantee-fat + + strip-flags +} + +multilib_src_configure() { + # Ensure we stay multilib aware + sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die +} + +nssarch() { + # Most of the arches are the same as $ARCH + local t=${1:-${CHOST}} + case ${t} in + *86*-pc-solaris2*) echo "i86pc" ;; + aarch64*) echo "aarch64" ;; + hppa*) echo "parisc" ;; + i?86*) echo "i686" ;; + x86_64*) echo "x86_64" ;; + *) tc-arch ${t} ;; + esac +} + +# @USAGE: +nssbits() { + case $1 in + 4) [[ $2 == x86_64* ]] && echo USE_X32=1 ;; + 8) echo USE_64=1 ;; + esac +} + +multilib_src_compile() { + tc-export_build_env + + local makeargs=( + CC="$(tc-getCC)" + CCC="$(tc-getCXX)" + AR="$(tc-getAR) rc \$@" + RANLIB="$(tc-getRANLIB)" + OPTIMIZER= + disable_ckbi=0 + $(nssbits "$(tc-get-ptr-size)" "${CHOST}") + ) + + # Take care of nspr settings #436216 + local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags) -D_FILE_OFFSET_BITS=64" + unset NSPR_INCLUDE_DIR + + export NSS_ALLOW_SSLKEYLOGFILE=1 + export NSS_ENABLE_WERROR=0 #567158 + export BUILD_OPT=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSDISTMODE=copy + export FREEBL_NO_DEPEND=1 + export FREEBL_LOWHASH=1 + export NSS_SEED_ONLY_DEV_URANDOM=1 + export USE_SYSTEM_ZLIB=1 + export ZLIB_LIBS=-lz + export ASFLAGS="" + # Fix build failure on arm64 + export NS_USE_GCC=1 + # Detect compiler type and set proper environment value + if tc-is-gcc; then + export CC_IS_GCC=1 + elif tc-is-clang; then + export CC_IS_CLANG=1 + + # bgo#927839 + export NSS_DISABLE_UNLOAD=1 + fi + + export NSS_DISABLE_GTESTS=$(usex !test 1 0) + + # Include exportable custom settings defined by users, #900915 + # Two examples uses: + # EXTRA_NSSCONF="MYONESWITCH=1" + # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1" + # e.g. + # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0" + # or + # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1" + # etc. + if [[ -n "${EXTRA_NSSCONF}" ]]; then + ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs." + read -a myextranssconf <<< "${EXTRA_NSSCONF}" + + for (( i=0; i<${#myextranssconf[@]}; i++ )); do + export "${myextranssconf[$i]}" + echo "exported ${myextranssconf[$i]}" + done + fi + + # explicitly disable altivec/vsx if not requested + # https://bugs.gentoo.org/789114 + case ${ARCH} in + ppc*) + use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1 + use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1 + ;; + esac + + use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1 + use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1 + + local d + + # Disables calling shlibsign during the build #956431 and #436216 + tc-is-cross-compiler && makeargs+=( CROSS_COMPILE=1 ) + + # Build the host tools first. + LDFLAGS="${BUILD_LDFLAGS}" \ + XCFLAGS="${BUILD_CFLAGS} -D_FILE_OFFSET_BITS=64" \ + NSPR_LIB_DIR="${T}/fakedir" \ + emake -C coreconf \ + CC="$(tc-getBUILD_CC)" \ + $(nssbits "$(tc-get-build-ptr-size)" "${CBUILD}") + makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" ) + + # Then build the target tools. + for d in . lib/dbm ; do + CPPFLAGS="${myCPPFLAGS}" \ + XCFLAGS="${CFLAGS} ${CPPFLAGS} -D_FILE_OFFSET_BITS=64" \ + NSPR_LIB_DIR="${T}/fakedir" \ + emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)" + done +} + +multilib_src_test() { + einfo "Tests can take a *long* time, especially on a multilib system." + einfo "~10 minutes per lib configuration with only 'standard' tests," + einfo "~40 minutes per lib configuration with 'full' tests. Bug #852755" + + # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html + # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite + # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older) + export BUILD_OPT=1 + export HOST="localhost" + export DOMSUF="localdomain" + export USE_IP=TRUE + export IP_ADDRESS="127.0.0.1" + + # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15 + # per lib implementation. + if use test-full ; then + # export NSS_CYCLES="standard pkix sharedb" + :; + else + export NSS_CYCLES="standard" + fi + + NSINSTALL="${PWD}/$(find -type f -name nsinstall)" + + cd "${BUILD_DIR}"/tests || die + # Hack to get current objdir (prefixed dir where built binaries are) + # Without this, at least multilib tests go wrong when building the amd64 variant + # after x86. + local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev) + + # Can tweak to a subset of tests in future if we need to, but would prefer not + OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die +} + +# Altering these 3 libraries breaks the CHK verification. +# All of the following cause it to break: +# - stripping +# - prelink +# - ELF signing +# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html +# Either we have to NOT strip them, or we have to forcibly resign after +# stripping. +#local_libdir="$(get_libdir)" +#export STRIP_MASK=" +# */${local_libdir}/libfreebl3.so* +# */${local_libdir}/libnssdbm3.so* +# */${local_libdir}/libsoftokn3.so*" + +export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3" + +generate_chk() { + local shlibsign="$1" + local libdir="$2" + einfo "Resigning core NSS libraries for FIPS validation" + shift 2 + local i + for i in ${NSS_CHK_SIGN_LIBS} ; do + local libname=lib${i}.so + local chkname=lib${i}.chk + "${shlibsign}" \ + -i "${libdir}"/${libname} \ + -o "${libdir}"/${chkname}.tmp \ + && mv -f \ + "${libdir}"/${chkname}.tmp \ + "${libdir}"/${chkname} \ + || die "Failed to sign ${libname}" + done +} + +cleanup_chk() { + local libdir="$1" + shift 1 + local i + for i in ${NSS_CHK_SIGN_LIBS} ; do + local libfname="${libdir}/lib${i}.so" + # If the major version has changed, then we have old chk files. + [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \ + && rm -f "${libfname}.chk" + done +} + +multilib_src_install() { + pushd dist >/dev/null || die + + dodir /usr/$(get_libdir) + cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed" + local i + for i in crmf freebl nssb nssckfw ; do + cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed" + done + + # Install nss-config and pkgconfig file + dodir /usr/bin + cp -L */bin/nss-config "${ED}"/usr/bin || die + dodir /usr/$(get_libdir)/pkgconfig + cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die + + # create an nss-softokn.pc from nss.pc for libfreebl and some private headers + # bug 517266 + sed -e 's#Libs:#Libs: -lfreebl#' \ + -e 's#Cflags:#Cflags: -I${includedir}/private#' \ + */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \ + || die "could not create nss-softokn.pc" + + # all the include files + insinto /usr/include/nss + doins public/nss/*.{h,api} + insinto /usr/include/nss/private + doins private/nss/{blapi,alghmac,cmac}.h + + popd >/dev/null || die + + local f nssutils + # Always enabled because we need it for chk generation. + nssutils=( shlibsign ) + + if multilib_is_native_abi ; then + if use utils; then + # The tests we do not need to install. + #nssutils_test="bltest crmftest dbtest dertimetest + #fipstest remtest sdrtest" + # checkcert utils has been removed in nss-3.22: + # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545 + # https://hg.mozilla.org/projects/nss/rev/df1729d37870 + # certcgi has been removed in nss-3.36: + # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602 + # conflict removed in 3.122. + nssutils+=( + addbuiltin + atob + baddbdir + btoa + certutil + cmsutil + crlutil + derdump + digest + makepqg + mangle + modutil + multinit + nonspr10 + ocspclnt + oidcalc + p7content + p7env + p7sign + p7verify + pk11mode + pk12util + pp + rsaperf + selfserv + signtool + signver + ssltap + strsclnt + symkeyutil + tstclnt + vfychain + vfyserv + ) + # install man-pages for utils (bug #516810) + doman doc/nroff/*.1 + fi + pushd dist/*/bin >/dev/null || die + for f in ${nssutils[@]}; do + dobin ${f} + done + popd >/dev/null || die + fi + strip-lto-bytecode +} + +pkg_postinst() { + if [[ -n "${ROOT}" ]]; then + elog "You appear to to be installing in a seperate \$ROOT" + elog "to complete the setup and re-sign libraries please run:" + elog "emerge --config '=${CATEGORY}/${PF}'" + else + sign_libraries + fi +} + +pkg_config() { + sign_libraries +} + +sign_libraries() { + multilib_pkg_postinst() { + # We must re-sign the libraries AFTER they are stripped. + local shlibsign="${EROOT}/usr/bin/shlibsign" + # See if we can execute it (cross-compiling & such). #436216 + "${shlibsign}" -h >&/dev/null + if [[ $? -gt 1 ]] ; then + shlibsign="shlibsign" + fi + generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir) + } + + multilib_foreach_abi multilib_pkg_postinst +} + +pkg_postrm() { + multilib_pkg_postrm() { + cleanup_chk "${EROOT}"/usr/$(get_libdir) + } + + multilib_foreach_abi multilib_pkg_postrm +} diff --git a/mail-client/thunderbird-bin/Manifest b/mail-client/thunderbird-bin/Manifest index 5e77a264886f1..cb64a6c0dcf2f 100644 --- a/mail-client/thunderbird-bin/Manifest +++ b/mail-client/thunderbird-bin/Manifest @@ -254,9 +254,74 @@ DIST thunderbird-149.0-uz.xpi 351325 BLAKE2B 733beabfe45b5e5c1f633075293043f3b03 DIST thunderbird-149.0-vi.xpi 526052 BLAKE2B 2ed887393e062317d3420633438d14abae4cc54967dc92689e1df851f987f346ffc51c93fb934351edf9087d99f1ae181d67aa5d07839e7d6d76e9c9364de1f5 SHA512 b4967643c4066ada2fa069364580e09233e18bf70f76ee59a2504768f3ae048c736e4a6d1431c3cc83e1559c423163fee20f442bb6ac78ef0c9114a181e519b6 DIST thunderbird-149.0-zh-CN.xpi 514178 BLAKE2B 6fd5e8a80bea2778f4da898d9150291556bd01e0288621fcf84a21a05456d6af032653435390c2e1f35e1930efcabe8fc7db05c5d08726a12f44d453a25c2455 SHA512 4302384199178ae3b4e6e6ad91f88f1f13998eee05fd2d97cf631cbc772686dc1998c3acc8e77f5a8e38eeb10986a295cc1cd405f5b1d395d3caaf22a7cd66e3 DIST thunderbird-149.0-zh-TW.xpi 518845 BLAKE2B cd98d1b8d2527a92c3ca1b0df8e34215cb8d3ea35e0ed851141adbbbf207274e82c72d128f209e77d08a18c58348cca1657f2b0ad09312f92d451988f72df9ca SHA512 a0587526291c2a1758c801da1a017d7e94a0ec381843761936661205b221e67ee6d9d17d251c905ccb02b02ea4778dc656d2fefb79340ca47bb248ecebeadde3 +DIST thunderbird-149.0.1-af.xpi 308662 BLAKE2B a01f21abe2312422f76a7f982431c0b151a148a357dc2f356ff277126befa711cb73c33616a998e25101471c35b668dcd4af54eb50a43ba55d4805ac5d62d89b SHA512 ae62981a3c320456fc2691a09d462d6be3230fac48f8aa85aeb29238638e655c544e6a4227e8f29ce535a1d9daacae2cd13ad0b24ae1c4d761aabaf8af2530a1 +DIST thunderbird-149.0.1-ar.xpi 435005 BLAKE2B e6216a0371b9fc2dcdbee87e1742fe903ff8e652ddbc4edc4187a24a955cbde657233df715bb78dd1f0ea0c1afc8c4b3b3948ef259e6f82c2c950938e51695b3 SHA512 6bcb6838c6ba10dadac3352b1968f4d93e0736d289c15c92682ca2e09410c233351f40261f70167739c2d7a1a9f28cc29e8bf3ff1f2a8f16eb6745e6ad05aa9e +DIST thunderbird-149.0.1-ast.xpi 333869 BLAKE2B 66e76f5cb395b1808bb26dcec2d7c5cd872df3a7c7b26c3e2f82830bfd96981a67e6d9e38224ec2ef463dd8f7aba634805ba4ee6746a1f9ac5197275e886e445 SHA512 2e5c986b0cbb18b3fc1c06f6eeaaa0060a082e44a3438f5822ba592a4101b670a5f261c967008565ee72fbec3c81a2de83458e2c1fb5c564264ed43d52b46b8f +DIST thunderbird-149.0.1-be.xpi 522998 BLAKE2B 3c6b29385a1f208a54db8e4d8f56dfac0ae2d24aeaefd817b75307be9e09f671028aed87f0a6f528a21f10f3982d39d33cf19f545602d4315dc249381c406daa SHA512 81b7663e9b816500cf4c6948f68d6e4c63f5371768921118f97c73d6488307e12bb0943fb6765e127bb6e5ef64fc77b58a51fd5755a8eb3bbc27a212c5492aad +DIST thunderbird-149.0.1-bg.xpi 542000 BLAKE2B 327ff52b28a86ac305d976793d6b6e61f08fe78f77063ddff4b88a36286adba8be04f091340f0493e9fbcae8c447d1f88bf8403742c57abc0da203d24730dc8b SHA512 9727c8632afe3ad980cbcf94c4bb7071314962b24f5f9f2a4ad35aa2f6316fd938b379e499838c45fbf035c9517b513d73a169f3d066e8111211e52d9be59a80 +DIST thunderbird-149.0.1-br.xpi 399948 BLAKE2B f7f7de10fa27037c5cfd9f834dee751c09e4b1d247b38fba0899cee018d438f656c7edbb9a3726237c6ac6cac048d21e9edcd3171e92b78c5534d2a0c019768d SHA512 04f77555db2e1a4277cfcf3d584d6e6c82b12749d993579165def38abf6036284a536e121dcf62e089fe1d9b1599e59779c4d49e7690f45268c9f760aa5b8be8 +DIST thunderbird-149.0.1-ca.xpi 436742 BLAKE2B ad494f488aa1266925c58bffdb903307b335d5d8654ed551875c59fe9486508793a4b83ea4e96cfe3e4cf6ca556f4bab04846ebaa3cce0e10d7e837ae2cb9795 SHA512 5b4beb41e2883f280b1b12e78607760186c2a08e0cef88fd19c3a07e163ad5c8afd62fa10746068be21e35e059063b44bc3428050d30e1a51e1b19e2ddcef450 +DIST thunderbird-149.0.1-cak.xpi 413399 BLAKE2B 3a9fe97bff0dc1e2d0d99d6dd06818904fddde3f1f68fa4592fdf9f99ae9f396ab9238ba268e868a2f0b28545f7e908d9241507df7469859a533c3d884ab28cb SHA512 ae2ca406c3d837e2c2fc6cdb15705ca935cba420a8b6be5e6537629cb3e249a8dbe09fea9c8334410279af051ed501424e6162ed9d172f33e2a3642d99a9ce4c +DIST thunderbird-149.0.1-cs.xpi 529136 BLAKE2B 149e2ed0c1de596d5834e0e860f341b2f3f36692e39dc2913c59bc4ce31abffb517fe53aa702a5bc3a7ac6e47a3bcdc3f7f8a29ab0c4f8f5b7a86eb1f6fda49a SHA512 6cef9f746495215cd428b5ec001174fb54f416a038abcacd23eb9c5e794a1e0d063d748c13353edb36dce53bd652dbd0953c2b544c3dc3195fbc9a1f5775c11f +DIST thunderbird-149.0.1-cy.xpi 496839 BLAKE2B 53acedaff9a4e33c84292a2fc5320d4044588158c2ab7c762af3d55436ce2c83e1a138c4fae3fc9803e05e2b0091790983c3cdfa3c0924c335bb6e47dc324a3d SHA512 256844285e34a6340d5bf2c8ed20262bea0a5767d6ec1034a2227115d2a8337302148f9866e3645094aabc9afa2d87fc49f8ef03a8c8246d8706e5601e6c37f1 +DIST thunderbird-149.0.1-da.xpi 482979 BLAKE2B b25362d1cf941c6dddfa24beb666262ce720e3e448a44149ad6c29f210d832139e1d9e0a16369746b3725f26e7d9930b5ae7f1e5d95c917ffb513f2a7bc15dd6 SHA512 f9e9f435e2fc1ba92926edb9cdf32adc39b03e60cb9d92744ee567acb43c70091ae5d7448df49d13bf85700fc33b0171de9d34372904c207de4f79b2e6fb4e1d +DIST thunderbird-149.0.1-de.xpi 513032 BLAKE2B bfc10b2b5552e7826afd2a3c418ae071115e61eaa7778e3447f8e779f6ac036e3897e9e085dc9a113f774375c778dfbc4790669ea3c840f66b2c9606379df230 SHA512 643f197b115479d41be9fc4b08c1192c19307bf9c72f43cf7821c38ce6ea5fad7c477b299be08be6ba9defd1903b0ff69ced105a58c0930fbda245e8fa3c042e +DIST thunderbird-149.0.1-dsb.xpi 526259 BLAKE2B fb814cbcbecb021c34a5a5e28cb9178220230f7bf3302e6c0ecff6060c304e09ba1424eea99c4e76b795ba51482c3309a0a9508888134079e87f0676d17f7186 SHA512 3a8d69291b4ccea7071ac265d4175e26b5da43367761cb38bcfc2cc56d1d18591bee97d8cda02ba6d367f8db0d82705892a262fc91d6383d486bd3b5c61faac8 +DIST thunderbird-149.0.1-el.xpi 618378 BLAKE2B 993f2469489500c705319a053cc2c3e6c9eca5bd3cf669c4140d1c0394beef06e3923994fefb9a6f533ef01cd4f086cfa510eb6125e6d0c2556ed5a09af6a260 SHA512 a986dcac2f4c9585246d1bcf24ccc02f306792a841cc75a8dd7bed67cfca6bd5cc3c353e5e7028f48924796b721bb062fe35c7ee67b4b49adb27978a6c564210 +DIST thunderbird-149.0.1-en-CA.xpi 458268 BLAKE2B 2b04be9f9c4553db55ac161eebd19cde698ca95ac5df82c3e96b70ac097c16584837650c34715be9bd4a85209ca0fb16875b24e752bc3d94c161f526dcf94ac8 SHA512 0623985dbb56353d59dab20d52e5dc271bdb59d780bb0720d878e30618bf4f47e2b744aa9eae15eb74716f8eb01b483f338675ade2c587ab0511f98905aff582 +DIST thunderbird-149.0.1-en-GB.xpi 459087 BLAKE2B 1936a29d2c0c3bc6c40b5e3117aedd74c58783a08594bb881a46de3c4361e6c0a87d41cc6f64aa0bb22f6b54b9b8aa9c5a483589900551e1b634cddcc6830e10 SHA512 de5d6ba8d91ca8b6fb3060f8d24cd8eb65b0ceaf30e1dd75d525e1fbcac85fd0655016c9bcc7e6f2bed4b62076aa8f8e4e5b89546e48642ac1691d33eb2d3b5c +DIST thunderbird-149.0.1-es-AR.xpi 502967 BLAKE2B 15533f585ef945dbdff42f6f29f967f53d91d78796c74ecb3ffe52493e2abc27c8e207926dc460ad8118d0e039720953b46b78d17f568990afd7f825c9319f58 SHA512 b55ce73655bdfcfb40b8c903d73d52ea401673a185472cff4e2b435e45bce5086409ba76a08a469708a8ba5419386fc57f477f125ff209833ae2a168226f5262 +DIST thunderbird-149.0.1-es-ES.xpi 505113 BLAKE2B 8de81f9fb3df9ac978f8cc6fb67833df546d929bf9c1c4661ea353fca2396222aaf748954b1ef9009e8870533b2257c5398ca8b5ddc189f777b3d00b31f4f27d SHA512 d0644b458e64fd0b5ee4f4917beb74141c504b9a6d10dbea0280f15f70b7a0b3298adace1675132ed9fcf8866721a3c901dc00cdc6104580fed67a00e7740f7b +DIST thunderbird-149.0.1-es-MX.xpi 491530 BLAKE2B 45d914c4a2cc937a996007bd2af6491b9e29338d27a08f63a776b14b3369c14df5721172e70d0cf70a9a811643a13aeffe64e78f0396322f80934e311a98b4d7 SHA512 fa86d4ef3baa68a2af0ae2e673a86dbad546cd8e3c50ce969f4ae2cfa7ebde0ca33e876674c83730d2bb77bfaf38ee8af74adff0687bfb005fa62fcca33f1760 +DIST thunderbird-149.0.1-et.xpi 439687 BLAKE2B 9f116e71a7179c41bf84e89a69b82fb9426f73710ad70ba0b5289af5a6840cd3e25744c67cbfe899a410171f903790f1673b039acd3164a38127b01df0377ef1 SHA512 9ab5bd9d9606385ce90a5eb42431d64cb6e2811253a78275455f7e408c4d4920806b881d6549a80e39b361ac97aad141a316ff9eac2d65899baa7cd6b1538ac4 +DIST thunderbird-149.0.1-eu.xpi 482649 BLAKE2B 042a98311c2cbd5e8773accbeeda24f06a450ae32f64cdafc6fa1e97e7e639b9d0f09291c130b97d4daa73e5ac3e03155c11861e2696e9cf231acc337e861306 SHA512 e4c787e2e12b6e23a858a5e1a6d34cbce81a1b18b4e7852c818a0339edd26e951a773b81b5a0a588e64ac2a8c3db3701002e1316b396948c58086fc96cb2d468 +DIST thunderbird-149.0.1-fi.xpi 480101 BLAKE2B 3bbbc26f9e092f6cdafe61d1462df9d2231254a8c12c244234523f5f22b0219833bb587f3c643fc5c84aa15357ab07a050f76e08544ad80ca52a07498d2ef014 SHA512 bb94c606603c77cd1d29b611fa6bb88c3d217b53b0464a93fbaca785b8dcddeab6177f1e00cb9f0a50a2aa7e40284512211765b453ccef0afde82a91e7a90e65 +DIST thunderbird-149.0.1-fr.xpi 516384 BLAKE2B 6c06586c543aedf1b5ae421a65f03b9afbce93487ec147320b34eae9db2a09b9cfdf93b675bfe30f931909a1641938a5036cf7870bcbba37121f91be843c37e9 SHA512 65d6eaa27d0f0b7c6f2932bf6e679541f97cd3471aec032f93fed88465d41d44aefe6a735686a22dd423504955cb653ee7857ed02fe93b1988c381b2f2927723 +DIST thunderbird-149.0.1-fy-NL.xpi 498565 BLAKE2B c7edf8be97b8df7bfaca8b5cdf8cc08c7fe675de7efb84ed50c5aa4498e9bc61f132b796cbdb7645b2ddecdfb58d346c58bd0fbac9882ff1146feb3daf0c6e34 SHA512 c66416445fadf027725ce8872d42cb7ce4cf5b47e772cdd84c6a9e214c63f6d3bbc69d57ca231a744e820ddf5310a8a2e6f335235e81be58fa1b880a3f2cbc49 +DIST thunderbird-149.0.1-ga-IE.xpi 373388 BLAKE2B a370258b65bf580f808b2fed0645c676757a2d700413c8eb1e2ba8a1a4cda061bbedb9cdd6c8f023a88d75ef1ecb0824d121492ed73beb64fbdfc84bc741ca86 SHA512 87c4dba2118ec9d04c7cd977259ae047aa505306ab771150f062b657ee04598692eaf7396f6b7d8f203ad71b5d6a251974b969d640ac1c31f87eed2e091402c4 +DIST thunderbird-149.0.1-gd.xpi 458522 BLAKE2B f441a539bb5a9a3fd13ebb4096df49afd87342b1f1e1949a7f4b6983171c4dd3dc81c29825aa901cfd37f773cd42deeec299ce3afa7e347012d011d35140ec7b SHA512 47d6a0701d1f6d59e64e2d816977e0ee364d277c9a15f4d25ce12e9d8defafe9db087a7bac3cb074442850828c2ef7f16d6adb487d354a07211458226a1628d5 +DIST thunderbird-149.0.1-gl.xpi 487091 BLAKE2B 31be029758e5972abad7f5218dc4ca4621bdc51d0559d07a4a15c3de82c402a5d14bc5711b3979c117b90ccaae176641462dda1c4ed767d5eebe7308ccd67da5 SHA512 82761831801fae2b35729eb30d189ffb8af1aa9cb6f0e91aab9854873179485308ba428ffa3ae4e7833ff0649592b3622f545dcf91f2c7ead9feac5da7077309 +DIST thunderbird-149.0.1-he.xpi 444537 BLAKE2B 8b468fda9a027d9918eb607cfd32182b1b69a797a962826c421599fa1fec0c8cd212659b8fde9024c56d7ca14ac78e98dff2fb1d6cf4f4ee92fed931cbb72e9c SHA512 aeca086568956c4ee741ee189ad1fc62af58241a02d910b87bf1eb65a54d848e16cc41b1f3ac7dad061b82d91233e932787c5846195493fe0051da0db9bbacd7 +DIST thunderbird-149.0.1-hr.xpi 477350 BLAKE2B 91b1b3c453619f2b09f7f7d1a109a33de30eb70778da822f66d0a8e8c6c666a8c04fd7ae6725756a564c7cbcc8a62cd6b8d0b8b56057c5e57dadd06715897208 SHA512 aab28f5e2d31a8354441d586f80130604cf5cddf53c0593feca77670d9801d2f4dc3988aa4197f8af5d520b6e37368307f042d35cc7f33190c34f77dfa075382 +DIST thunderbird-149.0.1-hsb.xpi 523616 BLAKE2B 1706c3ad294057c71b8d3d75b19b7068ec9311e2dce0e35e34f6d89c8798eae3c88399da6f1dd94015845f3b66843e8d2bf41cd63e663fa3ccd178290e48b871 SHA512 de58f1d79ea284bac3b7f59bbc0db1301f29e730189603278ff855449a729dbfa96a40bc49a32516eda4d4046f301fec78b44967de06dbda03f849ada63717e5 +DIST thunderbird-149.0.1-hu.xpi 525886 BLAKE2B 6e2c809a9192bf705bd4f8225bdfaa7067e282b7a0995648bf600ac752cf511b6e10f89003cbd14bcee485f28b70b8b33094b13aec82b15525115275ca4fa31b SHA512 cff09d023a821667cceb1c64ca465f13f347c80c78347578fc1512eb56978ec6600dd9c03e75fa7070eb96a80c71134f71d3543bf0ad4b15e2bea237b1c4e4e3 +DIST thunderbird-149.0.1-id.xpi 470168 BLAKE2B 5d1ee6f51f2eefb2e73551458b7e0fec6899d410acd1daeab625b5b7f643751884c0c3e27f86cac8eb32acdc35dd7deba08ae6bec90d36d3180f6062ed4b5854 SHA512 ac9e6e76a7729acee85065220a1614bcee0bb0e363cc4733322c1affc0695c7d2d79808f00785e0854179db9f57a29a0506f38f879a253c1c19bd2b3ebf1538f +DIST thunderbird-149.0.1-is.xpi 485140 BLAKE2B 8b4d8ea698e8a577c260310c2b71a86ca5977f81a5f43a81d315f2905d95d99e8a3998932c4f3f4ce1a44eedb487c6eaeedd811eab1ada37dc0867a03d67fbb3 SHA512 5bbe63fd5a3cc9c6f3de8a1780a747ebc54698327ff6462517c1d5d2a0bf487aff82b760c1f056315b6059d2aa370ea83065e78cdc62a34ebe0590c9db710ec5 +DIST thunderbird-149.0.1-it.xpi 496241 BLAKE2B 19ca4432ec379140116f863830165de1311b2ff9d17e65df5f0987eea938849f0ebf2b59e7730669f95712c77c6af8bd9eddef521c54929471f699c62310fbac SHA512 64e8bf904e6e239e0b0adfa808a861c30160a25c9997726a0fe137007dce8b7c27eca3a47348eaf098295edc4303dd9c7da4af63cbe99f6a192dc2edbf115dd8 +DIST thunderbird-149.0.1-ja.xpi 547453 BLAKE2B 6e9ad6519148c11519d50b336134b393d1ba40b9f9c9c95205c89070819c27a06471b752d35e6d051e2131ba08d6883ddd4ddc8c9a2f50737a510a30776e0b2b SHA512 5f0b1031e7ef2546bdfdda53a237b58cad493cd5d17d7fe4ae479a03b96af91e3d7993b65c0bf5fcf7518714c4dcf6a051758a3657ada0e3727b2e9acb4c58bb +DIST thunderbird-149.0.1-ka.xpi 564373 BLAKE2B 37bd97388b63a8ace43b80b6309f5b4c9b1fa0026904115f86bc92cba60411269f4d78c845bd798976404c3b711bd42484508d53ccb1d9f0911bbf730db1c222 SHA512 6a0d640445cc6e82fd4eec1e584206702ff521dada8eb2527b53906f7b43c96ee645deeefd2d83f650017dea1bb2187b30ec6da6f773afc68b99417d803fb5d9 +DIST thunderbird-149.0.1-kab.xpi 467501 BLAKE2B 12f4d5848a9b09981328cf4f75d06b616940803e9ea11d7d333984a5a1650d15ba63fc71336ba81d18188966cab72fcad355bfc500463d31a30e77912f2606a2 SHA512 d66326035412ea2fd22793ee3c6517e8863f1ceeb0d0083279ed5f70cc40a747651913a1dbd19b17000575b1dde48827785f1bc387c620a8e227dadc1f36d066 +DIST thunderbird-149.0.1-kk.xpi 588138 BLAKE2B 5d92209431c2ded0c3c79f24ebee3075b41ea310627b6f51fca529d639da506d040d340dcb3144a1d78bfe7a97c16a6c53d9b50ddeb443a04694142a886e0391 SHA512 0279d23c222319b58f979c79184838153bd20beef6a49c5f3dc79c979b992e334b4357fed8bdd70c96ae924ae55d5647d09f629b093d55feb272d81fdf247843 +DIST thunderbird-149.0.1-ko.xpi 519182 BLAKE2B 1dc349d37426a50dfb33cc457eecafcebac726f7e4dcaf871469c15dff0ce3495fefb4aaef9d597f37d861c1e7b552fe890f3e6cf348f69b0374061b0e5b3a95 SHA512 526545ec9281459e4af7b70de3bdd8fa520fe930dff70f3f8ae9cc79112d3b64ce6f0327ac661b693bae3fadab806ead8a32da48c7353ecd978b357b30a3482c +DIST thunderbird-149.0.1-lt.xpi 449785 BLAKE2B 9cd09afdd4ad17b4f6c40fa54609ec208b5ecf39bb6d1b3cdc31b3e6639d5b967d3befecc705375273d942a70c86719de81ee0f3a298e59ff2c04b3ab9443c3f SHA512 d4c27c764de9f845b0af80ac55ce0080a3f1a58da07f68c2dd9c8856b49f3fce5a33fbec72f6d31fb5ca4fa680590ca4ec53afd54dd786006f8ee95996da364d +DIST thunderbird-149.0.1-lv.xpi 387016 BLAKE2B b3a8815f7e3e856a08a4bd0b5cd3ab5a67f2983fef9047f32813137c416f20a5eb1455785f465c5f3fdfd755e40deb182545fe0463929ff41551b3ea0fe9bdee SHA512 c5ce3f18544c8845f8279937cab1ce8b6c4b49ddb1778f4f1b11436197807b8e983f55193742d70172110ce6f261d9fedf60d6a02d06dd940f1ac4ed6cc18f26 +DIST thunderbird-149.0.1-ms.xpi 348748 BLAKE2B 2cc19e3b23b69a5ea53e5144ebb074c6072f31e521dc572520091705564f9ae3377a0a34bbe2a0753b188bc1f655250b5ab88520fe4c7d0a92852a4ffcbb6fbe SHA512 e575231f9ce923c74e0723427f41a7d44b0b4215f68315c202950c6fb3209f71082b03ed55da9ca22b4be4233d3b1f83f19614686fa43b8a3f1fe0ad6d0669ed +DIST thunderbird-149.0.1-nb-NO.xpi 483742 BLAKE2B 5c5c584498d20f2ed3de2eb9aae35647fa84e8466bc98112b716b2eacbf5e9eb47a81c4cee06448bcf628bee857868dd647cb192ed107ee6fdec2c9cd2f69316 SHA512 721d54e59de64dfc8cd66f7934aef8820209f4d2b551fdc6116065fb1c54a1c13b1f94a1f6502c24476f1c83a5a53d97b744c9abb3ce396cd60cf60a03e1bf85 +DIST thunderbird-149.0.1-nl.xpi 489978 BLAKE2B 92088aa38e37947b2614e890bd1a5f87efa77f766c82097e55c4135fd4589cd59355209885d1357000a79d6744029c3c3fe061395ba9704f4bebccdc354f3937 SHA512 102703273d88668ea3aa2c38fa824605acf6eccfd08969c4f4b62a2dd6ad8917b9f4665470c66ea0e478954430d30f1ecf1a3c5dd521145d3718f69b7daf72f4 +DIST thunderbird-149.0.1-nn-NO.xpi 487538 BLAKE2B 104d0f2d98ac94994509309b625eda8ce4669b4c5c5223880dcede72106f6598baeb671ba1dd060bc081b6803851ee8d11f38a4ba9a0f0598882d8ccde4f8df6 SHA512 df1031032464ce89da624c0fddd6dc0c0b0f2be2a15142b31a9fec02ba3329de4a0e5e2def89a4a1d5c8f47e1f7318c3b7772375b9d451ca19367af435138c6a +DIST thunderbird-149.0.1-pa-IN.xpi 435947 BLAKE2B 8eb8475e9248d17408ff9310e55430f19f193561e41cd5ed5cd933132f04dc32c270682b85eba7d1ccb05336e0c269508235b2cc44f827da1eb22e07c9d45a3d SHA512 730f0931e67aa27313c1509992a3e51805d373448f99eacdfb308d4f2e3383efc909f122f35fce986a8af6f364d0e96666b46b0a1d33af009b59008dda4db9fb +DIST thunderbird-149.0.1-pl.xpi 524099 BLAKE2B 362402f4075690f7d8be7ea892e0cbf956fc81565a1573804b86d9bb61f020691eb28f3f6c3b11f48378fc6a09e9aaa4c911604d2c82863af86ae98e382c0945 SHA512 f917b40fd73f2fca648efd922925c784c299f132c57bb26e11c297501fc45e94bb18d6f3dcae01db0e3ecb5dbe1144318159ed3fb974ac9a763cca300c65334b +DIST thunderbird-149.0.1-pt-BR.xpi 497176 BLAKE2B 40c7912c76650a229c28b9a7016a986451c82020c4a89590e8f2a90408f41f1ea21c4d0b9ed42a5289394e2d3122c1fede8219e44c7d83adba9a75737c05637b SHA512 2b2727457964df424af8d7b51e7344c8e83a89348c749c6650a3808440e83b994140cd4d987e05c2467adefc6678f2ca8cead6db008787db6aae47dc04e0e7f4 +DIST thunderbird-149.0.1-pt-PT.xpi 495163 BLAKE2B 90372ced0283a77655c03f958278d65af906ac3b8b5e05eb4d247ef91f58b49999de931977591c91eb0068a739e0f069c713f81a580870cb5e59449d1d65b9c2 SHA512 4a4098d57895143a3864e0c7817edc30385bcc9b0380793de219f9155debee5da849dc58a66928277f60829692cbb7efff0785dd99267dd571d52da77bbf189c +DIST thunderbird-149.0.1-rm.xpi 485686 BLAKE2B a2cdc3c4c930a4236086241cb1a2b31805e952d919f90f34e3b8b72cad23d2654ad9ed41f2e18ac630955ffeb142d9357c4ac4a9753bcec018dccd9ad843a632 SHA512 744b661f4eac829854a24b9ca4f18e456ec6826f227e298ad87533051f7d4382be06019f4e86f8cccbf981c698a92d9257aa2ec8693b7d79ea7e884f59831b4b +DIST thunderbird-149.0.1-ro.xpi 508500 BLAKE2B c7650cfc22a016806ac67d64c235ec5842c0aeb552558ef760c6479356e51a878665852779d2fdd08a7b499d72ea4a5c548803d7891b190af1ea0c55f0572f2a SHA512 9563160e46b84fb410b3c817a73ef58007088e333b1538e90309e57f1f41f8db1e5d43a7ab495bad78b21863fe05815ca2aa989c2acbfa9523778af1e35d920d +DIST thunderbird-149.0.1-ru.xpi 603092 BLAKE2B b8fff3e12d0d0758d5f62ae9a39658d8de459f741f26e6ee67369f8a1a86b867a9df78fd72bee31781e11b016221a9908aa4384d23c1c6ca40108d04443daf82 SHA512 b78981090663bbd4a3ac41ae69426b450d1519238c4c78a16035d75ec024c56ad1e8bf64c8f8e2aeb333378bddddbff70d51fe163a1608b346a7f990d20f0c6b +DIST thunderbird-149.0.1-sk.xpi 528710 BLAKE2B 49a0b7d9841303280b1b4e383f357333e97537734970224b9f7ecb0195e6954141d18902d4b3b2c02c8589b59dcacff5b310bba87d9c07e1545d0a2fae0200fa SHA512 f99cf0475afb18e7a088c20f4f666ffbbf5403ccd0465b4d49a049df9d0f100cb8c30852951acb62ab11bf1cf797f1fc12b1e79b5760428233b158243e22443c +DIST thunderbird-149.0.1-sl.xpi 493254 BLAKE2B 58d9c0e482c5261a9e4ce14c6354493f0ca147c8a56600c93f271fa803a92cf8707a496c6337f4130605d98d2fae17f692fbbfd1ea9669f2208800e624d39142 SHA512 844883e0e159dcc9554e9ecac1a22b1cb80d56b339045a5e766668bd231cdd21f8fde584e5adb4409338f629c1f65d6e83f7ce238e1157fd8045102523b9fe34 +DIST thunderbird-149.0.1-sq.xpi 514179 BLAKE2B f28f2690dd50edaf46b8e17cd88ab78f962cfec4b9733ad3d609a0a58a39d8df4213802dd3611e11439c818eaaccffdc334d6d5a006b2ce9f9a948029778baa0 SHA512 3677f8ba90f771690aecf4eb03764bace2fc063472ec65be33db572f7f243cf7ea78dc5c8756a1e643343e5146ec583a206fa3322b3c64e8d36afb2c2a2c38b1 +DIST thunderbird-149.0.1-sr.xpi 491992 BLAKE2B ab46494e7581cc44b69112768823c889508e3fbc05c8432c81270f47c03fb65925f2bf6bba55c340f39ccd170c7557ab41a0ea6c05f2765b1bc4a7ea330c12ae SHA512 e03d6fae896b2ddf461021cc5d6cc4f271fc93b6c26e68598538ebe188bd93d9d038876fd6d295fcecc5d63bf94aeb9e953bc6c528f09d973016f29380a1405d +DIST thunderbird-149.0.1-sv-SE.xpi 492149 BLAKE2B c59951ad7b595b20bc6e071584e293dba4d761d0e7efa7fcb00e292e57d488c592fe709916b39027e0522ac2c947559f33841dc519024f4330e92c002a36b8fe SHA512 f2c4f870d0bc224e8463760832b7336f51923cd70812559c5ce243d709b70be56c6b108585f4fd3f2473372732a2708666fa8cc7a24845a40101796982d8817f +DIST thunderbird-149.0.1-th.xpi 574731 BLAKE2B 16dd42fb65cbcc14c91c6bb4b49fc30921077453b27074aee0511027f041eefa448c93661274bbaea6cf8ff2bef61ba818b3a3efa75c903de1a737e87c15e10b SHA512 0f6181c77ee090e9bce4473540bc04e18b007e48db21ca4162b285d4dc69babacbb3881391ce01450a3d2eec7a59c37031d19ba6af806c6bad510047c11b7deb +DIST thunderbird-149.0.1-tr.xpi 503240 BLAKE2B daab6431afad2e889e859b16ed34fa359786d1fdefe454b682b77864abb34d7ff495c1fc8d12c74ad02fe8205ff9938474880fb514b8a9978607cec6f1b32286 SHA512 3f4515fb98b6b4713ad537a64b9ba866f6b48dc080d5afe077e9d93254a4f1c5c55e27814d586fd09f65da9105007d852f4e5ddc27e352c92f425f161f5a8f55 +DIST thunderbird-149.0.1-uk.xpi 583614 BLAKE2B d2455a6beb203edce185b81348a3d403b66ad6ff627df2791411a7fbd2daed7ed2783ebdb60b20392777be782c7a0556f80599b5ae37b286ae5bfd41fc239ec2 SHA512 4a79f4e6cd29b1b91f0027896d095bc6885e82bb024e76b72a59eb78279d85486c69200c5d1dbe0340446eca9a61d3e63e58394526682c832057c86aaa05ad99 +DIST thunderbird-149.0.1-uz.xpi 351324 BLAKE2B 9dd7f0e154ba69383d1b3af011389c01e4ae014c0bb924b6d83379b494d507e6ed8e24452204eb9a974ba8381ea1632ee3f2872cd07b31fb175711cddb6e05b4 SHA512 a6a91063f5dc2773de9bc3595db1297bcff41377490472604988f93b1d1d4088e7eec1ae38d5f4e0ee08db9e3a074aca0ab6ea637d27eac91464e6b41a06664a +DIST thunderbird-149.0.1-vi.xpi 526051 BLAKE2B 0190fe70d271d923010158ca8e92e7f2ac19d15c2c24c0d4d1756dc86e2acc5a47d7597172a137a4e840539df709cbff71c2ef6808009440e1b4a3937e33f712 SHA512 9a728d73298b97dc445d7fb872074bcc33913cb7dd585ddf987345818e9265533467a76d91b7abf7f3bca70760caf3b4a7a5c834629674390725e3dc730d59f6 +DIST thunderbird-149.0.1-zh-CN.xpi 514178 BLAKE2B 9502ee291548adfc3a8ed32c2a4a575682195680b4ebbb4ea3623137f04b1d282bd810f0f7bd0345f942764b54ab948cf47bd80a60e8d270bea962640636fd8f SHA512 ddacc4496f5dd5f82a5941d70a1234cd93dee7d50eabf677529f06493d3099691e88a64b0e3201006dae3866750b689746ca8ad8a0696579c3eac42a8dbafb17 +DIST thunderbird-149.0.1-zh-TW.xpi 518844 BLAKE2B 0d7ff450c54122b80f8863a2d7bc05146366ec4b499ac57f0b9e27014eabd174aaee680bc29f0ff98d7373f10698e98037c2a3fae5d4089d52ad7b0eac007652 SHA512 dfd19be346f6aabc803fdbe99dd481be4c0ae94f7f982950dd9598b92114ece4710bacaf1627c5b3635d52b80803e35b44223e955b681608ad2c862a97b9c28d DIST thunderbird-bin_i686-140.8.1.tar.xz 78134160 BLAKE2B 30a0266db76a82a3b3fead33b79bd6bb8869edc4b772b6ff566397358ad0f22d5159ec20e6cd7bc05aa0027379ec0ec18028f44de4c5270d86cb5116388e699c SHA512 db71e2cbe6cb33dd25993859366f2150c28c8662a1beda01e3626eec9f70a8b842de69002961aba6ae87a7873c7513a55b6d528dcebecd8c0d6c6b568fc4b2a1 DIST thunderbird-bin_i686-140.9.0.tar.xz 77746068 BLAKE2B 7b3176bfa43c73255c5247e5dfd6cd62fe995389058adcf5e0d426b633f9d77da4de528a658542e812a3fd9d3f917a5df658ddcb9608aa59379a417928f21e4f SHA512 be631d60a720ec40238f6de4ca1c350b2d2b04658dfc78867e58d0c4298915f0390c61dcb8b5e2208437357228a977f44f43d5bf7f46d3f87a85d5bcd87289d7 DIST thunderbird-bin_x86_64-140.8.1.tar.xz 75042848 BLAKE2B c75723eb67301fb556c30c3f15a150859c68d2344f90952e2de8020c9a87eafb985e89398b2e6436799f9bf07233726c701d83c79ca19bc953e429f8d660866d SHA512 72d4d58755d8ca47be72dadf729b2286b04cb6f40265917ff009f67fd1c8e62a17ab29c0e1c4cce8242d0e5a5a94d75874c0f945219d58b9366254618d17203a DIST thunderbird-bin_x86_64-140.9.0.tar.xz 74733660 BLAKE2B 4bd538bc9cc7f4c6ee7d309f23c2466306e6b014417aaa2061431ce5e55fd2740c2674dce4ca93e69c90a086a5a41795996aa06188a63d14bdc642453763b1c6 SHA512 cf183398ba8226e586f644465090c02e3fc03f19008c38a30a84b0afa154e7e1a11f8da3133d0372b5732a4bcb4e30c52b11ddbbd6ae500ca871b05410fe6d23 DIST thunderbird-bin_x86_64-148.0.1.tar.xz 81363948 BLAKE2B c9d1a2ed9f0c276eff69c64819d2c576e2565e4cd860366166acd94ec94c3a5f35ad213c7299ce9d857457730d85dbacc082c3c82b96b1db753fe5a82db24887 SHA512 79eafc47ee33f86228e31a03f3d02d96a3ef9727c84760fd09970aad5e6837d98dddd524512a1f5830ec77e84c54dfebb4657e6f9e6d872ee7816318b968901e +DIST thunderbird-bin_x86_64-149.0.1.tar.xz 82033636 BLAKE2B 5381bfa68c0be0b203e0a4c85fc622272c886e164bb17eed033fa42dade440ac1f4895f38b5b5398d2a7c8cdc83ccc2f0fb4a2b07ccb44d73a543d93fa143614 SHA512 5bd6e883d2adb72f77ee4b4565d0f7516c3fbf1d0a1da6608ef15fa3b9156a0c0d2ff67a99c00f9e722932a4e90b3389393922936bd5e2aff1ddffab5eb57052 DIST thunderbird-bin_x86_64-149.0.tar.xz 82127940 BLAKE2B 9d66b2a495591999a907774a42b1b29dfe023cfad4d5670d1780bafb038823257f55a7a86881bd0e9bf049f42286f9f136c556bf75ea5f7152f0ffd6d71c17c7 SHA512 902553534d5c126f222f1047d3b54986739cba6b317e4481361046e12f068dbccca305b5aecdabe261969b89fde9e7ff0696d6700022bc690479e57e8e590578 diff --git a/mail-client/thunderbird-bin/thunderbird-bin-149.0.1.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-149.0.1.ebuild new file mode 100644 index 0000000000000..7cfbc3990be50 --- /dev/null +++ b/mail-client/thunderbird-bin/thunderbird-bin-149.0.1.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz )" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +KEYWORDS="-* amd64" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-thunderbird ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default" + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + if [[ -n ${MOZ_ESR} ]] ; then + local wmclass="thunderbird-esr" + else + local wmclass="thunderbird" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + -e "s:@CLASS@:${wmclass}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "encrypted chat support" net-libs/libotr + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index 8f6aca41c8e05..30685ff483fe7 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -261,4 +261,69 @@ DIST thunderbird-149.0-uz.xpi 351325 BLAKE2B 733beabfe45b5e5c1f633075293043f3b03 DIST thunderbird-149.0-vi.xpi 526052 BLAKE2B 2ed887393e062317d3420633438d14abae4cc54967dc92689e1df851f987f346ffc51c93fb934351edf9087d99f1ae181d67aa5d07839e7d6d76e9c9364de1f5 SHA512 b4967643c4066ada2fa069364580e09233e18bf70f76ee59a2504768f3ae048c736e4a6d1431c3cc83e1559c423163fee20f442bb6ac78ef0c9114a181e519b6 DIST thunderbird-149.0-zh-CN.xpi 514178 BLAKE2B 6fd5e8a80bea2778f4da898d9150291556bd01e0288621fcf84a21a05456d6af032653435390c2e1f35e1930efcabe8fc7db05c5d08726a12f44d453a25c2455 SHA512 4302384199178ae3b4e6e6ad91f88f1f13998eee05fd2d97cf631cbc772686dc1998c3acc8e77f5a8e38eeb10986a295cc1cd405f5b1d395d3caaf22a7cd66e3 DIST thunderbird-149.0-zh-TW.xpi 518845 BLAKE2B cd98d1b8d2527a92c3ca1b0df8e34215cb8d3ea35e0ed851141adbbbf207274e82c72d128f209e77d08a18c58348cca1657f2b0ad09312f92d451988f72df9ca SHA512 a0587526291c2a1758c801da1a017d7e94a0ec381843761936661205b221e67ee6d9d17d251c905ccb02b02ea4778dc656d2fefb79340ca47bb248ecebeadde3 +DIST thunderbird-149.0.1-af.xpi 308662 BLAKE2B a01f21abe2312422f76a7f982431c0b151a148a357dc2f356ff277126befa711cb73c33616a998e25101471c35b668dcd4af54eb50a43ba55d4805ac5d62d89b SHA512 ae62981a3c320456fc2691a09d462d6be3230fac48f8aa85aeb29238638e655c544e6a4227e8f29ce535a1d9daacae2cd13ad0b24ae1c4d761aabaf8af2530a1 +DIST thunderbird-149.0.1-ar.xpi 435005 BLAKE2B e6216a0371b9fc2dcdbee87e1742fe903ff8e652ddbc4edc4187a24a955cbde657233df715bb78dd1f0ea0c1afc8c4b3b3948ef259e6f82c2c950938e51695b3 SHA512 6bcb6838c6ba10dadac3352b1968f4d93e0736d289c15c92682ca2e09410c233351f40261f70167739c2d7a1a9f28cc29e8bf3ff1f2a8f16eb6745e6ad05aa9e +DIST thunderbird-149.0.1-ast.xpi 333869 BLAKE2B 66e76f5cb395b1808bb26dcec2d7c5cd872df3a7c7b26c3e2f82830bfd96981a67e6d9e38224ec2ef463dd8f7aba634805ba4ee6746a1f9ac5197275e886e445 SHA512 2e5c986b0cbb18b3fc1c06f6eeaaa0060a082e44a3438f5822ba592a4101b670a5f261c967008565ee72fbec3c81a2de83458e2c1fb5c564264ed43d52b46b8f +DIST thunderbird-149.0.1-be.xpi 522998 BLAKE2B 3c6b29385a1f208a54db8e4d8f56dfac0ae2d24aeaefd817b75307be9e09f671028aed87f0a6f528a21f10f3982d39d33cf19f545602d4315dc249381c406daa SHA512 81b7663e9b816500cf4c6948f68d6e4c63f5371768921118f97c73d6488307e12bb0943fb6765e127bb6e5ef64fc77b58a51fd5755a8eb3bbc27a212c5492aad +DIST thunderbird-149.0.1-bg.xpi 542000 BLAKE2B 327ff52b28a86ac305d976793d6b6e61f08fe78f77063ddff4b88a36286adba8be04f091340f0493e9fbcae8c447d1f88bf8403742c57abc0da203d24730dc8b SHA512 9727c8632afe3ad980cbcf94c4bb7071314962b24f5f9f2a4ad35aa2f6316fd938b379e499838c45fbf035c9517b513d73a169f3d066e8111211e52d9be59a80 +DIST thunderbird-149.0.1-br.xpi 399948 BLAKE2B f7f7de10fa27037c5cfd9f834dee751c09e4b1d247b38fba0899cee018d438f656c7edbb9a3726237c6ac6cac048d21e9edcd3171e92b78c5534d2a0c019768d SHA512 04f77555db2e1a4277cfcf3d584d6e6c82b12749d993579165def38abf6036284a536e121dcf62e089fe1d9b1599e59779c4d49e7690f45268c9f760aa5b8be8 +DIST thunderbird-149.0.1-ca.xpi 436742 BLAKE2B ad494f488aa1266925c58bffdb903307b335d5d8654ed551875c59fe9486508793a4b83ea4e96cfe3e4cf6ca556f4bab04846ebaa3cce0e10d7e837ae2cb9795 SHA512 5b4beb41e2883f280b1b12e78607760186c2a08e0cef88fd19c3a07e163ad5c8afd62fa10746068be21e35e059063b44bc3428050d30e1a51e1b19e2ddcef450 +DIST thunderbird-149.0.1-cak.xpi 413399 BLAKE2B 3a9fe97bff0dc1e2d0d99d6dd06818904fddde3f1f68fa4592fdf9f99ae9f396ab9238ba268e868a2f0b28545f7e908d9241507df7469859a533c3d884ab28cb SHA512 ae2ca406c3d837e2c2fc6cdb15705ca935cba420a8b6be5e6537629cb3e249a8dbe09fea9c8334410279af051ed501424e6162ed9d172f33e2a3642d99a9ce4c +DIST thunderbird-149.0.1-cs.xpi 529136 BLAKE2B 149e2ed0c1de596d5834e0e860f341b2f3f36692e39dc2913c59bc4ce31abffb517fe53aa702a5bc3a7ac6e47a3bcdc3f7f8a29ab0c4f8f5b7a86eb1f6fda49a SHA512 6cef9f746495215cd428b5ec001174fb54f416a038abcacd23eb9c5e794a1e0d063d748c13353edb36dce53bd652dbd0953c2b544c3dc3195fbc9a1f5775c11f +DIST thunderbird-149.0.1-cy.xpi 496839 BLAKE2B 53acedaff9a4e33c84292a2fc5320d4044588158c2ab7c762af3d55436ce2c83e1a138c4fae3fc9803e05e2b0091790983c3cdfa3c0924c335bb6e47dc324a3d SHA512 256844285e34a6340d5bf2c8ed20262bea0a5767d6ec1034a2227115d2a8337302148f9866e3645094aabc9afa2d87fc49f8ef03a8c8246d8706e5601e6c37f1 +DIST thunderbird-149.0.1-da.xpi 482979 BLAKE2B b25362d1cf941c6dddfa24beb666262ce720e3e448a44149ad6c29f210d832139e1d9e0a16369746b3725f26e7d9930b5ae7f1e5d95c917ffb513f2a7bc15dd6 SHA512 f9e9f435e2fc1ba92926edb9cdf32adc39b03e60cb9d92744ee567acb43c70091ae5d7448df49d13bf85700fc33b0171de9d34372904c207de4f79b2e6fb4e1d +DIST thunderbird-149.0.1-de.xpi 513032 BLAKE2B bfc10b2b5552e7826afd2a3c418ae071115e61eaa7778e3447f8e779f6ac036e3897e9e085dc9a113f774375c778dfbc4790669ea3c840f66b2c9606379df230 SHA512 643f197b115479d41be9fc4b08c1192c19307bf9c72f43cf7821c38ce6ea5fad7c477b299be08be6ba9defd1903b0ff69ced105a58c0930fbda245e8fa3c042e +DIST thunderbird-149.0.1-dsb.xpi 526259 BLAKE2B fb814cbcbecb021c34a5a5e28cb9178220230f7bf3302e6c0ecff6060c304e09ba1424eea99c4e76b795ba51482c3309a0a9508888134079e87f0676d17f7186 SHA512 3a8d69291b4ccea7071ac265d4175e26b5da43367761cb38bcfc2cc56d1d18591bee97d8cda02ba6d367f8db0d82705892a262fc91d6383d486bd3b5c61faac8 +DIST thunderbird-149.0.1-el.xpi 618378 BLAKE2B 993f2469489500c705319a053cc2c3e6c9eca5bd3cf669c4140d1c0394beef06e3923994fefb9a6f533ef01cd4f086cfa510eb6125e6d0c2556ed5a09af6a260 SHA512 a986dcac2f4c9585246d1bcf24ccc02f306792a841cc75a8dd7bed67cfca6bd5cc3c353e5e7028f48924796b721bb062fe35c7ee67b4b49adb27978a6c564210 +DIST thunderbird-149.0.1-en-CA.xpi 458268 BLAKE2B 2b04be9f9c4553db55ac161eebd19cde698ca95ac5df82c3e96b70ac097c16584837650c34715be9bd4a85209ca0fb16875b24e752bc3d94c161f526dcf94ac8 SHA512 0623985dbb56353d59dab20d52e5dc271bdb59d780bb0720d878e30618bf4f47e2b744aa9eae15eb74716f8eb01b483f338675ade2c587ab0511f98905aff582 +DIST thunderbird-149.0.1-en-GB.xpi 459087 BLAKE2B 1936a29d2c0c3bc6c40b5e3117aedd74c58783a08594bb881a46de3c4361e6c0a87d41cc6f64aa0bb22f6b54b9b8aa9c5a483589900551e1b634cddcc6830e10 SHA512 de5d6ba8d91ca8b6fb3060f8d24cd8eb65b0ceaf30e1dd75d525e1fbcac85fd0655016c9bcc7e6f2bed4b62076aa8f8e4e5b89546e48642ac1691d33eb2d3b5c +DIST thunderbird-149.0.1-es-AR.xpi 502967 BLAKE2B 15533f585ef945dbdff42f6f29f967f53d91d78796c74ecb3ffe52493e2abc27c8e207926dc460ad8118d0e039720953b46b78d17f568990afd7f825c9319f58 SHA512 b55ce73655bdfcfb40b8c903d73d52ea401673a185472cff4e2b435e45bce5086409ba76a08a469708a8ba5419386fc57f477f125ff209833ae2a168226f5262 +DIST thunderbird-149.0.1-es-ES.xpi 505113 BLAKE2B 8de81f9fb3df9ac978f8cc6fb67833df546d929bf9c1c4661ea353fca2396222aaf748954b1ef9009e8870533b2257c5398ca8b5ddc189f777b3d00b31f4f27d SHA512 d0644b458e64fd0b5ee4f4917beb74141c504b9a6d10dbea0280f15f70b7a0b3298adace1675132ed9fcf8866721a3c901dc00cdc6104580fed67a00e7740f7b +DIST thunderbird-149.0.1-es-MX.xpi 491530 BLAKE2B 45d914c4a2cc937a996007bd2af6491b9e29338d27a08f63a776b14b3369c14df5721172e70d0cf70a9a811643a13aeffe64e78f0396322f80934e311a98b4d7 SHA512 fa86d4ef3baa68a2af0ae2e673a86dbad546cd8e3c50ce969f4ae2cfa7ebde0ca33e876674c83730d2bb77bfaf38ee8af74adff0687bfb005fa62fcca33f1760 +DIST thunderbird-149.0.1-et.xpi 439687 BLAKE2B 9f116e71a7179c41bf84e89a69b82fb9426f73710ad70ba0b5289af5a6840cd3e25744c67cbfe899a410171f903790f1673b039acd3164a38127b01df0377ef1 SHA512 9ab5bd9d9606385ce90a5eb42431d64cb6e2811253a78275455f7e408c4d4920806b881d6549a80e39b361ac97aad141a316ff9eac2d65899baa7cd6b1538ac4 +DIST thunderbird-149.0.1-eu.xpi 482649 BLAKE2B 042a98311c2cbd5e8773accbeeda24f06a450ae32f64cdafc6fa1e97e7e639b9d0f09291c130b97d4daa73e5ac3e03155c11861e2696e9cf231acc337e861306 SHA512 e4c787e2e12b6e23a858a5e1a6d34cbce81a1b18b4e7852c818a0339edd26e951a773b81b5a0a588e64ac2a8c3db3701002e1316b396948c58086fc96cb2d468 +DIST thunderbird-149.0.1-fi.xpi 480101 BLAKE2B 3bbbc26f9e092f6cdafe61d1462df9d2231254a8c12c244234523f5f22b0219833bb587f3c643fc5c84aa15357ab07a050f76e08544ad80ca52a07498d2ef014 SHA512 bb94c606603c77cd1d29b611fa6bb88c3d217b53b0464a93fbaca785b8dcddeab6177f1e00cb9f0a50a2aa7e40284512211765b453ccef0afde82a91e7a90e65 +DIST thunderbird-149.0.1-fr.xpi 516384 BLAKE2B 6c06586c543aedf1b5ae421a65f03b9afbce93487ec147320b34eae9db2a09b9cfdf93b675bfe30f931909a1641938a5036cf7870bcbba37121f91be843c37e9 SHA512 65d6eaa27d0f0b7c6f2932bf6e679541f97cd3471aec032f93fed88465d41d44aefe6a735686a22dd423504955cb653ee7857ed02fe93b1988c381b2f2927723 +DIST thunderbird-149.0.1-fy-NL.xpi 498565 BLAKE2B c7edf8be97b8df7bfaca8b5cdf8cc08c7fe675de7efb84ed50c5aa4498e9bc61f132b796cbdb7645b2ddecdfb58d346c58bd0fbac9882ff1146feb3daf0c6e34 SHA512 c66416445fadf027725ce8872d42cb7ce4cf5b47e772cdd84c6a9e214c63f6d3bbc69d57ca231a744e820ddf5310a8a2e6f335235e81be58fa1b880a3f2cbc49 +DIST thunderbird-149.0.1-ga-IE.xpi 373388 BLAKE2B a370258b65bf580f808b2fed0645c676757a2d700413c8eb1e2ba8a1a4cda061bbedb9cdd6c8f023a88d75ef1ecb0824d121492ed73beb64fbdfc84bc741ca86 SHA512 87c4dba2118ec9d04c7cd977259ae047aa505306ab771150f062b657ee04598692eaf7396f6b7d8f203ad71b5d6a251974b969d640ac1c31f87eed2e091402c4 +DIST thunderbird-149.0.1-gd.xpi 458522 BLAKE2B f441a539bb5a9a3fd13ebb4096df49afd87342b1f1e1949a7f4b6983171c4dd3dc81c29825aa901cfd37f773cd42deeec299ce3afa7e347012d011d35140ec7b SHA512 47d6a0701d1f6d59e64e2d816977e0ee364d277c9a15f4d25ce12e9d8defafe9db087a7bac3cb074442850828c2ef7f16d6adb487d354a07211458226a1628d5 +DIST thunderbird-149.0.1-gl.xpi 487091 BLAKE2B 31be029758e5972abad7f5218dc4ca4621bdc51d0559d07a4a15c3de82c402a5d14bc5711b3979c117b90ccaae176641462dda1c4ed767d5eebe7308ccd67da5 SHA512 82761831801fae2b35729eb30d189ffb8af1aa9cb6f0e91aab9854873179485308ba428ffa3ae4e7833ff0649592b3622f545dcf91f2c7ead9feac5da7077309 +DIST thunderbird-149.0.1-he.xpi 444537 BLAKE2B 8b468fda9a027d9918eb607cfd32182b1b69a797a962826c421599fa1fec0c8cd212659b8fde9024c56d7ca14ac78e98dff2fb1d6cf4f4ee92fed931cbb72e9c SHA512 aeca086568956c4ee741ee189ad1fc62af58241a02d910b87bf1eb65a54d848e16cc41b1f3ac7dad061b82d91233e932787c5846195493fe0051da0db9bbacd7 +DIST thunderbird-149.0.1-hr.xpi 477350 BLAKE2B 91b1b3c453619f2b09f7f7d1a109a33de30eb70778da822f66d0a8e8c6c666a8c04fd7ae6725756a564c7cbcc8a62cd6b8d0b8b56057c5e57dadd06715897208 SHA512 aab28f5e2d31a8354441d586f80130604cf5cddf53c0593feca77670d9801d2f4dc3988aa4197f8af5d520b6e37368307f042d35cc7f33190c34f77dfa075382 +DIST thunderbird-149.0.1-hsb.xpi 523616 BLAKE2B 1706c3ad294057c71b8d3d75b19b7068ec9311e2dce0e35e34f6d89c8798eae3c88399da6f1dd94015845f3b66843e8d2bf41cd63e663fa3ccd178290e48b871 SHA512 de58f1d79ea284bac3b7f59bbc0db1301f29e730189603278ff855449a729dbfa96a40bc49a32516eda4d4046f301fec78b44967de06dbda03f849ada63717e5 +DIST thunderbird-149.0.1-hu.xpi 525886 BLAKE2B 6e2c809a9192bf705bd4f8225bdfaa7067e282b7a0995648bf600ac752cf511b6e10f89003cbd14bcee485f28b70b8b33094b13aec82b15525115275ca4fa31b SHA512 cff09d023a821667cceb1c64ca465f13f347c80c78347578fc1512eb56978ec6600dd9c03e75fa7070eb96a80c71134f71d3543bf0ad4b15e2bea237b1c4e4e3 +DIST thunderbird-149.0.1-id.xpi 470168 BLAKE2B 5d1ee6f51f2eefb2e73551458b7e0fec6899d410acd1daeab625b5b7f643751884c0c3e27f86cac8eb32acdc35dd7deba08ae6bec90d36d3180f6062ed4b5854 SHA512 ac9e6e76a7729acee85065220a1614bcee0bb0e363cc4733322c1affc0695c7d2d79808f00785e0854179db9f57a29a0506f38f879a253c1c19bd2b3ebf1538f +DIST thunderbird-149.0.1-is.xpi 485140 BLAKE2B 8b4d8ea698e8a577c260310c2b71a86ca5977f81a5f43a81d315f2905d95d99e8a3998932c4f3f4ce1a44eedb487c6eaeedd811eab1ada37dc0867a03d67fbb3 SHA512 5bbe63fd5a3cc9c6f3de8a1780a747ebc54698327ff6462517c1d5d2a0bf487aff82b760c1f056315b6059d2aa370ea83065e78cdc62a34ebe0590c9db710ec5 +DIST thunderbird-149.0.1-it.xpi 496241 BLAKE2B 19ca4432ec379140116f863830165de1311b2ff9d17e65df5f0987eea938849f0ebf2b59e7730669f95712c77c6af8bd9eddef521c54929471f699c62310fbac SHA512 64e8bf904e6e239e0b0adfa808a861c30160a25c9997726a0fe137007dce8b7c27eca3a47348eaf098295edc4303dd9c7da4af63cbe99f6a192dc2edbf115dd8 +DIST thunderbird-149.0.1-ja.xpi 547453 BLAKE2B 6e9ad6519148c11519d50b336134b393d1ba40b9f9c9c95205c89070819c27a06471b752d35e6d051e2131ba08d6883ddd4ddc8c9a2f50737a510a30776e0b2b SHA512 5f0b1031e7ef2546bdfdda53a237b58cad493cd5d17d7fe4ae479a03b96af91e3d7993b65c0bf5fcf7518714c4dcf6a051758a3657ada0e3727b2e9acb4c58bb +DIST thunderbird-149.0.1-ka.xpi 564373 BLAKE2B 37bd97388b63a8ace43b80b6309f5b4c9b1fa0026904115f86bc92cba60411269f4d78c845bd798976404c3b711bd42484508d53ccb1d9f0911bbf730db1c222 SHA512 6a0d640445cc6e82fd4eec1e584206702ff521dada8eb2527b53906f7b43c96ee645deeefd2d83f650017dea1bb2187b30ec6da6f773afc68b99417d803fb5d9 +DIST thunderbird-149.0.1-kab.xpi 467501 BLAKE2B 12f4d5848a9b09981328cf4f75d06b616940803e9ea11d7d333984a5a1650d15ba63fc71336ba81d18188966cab72fcad355bfc500463d31a30e77912f2606a2 SHA512 d66326035412ea2fd22793ee3c6517e8863f1ceeb0d0083279ed5f70cc40a747651913a1dbd19b17000575b1dde48827785f1bc387c620a8e227dadc1f36d066 +DIST thunderbird-149.0.1-kk.xpi 588138 BLAKE2B 5d92209431c2ded0c3c79f24ebee3075b41ea310627b6f51fca529d639da506d040d340dcb3144a1d78bfe7a97c16a6c53d9b50ddeb443a04694142a886e0391 SHA512 0279d23c222319b58f979c79184838153bd20beef6a49c5f3dc79c979b992e334b4357fed8bdd70c96ae924ae55d5647d09f629b093d55feb272d81fdf247843 +DIST thunderbird-149.0.1-ko.xpi 519182 BLAKE2B 1dc349d37426a50dfb33cc457eecafcebac726f7e4dcaf871469c15dff0ce3495fefb4aaef9d597f37d861c1e7b552fe890f3e6cf348f69b0374061b0e5b3a95 SHA512 526545ec9281459e4af7b70de3bdd8fa520fe930dff70f3f8ae9cc79112d3b64ce6f0327ac661b693bae3fadab806ead8a32da48c7353ecd978b357b30a3482c +DIST thunderbird-149.0.1-lt.xpi 449785 BLAKE2B 9cd09afdd4ad17b4f6c40fa54609ec208b5ecf39bb6d1b3cdc31b3e6639d5b967d3befecc705375273d942a70c86719de81ee0f3a298e59ff2c04b3ab9443c3f SHA512 d4c27c764de9f845b0af80ac55ce0080a3f1a58da07f68c2dd9c8856b49f3fce5a33fbec72f6d31fb5ca4fa680590ca4ec53afd54dd786006f8ee95996da364d +DIST thunderbird-149.0.1-lv.xpi 387016 BLAKE2B b3a8815f7e3e856a08a4bd0b5cd3ab5a67f2983fef9047f32813137c416f20a5eb1455785f465c5f3fdfd755e40deb182545fe0463929ff41551b3ea0fe9bdee SHA512 c5ce3f18544c8845f8279937cab1ce8b6c4b49ddb1778f4f1b11436197807b8e983f55193742d70172110ce6f261d9fedf60d6a02d06dd940f1ac4ed6cc18f26 +DIST thunderbird-149.0.1-ms.xpi 348748 BLAKE2B 2cc19e3b23b69a5ea53e5144ebb074c6072f31e521dc572520091705564f9ae3377a0a34bbe2a0753b188bc1f655250b5ab88520fe4c7d0a92852a4ffcbb6fbe SHA512 e575231f9ce923c74e0723427f41a7d44b0b4215f68315c202950c6fb3209f71082b03ed55da9ca22b4be4233d3b1f83f19614686fa43b8a3f1fe0ad6d0669ed +DIST thunderbird-149.0.1-nb-NO.xpi 483742 BLAKE2B 5c5c584498d20f2ed3de2eb9aae35647fa84e8466bc98112b716b2eacbf5e9eb47a81c4cee06448bcf628bee857868dd647cb192ed107ee6fdec2c9cd2f69316 SHA512 721d54e59de64dfc8cd66f7934aef8820209f4d2b551fdc6116065fb1c54a1c13b1f94a1f6502c24476f1c83a5a53d97b744c9abb3ce396cd60cf60a03e1bf85 +DIST thunderbird-149.0.1-nl.xpi 489978 BLAKE2B 92088aa38e37947b2614e890bd1a5f87efa77f766c82097e55c4135fd4589cd59355209885d1357000a79d6744029c3c3fe061395ba9704f4bebccdc354f3937 SHA512 102703273d88668ea3aa2c38fa824605acf6eccfd08969c4f4b62a2dd6ad8917b9f4665470c66ea0e478954430d30f1ecf1a3c5dd521145d3718f69b7daf72f4 +DIST thunderbird-149.0.1-nn-NO.xpi 487538 BLAKE2B 104d0f2d98ac94994509309b625eda8ce4669b4c5c5223880dcede72106f6598baeb671ba1dd060bc081b6803851ee8d11f38a4ba9a0f0598882d8ccde4f8df6 SHA512 df1031032464ce89da624c0fddd6dc0c0b0f2be2a15142b31a9fec02ba3329de4a0e5e2def89a4a1d5c8f47e1f7318c3b7772375b9d451ca19367af435138c6a +DIST thunderbird-149.0.1-pa-IN.xpi 435947 BLAKE2B 8eb8475e9248d17408ff9310e55430f19f193561e41cd5ed5cd933132f04dc32c270682b85eba7d1ccb05336e0c269508235b2cc44f827da1eb22e07c9d45a3d SHA512 730f0931e67aa27313c1509992a3e51805d373448f99eacdfb308d4f2e3383efc909f122f35fce986a8af6f364d0e96666b46b0a1d33af009b59008dda4db9fb +DIST thunderbird-149.0.1-pl.xpi 524099 BLAKE2B 362402f4075690f7d8be7ea892e0cbf956fc81565a1573804b86d9bb61f020691eb28f3f6c3b11f48378fc6a09e9aaa4c911604d2c82863af86ae98e382c0945 SHA512 f917b40fd73f2fca648efd922925c784c299f132c57bb26e11c297501fc45e94bb18d6f3dcae01db0e3ecb5dbe1144318159ed3fb974ac9a763cca300c65334b +DIST thunderbird-149.0.1-pt-BR.xpi 497176 BLAKE2B 40c7912c76650a229c28b9a7016a986451c82020c4a89590e8f2a90408f41f1ea21c4d0b9ed42a5289394e2d3122c1fede8219e44c7d83adba9a75737c05637b SHA512 2b2727457964df424af8d7b51e7344c8e83a89348c749c6650a3808440e83b994140cd4d987e05c2467adefc6678f2ca8cead6db008787db6aae47dc04e0e7f4 +DIST thunderbird-149.0.1-pt-PT.xpi 495163 BLAKE2B 90372ced0283a77655c03f958278d65af906ac3b8b5e05eb4d247ef91f58b49999de931977591c91eb0068a739e0f069c713f81a580870cb5e59449d1d65b9c2 SHA512 4a4098d57895143a3864e0c7817edc30385bcc9b0380793de219f9155debee5da849dc58a66928277f60829692cbb7efff0785dd99267dd571d52da77bbf189c +DIST thunderbird-149.0.1-rm.xpi 485686 BLAKE2B a2cdc3c4c930a4236086241cb1a2b31805e952d919f90f34e3b8b72cad23d2654ad9ed41f2e18ac630955ffeb142d9357c4ac4a9753bcec018dccd9ad843a632 SHA512 744b661f4eac829854a24b9ca4f18e456ec6826f227e298ad87533051f7d4382be06019f4e86f8cccbf981c698a92d9257aa2ec8693b7d79ea7e884f59831b4b +DIST thunderbird-149.0.1-ro.xpi 508500 BLAKE2B c7650cfc22a016806ac67d64c235ec5842c0aeb552558ef760c6479356e51a878665852779d2fdd08a7b499d72ea4a5c548803d7891b190af1ea0c55f0572f2a SHA512 9563160e46b84fb410b3c817a73ef58007088e333b1538e90309e57f1f41f8db1e5d43a7ab495bad78b21863fe05815ca2aa989c2acbfa9523778af1e35d920d +DIST thunderbird-149.0.1-ru.xpi 603092 BLAKE2B b8fff3e12d0d0758d5f62ae9a39658d8de459f741f26e6ee67369f8a1a86b867a9df78fd72bee31781e11b016221a9908aa4384d23c1c6ca40108d04443daf82 SHA512 b78981090663bbd4a3ac41ae69426b450d1519238c4c78a16035d75ec024c56ad1e8bf64c8f8e2aeb333378bddddbff70d51fe163a1608b346a7f990d20f0c6b +DIST thunderbird-149.0.1-sk.xpi 528710 BLAKE2B 49a0b7d9841303280b1b4e383f357333e97537734970224b9f7ecb0195e6954141d18902d4b3b2c02c8589b59dcacff5b310bba87d9c07e1545d0a2fae0200fa SHA512 f99cf0475afb18e7a088c20f4f666ffbbf5403ccd0465b4d49a049df9d0f100cb8c30852951acb62ab11bf1cf797f1fc12b1e79b5760428233b158243e22443c +DIST thunderbird-149.0.1-sl.xpi 493254 BLAKE2B 58d9c0e482c5261a9e4ce14c6354493f0ca147c8a56600c93f271fa803a92cf8707a496c6337f4130605d98d2fae17f692fbbfd1ea9669f2208800e624d39142 SHA512 844883e0e159dcc9554e9ecac1a22b1cb80d56b339045a5e766668bd231cdd21f8fde584e5adb4409338f629c1f65d6e83f7ce238e1157fd8045102523b9fe34 +DIST thunderbird-149.0.1-sq.xpi 514179 BLAKE2B f28f2690dd50edaf46b8e17cd88ab78f962cfec4b9733ad3d609a0a58a39d8df4213802dd3611e11439c818eaaccffdc334d6d5a006b2ce9f9a948029778baa0 SHA512 3677f8ba90f771690aecf4eb03764bace2fc063472ec65be33db572f7f243cf7ea78dc5c8756a1e643343e5146ec583a206fa3322b3c64e8d36afb2c2a2c38b1 +DIST thunderbird-149.0.1-sr.xpi 491992 BLAKE2B ab46494e7581cc44b69112768823c889508e3fbc05c8432c81270f47c03fb65925f2bf6bba55c340f39ccd170c7557ab41a0ea6c05f2765b1bc4a7ea330c12ae SHA512 e03d6fae896b2ddf461021cc5d6cc4f271fc93b6c26e68598538ebe188bd93d9d038876fd6d295fcecc5d63bf94aeb9e953bc6c528f09d973016f29380a1405d +DIST thunderbird-149.0.1-sv-SE.xpi 492149 BLAKE2B c59951ad7b595b20bc6e071584e293dba4d761d0e7efa7fcb00e292e57d488c592fe709916b39027e0522ac2c947559f33841dc519024f4330e92c002a36b8fe SHA512 f2c4f870d0bc224e8463760832b7336f51923cd70812559c5ce243d709b70be56c6b108585f4fd3f2473372732a2708666fa8cc7a24845a40101796982d8817f +DIST thunderbird-149.0.1-th.xpi 574731 BLAKE2B 16dd42fb65cbcc14c91c6bb4b49fc30921077453b27074aee0511027f041eefa448c93661274bbaea6cf8ff2bef61ba818b3a3efa75c903de1a737e87c15e10b SHA512 0f6181c77ee090e9bce4473540bc04e18b007e48db21ca4162b285d4dc69babacbb3881391ce01450a3d2eec7a59c37031d19ba6af806c6bad510047c11b7deb +DIST thunderbird-149.0.1-tr.xpi 503240 BLAKE2B daab6431afad2e889e859b16ed34fa359786d1fdefe454b682b77864abb34d7ff495c1fc8d12c74ad02fe8205ff9938474880fb514b8a9978607cec6f1b32286 SHA512 3f4515fb98b6b4713ad537a64b9ba866f6b48dc080d5afe077e9d93254a4f1c5c55e27814d586fd09f65da9105007d852f4e5ddc27e352c92f425f161f5a8f55 +DIST thunderbird-149.0.1-uk.xpi 583614 BLAKE2B d2455a6beb203edce185b81348a3d403b66ad6ff627df2791411a7fbd2daed7ed2783ebdb60b20392777be782c7a0556f80599b5ae37b286ae5bfd41fc239ec2 SHA512 4a79f4e6cd29b1b91f0027896d095bc6885e82bb024e76b72a59eb78279d85486c69200c5d1dbe0340446eca9a61d3e63e58394526682c832057c86aaa05ad99 +DIST thunderbird-149.0.1-uz.xpi 351324 BLAKE2B 9dd7f0e154ba69383d1b3af011389c01e4ae014c0bb924b6d83379b494d507e6ed8e24452204eb9a974ba8381ea1632ee3f2872cd07b31fb175711cddb6e05b4 SHA512 a6a91063f5dc2773de9bc3595db1297bcff41377490472604988f93b1d1d4088e7eec1ae38d5f4e0ee08db9e3a074aca0ab6ea637d27eac91464e6b41a06664a +DIST thunderbird-149.0.1-vi.xpi 526051 BLAKE2B 0190fe70d271d923010158ca8e92e7f2ac19d15c2c24c0d4d1756dc86e2acc5a47d7597172a137a4e840539df709cbff71c2ef6808009440e1b4a3937e33f712 SHA512 9a728d73298b97dc445d7fb872074bcc33913cb7dd585ddf987345818e9265533467a76d91b7abf7f3bca70760caf3b4a7a5c834629674390725e3dc730d59f6 +DIST thunderbird-149.0.1-zh-CN.xpi 514178 BLAKE2B 9502ee291548adfc3a8ed32c2a4a575682195680b4ebbb4ea3623137f04b1d282bd810f0f7bd0345f942764b54ab948cf47bd80a60e8d270bea962640636fd8f SHA512 ddacc4496f5dd5f82a5941d70a1234cd93dee7d50eabf677529f06493d3099691e88a64b0e3201006dae3866750b689746ca8ad8a0696579c3eac42a8dbafb17 +DIST thunderbird-149.0.1-zh-TW.xpi 518844 BLAKE2B 0d7ff450c54122b80f8863a2d7bc05146366ec4b499ac57f0b9e27014eabd174aaee680bc29f0ff98d7373f10698e98037c2a3fae5d4089d52ad7b0eac007652 SHA512 dfd19be346f6aabc803fdbe99dd481be4c0ae94f7f982950dd9598b92114ece4710bacaf1627c5b3635d52b80803e35b44223e955b681608ad2c862a97b9c28d +DIST thunderbird-149.0.1.source.tar.xz 832750248 BLAKE2B b5e531f9975042863afd9d0536ab95d9ac1ba436ea4de5e6bed57903182c03f26349b3c5a0e040166e45c9f43d43a7c80b24fc4804623060ee79d1e7c5c260db SHA512 32c499294bda80eed468fa49eda291865558a8633cb8d7a3ad3be76818b5f3f3b69658ca2590df90af40b80e29798175cbefa6b98f631447838ba658fa691a28 DIST thunderbird-149.0.source.tar.xz 832712988 BLAKE2B c9367b7b0fd8a2ec8d17e3ddba31075068da91ace42967ed8ef92693d14048e9a505153097415a4586cd2408f13232255acb89b01345a94cfa79b5aa72863c1f SHA512 f58588cc8aac170f5d3160730c6427ed1df91e7e5d4654f12399900ec8a24d63168f6e9b4c726130e2c93d0c17f49943ca81fd90d430a6314c4784a3d1864367 diff --git a/mail-client/thunderbird/thunderbird-149.0.1.ebuild b/mail-client/thunderbird/thunderbird-149.0.1.ebuild new file mode 100644 index 0000000000000..9ff01c4e63b54 --- /dev/null +++ b/mail-client/thunderbird/thunderbird-149.0.1.ebuild @@ -0,0 +1,1163 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-149-patches-01t.tar.xz" + +LLVM_COMPAT=( 20 21 ) + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +RUST_MIN_VER="1.90.0" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \ + multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/stable" +fi + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" + +IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +# "-system-librnp" requires clang, bmo#2006910 +REQUIRED_USE="|| ( X wayland ) + !system-librnp? ( clang ) + debug? ( !system-av1 )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.1 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${TB_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.121 + >=dev-libs/nspr-4.38 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-apps/dbus + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( media-video/pipewire:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]] ; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bmo-1988166-musl-remove-nonexisting-system-header-req.patch || die + fi + + # Enable jpeg-xl only in Firefox. + rm -v "${WORKDIR}"/firefox-patches/*bgo-928126-enable-jxl.patch || die + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412, bgo#969871 + moz_clear_vendor_checksums glslopt + # TB-specific + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-dbus \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use loong ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + # mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening # not available in TB + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ver_replacing -lt 136.0 ; then + elog "In this version of Thunderbird, upstream introduced an in-app notification" + elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying" + elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't" + elog "wish to receive them." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/net-misc/sunshine/files/sunshine-new-boost.patch b/net-misc/sunshine/files/sunshine-new-boost.patch new file mode 100644 index 0000000000000..b2e2cb278a02a --- /dev/null +++ b/net-misc/sunshine/files/sunshine-new-boost.patch @@ -0,0 +1,20 @@ +From 2572e25248a26c9770d4e61fd74ac21cf953f51d Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Fri, 27 Mar 2026 21:33:21 +0000 +Subject: [PATCH] Don't require an exact Boost version + +Newer versions will usually work. +--- a/cmake/dependencies/Boost_Sunshine.cmake ++++ b/cmake/dependencies/Boost_Sunshine.cmake +@@ -30,7 +30,7 @@ endif() + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.30") + cmake_policy(SET CMP0167 NEW) # Get BoostConfig.cmake from upstream + endif() +-find_package(Boost CONFIG ${BOOST_VERSION} EXACT COMPONENTS ${BOOST_COMPONENTS}) ++find_package(Boost CONFIG ${BOOST_VERSION} COMPONENTS ${BOOST_COMPONENTS}) + if(NOT Boost_FOUND) + message(STATUS "Boost v${BOOST_VERSION} package not found in the system. Falling back to FetchContent.") + include(FetchContent) +-- +2.53.0 + diff --git a/net-misc/sunshine/sunshine-9999.ebuild b/net-misc/sunshine/sunshine-9999.ebuild index a0543425d1b20..5d188c29df7da 100644 --- a/net-misc/sunshine/sunshine-9999.ebuild +++ b/net-misc/sunshine/sunshine-9999.ebuild @@ -7,13 +7,14 @@ EAPI=8 BUILD_DEPS_COMMIT="e87b7cec9c3a01cb671cdd8ba19fe443105412d4" DISPLAYDEV_COMMIT="v2025.612.225826" ENET_COMMIT="115a10baa1d7f291ff5b870765610fd3b4a6e43c" +GLAD_COMMIT="v2.0.8" INPUTTINO_COMMIT="504f0abc7da8ebc351f8300fb2ed98db5438ee48" MOONLIGHT_COMMIT="5f2280183cb62cba1052894d76e64e5f4153377d" NANORS_COMMIT="19f07b513e924e471cadd141943c1ec4adc8d0e0" TRAY_COMMIT="0309a7cb84aad25079b60c40d1eae0bacd05b26d" SWS_COMMIT="187f798d54a9c6cee742f2eb2c54e9ba26f5a385" WLRP_COMMIT="a741f0ac5d655338a5100fc34bc8cec87d237346" -FFMPEG_VERSION="8.0" +FFMPEG_VERSION="8.1" # To make the assets tarball: # PV= @@ -32,6 +33,8 @@ else -> libdisplaydevice-${DISPLAYDEV_COMMIT#v}.tar.gz https://github.com/cgutman/enet/archive/${ENET_COMMIT}.tar.gz -> moonlight-enet-${ENET_COMMIT}.tar.gz + https://github.com/Dav1dde/glad/archive/${GLAD_COMMIT}.tar.gz + -> glad-${GLAD_COMMIT}.tar.gz https://github.com/games-on-whales/inputtino/archive/${INPUTTINO_COMMIT}.tar.gz -> inputtino-${INPUTTINO_COMMIT}.tar.gz https://github.com/moonlight-stream/moonlight-common-c/archive/${MOONLIGHT_COMMIT}.tar.gz @@ -55,7 +58,7 @@ DESCRIPTION="Self-hosted game stream host for Moonlight" HOMEPAGE="https://github.com/LizardByte/Sunshine" LICENSE="GPL-3" SLOT="0" -IUSE="cuda debug libdrm svt-av1 systemd trayicon vaapi wayland X x264 x265" +IUSE="cuda debug libdrm svt-av1 systemd trayicon vaapi vulkan wayland X x264 x265" # Strings for CPU features in the useflag[:configure_option] form # if :configure_option isn't set, it will use 'useflag' as configure option @@ -129,7 +132,7 @@ REQUIRED_USE=" " CDEPEND=" - =dev-libs/boost-1.89*:=[nls] + >=dev-libs/boost-1.89:=[nls] dev-libs/libevdev dev-libs/openssl:= media-libs/opus @@ -162,6 +165,7 @@ RDEPEND=" ${CDEPEND} media-libs/mesa[vaapi?] cuda? ( x11-drivers/nvidia-drivers ) + vulkan? ( media-libs/vulkan-loader ) X? ( x11-libs/libxcb x11-libs/libXfixes @@ -176,6 +180,7 @@ DEPEND=" >=media-libs/amf-headers-1.4.36-r1 =dev-util/vulkan-headers-1.4.317 ) wayland? ( dev-libs/wayland-protocols ) " @@ -189,6 +194,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-2025.122.141614-nvcodec.patch + "${FILESDIR}"/${PN}-new-boost.patch "${FILESDIR}"/${PN}-new-cuda.patch ) @@ -220,7 +226,7 @@ src_unpack() { git-r3_src_unpack local EGIT_REPO_URI="https://github.com/LizardByte/Sunshine.git" - local EGIT_SUBMODULES=( third-party/{inputtino,libdisplaydevice,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols} ) + local EGIT_SUBMODULES=( third-party/{glad,inputtino,libdisplaydevice,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols} ) unset EGIT_CHECKOUT_DIR EGIT_COMMIT EGIT_BRANCH git-r3_src_unpack @@ -231,6 +237,7 @@ src_unpack() { find moonlight-common-c-${MOONLIGHT_COMMIT} "${S}"/third-party \ build-deps-${BUILD_DEPS_COMMIT}/third-party/FFmpeg -mindepth 1 -type d -empty -delete || die mv enet-${ENET_COMMIT} moonlight-common-c-${MOONLIGHT_COMMIT}/enet || die + mv glad-${GLAD_COMMIT#v} "${S}"/third-party/glad || die mv libdisplaydevice-${DISPLAYDEV_COMMIT#v} "${S}"/third-party/libdisplaydevice || die mv inputtino-${INPUTTINO_COMMIT} "${S}"/third-party/inputtino || die mv moonlight-common-c-${MOONLIGHT_COMMIT} "${S}"/third-party/moonlight-common-c || die @@ -246,6 +253,7 @@ src_unpack() { src_prepare() { # Avoid CMake compatibility warning. rm third-party/moonlight-common-c/CMakeLists.txt || die + find third-party/glad/{example,test} -name CMakeLists.txt -delete || die CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_prepare default_src_prepare() { :; } # Hack to avoid double patching! :( @@ -265,6 +273,7 @@ src_configure() { -DBUILD_FFMPEG_MF=no -DBUILD_FFMPEG_NV_CODEC_HEADERS=no -DBUILD_FFMPEG_SVT_AV1=no + -DBUILD_FFMPEG_VULKAN=no -DBUILD_FFMPEG_X264=no -DBUILD_FFMPEG_X265=no -DBUILD_SHARED_LIBS=no @@ -300,16 +309,19 @@ src_configure() { --enable-static --enable-swscale --enable-v4l2_m2m + --enable-vulkan-static $(use_enable cuda) $(use_enable cuda cuda_llvm) $(use_enable svt-av1 libsvtav1) $(use_enable vaapi) + $(use_enable vulkan) $(use_enable x264 libx264) $(use_enable x265 libx265) - $(usex svt-av1 --enable-encoder=libsvtav1 "") - $(usex vaapi --enable-encoder=h264_vaapi,hevc_vaapi,av1_vaapi "") - $(usex x264 --enable-encoder=libx264 "") - $(usex x265 --enable-encoder=libx265 "") + $(usev svt-av1 --enable-encoder=libsvtav1) + $(usev vaapi --enable-encoder=h264_vaapi,hevc_vaapi,av1_vaapi) + $(usev vulkan --enable-encoder=h264_vulkan,hevc_vulkan,av1_vulkan) + $(usev x264 --enable-encoder=libx264) + $(usev x265 --enable-encoder=libx265) --enable-encoder=h264_amf,hevc_amf,av1_amf --enable-encoder=h264_nvenc,hevc_nvenc,av1_nvenc --enable-encoder=h264_v4l2m2m,hevc_v4l2m2m @@ -354,8 +366,8 @@ src_configure() { -DBUILD_DOCS=no -DBUILD_TESTS=no -DCCACHE_FOUND=no - -DFFMPEG_PLATFORM_LIBRARIES="$(usex svt-av1 SvtAv1Enc '');$(usex vaapi 'va;va-drm' '');$(usev x264);$(usev x265)" - -DFFMPEG_PREPARED_BINARIES="${S}"/third-party/build-deps/dist + -DFFMPEG_PLATFORM_LIBRARIES="$(usev svt-av1 SvtAv1Enc);$(usev vaapi 'va;va-drm');$(usev vulkan);$(usev x264);$(usev x265)" + -DFFMPEG_PREPARED_BINARIES="${S}"/third-party/build-deps/dist/ffmpeg -DSUNSHINE_ASSETS_DIR=share/${PN} -DSUNSHINE_ENABLE_CUDA=$(usex cuda) -DSUNSHINE_ENABLE_DRM=$(usex libdrm) diff --git a/sys-process/evisum/Manifest b/sys-process/evisum/Manifest index 19f421bf6a3f3..dfab9bce7c874 100644 --- a/sys-process/evisum/Manifest +++ b/sys-process/evisum/Manifest @@ -1,2 +1,2 @@ DIST evisum-0.6.4.tar.xz 2042432 BLAKE2B 379daddf64c80eecf4f107e010fe6b89f23b2370a2ee922121df51de94037b525a714cc0f4c9e421bd7aeca29506226db0fb618b1e5b0bcca32d9a7b72eb8e01 SHA512 26e9165c9b2735b61f7f3ee3abaec144e85d835fccc7ed4da9a388303f2abf3efd2f325037f57964f98cb96b16fd217625a2a8b7a2829aa4c08cbfb478b81608 -DIST evisum-1.0.0.tar.xz 2041352 BLAKE2B 51efe602f9f57518705e46da68f6d93b8f994fedfeaa5152810698495e529c282ad34b1b14d7d80e68dc1303ca93c2eb330aa695d06806c5a704100edb68db42 SHA512 190ac52f3dc6f2e6dd2e749e9ae0367ed8fca048ecf98bf4931f19df154e7284e853d09d944077fdd19e990efb9df307017725206e559f3627d2dc86916c64e8 +DIST evisum-1.0.1.tar.xz 2047056 BLAKE2B 6c420e3fd06aa0b9759a90a8b42320dd59d130041d26c24b16ee00e5c4ff74cd09cffd27a11f20f089f256f53d00fb91328fc5d3beab3c62e42a87bb0b6c6773 SHA512 0898f84022af6988cfa619145a94f17c1acce9694cb66492e48e08f56a060e67c33bfba65af01cd3dd464896683e180c18288a8cd397b8d8245922d35525684a diff --git a/sys-process/evisum/evisum-1.0.0.ebuild b/sys-process/evisum/evisum-1.0.1.ebuild similarity index 100% rename from sys-process/evisum/evisum-1.0.0.ebuild rename to sys-process/evisum/evisum-1.0.1.ebuild