Compare commits

...

10 Commits

Author SHA1 Message Date
bcebbf995e Update drbd packages 2024-02-02 09:59:11 -05:00
6d3ca93d17 Add new versions of nxplayer 2023-09-04 13:23:22 -04:00
549d5d2701 Add pgBackRest v2.47 2023-08-29 11:36:27 -04:00
384c36ceef Remove rednotebook 2023-07-18 19:01:30 -04:00
02c8b48ab5 Remove old thunderbird 2023-07-18 18:59:13 -04:00
78dcf69caf Remove outdated packages 2023-02-27 19:42:27 -05:00
91e7d4d978 Remove old versions of rednotebook 2023-02-24 10:12:13 -05:00
17b24b59e7 Add new version of nxplayer 2023-02-22 14:28:22 -05:00
d278ffef5a Add modified Minio client package
The Minio client collides with Midnight Commander.  Because of this, it
cannot be installed at the same time as bash-completion (which installs
a completion for the 'mc' command).  Modify the ebuild to name the Minio
client 'mc3' to avoid the conflict.
2023-01-24 15:01:01 -05:00
459c7fceb2 Update drbd kernel module 2023-01-24 15:00:20 -05:00
102 changed files with 366 additions and 11646 deletions

View File

@ -1,3 +1,5 @@
DIST pgbackrest-2.39.tar.gz 5771539 SHA256 d1c641271bbbebb7adae72be24716bf0295f746d1a00c5f0a632ead7669b1a8d SHA512 1f2d26a33a6df9652fa97a02af55b399ede26b7ab1f243b0c74b8bf13835c8eb43daed8df556f72651974eab1c549e04cdc6e5893fbedd40a52afee92bf8d069 WHIRLPOOL c1c4637d2d9c32026107a7d3b3a123d34153f9e004f6e3e9bc029752d93d8fc4fe106bdfb2cb1167ffe4ecc1844b110d22683de4f190e061acdbdc2a974f3926
DIST pgbackrest-2.47.tar.gz 6093123 SHA256 7712c26b41a969cf487abb4a8075f77943fe6d30aba49ab8edb1ac596cd1ee0e SHA512 9d7909d3431135ec3e57947a79b7a62648f27822f1ce56d2c091be3ba6d7c4168593a05a866bd724cc42707c09be69074b64d750004b5c55f29790a005e2e683 WHIRLPOOL cfef3d3fdc37e10ef721d062da98409df80357b378638e10d94765c359f20b8ee76aaf9dcf43ad1108c4d01ded0f03b0759e1a278149a4c02177c2adec9ae377
EBUILD pgbackrest-2.39.ebuild 653 SHA256 bb651d6dfafad3239d3a23337ef9b16c19734fdc78fd886f09046511ff2435e3 SHA512 f3acf9885f675b01b66d68dd432ace812bd7a8ec7c035bdc2980ff05597d7ca4b0323119e8b44c99794b494abe04ee14687ccbd088d6217c5f41d3151f6b7267 WHIRLPOOL ee97eb31808f0674c588db84e27d8ac199d6af696997afd575d83e226c88f1a834a45887c0153826985c07cb5dafa7fd0e46ad2be901aeadc50501320d570d8c
EBUILD pgbackrest-2.47.ebuild 653 SHA256 bb651d6dfafad3239d3a23337ef9b16c19734fdc78fd886f09046511ff2435e3 SHA512 f3acf9885f675b01b66d68dd432ace812bd7a8ec7c035bdc2980ff05597d7ca4b0323119e8b44c99794b494abe04ee14687ccbd088d6217c5f41d3151f6b7267 WHIRLPOOL ee97eb31808f0674c588db84e27d8ac199d6af696997afd575d83e226c88f1a834a45887c0153826985c07cb5dafa7fd0e46ad2be901aeadc50501320d570d8c
MISC README 85 SHA256 075cd37b3073d726f389730e409ed659b7baf589a95e3549da2fab895c66fba7 SHA512 2ff99d7c9a001b49f2b0f02ba5190d6d70ffed72757238188e784ae123415b6a05929f1c6aa9f7e2ad145cd26aead799ce2644eadf9c5f389e9fa7b64ee0ba42 WHIRLPOOL 8896cc47aff58a50a495219733e78e85c7a9e5fee522206bf0400564364fbce549f71ad17de6e4c302e64871a01372bad380e5e6586f149fc1f50f6eea04cfdd

View File

@ -0,0 +1,28 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Reliable PostgreSQL Backup & Restore"
HOMEPAGE="https://pgbackrest.org https://github.com/pgbackrest/pgbackrest"
SRC_URI="https://github.com/${PN}/${PN}/archive/release/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86"
SLOT="0"
DEPEND="app-arch/lz4:=
>=dev-db/postgresql-10:=[icu,ssl]
dev-lang/perl:0=
dev-libs/libxml2:2
dev-libs/openssl:0=
sys-libs/zlib:="
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
S="${WORKDIR}/${PN}-release-${PV}/src"
src_install() {
default
keepdir /var/log/pgbackrest/
}

View File

@ -1,2 +0,0 @@
DIST Impressive-0.13.0-beta1a.tar.gz 213098 SHA256 a7f01d7d65b8ad595d8241216e95193c3584af897561c95990116060bd5bbc86 SHA512 5484f9764848129150d03233a9b270d2c31ec5f5083100662dd3cca85d3c7ead0000bd23b7d531ad45667410e1a1ea5d97ca1a2f4e8a2449dc730273144e56e8 WHIRLPOOL f9a5e4179e948163d897b0818c3bc4eed3acb654657068228fc560bb02cc306c3eee60f21b0ef4b512b84762adad22b7f2133ecac6f8af25ca23a8552d4e2f40
EBUILD impressive-0.13.0_beta1-r1.ebuild 1293 SHA256 294827a705aca799cb03f84ad52c27f584f8ff64d835b085a1229814a9046565 SHA512 fb8ebe80716efd24280e9f79fe6067f1370ea1d883c5e8d6fdd9974e3eef82cc1bcbf352f33f95ebcee9fa5513e9cc20b3944d0783102e13c7bf8b5e09a97483 WHIRLPOOL 9632e74c5cc56974702561afedb2262b3e263435cfe7e76016f37ed644bb7ca3c1f7f577736f7e100940d91b08c38905b3349960610e9425b66576018b2296aa

View File

@ -1,55 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
inherit eutils python-r1
MY_PN="Impressive"
DESCRIPTION="Stylish way of giving presentations with Python"
HOMEPAGE="http://impressive.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${MY_PN}/${PV/_/-}/${MY_PN}-${PV/_/-}a.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND=""
RDEPEND="${PYTHON_DEPS}
dev-python/pygame[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
x11-apps/xrandr
app-text/mupdf
|| ( media-fonts/dejavu media-fonts/corefonts )
"
DOCS=(
changelog.txt
demo.pdf
)
HTML_DOCS=(
impressive.html
)
S="${WORKDIR}/${MY_PN}-${PV/_/-}a"
src_install() {
default
python_foreach_impl python_doscript ${PN}.py
doman impressive.1
}
pkg_postinst() {
elog "The experience with ${PN} can be enhanced by folowing packages:"
optfeature "starting web or e-mail hyperlinks from PDF documents" x11-misc/xdg-utils
optfeature "sound and video playback" media-video/ffmpeg
optfeature "sound and video playback" media-video/mplayer
optfeature "sound and video playback" media-video/mplayer2
optfeature "extraction of PDF page titles" app-text/pdftk
}

View File

@ -1,6 +0,0 @@
DIST rednotebook-2.15.tar.gz 618012 SHA256 6f6979ee1d026396883bfff6c611809a79359e9d6cc3788f3b0ff6cb9981e2e7 SHA512 5167fa9107614a7bf1557d89f0ec144d30c04236999f55e1d89953bf9b5487894fb0fb1e693101fc54af1d24d1c72054ef66bb4266c75d6adac5cb963ac665f0 WHIRLPOOL d7d3d09ba6205ae0146adc3b2c981f8ceb9b6679d41d49ed43cd569ccc81b83436cbb6c4f4f0b19c0aae0cfd927d0c31cc9531adb0993af6f9e18917bb85226f
DIST rednotebook-2.16.tar.gz 618240 SHA256 81e9ad73aadc91e5d0c268f6f5cc818e340c073ae6c4d88a452157f465402f0d SHA512 97c54934c730e6177ed06d5665f511c8c7773b63d407e9fcf0fd118d203c32d2eccabfd784939f9ca9d1bae9d56d9673da32873427e4b5bf092b2e8f3caa230f WHIRLPOOL d4d4c35f5e9476aec19c23592c7ae90b711444b20c8cad80255a763fc754a1dd84d59f33b359dfb9843b7562dce73c20b272a369f9a38e266d93158908451628
DIST rednotebook-2.21.tar.gz 622461 SHA256 6c4310b95f111ab6879e5e546bdddcd66fef572a3cfc52cecbf581a54adc85c3 SHA512 44d42aca168cb643b34270aa3965501bbb0afe877a781d8e5351603a8751e7dba6e7e03667234af8e0c49488ade616fabe19dedc4c77cd882da042f2195557a2 WHIRLPOOL 04b675372371c3ad9cf98242a550b89f494d0279469699a841e1c047a2288277dac09329eed64cda759c83208566529e4416e22609fb0b3be0a242109968f1ef
EBUILD rednotebook-2.15.ebuild 766 SHA256 92069e3192820d22573fa5b54c4cd946a23ed12a8af1cc4a0857f1ac890e0b87 SHA512 6571250468242eb3bfc1519f685936ccbf45a7b66e283606d6d5e24d6f5820366820f71eee0cd33dc42e60da571eebe63f26fb04fb65fafcb0e1241ac88001e5 WHIRLPOOL 9828a8590222efee61116a814113e98b182fa8173cdead71c43badef03df2f6b7ea15ef936a0531ec49326155f5d903aa466871b04cd3524f3285002cf6d9cd8
EBUILD rednotebook-2.16.ebuild 766 SHA256 92069e3192820d22573fa5b54c4cd946a23ed12a8af1cc4a0857f1ac890e0b87 SHA512 6571250468242eb3bfc1519f685936ccbf45a7b66e283606d6d5e24d6f5820366820f71eee0cd33dc42e60da571eebe63f26fb04fb65fafcb0e1241ac88001e5 WHIRLPOOL 9828a8590222efee61116a814113e98b182fa8173cdead71c43badef03df2f6b7ea15ef936a0531ec49326155f5d903aa466871b04cd3524f3285002cf6d9cd8
EBUILD rednotebook-2.21.ebuild 779 SHA256 bbd9c5677e8a25e35e299272fa30dbc748100a1fb964800fe340f067cb29c017 SHA512 e7849215e6abf16736d728346dd2f3c6f09540cd2dc2a1de54e5c720f9d1d425fcdf21c088d799c3e764a56279d2449f3177bc3463561b7693ed5584e2b40782 WHIRLPOOL 22c939d0280aae392ee8b46f54efdbf1ea9c700b4aab27384d7338bec2ece904f542759f54b43fffa42a169cea1a97fec0092e71b1176afdd39c972fc61d9357

View File

@ -1,34 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7,8} )
inherit python-r1
DESCRIPTION="A python based journal"
HOMEPAGE="https://rednotebook.sourceforge.io/"
SRC_URI="https://github.com/jendrikseipp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="spell"
RDEPEND="${PYTHON_DEPS}
>=x11-libs/gtk+-3.18
>=net-libs/webkit-gtk-2.16
>=x11-libs/gtksourceview-3.18:3.0
>=dev-python/pyyaml-3.10
spell? ( >=dev-python/pyenchant-1.6 )"
DEPEND="${RDEPEND}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
src_install() {
python3 setup.py install --root="${D}"
# python_replicate_script "${D%/}"/usr/bin/rednotebook
einstalldocs
}

View File

@ -1,34 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7,8} )
inherit python-r1
DESCRIPTION="A python based journal"
HOMEPAGE="https://rednotebook.sourceforge.io/"
SRC_URI="https://github.com/jendrikseipp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="spell"
RDEPEND="${PYTHON_DEPS}
>=x11-libs/gtk+-3.18
>=net-libs/webkit-gtk-2.16
>=x11-libs/gtksourceview-3.18:3.0
>=dev-python/pyyaml-3.10
spell? ( >=dev-python/pyenchant-1.6 )"
DEPEND="${RDEPEND}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
src_install() {
python3 setup.py install --root="${D}"
# python_replicate_script "${D%/}"/usr/bin/rednotebook
einstalldocs
}

View File

@ -1,36 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
#DISTUTILS_USE_SETUPTOOLS=rdepend
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="A python based journal"
HOMEPAGE="https://rednotebook.sourceforge.io/"
SRC_URI="https://github.com/jendrikseipp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="spell"
RDEPEND="
>=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
spell? ( >=dev-python/pyenchant-1.6[${PYTHON_USEDEP}] )
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
>=x11-libs/gtk+-3.18
>=net-libs/webkit-gtk-2.16
>=x11-libs/gtksourceview-3.18:3.0
"
src_install() {
distutils-r1_src_install
# einstalldocs
}

View File

@ -1,2 +0,0 @@
DIST godot-2.1.4.tar.gz 14811915 SHA256 07cf3b01367d5ea53805f144bc60711bd79efb53f1f88d57d6a706e6944de8d7 SHA512 6557197b3aabc2dab5d583cab7a76fd5591c0a89347a10ec1cf370230e57fdbca792f99d69456a3d03ba6f22865464771e81505cb39c2b4e9f3c0b82ea9d2e5b WHIRLPOOL 84435db4a9ca758623bb9fbb7c43ba432f2c17e43ffdc49df5f72c77acc47bbf47ee0dec8872a4ecd86d75158fdd632d1bca1672e41a14616fab4f9ec3fcdc87
EBUILD godot-2.1.4.ebuild 2713 SHA256 a9db6d0146fdf4d2bcd8daf1b9eeaf48d7eeeae907dca3bef1ca5656b7edb515 SHA512 8adc87f6c93951222cb82ec2457d11675533a148a545496dce1d2a5d90d201e373c796e1b51d8794afb1bb5ec61613c484a1d862c893b1dd40c5cc5fe976ebe2 WHIRLPOOL 0df0de90d0a7c117f7ae0a916314588c2a3f7b57ea88b73a27bc631f0820c95f6065c2614fe5b0e90b1314d0ae7f0b86578415d5a1c865cd16319879fd65e8b7

View File

@ -1,112 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils scons-utils
DESCRIPTION="A advanced, feature packed, multi-platform 2D and 3D game engine."
HOMEPAGE="http://www.godotengine.org"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/godotengine/godot.git"
SRC_URI=""
KEYWORDS=""
else
SRC_URI="https://github.com/godotengine/godot/archive/${PV}-stable.tar.gz -> ${P}.tar.gz"
RESTRICT="primaryuri"
KEYWORDS="amd64 x86"
S="${WORKDIR}/${PN}-${PV}-stable"
fi
LICENSE="MIT"
SLOT="0"
IUSE="+freetype llvm +openssl +png pulseaudio theora udev +vorbis +xml"
DEPEND="
>=app-arch/bzip2-1.0.6-r6
>=app-arch/lz4-0_p120
>=app-arch/xz-utils-5.0.8
>=dev-libs/json-c-0.11-r1
>=media-libs/alsa-lib-1.0.28
>=media-libs/flac-1.3.1-r1
>=media-libs/libogg-1.3.1
>=media-libs/libsndfile-1.0.25-r1
>=media-libs/mesa-10.2.8[gles2]
>=net-libs/libasyncns-0.8-r3
>=sys-apps/attr-2.4.47-r1
>=sys-apps/tcp-wrappers-7.6.22-r1
>=sys-apps/util-linux-2.25.2-r2
>=sys-devel/gcc-4.6.4:*[cxx]
>=sys-libs/gdbm-1.11
>=sys-libs/glibc-2.20-r2
>=sys-libs/glibc-2.20-r2
>=sys-libs/libcap-2.22-r2
>=sys-libs/zlib-1.2.8-r1
>=x11-libs/libX11-1.6.2
>=x11-libs/libXcursor-1.1.14
>=x11-libs/libXinerama-1.1.3
freetype? ( >=media-libs/freetype-2.5.3-r1:2 )
llvm? ( >=sys-devel/llvm-3.6.0[clang] )
openssl? ( >=dev-libs/openssl-1.0.1j:0 )
png? ( >=media-libs/libpng-1.6.16:0= )
pulseaudio? ( >=media-sound/pulseaudio-5.0-r7 )
theora? ( media-libs/libtheora )
udev? ( virtual/udev )
virtual/glu
vorbis? ( >=media-libs/libvorbis-1.3.4 )
xml? ( >=dev-libs/expat-2.1.0-r3 )"
RDEPEND="${DEPEND}"
src_configure() {
MYSCONS=(
CC="$(tc-getCC)"
builtin_zlib=no
colored=yes
platform=x11
freetype=$(usex freetype)
openssl=$(usex openssl)
png=$(usex png)
pulseaudio=$(usex pulseaudio)
theora=$(usex theora)
udev=$(usex udev)
use_llvm=$(usex llvm)
vorbis=$(usex vorbis)
xml=$(usex xml)
)
}
src_compile() {
escons "${MYSCONS[@]}"
}
src_install() {
newicon icon.svg ${PN}.svg
dobin bin/godot.*
if [[ "${ARCH}" == "amd64" ]]; then
if use llvm; then
make_desktop_entry godot.x11.tools.64.llvm Godot
with_desktop_entry=1
else
make_desktop_entry godot.x11.tools.64 Godot
with_desktop_entry=1
fi
fi
if [[ "${ARCH}" == "x86" ]]; then
if use llvm; then
make_desktop_entry godot.x11.tools.32.llvm Godot
with_desktop_entry=1
else
make_desktop_entry godot.x11.tools.32 Godot
with_desktop_entry=1
fi
fi
if ! [[ "${with_desktop_entry}" == "1" ]]; then
elog "Couldn't detect running architecture to create a desktop file."
fi
}

View File

@ -1,2 +0,0 @@
DIST tasklib-1.3.0.tar.gz 32757 SHA256 ac5137466f0a3e2940a1c973f9765afec4ec02cd1d42ac81e226dca95de35670 SHA512 bb3660b54c56572d9e9746be795d2b80cb414af0f1b9a430c4f9b15ce8c69322eb66cee1a6d035ec70a67e5974fbbe2fafbdd68a4a91cc78fcf3a6ad1c22e098 WHIRLPOOL 853d4bde5c60de840f37078ff7e0edffe148a621fb304081eb4d9bffdc1fa288f815e84d17662242903772bf15a7a88c6b6a6c9cd41a12eb55c9bf8f75b734db
EBUILD tasklib-1.3.0.ebuild 489 SHA256 7a5a4a59b0403906bcb88bff2b810191826c66d9bb6bae59c47696fd0d2c61c7 SHA512 915a9d613ef4770718a14637708fc2211fc90100a690260096f79d5511580ddea1a1adb26b36501a23afcb1cf5e36ad1164f7d3448c2d726586436acee46dbc4 WHIRLPOOL deca542e80181b63a43d3c5ec7991c4bfea7ba6cf49a7d0ee73d5d35e9bcf40d90f8410d44de7b0facd966c92d64e061de38eee6eda739e483d06bc5e11c5777

View File

@ -1,20 +0,0 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{5,6,7,8} )
inherit distutils-r1
DESCRIPTION="A python library for interacting with taskwarrior databases"
HOMEPAGE="https://github.com/robgolding/tasklib"
SRC_URI="https://github.com/robgolding/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-3"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE=""
DEPEND=">app-misc/task-2.1.0"
RDEPEND="${DEPEND}"
BDEPEND=""

View File

@ -1,2 +0,0 @@
DIST urwid-2.1.0.tar.gz 630226 SHA256 0896f36060beb6bf3801cb554303fef336a79661401797551ba106d23ab4cd86 SHA512 c121c0e49ab9531f67bff8740d29fc716fb8c9203e1b2ddb7257f01095e0bf976f3f2131a3b1f95a3b5368ddeea6a09b9c867ab459b91e3e9be6cba4f18ec654 WHIRLPOOL 168319d548b033b20183f44726b6afc7e1d46d8a0782f5c24d26d9cbad0c994c651e1943c3f29f640234239874458b7152238ab847f0ffcf8b259a30b6504cdd
EBUILD urwid-2.1.0.ebuild 1034 SHA256 c2d1af4a3a78dab0655d9e9409f167ef4619e7eb424274a3d7c8dfa226053288 SHA512 bd83356d92ecd7db9f7ec2ead643b1cff81d2c2c1e87c09de3b8133922ff8cd48ad88d7ca28d29241f2fdc730958641099bbf0b49a1d984c588d166bd2d131e1 WHIRLPOOL bb9e717c3d6c179486afdb824bd83cd4a50f0f763abe618d838ec360d33acfe5878ebdf7190fdbb36f8ef06e039b1e79d3b97a690c0e985e7c9f359e3171447b

View File

@ -1,49 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7,8} )
PYTHON_REQ_USE="ncurses"
inherit distutils-r1
DESCRIPTION="Curses-based user interface library for Python"
HOMEPAGE="http://urwid.org/ https://pypi.org/project/urwid/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
"
python_compile_all() {
if use doc; then
sphinx-build docs _build/html || die
fi
}
python_compile() {
if ! python_is_python3; then
local CFLAGS="${CFLAGS} -fno-strict-aliasing"
export CFLAGS
fi
distutils-r1_python_compile
}
python_test() {
esetup.py test
}
python_install_all() {
use examples && dodoc -r examples
use doc && local HTML_DOCS=( _build/html/. )
distutils-r1_python_install_all
}

View File

@ -1,92 +0,0 @@
AUX 1000_fix_gentoo_preferences.patch 866 BLAKE2B 836e42f394db6233ec4ad8550fd68b427f12474a7dbbe6671da4b60ebccbb762bb8e4096838569e58b2860bc3ad49dae7e66fa03a3a994228f043c7b17a6de95 SHA512 60693c96667dc6bf34bf0b58e4e06a50041b69656c1ea3b945521866a1ae86887169d7afb1afbe54e6b5b6ebb87eb6138fcba716509627966374a933b8a00016
AUX 1000_fix_gentoo_preferences_78.2.0.patch 494 BLAKE2B d9da6f2ea0b9a1cdd0606faa84a6f28d92e08ae151005a90516421808006ab0b48f4a5985d4393b3e8a2002e1614c819826610032ccaa091e98d17e7b359c668 SHA512 703758a66f7933b5dfbc1982f2db25c31f4bd9b261b4afb9c39e7d2e301d7d9563cb62dbe9d7541ab9ef178c1b0a51d4be53862f264ddb0196a80479a8d0d21d
AUX debian-patchset-78/debian-hacks/Don-t-register-plugins-if-the-MOZILLA_DISABLE_PLUGIN.patch 794 BLAKE2B aef2b8a6bdf1c4f870984d8921c9fdbdb402b6c1caf11c539c689ee5d65708dbf25e74a1a71067cb721bb645b45f2eeeff736a46edd8ca7aa00abbcae10e53e5 SHA512 e2603a30371be534b8c2031403c975cf40c841423743566ff0e9b26defd4b68c4b8af097a685fd4c7f07b3f9753914bdf566828e051879a362b38077035a3585
AUX debian-patchset-78/debian-hacks/Set-program-name-from-the-remoting-name.patch 682 BLAKE2B 5bcb5956064847d334a8f906949b067d8c49e4f907900f01bedc4aa19b8633033d9fd0679bc8e6ebc2dff90ac233cc1214318375e12539911c6a963b91f94929 SHA512 7ba2f28be1bde60c55f76f34af8ef1c3a2381be1bdeb092731f1ddc44e32ddd07e14662be8271d1c8a8c5d80df836201b2535e35ce5afbb8f9eb21f6ce748b69
AUX debian-patchset-78/debian-hacks/Use-remoting-name-for-call-to-gdk_set_program_class.patch 1176 BLAKE2B 8a9cb76c3bb3829b84da1fe93d81146fa5765293025ccaf97ee88a3e2bad15e10c10b33ef457fc8b899df433bfdcf31f0afcc70f04ec35dc97ec4776ed5fbb1b SHA512 1c102aa03d05a1be3699243a136d02ada2a5b4816147e71c918c482defbe74fb7733727edff327d3c45cf53d219f5da3bc5a597b3f3e2246aafbd34d01a6e659
AUX debian-patchset-78/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch 3079 BLAKE2B 493f1265115d01288bf8028897b3f1f39af269ea1ba19b8a7c0a68d22c72f3e611d394480458da44c4b0b833a4e6e84a73c0bb2d369d4ae17b4f47b83d638c27 SHA512 5a33ca6389ff0f19674f7db42664ecf1944db2cea245b98051f2d909f86e2937ac978c6d8e075b5b3a23dcbc803160e24880ea20856b9b4b40dc3c4266f2308d
AUX debian-patchset-78/fixes/Load-dependent-libraries-with-their-real-path-to-avo.patch 762 BLAKE2B 577dfb03f32ae795e434d141384660ecc35d69ff619371e6dd939e971fd6c6180c863c7c0a08657975037a43054fe5f0d77135f77f3a8908bc973ece1edabfc4 SHA512 27182012390f9ac0f532650b405cd94f9a7abc638e88fee340d425c9c6b23bb91c5a11743c9feea61acfe970496851134267412c9c7c9c4ce65066e8a9c07748
AUX debian-patchset-78/fixes/Properly-launch-applications-set-in-HOME-.mailcap.patch 940 BLAKE2B 4b23578f1bc7f1db113a7d2a4e146666de454bf3e60a1ed9e76d4d845e75484de01a9f59a9d5305646dbc778b520e5dd5363e877a456579b982885817dd1a649 SHA512 443a3f8855f629d6f50b557e689ad55706a6f8a2928b2b78e2bbafb7d837fc5a422b513a8731c8f1e328ba0534dc04a9f3c8d262186bf63290800e7d9dcafcf3
AUX debian-patchset-78/fixes/fix-function-nsMsgComposeAndSend-to-respect-Replo.patch 972 BLAKE2B e982becf1f14fcd836bb37d1bb939455c9d91402b3551a831cf7833cb04e77111a609a96ca9b97b63e938e01b4ad2bf399f24f28e0abea7bb90602d950782544 SHA512 0d0cdee4b5af4c65acc374d91aa3b2a2c4cf890b4f330f63003de2d00234c011e9a59d4400fdb4354d6ce4764bc5ffebdb390e284e5f2b2529b5c2279d1feef2
AUX debian-patchset-78/prefs/Don-t-auto-disable-extensions-in-system-directories.patch 989 BLAKE2B e81f5ab142ed4d964be482aa40aafd4e7385fdc1cd893d95ed7020fb730f077b99e0badfce041dff7a3358c403d4487556371a337f77a27d9a31f49a8f5583c3 SHA512 caf9657666cddbf29a185deffc6ba08a2ab63cd29ec078772a5eeb5d098b7fe7ef9a95c5149e3c613d4ce36e21377114e7e00a19e7b2dcc3129d5252f3e9205b
AUX debian-patchset-78/prefs/Set-javascript.options.showInConsole.patch 1371 BLAKE2B 80bbf243cfc501920a15fdcd4c36b2b52704c59713ca5fe6f8c898539fe09439eca4006d8975cb1432e5f42f03e2f570b7c5d645c779c0af0278e88166a0be18 SHA512 41df0ef9c05e214f16a9d4c31decdf6f8b06e79b3a39251138db9e341ff33f2260a71093d84ce389c718510976b0c9dacaef8f0d5c66f5dbc2653a3f6c2ee9b4
AUX debian-patchset-78/series 574 BLAKE2B 6e198b8765ff782957c5ffe6510995739634a773975ae80549a232807a9bdfb02862d64fc2c71df87db5547dbe446012518a44c699b012988a5f733d52ca22ed SHA512 e874a9e81c5d25dd940edd73a19fc187c2277621fd567c5d7489b4deac2068001eef180a6fac5628cf60da66004e9973dc7ad2332ca80be9a37b901e8a9465f3
AUX disable-auto-update.policy.json 53 BLAKE2B f8df63721191d84d8f1ceec263f63c44fd5dadeae0939baf9a4a6b1852516722b2a3d94b8d403cc7b6c6b525d5236f357ab65a72d716aab1f5bef47800b5a18c SHA512 5ed67bde39175d4d10d50ba5b12063961e725e94948eadb354c0588b30d3f97d2178b66c1af466a6e7bd208ab694227a1391c4141f88d3da1a1178454eba5308
AUX fedora-patchset-68/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch 658 BLAKE2B 4018934ba8fd277cb5daf9fac7f8aa47fadeb663249c3dfd54c38ba14d1cef58097f1b4cc294f572d814dc0f3834e8c9b4c21341c22b8967986f06813b49b34d SHA512 8ca4f72f1fc0a7fc128f05112d8f77be5350826010069ee3b787989131f02b82d014a4781e97ebe5694852c4bb5e87bb5313e562cfb7cb2afb6f904124027e13
AUX fedora-patchset-68/build-disable-elfhack.patch 591 BLAKE2B 800a22c64280c2eebf906b4feefbcca7037d8f1c914e79c3b1f95b3d783edcadb2e657f0003b09c94af94dc52fd7912c287f395cde75b94c9ededd19323559ac SHA512 7b672d01d9529232ea0a875af58481d7b86ce23e8dd76fd56bc2d0892f0ed2bcbb98c2ca21bb3fe5bdd01243024222f9726f709d75cdce49d33e251acac1138e
AUX fedora-patchset-68/firefox-SIOCGSTAMP.patch 1050 BLAKE2B 7944d6f1bc11fe1d8e6eb586a969ae32d3630b1da3c8023ae8ec483fd2e10c625f4c383f13a0d50c91129faee5c258bd35bd67bb22c1dd6666938575ccde4332 SHA512 721341319774f83589998396fcfbaab83b38f89a767ce92c68635ab52e30406689cc611edda23d56b767e0860c8dde3f091e3580d27c5165f4bd72ba9976ae84
AUX fedora-patchset-68/mozilla-1245783.patch 504 BLAKE2B cbe67d495c365e09f47de1ae639ed9e23e04881aef9b29edee1f33e71e567215d81ec1c08410ad59565898eb84c6dc87b2bb5b8d0d043cacaff4009f32292120 SHA512 8d912f1e5d6b00d1a29de6e3f232a454114d0c5fd41c89c07e943f0a1ace2f1fe45216166d950ac3bf72697fb27b3b02c7336f25f29414b3130facb42662e46b
AUX fedora-patchset-68/mozilla-1353817.patch 713 BLAKE2B c215dac508d28b33ca083d6408b2d486f8721dae454403df7ad16c7bd7e091fafc431b5b6adfcc1d62a0ad4114e7e791eeb7e5c05c8b42da3cfd4434c222622e SHA512 1ab1cdf21012364e6bcdf5f10197faad74c725a9992006e0a9efb3fc8b7ba965cc230be9740808519cd0f1ec70021d8b47686a22279024633861320602727499
AUX fedora-patchset-68/mozilla-1512162.patch 946 BLAKE2B 98eea456eae3f484fbeb05f17dc231686fff836593e0cadbb19d0e477fc1f21cf33c9dc974c5c70ddcd97e66443de667ad59539a9df6a443b574ae4a9ac60955 SHA512 dda5bbe45d3868e34c53b42bc758879e3c657b8f1afcad95a258dc76a0923db6cecea15e1fb5aa7b9084e91cb88d46e5c0c46b5373ea1a32f4c4ce1e9b2adc3a
AUX fedora-patchset-68/mozilla-1576268.patch 623 BLAKE2B f422ae34afc9428e66409758f85025ce4da9281c10ef008830fbeb4ee5b226871ee64b6baf5446b4144ae1e76204d05cef54f62df454bfc3bdccc31552620c4e SHA512 d778bcba00c614a22b85a2b47ea76aa146ee5a50c6391bc1060b9fd2ba7a5c3b2691e0aed54c5c5ee4a87a4ec3a4946209e4c73d35f63ce80425015617812bae
AUX fedora-patchset-68/mozilla-526293.patch 702 BLAKE2B c94cf20d8c4d1816e66ec4dc320822518ae7e65b3d745fb8f0bd844685a0c692a9ef059fe99570084547f4d8176c933728fe2fe04e9197113b477307afdf7863 SHA512 4816376a8924f61c3f6b3864033d75f44e216f1b5834327eccf4ed57582f3ef2e0db56243a079e5326ff662d8cc65c6b58eb1880cdcd5c8d1e5fb72429e3dbab
AUX fedora-patchset-68/series 245 BLAKE2B af030ce419e729778cc2e3630c88a2a3d51fb194243db601fc052e4c9bdb83740ef2d0de9ff3b98ff7eb2201affb2142505b86c3630c603e3f61ce5a792a0fa7 SHA512 df07e154b54aa5e0e6fa38a666a6045bd3251284d1814fd3ecc87989bcdf3ccdd3c90a3d3568ef546fea757f627c4a5e00b3cd1635d3b7d7f93d930bacf43423
AUX fedora-patchset-68/thunderbird-debug.patch 645 BLAKE2B da8329c886351b7fcbaae2a8cf9d68bf47675ce7eb46d9b685a68662d90c0bf236f569ae209505b4e2ee02ed0012e0fb92a5d1b15b450e3f156c623b961c628d SHA512 5e533428415fb034414ba0a1fc747dcb254afce8ac85682fa6245bc49445c17f4e978473b70ed24d9c0f2af02635fc18b579a3ac85c5e58e8af9b7a9d88d1a9b
AUX fedora-patchset-78/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch 773 BLAKE2B 3d86b01bf1cc3d797de8b3813888c07e44740fb5da08de530d89060ad43dd316f5c98aeac4cbcad1f0fcbfe424c7ac16e0d82c30b62edef0225f5d0c84e3ae26 SHA512 641ea749ecc2ff97f291b44e704be23163270d0cb9c920a634908499b115700b4a2b8cdd924486bbad0677407b7137ee04208046ae0a8c50f75dd06777a57b94
AUX fedora-patchset-78/build-disable-elfhack.patch 591 BLAKE2B 18159f6c5b5c2a1f2bddd8d6d63ce5f402cc9de671a89536a4e03c2602da5d6e35dd9d08e763d222f2d579da35b5d2b5f3781013b84f1a310caf9d6a2ff22a2e SHA512 57a07f1fb01e5cded36f1a8c9a3c29a7bc74f1d10fd762524a9685f8fa8907cd204f30fca54a3cf4ae89e9844e707d9158105dc362ad9f20e45b6a20d5dbec73
AUX fedora-patchset-78/mozilla-1170092.patch 4392 BLAKE2B 490708899793871875fe1e3eedd2df3c4c1a4330a35f9bc3b3d56f514126492ca39ecfa78979ebb5f618e9fd69d334f62672742ed1e19b1e6b15879f0984c25f SHA512 3b839c3e6a6da78a3a9fd59fdf305baa8cabc95b1f50788135ef7c91c9f6c2b8596ec98152dff97cecaa58bd6e25edc79129d9cbc9d5cff241313a58e4501f22
AUX fedora-patchset-78/rhbz-1354671.patch 806 BLAKE2B 8a4e598d86c9cb510223e552603f2402e843b14eb63fcee59007da2d61574fd759d8dcb7dc882bf0e9ef52d75c5e1407920741de67f94905e6479fa1087550bd SHA512 0663f3229d9ada751789b82e25014bda25a07a17766ab93bcf47d86be449e8d13038e642336d5f6a9dfa1e62bd3c1108d7e24db10e147d6c698df2eda0684620
AUX fedora-patchset-78/series 128 BLAKE2B 3e003f84f11bfaaf0b9b0d9e89c0c461e2a02f1a2c065b46457e9ac57e990e47241300ae49ff8e107e0f38cf7a5b8032bb21a264e03fd81686c2f9e3ae384c37 SHA512 03b5758a6ac25b339cde90846528dba380098522c048179ab51b1dbc966503be3ee0633f6ebabce3799f6608985293e71c6911392c470c8ebe47e0055ddba002
AUX icon/thunderbird-unbranded.desktop 299 BLAKE2B 342496f534b80ce6eae65872ab1750ef3eb0082efb97f9163f5230020ee9a306a24816d267a0e2a859f282e789b212b95e47133435c8961a0e157d50cd63ea3c SHA512 53794c417370dd1e319d32ed6772357b42bdca3fc5c5404b3af741734b8f69f455bf38dd0d6d0f135bd6113889b15b09217351861962e68305473380fe0df31f
AUX icon/thunderbird.desktop 289 BLAKE2B f7a5b63b3ec256d66aad667b411cf3134cad6c5e4d8b61a3b87c6e8fabe3014b1542afec99c5da99a8112c6295845d8b302f6ba0af296d3088ab096de132c1c7 SHA512 bd0b672ae60ce0ca8cbd5a8ed883736a9bc7f05264679beeecbbbe772bf5cb4087b07f8a8ef5b6330a0edd01d35307d73f395352cafbc0457d0d7c325af9318f
AUX opensuse-kde-68/firefox-add-kde.js-in-order-to-survive-PGO-build.patch 1056 BLAKE2B 826265278490c3f4dafb6f0124b91f4bf73961776e8d29a349e825e94dc2727a4977e819a174f758f65c81f0e8c884a19734bb370ee43275133a7a3ed775476e SHA512 83645f46c95cdd1ad5aeab6bb6f5dc715dc761959c245b901e49619faa13d2643fe623f6f9f2432f233d0eeb157f9a4683b10bc7d18544bc6759835ba7940bed
AUX opensuse-kde-68/firefox-branded-icons.patch 1877 BLAKE2B 8d7d84b155ccba584637a9948e4c3966ed895003ba23d43632b69a89c9fdb4cb01ee6f2bfb9257c2e8786c29fa4a05110a9fb0e7bfc561697471c11f070b0766 SHA512 ef717b1480f94f4a030c36a603f368e10caab2b7d4783ebee8767234507d378242f4708e416a282ab77887afaf6f63c7ac8d231436e0dc466e7b893734743dd5
AUX opensuse-kde-68/firefox-kde.patch 83135 BLAKE2B cf147f14c6ee9bf60f1627a416e9b5fb12b7a6ab22ff86c75a10dea590f9ce2efa060ca00624a4bc611370ab5c7ad566ebc9234c43e5023369a0f3d40f66e04d SHA512 477f35750230a5913a5a955a4b2e7e74e600111c1d358849bc222b442dd7e17448fd618d1ea04051b6cf0756949c6c6310055e1644315f96fc9db6fc8d771415
AUX opensuse-kde-68/kde.js-1 136 BLAKE2B 94108c64640e507ddfdfd5f1adeb5ce417ef876a939ae0aaefa679a0b6dbec8efe0360270ae9a8a1bef78db8eb29702ab9307d8ccd8713db3d3b7d5f78be4dfe SHA512 b3cf3de810ecd9fc91814a5b95924446a52a4ae04f4da42c08e84d51bb08a83ad78e8bfbf89bf5a24bd21de9d3ff7d2fcb8257687c23317ac2a1396eb578a773
AUX opensuse-kde-68/mozilla-bmo1504834-part1.patch 2558 BLAKE2B bbf6c4618feffdc369fef4811211ee18b22c94f46a355b69adaa89ee57e4b00d3d51fb58facf771a71cd452b021766a6bc262db5930568e78fdae1201d48811d SHA512 dcbaa1e44334a9c8bae0e8be8a5646a59236ce92fcc6eb9f0f212c044146da03e1fd6e77b07e55bbb5279a6c0be3926a3cfe0d10a2536104e0483a9afd476037
AUX opensuse-kde-68/mozilla-bmo1504834-part2.patch 3337 BLAKE2B 6ae446cedbe490c85b7450b56c49c615af34824740fd3e031a2bb38c717ea16f9b26ad4fa80550ac17e7072a82ba8015b33bd266dfa41d5366189795e42f264b SHA512 f2cf5ef4d01a133b7b53d15a2cbc6bd609b4028a738ecf2570478dc1ff27520b64d2d64f874ff1f613e7bee3e43a640d87f2e1c03d810cc164315dc7f04c61e9
AUX opensuse-kde-68/mozilla-bmo1504834-part3.patch 2327 BLAKE2B 0862cfa63d16ef75a711da427fff315e216a8477fcec8d92d5390af742d2702e4e6067c23dc22818cc647261fcda305aa42089c1c0bb5e77a693e7fb86ac2af8 SHA512 c717963846beeecad6a556a7e76c8757090f1856963cd53a6e3bd49992caf89ab6449dde308886b307d3452555a49289cf70ba3904624ca938212b44be6da6ba
AUX opensuse-kde-68/mozilla-bmo1504834-part4.patch 1580 BLAKE2B ddf4b0cee96f72de9edf97274288189ad6e9b008e0f6a82d4c59376ea71583b0fff66826766da5cbc78dd39c97045220497c8db532a56a9b8d98a649629fdfd8 SHA512 7a1fa27e060b2f025eaebbd39fb5c62960b62450241437e6d057d58cef9faf1cd1a85efe3b6a37b865d686ff18e90605ebea3089b26243f2d14876c2107106a6
AUX opensuse-kde-68/mozilla-bmo1602730.patch 1153 BLAKE2B c53bc592424ec7d689e7fd3111ff0ae73421972665a4f478a92a5a93c8ee76ca288ab8da6c13bd185b777206a5291d7504ce84104e215cb960e1e4f470528f1a SHA512 e731e2e0d387669b76b668ff9339b610a2f01e9d30374e6e6f0caa71b670d617c3d47cc8bdb1c6c636767f8b3a8f321ce8fed20cf2c5862b4411eb4f8fbddf77
AUX opensuse-kde-68/mozilla-bmo849632.patch 945 BLAKE2B f7ba4fa9c2f7a9bf94d235fb72a4031d2780139b61f0b22ea5de708764ddeadd512107178c11eda6663ddb586d6a68e4e482918a1e40e601da5ccab95d35169f SHA512 ce5802f711690a79a3ebfeef6617d77c55fcf4f036b802e56950bb01b4d870ed916e66e3891aa2abebd29fc57e0148c6113bf081d62b6dd69051f06bfdf3e86e
AUX opensuse-kde-68/mozilla-cubeb-noreturn.patch 592 BLAKE2B 2b85cfaa7a08c83a1e59c5c175c530e2096672ae86bf20b841cdadda7cc882c10cb177772d3580a3469d896120b17433e03b987dbc33fb6d01c621cd58c4ff0b SHA512 9d10356f299219e4908ec028d1d0a0dc4850aacedcfcfbfa6db24b1846348bd304325b234f89e17ccf9edc29697d4b48fe61585c35fff8a37286ab6bdd6b4b39
AUX opensuse-kde-68/mozilla-kde.patch 83519 BLAKE2B 6987d28629984ecbf9bb873578624e67fb369e8e084e0c697dfbb9bcc16817709955529bb56bdc77a2d684f485461e44da7abad70a7baf482be6d924b1c0e3d1 SHA512 91d5b3c77375719b8b56a0609d228b951b50ce4aa1c6e13f70f3259b79918cea1928993280722b2110f472cb0f5d511421922755bb2af300b0b3f25d1c8f032d
AUX opensuse-kde-68/mozilla-nongnome-proxies.patch 1442 BLAKE2B 3ebedca60f1b40b8079f652b20a310d9d677516e85de7a890871589e61119182bddd9d224d66d9e473f01e8cedfcaeb01969e1de1e947232ca359d20fbfa86ff SHA512 fae7ac214cc021adfcb8a66bde9efd90c65e87e5b991a6f4eb3d34b711a9b3234463afbd7cf0ab08596a4a16365d5ae44d343c9b5918bdab78437eb0d8d75bff
AUX opensuse-kde-68/mozilla-reduce-rust-debuginfo.patch 1498 BLAKE2B e77f92a3296b64ee016b0ce693532a50ffbd3a40568cbd01d7287bc4b2475e917cf8beb69b22e9d62f82b07ee5139c0e640937890f857441a2e68d0c64923180 SHA512 13b8c928e2ea95dbbedcbcea263e734e9aff7328c0e441454afc6eece52cc00403d4a26ee825e495da237aa0fd011f950b3968721bd08aa3b28b0938c29e9e5d
AUX opensuse-kde-68/series 389 BLAKE2B d6c8235acaa17b418ac86350f7263ac1b51824a46ad2a2c8a405c3effb96f49d86af151db8435dca01011a56e368729a16aa0bf0abdc06ead3035ea612ead659 SHA512 cdf1ad5f8cdd8b86e21686742333b45d6ac517d3686af19b66ee38ff631f6f0c4160171ca9993130c2df535ba12f53a107ede685a5a765b1583f0d7ba9957894
AUX opensuse-kde-78/mozilla-bmo1005535.patch 894 BLAKE2B 375437f2ec0e1bf824056d2e481b77b9a3e4cdf50a69f81fbdf7c179d25e013b98f0fa940b3e704bb149a24eeffe0b2339fa04b4169c0ed4b4dfedc401143202 SHA512 2840f42528da56ae8285fbe4b5bbb926a37931a050772c348f32f38751c084adb2ef96320ba80135e9022458cf177ce9662b1e8f5a94e8e12aecd7c89de83bb9
AUX opensuse-kde-78/mozilla-bmo1463035.patch 1814 BLAKE2B 084b2454a75708917b7f5899cb6ea0e99b096ba8ea3c62e83c3c9f8f7aa83588f0ec46a8415f8b8b3f20af9d58c007906af09e8c7230a117fb223174ec346f29 SHA512 01c809169c35208327f6acf7e332dce6bbe6be837d2b1b2da4a21c00876e1d560f424619ba305bdc8356473f74549b038391f6194afa02436d32d7ba65d15576
AUX opensuse-kde-78/mozilla-bmo1504834-part1.patch 3981 BLAKE2B 02123e2600931122bdb5a5b1a74823d2d24f838e484f19dedbb9b429219ae009cc99e8349f63b2bc0991255a83f5dc293b26cdf97d6b93e3d1fbb9dd6bedb913 SHA512 a2ee4e00bfdeb984b72fca0dcc06063fce4214b4173a70d1ced6c08bc2f2c6a73d007315f4e84d27e9e77f2804a3e4efed211ca768c3c4a90642ac6467fa4e0d
AUX opensuse-kde-78/mozilla-bmo1504834-part2.patch 3333 BLAKE2B 23ab15b2cd9c6eb3500ec7d64b46698b1b5d4ba057d1eca8ac111c058643031f0259ef13fff9665918fbd1cabb5ed6fe37c7769216a8c8fd9da391ef501ba4b1 SHA512 5e7d35259358ae1523e3d3b07c3cbdc4faeb21d43a488c475462fffaea81e027bab0ce16a22009fcf3ec4d70ddeaca560b1b9a321f448c2d29d04ab5698ddfce
AUX opensuse-kde-78/mozilla-bmo1504834-part3.patch 2389 BLAKE2B 0a47899c197576224737cd65eeedae48027a53d66034bfd16ff5e69ef803b64fdd361e744c835bfdca91539ba7d8041262e6dd0b60584e8a8379f6554d5227a2 SHA512 9152bd3e6dc446337e6a2ed602279c620aedecc796ba28e777854c4f41fcf3067f9ebd086a4b63a6b76c2e69ec599ac6435b8eeda4f7488b1c45f69113facba4
AUX opensuse-kde-78/mozilla-bmo1504834-part4.patch 1582 BLAKE2B 71239949ca2f9fa5d4d145bea6ff1db7fafa2f5c497deb4083d2472c1a496b3b88c8d54fc1b2cb35119f51c1b7ea1aef383ca4d4eb5431f5a647204aa30eb780 SHA512 0d4873384cdae68502df50fec1e5cde0e5989f949a0c68874234391f7fa674d7c064f65f144bf6d3d7b5d1d9fca3b8759aa6e7bb007f0fade5960769fa42e832
AUX opensuse-kde-78/mozilla-bmo1512162.patch 1213 BLAKE2B 35d456074dfcf4d95f53cac9e523389457eb22151f0775a71f53db7977e8f5c260696f052ac3ce62a1fc50bfb1bca0a1a1c6467b3edba6457afa8f724652023b SHA512 8229cd60f0d60729c228d9f62473d2368a792db827b9972ba341f127c670643c86df299d8841af6df80407d1864c988002a17ccbdbad7d351c571537381a056e
AUX opensuse-kde-78/mozilla-bmo1554971.patch 1065 BLAKE2B b07d1ba72eb5314e680d4851afaa1e6210117a18aaccd76fd2dabfed7d1dcc34359ee87f1f9dcb280f650f83f3051ec31c9a86e61d83df7754a91e6fdcc845a1 SHA512 1b9de36d23a07eec0fc6e58025b4bd8ad17f7afd8980b60f3cd336e352b85a1af758931a9be0268311cf64f2b7665cb9457ba795808d1312c6892f3d89622819
AUX opensuse-kde-78/mozilla-bmo1568145.patch 1078 BLAKE2B 3fac7f048a7d06ba732a460d6ca6fd7b5deb235f331512ee752e7f90863acd581e218a7501002228b9da5acd05f2ad340049f54054dc8d30db8e3995a4f92087 SHA512 8da1c32fdc6356538289b8c9df9daa23cf2f14cbe1de10453805ba0c869cea144e600b56356cdcddb00dc4edff8ab13106fd50b235f37ae1504ae1800f1b6758
AUX opensuse-kde-78/mozilla-bmo1602730.patch 889 BLAKE2B 15e0383d08636a95a80a201a82a3c6752f149bb814bdd07c2896e4a709b0acab9ae1b3189694d24a3f48d74d4a669aedf1b5a3df8046b74367b65c4e7f414356 SHA512 26b32b96768c21480311ddddad5742cb60b1617688e18838a5f92656aafbaac5902b1ab5d92f239fa9409713a7eedf993790a2a1f71481993f2fa8fcedd57647
AUX opensuse-kde-78/mozilla-bmo1626236.patch 3313 BLAKE2B 086a9d2af5caa42600d1a0b3df72954f13444d99f4a735c65e7f3092eda32636720f7fa904158ab04618077915f15a5cc1e8eca69d8b2bcc30380320e7db142b SHA512 773be00a1aea29527e8556b152f463e477f025785e2ca98ca12804b3a5783444bdf4f6d6765b167f64dce3110b91af5efed58c1744d35b2da187d1b4eac8ed59
AUX opensuse-kde-78/mozilla-bmo849632.patch 947 BLAKE2B 2a2f78222a45c6a1fbb0f1d71c90d9a4e0827ab50d49070c6fffc1e8479df55b90ddb7552f4dee8eb6a76f260001bd53e558f3a8230897916a22c8c8770d2bb6 SHA512 674b4f40ae96d3a001af573505e5f0a647367cba1f9edba8715a2999ade21c22e08f0daa7a635602fcf9f4b6eb63667f7bcd4a84bbf958e0d1594198d5463949
AUX opensuse-kde-78/mozilla-bmo998749.patch 1000 BLAKE2B 7c9c215f6fa30876fc7ca074f022f8b1250dc3480e881b75a283b28890e7ec4a33848042e839d056e9efc425853053f3c58f53827c330dfcfec9bc7bd5d6186c SHA512 3216e96e7cd1624945595f016fbe76a699d8627c60250768857c74c2453e66e3cc9207bfbf486ea1be5685b595bf1ae4626401502f723e94320c42c7b12d0785
AUX opensuse-kde-78/mozilla-fix-top-level-asm.patch 1623 BLAKE2B e53e729b3bc40ba5b676c9e972a4ebce30b65ed8c178c6e5f9e216af49d86f2a7e91cd0743bd3d424c0d67dad724be8784c07a4da8a84c90996027c338027067 SHA512 f3d62f72fe7ccf84cd777503f871eef71ab7be155bd11d49168809061338cd9eb68f268d42f63e64db61e4adc0777d2439bef4cb8c8d102a4630894c0937e69c
AUX opensuse-kde-78/mozilla-kde.patch 63434 BLAKE2B 4d9e8fe360d7adf73bad761960bf23247f02659c16734041652928a56ad543048f2c34d96d23849942bbc3d3407e69175d845eb3e81126d7bdda8c59a44681cf SHA512 3ca6d5e7cf5cdb66a760f0683320e0253f46c59bbc47e80f9dc67aa188254276c0ba101174f9c82a0e938d1ad22399794d10f37a582d90cb7d428e2868d24d0f
AUX opensuse-kde-78/mozilla-nongnome-proxies.patch 1442 BLAKE2B 3ebedca60f1b40b8079f652b20a310d9d677516e85de7a890871589e61119182bddd9d224d66d9e473f01e8cedfcaeb01969e1de1e947232ca359d20fbfa86ff SHA512 fae7ac214cc021adfcb8a66bde9efd90c65e87e5b991a6f4eb3d34b711a9b3234463afbd7cf0ab08596a4a16365d5ae44d343c9b5918bdab78437eb0d8d75bff
AUX opensuse-kde-78/mozilla-reduce-rust-debuginfo.patch 2433 BLAKE2B 4fb6e74407d3ce369e745ded86d144e73b1e0da662e922582c6b9f639abaa44a2351cc481ee2b05eecb2eee9dca770cbc79763729ebcf5c267c83036ad2a868c SHA512 c78f37542cdc9329bfe23d8b4ddccce4339b5b60754c396aad43cb80c9d401568260006cf3fe75b335b7d6ca57349c38033e06e0a575b14acb031050052c3fa7
AUX opensuse-kde-78/mozilla-sandbox-fips.patch 786 BLAKE2B 5ef59594fd8db736074cea3f46de8f71068f1baebe4572494e42e1996bfba2b23a9600171ca5f505a720ecd99c433e3e2db1b7454eae61d2d618e6fca3887c27 SHA512 ab466d17087afc6f0346ad6d98324ac9709869680b45ec0e189ea4e199374a2ea396a735685a7b802acdb821dad4c5cc2768f14087222efe68409e3fb13bae65
AUX opensuse-kde-78/series 491 BLAKE2B ffc1d533369011d904ab1a5b5dda276694475907deeb86321569068b39674008e43c642b89271ff10b1b7d0aaccc47ccdfe1f364d6e11b333ff9ae4ce232b45d SHA512 044b7cdbfb769b017f8c77830815a0531998378d53e751ec2cdc5736270aac8b25b3cd3c5d843304e45553a33728e23f05533cd40eb795234b50b4739617cac0
AUX privacy-patchset-78/firefox-60-disable-data-sharing-infobar.patch 322 BLAKE2B 29167c33be12f2ca8c20e492bbbd3dadc30c8aa7765b51231fcc5e880a984a9cc281129b6f307f2b5e06acbbe298348bb5d86c7c015528583ed87217a1df2a53 SHA512 5b21d0ffd5779296a84d6f180148c222c0ac28538fe9dfb2c1917848ee91b76919adf9aa10262e7d3275ad0f41da406b9ae12f8739d9e48d5730ae9e18b9a998
AUX privacy-patchset-78/firefox-60-disable-telemetry.patch 381 BLAKE2B 7ef96502c6399a52d1fa64920e899a5c65a505da879822d5b704a523ca22d4e71d27654314a4b23b9ef5930633f4c29b5e4455f20db3344dc21f8ffb642c3701 SHA512 baebbb78f251475825a2d4c500d4d78049b633f1d6619781470babde8eb57eec72987d436966f262a22842258d3de684c3d14cb7370e8b7bb63bdb917ad29442
AUX privacy-patchset-78/privacy.js-1 3268 BLAKE2B c23c5d9a2f1fe41446ffb49de09bff8514fb791b812ca4f7d64d6116c424aabfe4150bf3693fbbbdbe8941ccfab77a895993d4e589c42f6729191e5fb3ae1869 SHA512 9ca00c0a94e5a3a4a376863ab3c97922db219c1aa8193884e6c488c852dc4e7402fa41cd56e1aa21cc7b228b689c0bcb9bf9eb3dc708ca08145f18883986f463
AUX privacy-patchset-78/series 81 BLAKE2B d92ae7b0e5f27e78cbf071509b98eaf8a103d315cf0795dd8f100f79fdb46f5009e4d2bf78d5a20c9940c400836e83bcda2a94547c476cd2104cc725bb8a12e0 SHA512 84bb903f2da23b08ddfeb30c84258f8516456c29c24efec1dd1e718248b0c7b1fcaa3c1a3c76da0df81039312197d7152b4a4df6e72ac690fedc69d30165fd2e
AUX thunderbird-78-no-dbus.patch 11798 BLAKE2B 512942e4c6b5eb160e0974ad4614daae31bd51ad49b8fe871eedf1f7ea96ef1f624443ff9e775ff5d186a4d8e92079d26bc026d6149aa52121beaf83bc8cb5c5 SHA512 a9f9e8cf011c954afb080a89b97df1c7b9c57cfc78989a7837768b3af749a72c261488bc1bb2ec1207db7a7fe5b454aeed5f4f5114c715d74c5c9962bf04908f
AUX thunderbird-gentoo-default-prefs.js-2 461 BLAKE2B a18e1fdbab7ad81feb41af75e60f48adb960800849630a6f9253b7bebcd3e7db33b2517ad0be6302609545a5464b84bd5c5fc67a07fb2ceab0ca1ad98539bee0 SHA512 db115d89a094c395636e5c008307c7864cb084a0a4ebd024d4ce33cac12963cd4a9ff6833227adc6a098430dc3f7ca9e386e26b87400d46920f4ef15741aefa5
AUX thunderbird-pgo_freeze_fix.patch 469 BLAKE2B 6c2fa53258f270c7a51ecbed32d7339e54430cd247bf61ed9832bb67b534e1c98262cbee6cc7ba8b58119c70ca28a7b7f2d7a658c4cf7582d5b90914fcdecaf3 SHA512 8834f07cc6045999406f3719f2653d4a41b50617d81c6edfe1f0fbcf3037feb75b4d35e99134c00ad7fb5f69859e712ea69d3a2998364dd75ea8815225908e3e
DIST 2013_update_libvpx_esr.patch 14356080 BLAKE2B e54473e9d70c7beb85762ceb39e02d8542e7b33c5f81ba4faab9a3762673fbe65868d2130ade3503f17c02c7890731748682e86aeb31369f6deca8ce9ee814eb SHA512 d8ca55023b22516461275f4be96e22d7c0a4acc299f23e2db5e15f1eec09e4f08a2e10d2b3d10c697219d70dba948751c5be5ec0ba6ef85122c419bfb805a472
DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
DIST firefox-78.0-patches-05.tar.xz 31096 BLAKE2B 83915ede6e9dc2241f6c72eb41f1ba9e26d70cb1f968bc6f3506aa4596d282f6c9a433ce5151c1e0e69dc8343bcd17ed517db5ad5990f744362cc80c50154886 SHA512 4cc967dbdd0c76000ce565d85064884b7040e1f50fba830203256d06a6ee1f8004f4e64682b98fbfb5580254d67e8984b19ec34cee2c3d85190a8f214b05afa2
DIST gdata-provider-4.4.1.tar.xz 78728 BLAKE2B bfe04d714334c38c932d2186ffd859583176ef455b283534c5f8f9e1ab7dc13bdfb8c15db6007de482ab015afc2b8524aad725380bec75ee5f59ea81d6307ba9 SHA512 6c9b5ac41a1064bd1799d2a2f633c3064b27f1294ac3c8908cdef6c1d2eea7b602f2f7bf240b71f507fe9ad286588f030e12f49a41b3bed7bbcc99f3021369f9
DIST lightning-6.2.5.tar.xz 1745976 BLAKE2B 31e237f8d34ab2a2ac522767460467257d1f49d15fbe24f5b80dde9fb709ffafd0c0442d99c6643ce434cf7bdf0d670447f86da9fcdadc7ada6814431ef41e8a SHA512 1e997bb91d484908f225cc6e971874d308e8a8e2451a3e678f8a74bcb9e360babbd1f8aebcafb3e628ef5b10eb697ee47af2bfedbc956fee71d99084c8816235
DIST thunderbird-68.12.0-de.xpi 597804 BLAKE2B 240bdcc509f5c7a79972b9be1bd333cd1c09e27ae216d19486c5cac0c59bde904088d8113101d26bd1c078dc29b89cbfd284a8187a98a6eebc649bba729bdbff SHA512 f7fc5eb9ea5f74c257ffcdcc1dd450f0cd0bf2a247e893ac251a26fe9c7a4e2b83df4b9fe71c3eadec8b86fa525c0a989ca76550718ed992e48e8e05f796751b
DIST thunderbird-68.12.0-en-GB.xpi 556404 BLAKE2B 44738d9782ada22595fd6df8239361a5c93c7f1886b9f682292c0e0fb6ef8242cb305b1a8838f1631d867a736639b0665edc69aac9106a9d389f63cd60720c5d SHA512 68915a4575043f54db65d6653889452b376cae01709605c7a9a176e96d44c259f9aa79fe40ffab62d697721f9ee1c24900b04ea6f8554be9834bc8ab11d3c612
DIST thunderbird-68.12.0-ru.xpi 683324 BLAKE2B 33ee0a6d363f2b39dcc50e6c6231cd4d9356bc72ebaf407bf0d1804f9d596e7e7d6f72aeffead806a1da9082962d21f9743e6169a5cc073319e737ca373e7e68 SHA512 51c60e425340b4445381be67d9b57112ccd612242f034aed113ee682f5f71f329760e0dedee63cb16471b4d2c0517a1ec5a1d0cc0074c8791049e7115580e16b
DIST thunderbird-68.12.0.source.tar.xz 331226160 BLAKE2B 2712dc52cb7ee2b2d75b08907f7dbf945e89f776d12550427134de7f03538f1f4b1c7e747c407becf9be4cd70c9506c5661a9d4fa0e4d19c2499f11384848dc0 SHA512 e7559536a9e024747e3ac7c20e4ffde5adf57657d02109ea32c39bf736ad03707fc7a14a0d3f1c91fa6fd69ead3c38d6c32ce78bd468834d9ba7f77f728332c6
DIST thunderbird-78.3.0-de.xpi 665625 BLAKE2B 195d5ed091fd84c0bfb3677ae6e540d45b88ed24cb1b12b8a047092b2381e0b174258aedf2e79b5fea1787c346df28c672feec9b0bb5b8c188b2ee068b8356ce SHA512 dbe55db769256ec0d4654bcdd900fc0b449c19259c802f5363cafac86b5408b290c6442f1b6942e15c5bcd9ae99c1d2c807184949b286ad4a186078e1495541e
DIST thunderbird-78.3.0-en-GB.xpi 611642 BLAKE2B d143fa08c326fcebefb1bf61c773c6dfc4bfe15008ddfac87be385ebae8758c18d650846dbe7c2d9e6e234b3062e88913ce1e18130cd7f0efc432e1d99646015 SHA512 a06d47cf6681fce864936d89634366fa792e1423d8df7aeae575b4a074cfa948468cd4ee191769521faf2d5b61ac0806d3c5f323a8a327f0cfa826c4b368f5e4
DIST thunderbird-78.3.0-ru.xpi 756660 BLAKE2B 3228189ef7db96717e30b4630a50fe94ec4bc54fa1f787d324426b9c2ca3086456701f26d83275aca3f38a3100e0bbe7b6abfd63fab0df331cd3c6d196e72ad8 SHA512 f014a5a0919613397c702307eee261ef2babc7c88489a7081c43f10ba84a68d417491ef77ece1e0a714eb8607f2d24d4ba406714c5356006be38bd258f232270
DIST thunderbird-78.3.0.source.tar.xz 353727228 BLAKE2B 943ce3ff3de8d9c094d93bc098dc097e7334befc77ad8c097d2cf1c43e2439e7588bb4396afa06bb828f7696f075b676b8c74249da7732574bf08cb9f4e08bfc SHA512 bda68be583b499c14e734d30920e38eae527a1e34623095b62eccc486a2014d6687b3087b31f6803f798d38ea25d4e541511a73dd4c26f4b0ce042a4fe74dea5
DIST thunderbird-78.3.1-de.xpi 665616 BLAKE2B 95fc97e2aeea007b0246736fa9fdd049d73ecd07059a73b1302439985e2179e718121b624e7fd3ca9a8113b3300eff24ac41e4b17857aee2d77749ccf1103010 SHA512 6213f36d707e637fbe9a5c4962308363e682d99857a0f2ad7ec5043c8214f06b2da3a58f9ffc184fd120f99c569df6592287033267c2d71b376e366d096cd017
DIST thunderbird-78.3.1-en-GB.xpi 611650 BLAKE2B 08a855964fb3f44498072edc0ccd10b8da6b52cdf9fda408e7d613a3b88dba61206a1923ed214533c8e8227d7c5cfa336080776f8fde429b12de03e2cb6ab633 SHA512 8741513f4e9c26a1550dd4124a315d1b17ecff9dd0c2abcd16337e61f431c53beca83e01db8725a2409d185d47917cea7a4fb9c4428c4c70457958b3924ec92c
DIST thunderbird-78.3.1-ru.xpi 756670 BLAKE2B 7d09c57855488b01f9979e2f6e99ec8db318f778ff183d4b6ef83eba84f24f438e923ce60f1a8860f11208db5a6429ec9ca0ff519d46e5f38b285d0519a3506c SHA512 6cb05d8fa9f856ffc9f7f85c8a02699421559b83c15c06a08c6c91f1afd64c7e5520536d7e09557f1e1d752f2137c83078f9573aff8e876e4b23cf8f73ac801d
DIST thunderbird-78.3.1.source.tar.xz 353920472 BLAKE2B 5afcec30c23480a239f3cfff56d67e403d300be00e1f374e9ee8a594d9845e9fba4262c410b552cc2ce9b529d8cb9221f81f2367d9c6ee0776d496af0ae88a58 SHA512 16b05e51776ba16503bc5fba02a6d0b5050a206e264a4707544354ad76af61902fd2dcf5d97b82b432dc69362ccd18543a0acccd80e06648e6c6f470886da450
EBUILD thunderbird-68.12.0.ebuild 30035 BLAKE2B f6d3e85c0a471c2828524ddb7eaa9b0629bc07076b2fa498f3497e0d7fe068db424f4255ea323da999d05684738147592d46f216ec2a4ed78976b4905fa19a1f SHA512 aefc5b9271e0a2ffd7dbd503f9c8a308cff124afb70819320ddcee7dd546a7e4c231908f757e121e3ca18fca295140ae353e30870cfde2d8b0e9d7ab8b6100e7
EBUILD thunderbird-78.3.0-r1.ebuild 25900 BLAKE2B 086f2fdc505152b528bf204eabe9eefe8cdfa1d7080bf655e8ab21629ccdef1714f397accea191059693f4274339d73020631cbf9b1300f69fc4f53fe97a7de3 SHA512 102b2600fdf48554e1cc392cc0ceb5574a5ec5a086d209484eea14353c444251664755d47f1102b3b9b8d7ff0c9505b41b279cb072c82f712b08eac4a5c657cf
EBUILD thunderbird-78.3.1.ebuild 31307 BLAKE2B a341dd43fe7d372c36a0c6f520900eb429ccfdd814fcbb349cfe315caa9f2a29f1832c929699048ef6e5a761c2665b1e1e8c79d054a34a37493f42ab0f9cd575 SHA512 4fb566d1e37bafba3a47787e56703e53843b74c6954725e8f7137c13e4575c98359904b14445817f81cf0e0c290e795197dd3f69c971a581c074c5dacf433491
MISC metadata.xml 2356 BLAKE2B 6a0e1217a47df67d7c8ccd60b368dc23e5b06c717faf7cad011d3dbd34968f09d9b29bcb74dbe57365d97bb04e7afcdbf50c6f5bbe20ceaa4b10b0754d8ac734 SHA512 e5fcc661dedafae101258c2604b4807848cbbe0982602abb580600e6ae2564d56311f1b2afd9b3924d33298b3232eb0a2dfac146c56647546dbdbc077fc793a7

View File

@ -1,25 +0,0 @@
From: Jory A. Pratt <anarchy@gentoo.org>
Add the gentoo preferences for the omni.jar creation
diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
--- a/mail/installer/package-manifest.in
+++ b/mail/installer/package-manifest.in
@@ -313,16 +313,17 @@
@RESPATH@/components/devtools-startup.manifest
@RESPATH@/components/devtools-startup.js
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Default Profile Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; default pref files
+@RESPATH@/defaults/pref/all-gentoo.js
@RESPATH@/defaults/pref/all-thunderbird.js
@RESPATH@/defaults/pref/channel-prefs.js
@RESPATH@/defaults/pref/composer.js
@RESPATH@/defaults/pref/mailnews.js
@RESPATH@/defaults/pref/mdn.js
@RESPATH@/defaults/pref/smime.js
@RESPATH@/defaults/pref/thunderbird-branding.js
@RESPATH@/greprefs.js

View File

@ -1,11 +0,0 @@
diff -ruN a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
--- a/mail/installer/package-manifest.in 2020-08-21 14:39:34.000000000 +0200
+++ b/mail/installer/package-manifest.in 2020-08-27 20:35:35.308786093 +0200
@@ -270,6 +270,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; default pref files
+@RESPATH@/defaults/pref/all-gentoo.js
@RESPATH@/defaults/pref/all-thunderbird.js
@RESPATH@/defaults/pref/channel-prefs.js
@RESPATH@/defaults/pref/composer.js

View File

@ -1,24 +0,0 @@
From: Mike Hommey <glandium@debian.org>
Date: Sat, 27 Sep 2008 17:17:39 +0200
Subject: Don't register plugins if the MOZILLA_DISABLE_PLUGINS environment
variable is set
---
dom/plugins/base/nsPluginHost.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
index ad37e00..e5833d7 100644
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -290,6 +290,10 @@ nsPluginHost::nsPluginHost()
Preferences::AddStrongObserver(this, "plugin.disable");
}
+ const char *env = PR_GetEnv("MOZILLA_DISABLE_PLUGINS");
+ if (env && env[0])
+ mPluginsDisabled = PR_TRUE;
+
nsCOMPtr<nsIObserverService> obsService =
mozilla::services::GetObserverService();
if (obsService) {

View File

@ -1,21 +0,0 @@
From: Mike Hommey <mh@glandium.org>
Date: Sun, 5 Feb 2017 08:41:22 +0900
Subject: Set program name from the remoting name
---
toolkit/xre/nsAppRunner.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index ef72d1b..4affb82 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -3750,7 +3750,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
// Set program name to the one defined in application.ini.
{
- nsAutoCString program(gAppData->name);
+ nsAutoCString program(gAppData->remotingName);
ToLowerCase(program);
g_set_prgname(program.get());
}

View File

@ -1,34 +0,0 @@
From: Mike Hommey <mh@glandium.org>
Date: Mon, 3 Sep 2018 07:37:40 +0900
Subject: Use remoting name for call to gdk_set_program_class
Closes: #907574
---
widget/gtk/nsAppShell.cpp | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
index a424664..1126bf9 100644
--- a/widget/gtk/nsAppShell.cpp
+++ b/widget/gtk/nsAppShell.cpp
@@ -24,6 +24,7 @@
# include "WakeLockListener.h"
#endif
#include "gfxPlatform.h"
+#include "nsAppRunner.h"
#include "ScreenHelperGTK.h"
#include "HeadlessScreenHelper.h"
#include "mozilla/widget/ScreenManager.h"
@@ -178,10 +179,8 @@ nsresult nsAppShell::Init() {
// creating top-level windows. (At this point, a child process hasn't
// received the list of registered chrome packages, so the
// GetBrandShortName call would fail anyway.)
- nsAutoString brandName;
- mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
- if (!brandName.IsEmpty()) {
- gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
+ if (gAppData) {
+ gdk_set_program_class(gAppData->remotingName);
}
}
}

View File

@ -1,77 +0,0 @@
From: Mike Hommey <glandium@debian.org>
Date: Sat, 21 Jun 2008 02:48:46 +0200
Subject: Allow .js preference files to set locked prefs with lockPref()
---
modules/libpref/parser/src/lib.rs | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/modules/libpref/parser/src/lib.rs b/modules/libpref/parser/src/lib.rs
index a8c5b6b..aceacf3 100644
--- a/modules/libpref/parser/src/lib.rs
+++ b/modules/libpref/parser/src/lib.rs
@@ -10,7 +10,7 @@
//!
//! <pref-file> = <pref>*
//! <pref> = <pref-spec> "(" <pref-name> "," <pref-value> <pref-attrs> ")" ";"
-//! <pref-spec> = "user_pref" | "pref" | "sticky_pref" // in default pref files
+//! <pref-spec> = "user_pref" | "pref" | "sticky_pref | lockPref" // in default pref files
//! <pref-spec> = "user_pref" // in user pref files
//! <pref-name> = <string-literal>
//! <pref-value> = <string-literal> | "true" | "false" | <int-value>
@@ -169,6 +169,7 @@ enum Token {
// Keywords
Pref, // pref
StickyPref, // sticky_pref
+ LockPref, // lockPref
UserPref, // user_pref
True, // true
False, // false
@@ -291,7 +292,7 @@ struct KeywordInfo {
token: Token,
}
-const KEYWORD_INFOS: [KeywordInfo; 7] = [
+const KEYWORD_INFOS: [KeywordInfo; 8] = [
// These are ordered by frequency.
KeywordInfo {
string: b"pref",
@@ -321,6 +322,10 @@ const KEYWORD_INFOS: [KeywordInfo; 7] = [
string: b"sticky_pref",
token: Token::StickyPref,
},
+ KeywordInfo {
+ string: b"lock_pref",
+ token: Token::LockPref,
+ },
];
struct Parser<'t> {
@@ -373,14 +378,11 @@ impl<'t> Parser<'t> {
// this will be either the first token of a new pref, or EOF.
loop {
// <pref-spec>
- let (pref_value_kind, mut is_sticky) = match token {
- Token::Pref if self.kind == PrefValueKind::Default => {
- (PrefValueKind::Default, false)
- }
- Token::StickyPref if self.kind == PrefValueKind::Default => {
- (PrefValueKind::Default, true)
- }
- Token::UserPref => (PrefValueKind::User, false),
+ let (pref_value_kind, mut is_sticky, mut is_locked) = match token {
+ Token::Pref => (PrefValueKind::Default, false, false),
+ Token::StickyPref => (PrefValueKind::Default, true, false),
+ Token::LockPref => (PrefValueKind::Default, false, true),
+ Token::UserPref => (PrefValueKind::User, false, false),
Token::SingleChar(EOF) => return !self.has_errors,
_ => {
token = self.error_and_recover(
@@ -490,7 +492,6 @@ impl<'t> Parser<'t> {
};
// ("," <pref-attr>)* // default pref files only
- let mut is_locked = false;
let mut has_attrs = false;
if self.kind == PrefValueKind::Default {
let ok = loop {

View File

@ -1,22 +0,0 @@
From: Christoph Goehre <chris@sigxcpu.org>
Date: Mon, 16 Sep 2013 20:40:57 +0200
Subject: Load-dependent-libraries-with-their-real-path-to-avo
---
xpcom/glue/standalone/nsXPCOMGlue.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/xpcom/glue/standalone/nsXPCOMGlue.cpp b/xpcom/glue/standalone/nsXPCOMGlue.cpp
index cf8e265..d1c5a85 100644
--- a/xpcom/glue/standalone/nsXPCOMGlue.cpp
+++ b/xpcom/glue/standalone/nsXPCOMGlue.cpp
@@ -132,6 +132,9 @@ static bool ReadDependentCB(pathstr_t aDependentLib,
ReadAheadLib(aDependentLib);
}
#endif
+ char lib[MAXPATHLEN];
+ if (realpath(aDependentLib, lib))
+ aDependentLib = lib;
LibHandleType libHandle = GetLibHandle(aDependentLib);
if (libHandle) {
AppendDependentLib(libHandle);

View File

@ -1,24 +0,0 @@
From: Mike Hommey <glandium@debian.org>
Date: Sat, 22 Nov 2008 09:35:23 +0100
Subject: Properly launch applications set in $HOME/.mailcap
https://bugzilla.mozilla.org/show_bug.cgi?id=444440
---
uriloader/exthandler/unix/nsMIMEInfoUnix.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
index 7cbefcc..c4bafef 100644
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -53,6 +53,10 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile) {
if (mDefaultApplication) return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile);
nsAutoCString nativePath;
+/* the name of the function has changed
+ * the old was the following:
+ nsCAutoString nativePath;
+ */
aFile->GetNativePath(nativePath);
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);

View File

@ -1,22 +0,0 @@
From: Carsten Schoenert <c.schoenert@t-online.de>
Date: Sat, 9 Mar 2013 20:30:54 +0100
Subject: fix function nsMsgComposeAndSend to respect ReploToSend
https://bugzilla.mozilla.org/show_bug.cgi?id=522450
Closes: #565903
---
comm/mailnews/compose/src/nsMsgSend.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/comm/mailnews/compose/src/nsMsgSend.cpp b/comm/mailnews/compose/src/nsMsgSend.cpp
index a1e1b40..b0525a3 100644
--- a/comm/mailnews/compose/src/nsMsgSend.cpp
+++ b/comm/mailnews/compose/src/nsMsgSend.cpp
@@ -2326,6 +2326,7 @@ nsresult nsMsgComposeAndSend::InitCompositionFields(
(aType == nsIMsgCompType::Reply ||
aType == nsIMsgCompType::ReplyAll ||
aType == nsIMsgCompType::ReplyToGroup ||
+ aType == nsIMsgCompType::ReplyToList ||
aType == nsIMsgCompType::ReplyToSender ||
aType == nsIMsgCompType::ReplyToSenderAndGroup ||
aType == nsIMsgCompType::ReplyWithTemplate)) {

View File

@ -1,21 +0,0 @@
From: Christoph Goehre <chris@sigxcpu.org>
Date: Sat, 24 Mar 2012 11:54:43 +0100
Subject: Don't auto-disable extensions in system directories
---
comm/mail/app/profile/all-thunderbird.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/comm/mail/app/profile/all-thunderbird.js b/comm/mail/app/profile/all-thunderbird.js
index 960700b..3467648 100644
--- a/comm/mail/app/profile/all-thunderbird.js
+++ b/comm/mail/app/profile/all-thunderbird.js
@@ -137,7 +137,7 @@ pref("extensions.hotfix.certs.2.sha1Fingerprint", "39:E7:2B:7A:5B:CF:37:78:F9:5D
// Disable add-ons installed into the shared user and shared system areas by
// default. This does not include the application directory. See the SCOPE
// constants in AddonManager.jsm for values to use here
-pref("extensions.autoDisableScopes", 15);
+pref("extensions.autoDisableScopes", 3);
// Enable add-ons installed and owned by the application, like the default theme.
pref("extensions.startupScanScopes", 4);

View File

@ -1,33 +0,0 @@
From: Mike Hommey <glandium@debian.org>
Date: Sat, 8 Dec 2007 19:24:40 +0100
Subject: Set javascript.options.showInConsole
---
modules/libpref/init/all.js | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index aa373d1..a211fe5 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1148,11 +1148,20 @@ pref("javascript.options.ion.offthread_compilation", true);
// memory, but makes things like Function.prototype.toSource()
// fail.
pref("javascript.options.discardSystemSource", false);
+pref("javascript.options.showInConsole", true);
// Many of the the following preferences tune the SpiderMonkey GC, if you
// change the defaults here please also consider changing them in
// js/src/jsgc.cpp. They're documented in js/src/jsapi.h.
+// JSGC_MAX_MALLOC_BYTES
+// How much malloc memory can be allocated before triggering a GC, in MB.
+// This preference limits the memory usage of javascript.
+// If you want to change these values for your device,
+// please find Bug 417052 comment 17 and Bug 456721
+// Comment 32 and Bug 613551.
+pref("javascript.options.mem.high_water_mark", 128);
+
// JSGC_MAX_BYTES
// SpiderMonkey defaults to 2^32-1 bytes, but this is measured in MB so that
// cannot be represented directly in order to show it in about:config.

View File

@ -1,9 +0,0 @@
fixes/Properly-launch-applications-set-in-HOME-.mailcap.patch
debian-hacks/Don-t-register-plugins-if-the-MOZILLA_DISABLE_PLUGIN.patch
fixes/Load-dependent-libraries-with-their-real-path-to-avo.patch
prefs/Set-javascript.options.showInConsole.patch
prefs/Don-t-auto-disable-extensions-in-system-directories.patch
fixes/fix-function-nsMsgComposeAndSend-to-respect-Replo.patch
fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch
debian-hacks/Set-program-name-from-the-remoting-name.patch
debian-hacks/Use-remoting-name-for-call-to-gdk_set_program_class.patch

View File

@ -1,5 +0,0 @@
{
"policies": {
"DisableAppUpdate": true
}
}

View File

@ -1,12 +0,0 @@
diff -up thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 thunderbird-60.5.0/mfbt/LinuxSignal.h
--- thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 2019-01-30 11:33:21.447003175 +0100
+++ thunderbird-60.5.0/mfbt/LinuxSignal.h 2019-01-30 11:35:13.848537051 +0100
@@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo
void* aContext) {
asm volatile("nop; nop; nop; nop" : : : "memory");
- asm volatile("b %0" : : "X"(H) : "memory");
+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
}
#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)

View File

@ -1,12 +0,0 @@
diff -up thunderbird-68.0/toolkit/moz.configure.elfhack thunderbird-68.0/toolkit/moz.configure
--- thunderbird-68.0/toolkit/moz.configure.elfhack 2019-08-29 16:33:28.491708653 +0200
+++ thunderbird-68.0/toolkit/moz.configure 2019-08-29 16:33:58.019805525 +0200
@@ -1130,7 +1130,7 @@ with only_when('--enable-compile-environ
help='{Enable|Disable} elf hacks')
set_config('USE_ELF_HACK',
- depends_if('--enable-elf-hack')(lambda _: True))
+ depends_if('--enable-elf-hack')(lambda _: False))
@depends(check_build_environment)

View File

@ -1,16 +0,0 @@
diff -up firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-68.0/media/webrtc/trunk/Makefile.old firefox-68.0/media/webrtc/trunk/Makefile
diff -up firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc.old firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc
--- firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc.old 2019-07-10 20:10:04.420328534 +0200
+++ firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc 2019-07-10 20:13:48.766658793 +0200
@@ -62,6 +62,10 @@ typedef void* SockOptArg;
#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
+#ifndef SIOCGSTAMP
+#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#endif
+
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);

View File

@ -1,17 +0,0 @@
# Remove when mozbz#1269319 lands
--- firefox-45.0.1-orig/js/src/Makefile.in 2016-05-17 14:53:58.753178403 +0200
+++ firefox-45.0.1/js/src/Makefile.in 2016-05-17 14:53:28.432817862 +0200
@@ -144,6 +144,11 @@ distclean::
CFLAGS += $(MOZ_ZLIB_CFLAGS)
+# Avoid GNU gcc bug #70526
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70526#c14
+CFLAGS += -fno-schedule-insns2
+CXXFLAGS += -fno-schedule-insns2
+
# Silence warnings on AIX/HP-UX from non-GNU compilers
ifndef GNU_CC
ifeq ($(OS_ARCH),AIX)

View File

@ -1,12 +0,0 @@
diff -up thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h.1353817 thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h
--- thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h.1353817 2019-08-29 16:31:20.892290062 +0200
+++ thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h 2019-08-29 16:32:05.430436157 +0200
@@ -416,7 +416,7 @@ typedef SkNx<8, uint32_t> Sk8u;
// Include platform specific specializations if available.
#if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
#include "SkNx_sse.h"
-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON)
+#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64))
#include "SkNx_neon.h"
#else

View File

@ -1,21 +0,0 @@
diff -up thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.mozbz-1512162 thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp
--- thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.mozbz-1512162 2019-09-10 01:43:33.000000000 +0200
+++ thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp 2019-09-12 16:16:52.644123766 +0200
@@ -1092,7 +1092,7 @@ class MOZ_STACK_CLASS CallMethodHelper f
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
MutableHandleValue srcp) const;
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+ bool GatherAndConvertResults();
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
@@ -1139,7 +1139,7 @@ class MOZ_STACK_CLASS CallMethodHelper f
~CallMethodHelper();
- MOZ_ALWAYS_INLINE bool Call();
+ bool Call();
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
void trace(JSTracer* aTrc);

View File

@ -1,17 +0,0 @@
diff --git a/widget/gtk/nsClipboardWayland.cpp b/widget/gtk/nsClipboardWayland.cpp
--- a/widget/gtk/nsClipboardWayland.cpp
+++ b/widget/gtk/nsClipboardWayland.cpp
@@ -195,6 +195,12 @@
uint32_t all_actions = WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY |
WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE;
+ /* Default to move D&D action (Bug 1576268).
+ */
+ if (dnd_actions == 0) {
+ all_actions = WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE;
+ }
+
wl_data_offer_set_actions(mWaylandDataOffer, all_actions, dnd_actions);
/* Workaround Wayland D&D architecture here. To get the data_device_drop()

View File

@ -1,14 +0,0 @@
diff -up firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old firefox-60.6.0/widget/gtk/nsFilePicker.cpp
--- firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old 2019-03-27 10:29:47.918560620 +0100
+++ firefox-60.6.0/widget/gtk/nsFilePicker.cpp 2019-03-27 10:30:08.384491717 +0100
@@ -366,9 +366,7 @@ nsFilePicker::Open(nsIFilePickerShownCal
// If we have --enable-proxy-bypass-protection, then don't allow
// remote URLs to be used.
#ifndef MOZ_PROXY_BYPASS_PROTECTION
- if (mAllowURLs) {
- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
- }
+ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
#endif
if (action == GTK_FILE_CHOOSER_ACTION_OPEN ||

View File

@ -1,11 +0,0 @@
Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
firefox-SIOCGSTAMP.patch
mozilla-1512162.patch
thunderbird-debug.patch
mozilla-1245783.patch
mozilla-1353817.patch
build-disable-elfhack.patch
mozilla-526293.patch
mozilla-1576268.patch

View File

@ -1,12 +0,0 @@
diff -up thunderbird-60.6.1/intl/locale/LocaleService.cpp.debug thunderbird-60.6.1/intl/locale/LocaleService.cpp
--- thunderbird-60.6.1/intl/locale/LocaleService.cpp.debug 2019-05-15 08:15:14.602872505 +0200
+++ thunderbird-60.6.1/intl/locale/LocaleService.cpp 2019-05-15 08:15:53.717635322 +0200
@@ -643,8 +643,6 @@ LocaleService::GetDefaultLocale(nsACStri
// just use our hard-coded default below.
GetGREFileContents("update.locale", &locale);
locale.Trim(" \t\n\r");
- // This should never be empty.
- MOZ_ASSERT(!locale.IsEmpty());
if (SanitizeForBCP47(locale, true)) {
mDefaultLocale.Assign(locale);
}

View File

@ -1,15 +0,0 @@
diff -up firefox-68.0/mfbt/LinuxSignal.h.1238661 firefox-68.0/mfbt/LinuxSignal.h
--- firefox-68.0/mfbt/LinuxSignal.h.1238661 2019-07-08 22:27:29.620749569 +0200
+++ firefox-68.0/mfbt/LinuxSignal.h 2019-07-08 22:44:17.794112428 +0200
@@ -22,7 +22,10 @@ __attribute__((naked)) void SignalTrampo
void* aContext) {
asm volatile("nop; nop; nop; nop" : : : "memory");
- asm volatile("b %0" : : "X"(H) : "memory");
+ // Because the assembler may generate additional insturctions below, we
+ // need to ensure NOPs are inserted first by separating them out above.
+
+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
}
# define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)

View File

@ -1,12 +0,0 @@
diff -up firefox-65.0/toolkit/moz.configure.disable-elfhack firefox-65.0/toolkit/moz.configure
--- firefox-65.0/toolkit/moz.configure.disable-elfhack 2019-01-28 14:16:48.530345132 +0100
+++ firefox-65.0/toolkit/moz.configure 2019-01-28 14:18:03.231029682 +0100
@@ -1036,7 +1036,7 @@ with only_when('--enable-compile-environ
help='{Enable|Disable} elf hacks')
set_config('USE_ELF_HACK',
- depends_if('--enable-elf-hack')(lambda _: True))
+ depends_if('--enable-elf-hack')(lambda _: False))
@depends(check_build_environment)

View File

@ -1,99 +0,0 @@
diff -up firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2020-04-03 21:34:41.000000000 +0200
+++ firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2020-04-06 22:40:02.760674871 +0200
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
if (NS_FAILED(rv)) return rv;
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
- if (NS_FAILED(rv)) return rv;
+ if (NS_FAILED(rv)) {
+ // Look for cfg file in /etc/<application>/pref
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(jsFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-75.0/modules/libpref/Preferences.cpp.1170092 firefox-75.0/modules/libpref/Preferences.cpp
--- firefox-75.0/modules/libpref/Preferences.cpp.1170092 2020-04-06 22:40:02.761674865 +0200
+++ firefox-75.0/modules/libpref/Preferences.cpp 2020-04-06 22:40:57.675325227 +0200
@@ -4468,6 +4468,9 @@ nsresult Preferences::InitInitialObjects
//
// Thus, in the omni.jar case, we always load app-specific default
// preferences from omni.jar, whether or not `$app == $gre`.
+ //
+ // At very end load configuration from system config location:
+ // - /etc/firefox/pref/*.js
nsresult rv = NS_ERROR_FAILURE;
UniquePtr<nsZipFind> find;
diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/toolkit/xre/nsXREDirProvider.cpp 2020-04-06 22:40:02.761674865 +0200
@@ -60,6 +60,7 @@
#endif
#ifdef XP_UNIX
# include <ctype.h>
+# include "nsIXULAppInfo.h"
#endif
#ifdef XP_IOS
# include "UIKitDirProvider.h"
@@ -533,6 +534,21 @@ nsXREDirProvider::GetFile(const char* aP
}
}
}
+
+#if defined(XP_UNIX)
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
+ nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
+ if (!appInfo)
+ return NS_ERROR_NOT_AVAILABLE;
+ nsCString appName;
+ appInfo->GetName(appName);
+ ToLowerCase(appName);
+ sysConfigDir.Append(appName);
+ return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
+ }
+#endif
+
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
if (ensureFilePermissions) {
@@ -845,6 +861,16 @@ nsresult nsXREDirProvider::GetFilesInter
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
+ // Add /etc/<application>/pref/ directory if it exists
+ nsCOMPtr<nsIFile> systemPrefDir;
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(systemPrefDir));
+ if (NS_SUCCEEDED(rv)) {
+ rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
+ if (NS_SUCCEEDED(rv))
+ directories.AppendObject(systemPrefDir);
+ }
+
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
diff -up firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h 2020-04-06 22:40:02.761674865 +0200
@@ -60,6 +60,7 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \
"PrefDOverride" // Directory for per-profile defaults
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"

View File

@ -1,12 +0,0 @@
diff -up firefox-70.0/layout/base/PresShell.h.1354671 firefox-70.0/layout/base/PresShell.h
--- firefox-70.0/layout/base/PresShell.h.1354671 2019-10-22 12:33:12.987775587 +0200
+++ firefox-70.0/layout/base/PresShell.h 2019-10-22 12:36:39.999366086 +0200
@@ -257,7 +257,7 @@ class PresShell final : public nsStubDoc
* to the same aSize value. AllocateFrame is infallible and will abort
* on out-of-memory.
*/
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
#define FRAME_ID(classname, ...) \
static_assert(size_t(nsQueryFrame::FrameIID::classname##_id) == \
size_t(eArenaObjectID_##classname), \

View File

@ -1,6 +0,0 @@
build-disable-elfhack.patch
mozilla-1170092.patch
rhbz-1354671.patch
Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Name=Mozilla Thunderbird
Comment=Mail & News Reader
Exec=/usr/bin/thunderbird %u
Icon=thunderbird-icon-unbranded
Terminal=false
Type=Application
Categories=Office;Email;
MimeType=text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;
StartupNotify=true

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Name=Mozilla Thunderbird
Comment=Mail & News Reader
Exec=/usr/bin/thunderbird %u
Icon=thunderbird-icon
Terminal=false
Type=Application
Categories=Office;Email;
MimeType=text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;
StartupNotify=true

View File

@ -1,34 +0,0 @@
From 89767f5dd97e69d7e9189e5603647645818d27d6 Mon Sep 17 00:00:00 2001
From: marxin <mliska@suse.cz>
Date: Thu, 29 Nov 2018 10:07:29 +0100
Subject: [PATCH 2/3] Add kde.js in order to survive PGO build.
---
browser/app/Makefile.in | 1 +
kde.js | 2 ++
2 files changed, 3 insertions(+)
create mode 100644 kde.js
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
index 4129aa43fb91..c9950895d520 100644
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -57,6 +57,7 @@ endif
libs:: $(srcdir)/profile/channel-prefs.js
$(NSINSTALL) -D $(DIST)/bin/defaults/pref
$(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js)
+ cp $(topsrcdir)/kde.js $(DIST)/bin/defaults/pref/kde.js
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
diff --git a/kde.js b/kde.js
new file mode 100644
index 000000000000..b0d3e5d20437
--- /dev/null
+++ b/kde.js
@@ -0,0 +1,2 @@
+pref("browser.preferences.instantApply", false);
+pref("browser.backspace_action", 0);
--
2.19.1

View File

@ -1,50 +0,0 @@
# HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
@@ -22,12 +22,15 @@ def FirefoxBranding():
FINAL_TARGET_FILES.VisualElements += [
'VisualElements_150.png',
'VisualElements_70.png',
]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
FINAL_TARGET_FILES.chrome.icons.default += [
'default128.png',
'default16.png',
+ 'default22.png',
+ 'default24.png',
+ 'default256.png',
'default32.png',
'default48.png',
'default64.png',
]
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -404,20 +404,23 @@
@RESPATH@/browser/chrome/pdfjs.manifest
@RESPATH@/browser/chrome/pdfjs/*
@RESPATH@/chrome/toolkit@JAREXT@
@RESPATH@/chrome/toolkit.manifest
@RESPATH@/chrome/recording.manifest
@RESPATH@/chrome/recording/*
#ifdef MOZ_GTK
@RESPATH@/browser/chrome/icons/default/default16.png
+@RESPATH@/browser/chrome/icons/default/default22.png
+@RESPATH@/browser/chrome/icons/default/default24.png
@RESPATH@/browser/chrome/icons/default/default32.png
@RESPATH@/browser/chrome/icons/default/default48.png
@RESPATH@/browser/chrome/icons/default/default64.png
@RESPATH@/browser/chrome/icons/default/default128.png
+@RESPATH@/browser/chrome/icons/default/default256.png
#endif
@RESPATH@/browser/features/*
; [Webide Files]
@RESPATH@/browser/chrome/webide@JAREXT@
@RESPATH@/browser/chrome/webide.manifest
@RESPATH@/browser/@PREF_DIR@/webide.js

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
pref("intl.locale.requested", "");
pref("intl.multilingual.enabled", true);
pref("spellchecker.dictionary_path", "/usr/share/myspell");

View File

@ -1,81 +0,0 @@
# HG changeset patch
# Parent 051b75a600dfbf7503c3485cebfd34d4eb29be96
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff -r 051b75a600df gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp Fri Jul 05 12:42:44 2019 +0200
+++ b/gfx/2d/DrawTargetSkia.cpp Mon Jul 08 10:59:30 2019 +0200
@@ -138,8 +138,7 @@
return surfaceBounds.Intersect(bounds);
}
-static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
diff -r 051b75a600df gfx/2d/Types.h
--- a/gfx/2d/Types.h Fri Jul 05 12:42:44 2019 +0200
+++ b/gfx/2d/Types.h Mon Jul 08 10:59:30 2019 +0200
@@ -85,15 +85,8 @@
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
// value.
-#if MOZ_LITTLE_ENDIAN
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8 // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = X8R8G8B8 // 0x00RRGGBB
-#else
-# error "bad endianness"
-#endif
};
static inline int BytesPerPixel(SurfaceFormat aFormat) {
diff -r 051b75a600df gfx/skia/skia/third_party/skcms/skcms.cc
--- a/gfx/skia/skia/third_party/skcms/skcms.cc Fri Jul 05 12:42:44 2019 +0200
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 08 10:59:30 2019 +0200
@@ -17,6 +17,8 @@
#include <arm_neon.h>
#elif defined(__SSE__)
#include <immintrin.h>
+#else
+ #define SKCMS_PORTABLE
#endif
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
@@ -124,20 +126,28 @@
static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return be;
+#else
+ #if defined(_MSC_VER)
return _byteswap_ushort(be);
-#else
+ #else
return __builtin_bswap16(be);
+ #endif
#endif
}
static uint32_t read_big_u32(const uint8_t* ptr) {
uint32_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+ return be;
+#else
+ #if defined(_MSC_VER)
return _byteswap_ulong(be);
-#else
+ #else
return __builtin_bswap32(be);
+ #endif
#endif
}

View File

@ -1,88 +0,0 @@
# HG changeset patch
# Parent 548d0a2f3a22bfac32ec0c3921c6c969c8bf32a9
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
has no interest in maintaining big endian.
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
out again, we transform back to BE.
diff -r 548d0a2f3a22 gfx/2d/ConvolutionFilter.cpp
--- a/gfx/2d/ConvolutionFilter.cpp Mon Jul 22 16:57:54 2019 +0200
+++ b/gfx/2d/ConvolutionFilter.cpp Thu Jul 25 14:27:59 2019 +0200
@@ -35,9 +35,38 @@
return true;
}
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
+ for (int pxl = 0; pxl < size; ++pxl) {
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
+ uint32_t rgba = array[pxl];
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
+ }
+}
+
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
bool aHasAlpha) {
+#ifdef MOZ_BIG_ENDIAN
+ int outputSize = mFilter->numValues();
+
+ // Input size isn't handed in, so we have to calculate it quickly
+ int inputSize = 0;
+ for (int xx = 0; xx < outputSize; ++xx) {
+ // Get the filter that determines the current output pixel.
+ int filterOffset, filterLength;
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
+ inputSize = std::max(inputSize, filterOffset + filterLength);
+ }
+
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
+#endif
+
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
+
+#ifdef MOZ_BIG_ENDIAN
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
+ ByteSwapArray(aDst, outputSize);
+#endif
}
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
@@ -49,8 +78,26 @@
int32_t filterLength;
auto filterValues =
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
+
+#ifdef MOZ_BIG_ENDIAN
+ for (int filterY = 0; filterY < filterLength; filterY++) {
+ // Skia only knows LE, so we have to swizzle the input
+ ByteSwapArray(aSrc[filterY], aRowSize);
+ }
+#endif
+
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
aHasAlpha);
+
+#ifdef MOZ_BIG_ENDIAN
+ // After skia is finished, we swizzle back to BE, in case
+ // the input is used again somewhere else
+ for (int filterY = 0; filterY < filterLength; filterY++) {
+ ByteSwapArray(aSrc[filterY], aRowSize);
+ }
+ // The destination array as well
+ ByteSwapArray(aDst, aRowSize);
+#endif
}
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
diff -r 548d0a2f3a22 gfx/skia/skia/include/core/SkPreConfig.h
--- a/gfx/skia/skia/include/core/SkPreConfig.h Mon Jul 22 16:57:54 2019 +0200
+++ b/gfx/skia/skia/include/core/SkPreConfig.h Thu Jul 25 14:27:59 2019 +0200
@@ -73,7 +73,7 @@
defined(__ppc__) || defined(__hppa) || \
defined(__PPC__) || defined(__PPC64__) || \
defined(_MIPSEB) || defined(__ARMEB__) || \
- defined(__s390__) || \
+ defined(__s390__) || defined(__s390x__) || \
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
(defined(__ia64) && defined(__BIG_ENDIAN__))
#define SK_CPU_BENDIAN

View File

@ -1,38 +0,0 @@
# HG changeset patch
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff -r aecb4600e5da -r 49f25e4c2fd1 gfx/skia/skia/include/private/SkNx.h
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
+++ b/gfx/skia/skia/include/private/SkNx.h Fri Aug 23 15:00:43 2019 +0200
@@ -238,7 +238,14 @@
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
- AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
+ // On Big endian the commented out variant doesn't work,
+ // and honestly, I have no idea why it exists in the first place.
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
+ // cutting off the wrong half again.
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
+ // AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
diff -r aecb4600e5da -r 49f25e4c2fd1 gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Fri Aug 23 15:00:43 2019 +0200
@@ -203,7 +203,9 @@
// ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa)
- return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
+
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
+ d.approxMulDiv255(aa.inv());
};
while (h --> 0) {

View File

@ -1,30 +0,0 @@
# HG changeset patch
# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
Problem description: Tab-titles that are too long to fit into a tab get faded out.
On big endian this is broken and instead of fading out, the
tab gets white and the font transparent, leading to an unreadable
tab-title
Solution: This is not a real solution, but a hack. The real solution would have been
to byte-swap the correct buffer, but I could not find it.
So the next best thing is to deactivate the fading-effect. Now all tab-titles
are readable, albeit not as pretty to look at as they could be.
Side-effects: I have not yet found an unwanted side-effect.
diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
@@ -1861,6 +1861,14 @@
SkCanvas::kPreserveLCDText_SaveLayerFlag |
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
+#if MOZ_BIG_ENDIAN
+ // Pushing a layer where an aMask is defined produces wrong output.
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
+ // Therefore I deactivate those layers in the meantime.
+ // The result is: Tab-titles that are longer than the available space should be faded out.
+ // The fading doesn't work, so we deactivate the fading-effect here.
+ if (!aMask)
+#endif
mCanvas->saveLayer(saveRec);
SetPermitSubpixelAA(aOpaque);

View File

@ -1,28 +0,0 @@
diff -r 6ef20eee3f8f gfx/layers/basic/BasicCompositor.cpp
--- a/gfx/layers/basic/BasicCompositor.cpp Thu Oct 31 09:11:56 2019 +0100
+++ b/gfx/layers/basic/BasicCompositor.cpp Wed Dec 11 16:16:09 2019 +0100
@@ -693,9 +693,13 @@
RefPtr<SourceSurface> sourceMask;
Matrix maskTransform;
+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
+ // if the typed URL is too long for the textbox (automatic scrolling needed)
+#if MOZ_LITTLE_ENDIAN
if (aTransform.Is2D()) {
SetupMask(aEffectChain, dest, offset, sourceMask, maskTransform);
}
+#endif
CompositionOp blendMode = CompositionOp::OP_OVER;
if (Effect* effect =
diff -r 6ef20eee3f8f gfx/layers/composite/CompositableHost.cpp
--- a/gfx/layers/composite/CompositableHost.cpp Thu Oct 31 09:11:56 2019 +0100
+++ b/gfx/layers/composite/CompositableHost.cpp Wed Dec 11 16:16:09 2019 +0100
@@ -91,6 +91,7 @@
}
MOZ_ASSERT(source);
+ // Alternatively: Comment out these lines where the alpha-mask is set
RefPtr<EffectMask> effect =
new EffectMask(source, source->GetSize(), aTransform);
aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;

View File

@ -1,23 +0,0 @@
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
knows how to deal with little endian.
So we swizzle the output of webgl after reading it from readpixels()
Note: This does not fix all webGL sites, but is a step in the right direction
diff -r 6b017d3e9733 gfx/gl/GLContext.h
--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200
+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100
@@ -1551,6 +1551,13 @@
BEFORE_GL_CALL;
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
OnSyncCall();
+#if MOZ_BIG_ENDIAN
+ uint8_t* itr = (uint8_t*)pixels;
+ for (GLsizei i = 0; i < width * height; i++) {
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
+ itr += 4;
+ }
+#endif
AFTER_GL_CALL;
mHeavyGLCallsSinceLastFlush = true;
}

View File

@ -1,18 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent a9d61a2614b01b1e0ca37d00a6b11b2571868f86
diff --git a/media/libcubeb/src/cubeb_utils.cpp b/media/libcubeb/src/cubeb_utils.cpp
--- a/media/libcubeb/src/cubeb_utils.cpp
+++ b/media/libcubeb/src/cubeb_utils.cpp
@@ -15,9 +15,10 @@ size_t cubeb_sample_size(cubeb_sample_fo
return sizeof(int16_t);
case CUBEB_SAMPLE_FLOAT32LE:
case CUBEB_SAMPLE_FLOAT32BE:
return sizeof(float);
default:
// should never happen as all cases are handled above.
assert(false);
}
+ return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,35 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer
# Date 1558442915 -7200
# Tue May 21 14:48:35 2019 +0200
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b
Do not use gconf for proxy settings if not running within Gnome
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
===================================================================
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
retrieving revision 1.1
diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200
@@ -55,11 +55,14 @@
}
void nsUnixSystemProxySettings::Init() {
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
- getter_AddRefs(mProxySettings));
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) {
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) {
+ mGSettings->GetCollectionForSchema(
+ NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+ getter_AddRefs(mProxySettings));
+ }
}
}

View File

@ -1,34 +0,0 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1560754926 -7200
# Mon Jun 17 09:02:06 2019 +0200
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
# Parent 6cd963b6c82ea6629aaf4050851789b78f310338
#Description: reduce the rust debuginfo level on selected architectures where
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
# launchpad builders. Initially this was only on 32 bit architectures, but with
# firefox 63 it started happening frequently on arm64 and ppc64el too.
diff -r 6cd963b6c82e -r 428161c3b959 build/moz.configure/toolchain.configure
--- a/build/moz.configure/toolchain.configure Tue May 21 17:26:58 2019 +0200
+++ b/build/moz.configure/toolchain.configure Mon Jun 17 09:02:06 2019 +0200
@@ -1865,8 +1865,8 @@
return '1' if moz_optimize.optimize else '0'
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols')
-def rust_compile_flags(opt_level, debug_rust, debug_symbols):
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', host)
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, host):
# Cargo currently supports only two interesting profiles for building:
# development and release. Those map (roughly) to --enable-debug and
# --disable-debug in Gecko, respectively.
@@ -1889,6 +1889,8 @@
if debug_symbols:
debug_info = '2'
+ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
+ debug_info = '1'
opts = []

View File

@ -1,14 +0,0 @@
mozilla-nongnome-proxies.patch
mozilla-kde.patch
mozilla-cubeb-noreturn.patch
mozilla-reduce-rust-debuginfo.patch
mozilla-bmo849632.patch
mozilla-bmo1504834-part1.patch
mozilla-bmo1504834-part2.patch
mozilla-bmo1504834-part3.patch
mozilla-bmo1602730.patch
mozilla-bmo1504834-part4.patch
firefox-kde.patch
firefox-branded-icons.patch
firefox-add-kde.js-in-order-to-survive-PGO-build.patch

View File

@ -1,20 +0,0 @@
# HG changeset patch
# User Steve Singer <steve@ssinger.info>
# Date 1558451540 -7200
# Tue May 21 17:12:20 2019 +0200
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
# Parent 0b9b94a6526d4f1aa6e23b95c1f5f7c0bef841a7
Bug 1005535 - Get skia GPU building on big endian.
diff -r 0b9b94a6526d gfx/skia/skia/src/gpu/GrColor.h
--- a/gfx/skia/skia/src/gpu/GrColor.h Tue May 21 17:26:58 2019 +0200
+++ b/gfx/skia/skia/src/gpu/GrColor.h Wed Jan 08 12:14:52 2020 +0100
@@ -64,7 +64,7 @@
* Since premultiplied means that alpha >= color, we construct a color with
* each component==255 and alpha == 0 to be "illegal"
*/
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
static inline float GrNormalizeByteToFloat(uint8_t value) {

View File

@ -1,46 +0,0 @@
# HG changeset patch
# User Mike Hommey <mh+mozilla@glandium.org>
# Date 1526871862 -32400
# Mon May 21 12:04:22 2018 +0900
# Node ID 74a0c200d7f748a3fe46bb22a38625b074da8e26
# Parent 0bf4a038a7129aa6bfd7bb27e7455ab649344ac5
Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
For some reason, GNU as is not happy with the assembly generated after
bug 1238661 anymore on Debian armel.
OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
workaround anymore, so let's just kill it.
diff -r 0bf4a038a712 -r 74a0c200d7f7 mozglue/baseprofiler/core/platform-linux-android.cpp
--- a/mozglue/baseprofiler/core/platform-linux-android.cpp Tue May 21 14:49:58 2019 +0200
+++ b/mozglue/baseprofiler/core/platform-linux-android.cpp Mon May 21 12:04:22 2018 +0900
@@ -60,7 +60,6 @@
#include <stdarg.h>
#include "prenv.h"
-#include "mozilla/LinuxSignal.h"
#include "mozilla/PodOperations.h"
#include "mozilla/DebugOnly.h"
@@ -271,7 +270,7 @@
// Request profiling signals.
struct sigaction sa;
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
+ sa.sa_sigaction = SigprofHandler;
sigemptyset(&sa.sa_mask);
sa.sa_flags = SA_RESTART | SA_SIGINFO;
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
diff -r 0bf4a038a712 -r 74a0c200d7f7 tools/profiler/core/platform-linux-android.cpp
--- a/tools/profiler/core/platform-linux-android.cpp Tue May 21 14:49:58 2019 +0200
+++ b/tools/profiler/core/platform-linux-android.cpp Mon May 21 12:04:22 2018 +0900
@@ -263,7 +263,7 @@
// Request profiling signals.
struct sigaction sa;
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
+ sa.sa_sigaction = SigprofHandler;
sigemptyset(&sa.sa_mask);
sa.sa_flags = SA_RESTART | SA_SIGINFO;
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {

View File

@ -1,121 +0,0 @@
# HG changeset patch
# Parent 9db312f823881c04c5c16a7623df08cf6aef371d
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
@@ -131,18 +131,17 @@ static IntRect CalculateSurfaceBounds(co
Rect sampledBounds = inverse.TransformBounds(*aBounds);
if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds;
}
return surfaceBounds.Intersect(bounds);
}
-static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
return true;
}
// We should've initialized the data to be opaque already
// On debug builds, verify that this is actually true.
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h
@@ -82,25 +82,18 @@ enum class SurfaceFormat : int8_t {
Depth,
// This represents the unknown format.
UNKNOWN,
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
// value.
-#if MOZ_LITTLE_ENDIAN()
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN()
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
-#else
-# error "bad endianness"
-#endif
// The following values are OS and endian-independent synonyms.
//
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
OS_RGBA = A8R8G8B8_UINT32,
OS_RGBX = X8R8G8B8_UINT32
};
diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_party/skcms/skcms.cc
--- a/gfx/skia/skia/third_party/skcms/skcms.cc
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
@@ -25,16 +25,18 @@
// it'd be a lot slower. But we want all those headers included so we
// can use their features after runtime checks later.
#include <smmintrin.h>
#include <avxintrin.h>
#include <avx2intrin.h>
#include <avx512fintrin.h>
#include <avx512dqintrin.h>
#endif
+#else
+ #define SKCMS_PORTABLE
#endif
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit.
//
// Please do not use sizeof() directly, and size_t only when required.
// (We have no way of enforcing these requests...)
#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
@@ -275,30 +277,38 @@ enum {
skcms_Signature_sf32 = 0x73663332,
// XYZ is also a PCS signature, so it's defined in skcms.h
// skcms_Signature_XYZ = 0x58595A20,
};
static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return be;
+#else
+ #if defined(_MSC_VER)
return _byteswap_ushort(be);
-#else
+ #else
return __builtin_bswap16(be);
+ #endif
#endif
}
static uint32_t read_big_u32(const uint8_t* ptr) {
uint32_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+ return be;
+#else
+ #if defined(_MSC_VER)
return _byteswap_ulong(be);
-#else
+ #else
return __builtin_bswap32(be);
+ #endif
#endif
}
static int32_t read_big_i32(const uint8_t* ptr) {
return (int32_t)read_big_u32(ptr);
}
static float read_big_fixed(const uint8_t* ptr) {

View File

@ -1,88 +0,0 @@
# HG changeset patch
# Parent 0e579dcbf7328dda4512cbdafc9b42acec4935ea
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
has no interest in maintaining big endian.
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
out again, we transform back to BE.
diff -r 0e579dcbf732 gfx/2d/ConvolutionFilter.cpp
--- a/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:44 2020 +0100
+++ b/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:49 2020 +0100
@@ -35,9 +35,38 @@
return true;
}
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
+ for (int pxl = 0; pxl < size; ++pxl) {
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
+ uint32_t rgba = array[pxl];
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
+ }
+}
+
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
bool aHasAlpha) {
+#if MOZ_BIG_ENDIAN()
+ int outputSize = mFilter->numValues();
+
+ // Input size isn't handed in, so we have to calculate it quickly
+ int inputSize = 0;
+ for (int xx = 0; xx < outputSize; ++xx) {
+ // Get the filter that determines the current output pixel.
+ int filterOffset, filterLength;
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
+ inputSize = std::max(inputSize, filterOffset + filterLength);
+ }
+
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
+#endif
+
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
+
+#if MOZ_BIG_ENDIAN()
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
+ ByteSwapArray(aDst, outputSize);
+#endif
}
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
@@ -49,8 +78,26 @@
int32_t filterLength;
auto filterValues =
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
+
+#if MOZ_BIG_ENDIAN()
+ for (int filterY = 0; filterY < filterLength; filterY++) {
+ // Skia only knows LE, so we have to swizzle the input
+ ByteSwapArray(aSrc[filterY], aRowSize);
+ }
+#endif
+
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
aHasAlpha);
+
+#if MOZ_BIG_ENDIAN()
+ // After skia is finished, we swizzle back to BE, in case
+ // the input is used again somewhere else
+ for (int filterY = 0; filterY < filterLength; filterY++) {
+ ByteSwapArray(aSrc[filterY], aRowSize);
+ }
+ // The destination array as well
+ ByteSwapArray(aDst, aRowSize);
+#endif
}
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
diff -r 0e579dcbf732 gfx/skia/skia/include/core/SkPreConfig.h
--- a/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:44 2020 +0100
+++ b/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:49 2020 +0100
@@ -73,7 +73,7 @@
defined(__ppc__) || defined(__hppa) || \
defined(__PPC__) || defined(__PPC64__) || \
defined(_MIPSEB) || defined(__ARMEB__) || \
- defined(__s390__) || \
+ defined(__s390__) || defined(__s390x__) || \
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
(defined(__ia64) && defined(__BIG_ENDIAN__))
#define SK_CPU_BENDIAN

View File

@ -1,44 +0,0 @@
# HG changeset patch
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200
@@ -238,7 +238,18 @@
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
+ // On Big endian the commented out variant doesn't work,
+ // and honestly, I have no idea why it exists in the first place.
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
+ // cutting off the wrong half again.
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
+#ifdef SK_CPU_BENDIAN
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
+#else
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
+#endif
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200
@@ -203,7 +203,13 @@
// ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa)
+
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
+#ifdef SK_CPU_BENDIAN
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
+#else
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
+#endif
+ d.approxMulDiv255(aa.inv());
};
while (h --> 0) {

View File

@ -1,30 +0,0 @@
# HG changeset patch
# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
Problem description: Tab-titles that are too long to fit into a tab get faded out.
On big endian this is broken and instead of fading out, the
tab gets white and the font transparent, leading to an unreadable
tab-title
Solution: This is not a real solution, but a hack. The real solution would have been
to byte-swap the correct buffer, but I could not find it.
So the next best thing is to deactivate the fading-effect. Now all tab-titles
are readable, albeit not as pretty to look at as they could be.
Side-effects: I have not yet found an unwanted side-effect.
diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
@@ -1861,6 +1861,14 @@
SkCanvas::kPreserveLCDText_SaveLayerFlag |
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
+#if MOZ_BIG_ENDIAN()
+ // Pushing a layer where an aMask is defined produces wrong output.
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
+ // Therefore I deactivate those layers in the meantime.
+ // The result is: Tab-titles that are longer than the available space should be faded out.
+ // The fading doesn't work, so we deactivate the fading-effect here.
+ if (!aMask)
+#endif
mCanvas->saveLayer(saveRec);
SetPermitSubpixelAA(aOpaque);

View File

@ -1,34 +0,0 @@
# HG changeset patch
# Parent e5858dc7ab007042436496f7cfb9a5abf10f5082
This fixes a broken build for gcc < 9 on ppc64le.
This patch can be removed for newer gcc-versions.
diff -r e5858dc7ab00 -r 5d3469aabe61 js/xpconnect/src/XPCWrappedNative.cpp
--- a/js/xpconnect/src/XPCWrappedNative.cpp Thu Nov 29 10:07:29 2018 +0100
+++ b/js/xpconnect/src/XPCWrappedNative.cpp Tue Sep 10 12:42:13 2019 +0200
@@ -1092,7 +1092,11 @@
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
MutableHandleValue srcp) const;
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+ MOZ_ALWAYS_INLINE
+#endif
+ bool GatherAndConvertResults();
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
@@ -1139,7 +1143,11 @@
~CallMethodHelper();
- MOZ_ALWAYS_INLINE bool Call();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+ MOZ_ALWAYS_INLINE
+#endif
+ bool Call();
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
void trace(JSTracer* aTrc);

View File

@ -1,22 +0,0 @@
# HG changeset patch
# Parent a25cebecb02d5460b8ad757fe9cb4a9c8d1d7658
Eliminate startup error message:
JavaScript error: , line 0: Error: Type error for platformInfo value (Error processing arch: Invalid enumeration value "s390x") for runtime.getPlatformInfo.
Reported here: https://bugzilla.mozilla.org/show_bug.cgi?id=1554971
Uncertain if this is causing real problems or not. Also uncertain if the fix actually fixes anything.
No response from upstream yet.
diff -r a25cebecb02d -r 378b81b00e73 toolkit/components/extensions/schemas/runtime.json
--- a/toolkit/components/extensions/schemas/runtime.json Fri Jul 05 12:42:44 2019 +0200
+++ b/toolkit/components/extensions/schemas/runtime.json Fri Jul 19 13:19:30 2019 +0200
@@ -64,7 +64,7 @@
{
"id": "PlatformArch",
"type": "string",
- "enum": ["arm", "x86-32", "x86-64"],
+ "enum": ["arm", "x86-32", "x86-64", "s390x", "aarch64", "ppc64le"],
"allowedContexts": ["content", "devtools"],
"description": "The machine's processor architecture."
},

View File

@ -1,30 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2019-07-22
Allow to override build date with SOURCE_DATE_EPOCH
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
index 6f72697..d4cca96 100644
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
@@ -16,6 +16,7 @@ import os
import json
import io
import datetime
+import time
import requests
import mozversioncontrol
import mozpack.path as mozpath
@@ -100,7 +101,7 @@ def get_timestamp_for_locale(path):
dt = get_dt_from_hg(path)
if dt is None:
- dt = datetime.datetime.utcnow()
+ dt = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
dt = dt.replace(microsecond=0)
return dt.strftime("%Y%m%d%H%M%S")

View File

@ -1,25 +0,0 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1582805890 -3600
# Thu Feb 27 13:18:10 2020 +0100
# Node ID 457cbe5705f2a3759d3da36a05c0ed66ec61ea12
# Parent 7440f4b6bab85068ca2f84e9c48e0706d04330e8
imported patch mozilla-bmo1602730-FF73.patch
diff -r 7440f4b6bab8 gfx/layers/composite/CompositableHost.cpp
--- a/gfx/layers/composite/CompositableHost.cpp Thu Feb 27 13:17:56 2020 +0100
+++ b/gfx/layers/composite/CompositableHost.cpp Wed Jun 17 15:33:32 2020 +0200
@@ -92,9 +92,13 @@
}
MOZ_ASSERT(source);
+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
+ // if the typed URL is too long for the textbox (automatic scrolling needed)
+#if MOZ_LITTLE_ENDIAN()
RefPtr<EffectMask> effect =
new EffectMask(source, source->GetSize(), aTransform);
aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
+#endif
return true;
}

View File

@ -1,85 +0,0 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1582805876 -3600
# Thu Feb 27 13:17:56 2020 +0100
# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
imported patch decoder_workaround.patch
diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
--- a/image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100
+++ b/image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -422,6 +422,9 @@
MOZ_ASSERT(mSwizzleFn);
uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
mSwizzleFn(data, data, aColors);
+#if MOZ_BIG_ENDIAN()
+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
+#endif
}
LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
--- a/image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
+++ b/image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -263,6 +263,9 @@
case JCS_YCbCr:
// By default, we will output directly to BGRA. If we need to apply
// special color transforms, this may change.
+#if MOZ_BIG_ENDIAN()
+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
+#else
switch (SurfaceFormat::OS_RGBX) {
case SurfaceFormat::B8G8R8X8:
mInfo.out_color_space = JCS_EXT_BGRX;
@@ -277,6 +280,7 @@
mState = JPEG_ERROR;
return Transition::TerminateFailure();
}
+#endif
break;
case JCS_CMYK:
case JCS_YCCK:
diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
--- a/image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
+++ b/image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -361,7 +361,7 @@
IResumable* aOnResume) {
MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
- return mLexer.Lex(aIterator, aOnResume,
+ LexerResult res = mLexer.Lex(aIterator, aOnResume,
[=](State aState, const char* aData, size_t aLength) {
switch (aState) {
case State::PNG_DATA:
@@ -371,6 +371,14 @@
}
MOZ_CRASH("Unknown State");
});
+
+#if MOZ_BIG_ENDIAN()
+ if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
+ }
+#endif
+
+ return res;
}
LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
--- a/image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
+++ b/image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -237,7 +237,12 @@
// WebP doesn't guarantee that the alpha generated matches the hint in the
// header, so we always need to claim the input is BGRA. If the output is
// BGRX, swizzling will mask off the alpha channel.
+#if MOZ_BIG_ENDIAN()
+ mBuffer.colorspace = MODE_ARGB;
+ SurfaceFormat inFormat = mFormat;
+#else
SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
+#endif
SurfacePipeFlags pipeFlags = SurfacePipeFlags();
if (mFormat == SurfaceFormat::OS_RGBA &&

View File

@ -1,23 +0,0 @@
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
knows how to deal with little endian.
So we swizzle the output of webgl after reading it from readpixels()
Note: This does not fix all webGL sites, but is a step in the right direction
diff -r 6b017d3e9733 gfx/gl/GLContext.h
--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200
+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100
@@ -1551,6 +1551,13 @@
BEFORE_GL_CALL;
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
OnSyncCall();
+#if MOZ_BIG_ENDIAN()
+ uint8_t* itr = (uint8_t*)pixels;
+ for (GLsizei i = 0; i < width * height; i++) {
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
+ itr += 4;
+ }
+#endif
AFTER_GL_CALL;
mHeavyGLCallsSinceLastFlush = true;
}

View File

@ -1,29 +0,0 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1583738770 -3600
# Mon Mar 09 08:26:10 2020 +0100
# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
# Parent 506857dace0a08d1c9685e3ac264646590b3e27f
[mq]: mozilla-bmo998749.patch
diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
@@ -13,10 +13,17 @@
namespace mozilla {
namespace gfx {
+#if MOZ_BIG_ENDIAN()
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
+#else
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
+#endif
class FilterProcessing {
public:

View File

@ -1,42 +0,0 @@
From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Fri, 17 May 2019 14:41:35 +0200
Subject: [PATCH] Fix top-level asm issue.
---
security/sandbox/linux/moz.build | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
index aae85843e9f6..208368dfd189 100644
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -61,7 +61,6 @@ UNIFIED_SOURCES += [
'../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
'../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
'../chromium/sandbox/linux/seccomp-bpf/die.cc',
- '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
'broker/SandboxBrokerCommon.cpp',
'Sandbox.cpp',
'SandboxBrokerClient.cpp',
@@ -77,6 +76,7 @@ UNIFIED_SOURCES += [
SOURCES += [
'../chromium/base/strings/safe_sprintf.cc',
'../chromium/base/third_party/icu/icu_utf.cc',
+ '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
'../chromium/sandbox/linux/seccomp-bpf/trap.cc',
'../chromium/sandbox/linux/services/syscall_wrappers.cc',
]
@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
'-Wno-empty-body',
]
+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
+ '-fno-lto'
+ ]
# gcc lto likes to put the top level asm in syscall.cc in a different partition
# from the function using it which breaks the build. Work around that by
--
2.23.0

File diff suppressed because it is too large Load Diff

View File

@ -1,35 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer
# Date 1558442915 -7200
# Tue May 21 14:48:35 2019 +0200
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b
Do not use gconf for proxy settings if not running within Gnome
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
===================================================================
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
retrieving revision 1.1
diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200
@@ -55,11 +55,14 @@
}
void nsUnixSystemProxySettings::Init() {
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
- getter_AddRefs(mProxySettings));
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) {
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) {
+ mGSettings->GetCollectionForSchema(
+ NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+ getter_AddRefs(mProxySettings));
+ }
}
}

View File

@ -1,54 +0,0 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1560754926 -7200
# Mon Jun 17 09:02:06 2019 +0200
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
# Parent fa1cf8b9cb4efdf89fe19e543fb54272b726a353
#Description: reduce the rust debuginfo level on selected architectures where
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
# launchpad builders. Initially this was only on 32 bit architectures, but with
# firefox 63 it started happening frequently on arm64 and ppc64el too.
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -1861,18 +1861,18 @@ imply_option('RUSTC_OPT_LEVEL', '2', whe
@depends('RUSTC_OPT_LEVEL', moz_optimize)
def rustc_opt_level(opt_level_option, moz_optimize):
if opt_level_option:
return opt_level_option[0]
else:
return '1' if moz_optimize.optimize else '0'
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers')
-def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers', host)
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, host):
# Cargo currently supports only two interesting profiles for building:
# development and release. Those map (roughly) to --enable-debug and
# --disable-debug in Gecko, respectively.
#
# But we'd also like to support an additional axis of control for
# optimization level. Since Cargo only supports 2 profiles, we're in
# a bit of a bind.
#
@@ -1885,16 +1885,18 @@ def rust_compile_flags(opt_level, debug_
# opt-level=0 implies -C debug-assertions, which may not be desired
# unless Rust debugging is enabled.
if opt_level == '0' and not debug_rust:
debug_assertions = False
if debug_symbols:
debug_info = '2'
+# if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64': # Just reduce debug_info for all archs
+ debug_info = '1'
opts = []
if opt_level is not None:
opts.append('opt-level=%s' % opt_level)
if debug_assertions is not None:
opts.append('debug-assertions=%s' %
('yes' if debug_assertions else 'no'))

View File

@ -1,16 +0,0 @@
From: meissner@suse.com
Subject: allow Firefox to access addtional process information
Reference: http://bugzilla.suse.com/show_bug.cgi?id=1167132
Index: firefox-74.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
===================================================================
--- firefox-74.0.orig/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
+++ firefox-74.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
@@ -276,6 +276,7 @@ SandboxBrokerPolicyFactory::SandboxBroke
// Read permissions
policy->AddPath(rdonly, "/dev/urandom");
+ policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled");
policy->AddPath(rdonly, "/proc/cpuinfo");
policy->AddPath(rdonly, "/proc/meminfo");
policy->AddDir(rdonly, "/sys/devices/cpu");

View File

@ -1,18 +0,0 @@
mozilla-nongnome-proxies.patch
mozilla-kde.patch
mozilla-bmo1463035.patch
mozilla-sandbox-fips.patch
mozilla-reduce-rust-debuginfo.patch
mozilla-bmo1005535.patch
mozilla-bmo1568145.patch
mozilla-bmo1504834-part1.patch
mozilla-bmo1504834-part2.patch
mozilla-bmo1504834-part3.patch
mozilla-bmo1554971.patch
mozilla-bmo1512162.patch
mozilla-fix-top-level-asm.patch
mozilla-bmo1504834-part4.patch
mozilla-bmo849632.patch
mozilla-bmo1602730.patch
mozilla-bmo998749.patch
mozilla-bmo1626236.patch

View File

@ -1,13 +0,0 @@
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -2045,10 +2045,6 @@
MenuTouchModeObserver.init();
}
- if (AppConstants.MOZ_DATA_REPORTING) {
- gDataNotificationInfoBar.init();
- }
-
if (!AppConstants.MOZILLA_OFFICIAL) {
DevelopmentHelpers.init();
}

View File

@ -1,16 +0,0 @@
--- firefox-60.0.bak/browser/confvars.sh
+++ firefox-60.0/browser/confvars.sh
@@ -62,3 +62,13 @@
# Include the DevTools client, not just the server (which is the default)
MOZ_DEVTOOLS=all
+
+# Reduce data sharing with Mozilla
+MOZ_DATA_REPORTING=0
+MOZ_TELEMETRY_REPORTING=0
+MOZ_CRASHREPORTER=0
+MOZ_SERVICES_HEALTHREPORT=0
+MOZ_PAY=0
+MOZ_SERVICES_METRICS=0
+MOZ_LOGGING=0
+

View File

@ -1,67 +0,0 @@
pref("browser.shell.checkDefaultBrowser",false);
pref("browser.startup.page",0);
pref("browser.urlbar.userMadeSearchSuggestionsChoice",true);
pref("browser.download.panel.shown",true);
pref("browser.tabs.warnOnClose",false);
pref("network.captive-portal-service.enabled",false);
pref("browser.newtabpage.introShown",true);
pref("startup.homepage_welcome_url","about:blank");
pref("datareporting.healthreport.uploadEnabled",false);
pref("general.warnOnAboutConfig",false);
pref("network.http.speculative-parallel-limit",0);
pref("network.prefetch-next",false);
pref("extensions.blocklist.enabled",false);
pref("middlemouse.contentLoadURL",false);
pref("browser.formfill.enable",false);
pref("urlclassifier.malwareTable","");
pref("urlclassifier.phishTable","");
pref("urlclassifier.downloadBlockTable","");
pref("browser.safebrowsing.phishing.enabled",false);
pref("browser.safebrowsing.malware.enabled",false);
pref("browser.safebrowsing.downloads.enabled",false);
pref("browser.safebrowsing.downloads.remote.enabled",false);
pref("browser.safebrowsing.downloads.remote.url","");
pref("browser.safebrowsing.downloads.remote.block_dangerous",false);
pref("browser.safebrowsing.downloads.remote.block_dangerous_host",false);
pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted",false);
pref("browser.safebrowsing.downloads.remote.block_uncommon",false);
pref("browser.safebrowsing.provider.google.lists","");
pref("browser.safebrowsing.provider.google.updateURL","");
pref("browser.safebrowsing.provider.google.gethashURL","");
pref("browser.safebrowsing.provider.google.reportURL","");
pref("browser.safebrowsing.provider.google4.lists","");
pref("browser.safebrowsing.provider.google4.updateURL","");
pref("browser.safebrowsing.provider.google4.gethashURL","");
pref("browser.safebrowsing.provider.google4.reportURL","");
pref("browser.safebrowsing.reportPhishMistakeURL","");
pref("browser.safebrowsing.reportPhishURL","");
pref("browser.safebrowsing.reportMalwareMistakeURL","");
pref("browser.safebrowsing.blockedURIs.enabled",false);
pref("browser.safebrowsing.provider.mozilla.lists","");
pref("browser.safebrowsing.provider.mozilla.updateURL","");
pref("browser.safebrowsing.provider.mozilla.gethashURL","");
//
pref("browser.bookmarks.showMobileBookmarks",false);
pref("extensions.pocket.enabled",false);
// disable telemetry
pref("toolkit.telemetry.enabled",false);
pref("toolkit.telemetry.server","");
pref("toolkit.telemetry.unified",false);
pref("toolkit.telemetry.archive.enabled",false);
pref("toolkit.telemetry.cachedClientID","");
pref("toolkit.telemetry.newProfilePing.enabled",false);
pref("toolkit.telemetry.shutdownPingSender.enabled",false);
pref("toolkit.telemetry.updatePing.enabled",false);
pref("toolkit.telemetry.bhrPing.enabled",false);
pref("toolkit.telemetry.firstShutdownPing.enabled",false);
pref("experiments.enabled",false);
pref("experiments.manifest.uri","");
pref("experiments.supported",false);
pref("experiments.activeExperiment",false);
// disable health report
pref("datareporting.healthreport.about.reportUrl","");
pref("datdatareporting.healthreport.infoURL","");
pref("datareporting.policy.dataSubmissionEnabled",false);
// disable crash reports
pref("breakpad.reportURL","");
pref("pdfjs.disabled", true);

View File

@ -1,2 +0,0 @@
firefox-60-disable-telemetry.patch
firefox-60-disable-data-sharing-infobar.patch

View File

@ -1,359 +0,0 @@
diff --git a/Cargo.lock b/Cargo.lock
index b1fca7cbca..888dd6d3fd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -111,25 +111,11 @@ dependencies = [
"bitflags",
]
-[[package]]
-name = "audio_thread_priority"
-version = "0.22.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8fba1500e466a39dd3faa5aed20a50dfe0aa1b905264a453bbe9f49508994cc"
-dependencies = [
- "cfg-if",
- "dbus",
- "libc",
- "log",
- "mach",
- "winapi 0.3.7",
-]
[[package]]
name = "audioipc"
version = "0.2.5"
dependencies = [
- "audio_thread_priority",
"bincode",
"bytes 0.4.9",
"cc",
@@ -156,7 +142,6 @@ dependencies = [
name = "audioipc-client"
version = "0.4.0"
dependencies = [
- "audio_thread_priority",
"audioipc",
"cubeb-backend",
"futures 0.1.29",
@@ -169,7 +154,6 @@ dependencies = [
name = "audioipc-server"
version = "0.2.3"
dependencies = [
- "audio_thread_priority",
"audioipc",
"cubeb-core",
"error-chain",
@@ -1890,7 +1874,6 @@ dependencies = [
name = "gkrust-shared"
version = "0.1.0"
dependencies = [
- "audio_thread_priority",
"audioipc-client",
"audioipc-server",
"authenticator",
diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp
index 2fe91affcd..ae835b2c34 100644
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -111,9 +111,7 @@
#include "GMPServiceChild.h"
#include "nsIStringBundle.h"
#include "Geolocation.h"
-#include "audio_thread_priority.h"
#include "nsIConsoleService.h"
-#include "audio_thread_priority.h"
#include "nsIURIMutator.h"
#include "nsIInputStreamChannel.h"
#include "nsFocusManager.h"
@@ -1624,9 +1622,7 @@ mozilla::ipc::IPCResult ContentChild::RecvSetProcessSandbox(
} else {
// Pre-start audio before sandboxing; see bug 1443612.
if (StaticPrefs::media_cubeb_sandbox()) {
- if (atp_set_real_time_limit(0, 48000)) {
NS_WARNING("could not set real-time limit at process startup");
- }
InstallSoftRealTimeLimitHandler();
} else {
Unused << CubebUtils::GetCubebContext();
diff --git a/dom/media/GraphRunner.cpp b/dom/media/GraphRunner.cpp
index 6ea8f2e9ca..51dba21d71 100644
--- a/dom/media/GraphRunner.cpp
+++ b/dom/media/GraphRunner.cpp
@@ -13,7 +13,6 @@
#include "nsISupportsPriority.h"
#include "prthread.h"
#include "Tracing.h"
-#include "audio_thread_priority.h"
namespace mozilla {
@@ -95,8 +94,6 @@ auto GraphRunner::OneIteration(GraphTime aStateEnd, GraphTime aIterationEnd,
}
NS_IMETHODIMP GraphRunner::Run() {
- atp_handle* handle =
- atp_promote_current_thread_to_real_time(0, mGraph->GraphRate());
nsCOMPtr<nsIThreadInternal> threadInternal = do_QueryInterface(mThread);
threadInternal->SetObserver(mGraph);
@@ -119,9 +116,6 @@ NS_IMETHODIMP GraphRunner::Run() {
mMonitor.Notify();
}
- if (handle) {
- atp_demote_current_thread_from_real_time(handle);
- }
return NS_OK;
}
diff --git a/dom/media/UnderrunHandlerLinux.cpp b/dom/media/UnderrunHandlerLinux.cpp
index af5c84538e..9fecb5ebd2 100644
--- a/dom/media/UnderrunHandlerLinux.cpp
+++ b/dom/media/UnderrunHandlerLinux.cpp
@@ -9,7 +9,6 @@
#include <mozilla/Sprintf.h>
#include <mozilla/Atomics.h>
-#include "audio_thread_priority.h"
namespace mozilla {
@@ -57,21 +56,8 @@ void InstallSoftRealTimeLimitHandler() {
}
void DemoteThreadFromRealTime() {
- atp_thread_info* info = atp_get_current_thread_info();
- if (!info) {
NS_WARNING("Could not get current thread info when demoting thread.");
return;
- }
- int rv = atp_demote_thread_from_real_time(info);
- if (rv) {
- NS_WARNING("Could not demote thread from real-time.");
- return;
- }
- rv = atp_free_thread_info(info);
- if (rv) {
- NS_WARNING("Could not free atp_thread_info struct");
- }
- gRealtimeLimitReached = false;
}
} // namespace mozilla
diff --git a/dom/media/moz.build b/dom/media/moz.build
index c8dc9fe2d1..ae43f16fa3 100644
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -100,7 +100,6 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'dom_media'
EXPORTS += [
- '../../third_party/rust/audio_thread_priority/audio_thread_priority.h',
'ADTSDecoder.h',
'ADTSDemuxer.h',
'AsyncLogger.h',
diff --git a/media/audioipc/audioipc/Cargo.toml b/media/audioipc/audioipc/Cargo.toml
index dfffa97f24..d9d2cf7d95 100644
--- a/media/audioipc/audioipc/Cargo.toml
+++ b/media/audioipc/audioipc/Cargo.toml
@@ -19,7 +19,6 @@ serde = "1"
serde_derive = "1"
tokio = "0.1"
tokio-io = "0.1"
-audio_thread_priority = "0.22"
[target.'cfg(unix)'.dependencies]
iovec = "0.1"
diff --git a/media/audioipc/audioipc/src/messages.rs b/media/audioipc/audioipc/src/messages.rs
index 9cda962e0e..37e6119b74 100644
--- a/media/audioipc/audioipc/src/messages.rs
+++ b/media/audioipc/audioipc/src/messages.rs
@@ -5,8 +5,6 @@
use crate::PlatformHandle;
use crate::PlatformHandleType;
-#[cfg(target_os = "linux")]
-use audio_thread_priority::RtPriorityThreadInfo;
use cubeb::{self, ffi};
use std::ffi::{CStr, CString};
use std::os::raw::{c_char, c_int, c_uint};
@@ -211,8 +209,6 @@ pub enum ServerMessage {
StreamGetCurrentDevice(usize),
StreamRegisterDeviceChangeCallback(usize, bool),
- #[cfg(target_os = "linux")]
- PromoteThreadToRealTime([u8; std::mem::size_of::<RtPriorityThreadInfo>()]),
}
// Server -> Client messages.
@@ -243,8 +239,6 @@ pub enum ClientMessage {
StreamCurrentDevice(Device),
StreamRegisterDeviceChangeCallback,
- #[cfg(target_os = "linux")]
- ThreadPromoted,
Error(c_int),
}
diff --git a/media/audioipc/client/Cargo.toml b/media/audioipc/client/Cargo.toml
index 4a55c0162e..2fbccc05df 100644
--- a/media/audioipc/client/Cargo.toml
+++ b/media/audioipc/client/Cargo.toml
@@ -9,7 +9,6 @@ description = "Cubeb Backend for talking to remote cubeb server."
edition = "2018"
[dependencies]
-audio_thread_priority = "0.22"
audioipc = { path="../audioipc" }
cubeb-backend = "0.7"
futures = { version="0.1.18", default-features=false, features=["use_std"] }
diff --git a/media/audioipc/client/src/context.rs b/media/audioipc/client/src/context.rs
index 6b13900c54..87323508b8 100644
--- a/media/audioipc/client/src/context.rs
+++ b/media/audioipc/client/src/context.rs
@@ -6,10 +6,6 @@
use crate::stream;
use crate::{assert_not_in_callback, run_in_callback};
use crate::{ClientStream, AUDIOIPC_INIT_PARAMS};
-#[cfg(target_os = "linux")]
-use audio_thread_priority::get_current_thread_info;
-#[cfg(not(target_os = "linux"))]
-use audio_thread_priority::promote_current_thread_to_real_time;
use audioipc::codec::LengthDelimitedCodec;
use audioipc::frame::{framed, Framed};
use audioipc::platformhandle_passing::{framed_with_platformhandles, FramedWithPlatformHandles};
@@ -72,31 +68,6 @@ impl ClientContext {
}
}
-#[cfg(target_os = "linux")]
-fn promote_thread(rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>) {
- match get_current_thread_info() {
- Ok(info) => {
- let bytes = info.serialize();
- // Don't wait for the response, this is on the callback thread, which must not block.
- rpc.call(ServerMessage::PromoteThreadToRealTime(bytes));
- }
- Err(_) => {
- warn!("Could not remotely promote thread to RT.");
- }
- }
-}
-
-#[cfg(not(target_os = "linux"))]
-fn promote_thread(_rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>) {
- match promote_current_thread_to_real_time(0, 48000) {
- Ok(_) => {
- info!("Audio thread promoted to real-time.");
- }
- Err(_) => {
- warn!("Could not promote thread to real-time.");
- }
- }
-}
fn register_thread(callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>) {
if let Some(func) = callback {
@@ -116,7 +87,6 @@ fn promote_and_register_thread(
rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>,
callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>,
) {
- promote_thread(rpc);
register_thread(callback);
}
diff --git a/media/audioipc/server/Cargo.toml b/media/audioipc/server/Cargo.toml
index 99afe54939..99a3440d33 100644
--- a/media/audioipc/server/Cargo.toml
+++ b/media/audioipc/server/Cargo.toml
@@ -9,7 +9,6 @@ description = "Remote cubeb server"
edition = "2018"
[dependencies]
-audio_thread_priority = "0.22"
audioipc = { path = "../audioipc" }
cubeb-core = "0.7.0"
futures = "0.1.29"
diff --git a/media/audioipc/server/src/lib.rs b/media/audioipc/server/src/lib.rs
index 4d49c8fc08..3c44ee3def 100644
--- a/media/audioipc/server/src/lib.rs
+++ b/media/audioipc/server/src/lib.rs
@@ -9,7 +9,6 @@ extern crate error_chain;
#[macro_use]
extern crate log;
-use audio_thread_priority::promote_current_thread_to_real_time;
use audioipc::core;
use audioipc::platformhandle_passing::framed_with_platformhandles;
use audioipc::rpc;
@@ -64,12 +63,6 @@ fn run() -> Result<ServerWrapper> {
let callback_thread = core::spawn_thread(
"AudioIPC Callback RPC",
|| {
- match promote_current_thread_to_real_time(0, 48000) {
- Ok(_) => {}
- Err(_) => {
- debug!("Failed to promote audio callback thread to real-time.");
- }
- }
trace!("Starting up cubeb audio callback event loop thread...");
Ok(())
},
diff --git a/media/audioipc/server/src/server.rs b/media/audioipc/server/src/server.rs
index f07432f71f..b90e9d9be7 100644
--- a/media/audioipc/server/src/server.rs
+++ b/media/audioipc/server/src/server.rs
@@ -3,8 +3,6 @@
// This program is made available under an ISC-style license. See the
// accompanying file LICENSE for details
-#[cfg(target_os = "linux")]
-use audio_thread_priority::{promote_thread_to_real_time, RtPriorityThreadInfo};
use audioipc;
use audioipc::codec::LengthDelimitedCodec;
use audioipc::frame::{framed, Framed};
@@ -636,19 +634,6 @@ impl CubebServer {
)
.unwrap_or_else(error),
- #[cfg(target_os = "linux")]
- ServerMessage::PromoteThreadToRealTime(thread_info) => {
- let info = RtPriorityThreadInfo::deserialize(thread_info);
- match promote_thread_to_real_time(info, 0, 48000) {
- Ok(_) => {
- info!("Promotion of content process thread to real-time OK");
- }
- Err(_) => {
- warn!("Promotion of content process thread to real-time error");
- }
- }
- ClientMessage::ThreadPromoted
- }
};
trace!("process_msg: req={:?}, resp={:?}", msg, resp);
diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml
index 5fdb0eb2c0..d9bc0346cb 100644
--- a/toolkit/library/rust/shared/Cargo.toml
+++ b/toolkit/library/rust/shared/Cargo.toml
@@ -41,7 +41,6 @@ storage = { path = "../../../../storage/rust" }
bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true }
shift_or_euc_c = "0.1.0"
chardetng_c = "0.1.1"
-audio_thread_priority = "0.22.1"
mdns_service = { path="../../../../media/mtransport/mdns_service", optional = true }
neqo_glue = { path = "../../../../netwerk/socket/neqo_glue" }
rlbox_lucet_sandbox = { version = "0.1.0", optional = true }
diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs
index 3285383a11..d228bc9bad 100644
--- a/toolkit/library/rust/shared/lib.rs
+++ b/toolkit/library/rust/shared/lib.rs
@@ -51,7 +51,6 @@ extern crate xpcom;
#[cfg(feature = "new_xulstore")]
extern crate xulstore;
-extern crate audio_thread_priority;
#[cfg(not(target_os = "android"))]
extern crate webext_storage_bridge;

View File

@ -1,10 +0,0 @@
pref("app.update.enabled", false);
pref("app.update.autoInstallEnabled", false);
pref("browser.display.use_system_colors", true);
pref("intl.locale.matchOS", true);
pref("intl.locale.requested", "");
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
pref("mail.shell.checkDefaultClient", false);
# Do not switch to Smart Folders after upgrade to 3.0b4
pref("mail.folder.views.version", "1");
pref("extensions.autoDisableScopes", 0);

View File

@ -1,10 +0,0 @@
--- a/build/pgo/profileserver.py 2019-09-30 20:58:31.169527743 +0700
+++ b/build/pgo/profileserver.py 2019-09-30 21:02:07.964185254 +0700
@@ -137,7 +137,6 @@
env=env,
process_args=process_args)
runner.start(debug_args=debug_args, interactive=interactive)
- ret = runner.wait()
httpd.stop()
if ret:
print("Firefox exited with code %d during profiling" % ret)

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>mozilla@gentoo.org</email>
<name>Gentoo Mozilla Team</name>
</maintainer>
<use>
<flag name="bindist">Disable official Firefox/Thunderbird branding (icons, name) which
are not binary-redistributable according to upstream.</flag>
<flag name="clang">Use Clang compiler instead of GCC</flag>
<flag name="cross-lto">Enable ThinLTO across C++ and Rust code</flag>
<flag name="custom-optimization">Build with user-specified compiler optimizations
(-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
<flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag>
<flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically
downloaded and kept up-to-date in user profiles</flag>
<flag name="lightning">Enable app-global calendar support
(note 38.0 and above bundles calendar support when this flag is off)</flag>
<flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC
or LDD linker when using Clang</flag>
<flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
for faster binaries. This option will double the compile time.</flag>
<flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg>
and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag>
<flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg>
and <pkg>media-gfx/graphite2</pkg> instead of bundled.</flag>
<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
instead of bundled.</flag>
<flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg>
instead of bundled.</flag>
<flag name="system-libevent">Use the system-wide <pkg>dev-libs/libevent</pkg>
instead of bundled.</flag>
<flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
instead of bundled.</flag>
<flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
installation with secure-delete enabled</flag>
<flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg>
instead of bundled.</flag>
<flag name="thinlto">Enable ThinLTO. Requires LDD linker when using Clang</flag>
</use>
</pkgmetadata>

View File

@ -1,915 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
MOZ_ESR=""
MOZ_LIGHTNING_VER="6.2.5"
MOZ_LIGHTNING_GDATA_VER="4.4.1"
PYTHON_COMPAT=( python3_{7..9} )
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
MOZ_LANGS=(de en en-GB en-US ru)
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
MOZ_PV="${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
if [[ ${MOZ_ESR} == 1 ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
# Patches
PATCHFF="firefox-68.0-patches-15"
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
if [[ "${PV}" == *_rc* ]]; then
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
fi
LLVM_MAX_SLOT=11
MOZCONFIG_OPTIONAL_JIT=1
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
autotools mozlinguas-v2 multiprocessing virtualx
DESCRIPTION="Thunderbird Mail Client"
HOMEPAGE="https://www.mozilla.org/thunderbird"
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="bindist clang cpu_flags_x86_avx2 dbus debug eme-free
+gmp-autoupdate hardened jack lightning lto cpu_flags_arm_neon
pgo pulseaudio selinux startup-notification +system-av1
+system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-sqlite +system-libvpx +system-webp test wayland wifi +jit kde cross-lto thinlto"
REQUIRED_USE="pgo? ( lto )
cross-lto? ( clang lto )
thinlto? ( lto )
kde? ( !bindist )
wifi? ( dbus )"
RESTRICT="!bindist? ( bindist )
!test? ( test )"
PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c,whissi}/mozilla/patchsets/${PATCHFF}.tar.xz )
SRC_URI="${SRC_URI}
${MOZ_SRC_URI}
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
system-libvpx? ( https://dev.gentoo.org/~anarchy/patches/2013_update_libvpx_esr.patch )
${PATCH_URIS[@]}"
CDEPEND="
>=dev-libs/nss-3.44.4
>=dev-libs/nspr-4.21
dev-libs/atk
dev-libs/expat
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
>=x11-libs/gtk+-3.4.0:3[X]
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
>=media-libs/libpng-1.6.35:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
virtual/freedesktop-icon-theme
dbus? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72 )
startup-notification? ( >=x11-libs/startup-notification-0.8 )
>=x11-libs/pixman-0.19.2
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=dev-libs/libffi-3.0.10:=
media-video/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
system-av1? (
>=media-libs/dav1d-0.3.0:=
>=media-libs/libaom-1.0.0:=
)
system-harfbuzz? ( >=media-libs/harfbuzz-2.4.0:0= >=media-gfx/graphite2-1.3.13 )
system-icu? ( >=dev-libs/icu-63.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
system-sqlite? ( >=dev-db/sqlite-3.28.0:3[secure-delete,debug=] )
system-webp? ( >=media-libs/libwebp-1.0.2:0= )
wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72
net-misc/networkmanager ) )
jack? ( virtual/jack )
selinux? ( sec-policy/selinux-mozilla )"
RDEPEND="${CDEPEND}
jack? ( virtual/jack )
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
selinux? ( sec-policy/selinux-mozilla )"
DEPEND="${CDEPEND}
app-arch/zip
app-arch/unzip
>=dev-util/cbindgen-0.8.7
>=net-libs/nodejs-8.11.0
>=sys-devel/binutils-2.30
sys-apps/findutils
virtual/pkgconfig
>=virtual/rust-1.34.0
|| (
(
sys-devel/clang:11
!clang? ( sys-devel/llvm:11 )
clang? (
=sys-devel/lld-11*
sys-devel/llvm:11
pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
)
)
(
sys-devel/clang:10
!clang? ( sys-devel/llvm:10 )
clang? (
=sys-devel/lld-10*
sys-devel/llvm:10
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
)
)
)
pulseaudio? ( media-sound/pulseaudio )
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
!system-av1? (
amd64? ( >=dev-lang/nasm-2.13 )
x86? ( >=dev-lang/nasm-2.13 )
)"
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
BUILD_OBJ_DIR="${S}/tbird"
# allow GMP_PLUGIN_LIST to be set in an eclass or
# overridden in the enviromnent (advanced hackers only)
if [[ -z $GMP_PLUGIN_LIST ]] ; then
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
fi
llvm_check_deps() {
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use pgo ; then
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
}
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use pgo ; then
if ! has usersandbox $FEATURES ; then
die "You must enable usersandbox as X server can not run as root!"
fi
fi
# Ensure we have enough disk space to compile
if use pgo || use lto || use debug || use test ; then
CHECKREQS_DISK_BUILD="8G"
else
CHECKREQS_DISK_BUILD="4500M"
fi
check-reqs_pkg_pretend
fi
}
pkg_setup() {
moz_pkgsetup
if [[ ${MERGE_TYPE} != binary ]] ; then
# Ensure we have enough disk space to compile
if use pgo || use lto || use debug || use test ; then
CHECKREQS_DISK_BUILD="8G"
else
CHECKREQS_DISK_BUILD="4500M"
fi
check-reqs_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 \
XDG_CACHE_HOME \
XDG_SESSION_COOKIE \
XAUTHORITY
addpredict /proc/self/oom_score_adj
llvm_pkg_setup
fi
if ! use bindist ; then
einfo
elog "You are enabling official branding. You may not redistribute this build"
elog "to any users on your network or the internet. Doing so puts yourself into"
elog "a legal problem with Mozilla Foundation."
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
fi
}
src_unpack() {
default
# Unpack language packs
mozlinguas_src_unpack
}
src_prepare() {
# Apply firefox patchset then apply thunderbird patches
rm "${WORKDIR}"/firefox/2016_set_CARGO_PROFILE_RELEASE_LTO.patch || die
eapply "${WORKDIR}/firefox"
use system-libvpx && eapply "${DISTDIR}/2013_update_libvpx_esr.patch"
pushd "${S}"/comm &>/dev/null || die
eapply "${FILESDIR}/1000_fix_gentoo_preferences.patch"
popd &>/dev/null || die
# Allow user to apply any additional patches without modifing ebuild
eapply_user
einfo "Removing pre-built binaries ..."
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' -o -name '*.la' -o -name '*.a' \) -print -delete || die
# OpenSUSE-KDE patchset
use kde && for i in $(cat "${FILESDIR}/opensuse-kde-$(get_major_version)/series"); do eapply "${FILESDIR}/opensuse-kde-$(get_major_version)/$i"; done
# Debian patches
for i in $(cat "${FILESDIR}/debian-patchset-$(get_major_version)/series");do eapply "${FILESDIR}/debian-patchset-$(get_major_version)/$i";done
# Fedora patches
for i in $(cat "${FILESDIR}/fedora-patchset-$(get_major_version)/series");do eapply "${FILESDIR}/fedora-patchset-$(get_major_version)/$i";done
# PGO freeze fix
#use pgo && eapply "${FILESDIR}/thunderbird-pgo_freeze_fix.patch"
# Make LTO respect MAKEOPTS
sed -i \
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
"${S}"/build/moz.configure/toolchain.configure \
|| die "sed failed to set num_cores"
# 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"
# Enable gnomebreakpad
if use debug ; then
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
fi
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
if use ia64 ; then
sed -i \
-e '/^OS_LIBS += no_as_needed/d' \
-e '/^OS_LIBS += as_needed/d' \
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|| die "sed failed to drop --as-needed for ia64"
fi
# Fix sandbox violations during make clean, bug 372817
sed -e "s:\(/no-such-file\):${T}\1:g" \
-i "${S}"/config/rules.mk \
-i "${S}"/nsprpub/configure{.in,} \
|| die
# Don't exit with error when some libs are missing which we have in
# system.
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-i "${S}"/comm/mail/installer/Makefile.in || die
# Don't error out when there's no files to be removed:
sed 's@\(xargs rm\)$@\1 -f@' \
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
# Keep codebase the same even if not using official branding
sed '/^MOZ_DEV_EDITION=1/d' \
-i "${S}"/browser/branding/aurora/configure.sh || die
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
# However, when available, an unsupported version can cause problems, bug #669548
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
"${S}"/build/moz.configure/rust.configure || die
# Autotools configure is now called old-configure.in
# This works because there is still a configure.in that happens to be for the
# shell wrapper configure script
eautoreconf old-configure.in
# Must run autoconf in js/src
cd "${S}"/js/src || die
eautoconf old-configure.in
}
src_configure() {
MEXTENSIONS="default"
# 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.
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
# Add information about TERM to output (build.log) to aid debugging
# blessings problems
if [[ -n "${TERM}" ]] ; then
einfo "TERM is set to: \"${TERM}\""
else
einfo "TERM is unset."
fi
if use clang && ! tc-is-clang ; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
CC=${CHOST}-clang
CXX=${CHOST}-clang++
strip-unsupported-flags
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
einfo "Enforcing the use of gcc due to USE=-clang ..."
CC=${CHOST}-gcc
CXX=${CHOST}-g++
strip-unsupported-flags
fi
####################################
#
# mozconfig, CFLAGS and CXXFLAGS setup
#
####################################
mozconfig_init
# common config components
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
# Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release
if use pgo ; then
if ! has userpriv $FEATURES ; then
eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!"
fi
fi
# Don't let user's LTO flags clash with upstream's flags
filter-flags -flto*
if use lto ; then
local show_old_compiler_warning=
if use clang ; then
# At this stage CC is adjusted and the following check will
# will work
if [[ $(clang-major-version) -lt 7 ]] ; then
show_old_compiler_warning=1
fi
# Upstream only supports lld when using clang
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
else
if [[ $(gcc-major-version) -lt 8 ]] ; then
show_old_compiler_warning=1
fi
# Bug 689358
append-cxxflags -flto
if ! use cpu_flags_x86_avx2 ; then
local _gcc_version_with_ipa_cdtor_fix="8.3"
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
# due to a GCC bug, GCC will produce AVX2 instructions
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
append-ldflags -fdisable-ipa-cdtor
else
einfo "No GCC workaround required, GCC version is already patched!"
fi
else
einfo "No GCC workaround required, system supports AVX2"
fi
# Linking only works when using ld.gold when LTO is enabled
mozconfig_annotate "no forcing ld=gold due to USE=lto" --enable-linker=bfd
fi
if [[ -n "${show_old_compiler_warning}" ]] ; then
# Checking compiler's major version uses CC variable. Because we allow
# user to control used compiler via USE=clang flag, we cannot use
# initial value. So this is the earliest stage where we can do this check
# because pkg_pretend is not called in the main phase function sequence
# environment saving is not guaranteed so we don't know if we will have
# correct compiler until now.
ewarn ""
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
ewarn ""
sleep 5
fi
if use cross-lto ; then
filter-flags -fno-plt
append-flags --target=x86_64-unknown-linux-gnu
append-ldflags --target=x86_64-unknown-linux-gnu
mozconfig_annotate '+lto-cross' --enable-lto=cross
mozconfig_annotate '+lto-cross' MOZ_LTO=1
mozconfig_annotate '+lto-cross' MOZ_LTO=cross
mozconfig_annotate '+lto-cross' MOZ_LTO_RUST=1
elif use thinlto ; then
mozconfig_annotate '+lto-thin' --enable-lto=thin
mozconfig_annotate '+lto-thin' MOZ_LTO=1
mozconfig_annotate '+lto-thin' MOZ_LTO=thin
else
mozconfig_annotate '+lto-full' --enable-lto=full
mozconfig_annotate '+lto-full' MOZ_LTO=1
mozconfig_annotate '+lto-full' MOZ_LTO=full
fi
if use pgo ; then
mozconfig_annotate '+pgo' MOZ_PGO=1
mozconfig_annotate '+pgo-rust' MOZ_PGO_RUST=1
fi
else
# Avoid auto-magic on linker
if use clang ; then
# This is upstream's default
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
elif tc-ld-is-gold ; then
mozconfig_annotate "linker is set to gold" --enable-linker=gold
else
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
fi
fi
# It doesn't compile on alpha without this LDFLAGS
use alpha && append-ldflags "-Wl,--no-relax"
# Add full relro support for hardened
if use hardened ; then
append-ldflags "-Wl,-z,relro,-z,now"
mozconfig_use_enable hardened hardening
fi
# Modifications to better support ARM, bug 553364
if use cpu_flags_arm_neon ; then
mozconfig_annotate '' --with-fpu=neon
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
fi
if [[ ${CHOST} == armv*h* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
mozconfig_use_enable !bindist official-branding
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
# These are enabled by default in all mozilla applications
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --with-intl-api
mozconfig_annotate '' --enable-system-pixman
# Instead of the standard --build= and --host=, mozilla uses --host instead
# of --build, and --target intstead of --host.
# Note, mozilla also has --build but it does not do what you think it does.
# Set both --target and --host as mozilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
if use system-libevent ; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
mozconfig_annotate '' --enable-rust-simd
fi
# use the gtk3 toolkit (the only one supported at this point)
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
if use wayland ; then
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
else
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
fi
mozconfig_use_enable startup-notification
mozconfig_use_enable system-sqlite
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-libvpx
mozconfig_use_with system-webp
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
# Disable built-in ccache support to avoid sandbox violation, #665420
# Use FEATURES=ccache instead!
mozconfig_annotate '' --without-ccache
sed -i -e 's/ccache_stats = None/return None/' \
python/mozbuild/mozbuild/controller/building.py || \
die "Failed to disable ccache stats call"
mozconfig_use_enable dbus
mozconfig_use_enable wifi necko-wifi
# enable JACK, bug 600002
mozconfig_use_enable jack
# Other tb-specific settings
mozconfig_annotate '' --with-user-appdir=.thunderbird
mozconfig_annotate '' --enable-ldap
mozconfig_annotate '' --enable-calendar
# Enable/Disable eme support
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
# allow elfhack to work in combination with unstripped binaries
# when they would normally be larger than 2GiB.
append-ldflags "-Wl,--compress-debug-sections=zlib"
if use clang && ! use arm64; then
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
fi
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
#
mozconfig_annotate '' --disable-accessibility
mozconfig_annotate '' --disable-address-sanitizer
mozconfig_annotate '' --disable-address-sanitizer-reporter
mozconfig_annotate '' --disable-callgrind
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate '' --disable-debug
mozconfig_annotate '' --disable-debug-js-modules
mozconfig_annotate '' --disable-debug-symbols
mozconfig_annotate '' --disable-dmd
mozconfig_annotate '' --disable-dtrace
mozconfig_annotate '' --disable-dump-painting
mozconfig_annotate '' --disable-elf-hack
mozconfig_annotate '' --disable-gc-trace
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --disable-gtest-in-build
mozconfig_annotate '' --disable-instruments
mozconfig_annotate '' --disable-ios-target
mozconfig_annotate '' --disable-ipdl-tests
mozconfig_annotate '' --disable-jprof
mozconfig_annotate '' --disable-libproxy
mozconfig_annotate '' --disable-logrefcnt
mozconfig_annotate '' --disable-memory-sanitizer
mozconfig_annotate '' --disable-mobile-optimize
mozconfig_annotate '' --disable-necko-wifi
mozconfig_annotate '' --disable-parental-controls
mozconfig_annotate '' --disable-perf
mozconfig_annotate '' --disable-profiling
mozconfig_annotate '' --disable-reflow-perf
mozconfig_annotate '' --disable-rust-debug
mozconfig_annotate '' --disable-rust-tests
mozconfig_annotate '' --disable-signmar
mozconfig_annotate '' --disable-trace-logging
mozconfig_annotate '' --disable-updater
mozconfig_annotate '' --disable-valgrind
mozconfig_annotate '' --disable-verify-mar
mozconfig_annotate '' --disable-vtune
mozconfig_annotate '' --disable-warnings-as-errors
mozconfig_annotate '' --disable-webrtc
mozconfig_annotate '' --without-debug-label
mozconfig_annotate '' --without-google-location-service-api-keyfile
mozconfig_annotate '' --without-google-safebrowsing-api-keyfile
mozconfig_annotate '' MOZ_DATA_REPORTING=
mozconfig_annotate '' MOZ_LOGGING=
mozconfig_annotate '' MOZ_PAY=
mozconfig_annotate '' MOZ_SERVICES_HEALTHREPORTER=
mozconfig_annotate '' MOZ_SERVICES_METRICS=
mozconfig_annotate '' MOZ_TELEMETRY_REPORTING=
mozconfig_annotate '' RUSTFLAGS=-Ctarget-cpu=native
mozconfig_annotate '' RUSTFLAGS=-Copt-level=3
mozconfig_annotate '' RUSTFLAGS=-Cdebuginfo=0
# Enable good features
mozconfig_annotate '' --enable-install-strip
mozconfig_annotate '' --enable-rust-simd
mozconfig_annotate '' --enable-strip
echo "export MOZ_DATA_REPORTING=" >> "${S}"/.mozconfig
echo "export MOZ_DEVICES=" >> "${S}"/.mozconfig
echo "export MOZ_LOGGING=" >> "${S}"/.mozconfig
echo "export MOZ_PAY=" >> "${S}"/.mozconfig
echo "export MOZ_SERVICES_HEALTHREPORTER=" >> "${S}"/.mozconfig
echo "export MOZ_SERVICES_METRICS=" >> "${S}"/.mozconfig
echo "export MOZ_TELEMETRY_REPORTING=" >> "${S}"/.mozconfig
echo "export RUSTFLAGS='-Ctarget-cpu=native -Copt-level=3 -Cdebuginfo=0'" >> "${S}"/.mozconfig
#
# Finalize and report settings
mozconfig_final
mkdir -p "${S}"/third_party/rust/libloading/.deps
# workaround for funky/broken upstream configure...
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
./mach configure || die
}
src_compile() {
local _virtx=
if use pgo ; then
_virtx=virtx
# Reset and cleanup environment variables used by GNOME/XDG
gnome2_environment_reset
addpredict /root
addpredict /etc/gconf
fi
GDK_BACKEND=x11 \
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
MOZ_NOSPAM=1 \
${_virtx} \
./mach build --verbose \
|| die
}
src_install() {
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
cd "${BUILD_OBJ_DIR}" || die
# Pax mark xpcshell for hardened support, only used for startupcache creation.
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
# Copy our preference before omnijar is created.
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
if use system-harfbuzz ; then
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
fi
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
fi
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
local plugin
use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
done
if use kde ; then
cat "${FILESDIR}"/opensuse-kde-$(get_major_version)/kde.js-1 >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
cat "${FILESDIR}"/opensuse-kde-$(get_major_version)/kde.js-1 >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/kde.js" \
|| die
fi
cd "${S}"
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
DESTDIR="${D}" ./mach install || die
# Install language packs
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
local size sizes icon_path icon
if ! use bindist; then
icon_path="${S}/comm/mail/branding/thunderbird"
icon="${PN}-icon"
domenu "${FILESDIR}"/icon/${PN}.desktop
else
icon_path="${S}/comm/mail/branding/nightly"
icon="${PN}-icon-unbranded"
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
${PN}.desktop
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
"${ED}"/usr/share/applications/${PN}.desktop
fi
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
newicon "${icon_path}"/default48.png "${icon}".png
# Install icons for menu entry
sizes="16 22 24 32 48 256"
for size in ${sizes}; do
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
done
# Disable built-in auto-update because we update firefox through package manager
insinto ${MOZILLA_FIVE_HOME}/distribution/
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
# Add StartupNotify=true bug 237317
if use startup-notification ; then
echo "StartupNotify=true"\
>> "${ED}/usr/share/applications/${PN}.desktop" \
|| die
fi
# Don't install llvm-symbolizer from sys-devel/llvm package
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
local emid
# stage extra locales for lightning and install over existing
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
mkdir -p "${T}/${emid}" || die
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
doins -r "${T}/${emid}"
if use lightning; then
# move lightning out of distribution/extensions and into extensions for app-global install
mkdir -p "${ED}"/${MOZILLA_FIVE_HOME}/extensions
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
# stage extra locales for gdata-provider and install app-global
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
mkdir -p "${T}/${emid}" || die
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
# manifest.json does not allow the addon to load, put install.rdf in place
# note, version number needs to be set properly
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
insinto ${MOZILLA_FIVE_HOME}/extensions
doins -r "${T}/${emid}"
fi
# thunderbird and thunderbird-bin are identical
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
# Required in order to use plugins and even run thunderbird on hardened.
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
}
pkg_preinst() {
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
# doesn't need to be forced into the LD_LIBRARY_PATH
if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
einfo "APULSE found - Generating library symlinks for sound support"
local lib
pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
# a quickpkg rolled by hand will grab symlinks as part of the package,
# so we need to avoid creating them if they already exist.
if [[ ! -L ${lib##*/} ]] ; then
ln -s "${lib}" ${lib##*/} || die
fi
done
popd &>/dev/null || die
fi
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
if ! use gmp-autoupdate && ! use eme-free ; then
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
elog "installing into new profiles:"
local plugin
for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
elog
fi
if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
elog "Apulse was detected at merge time on this system and so it will always be"
elog "used for sound. If you wish to use pulseaudio instead please unmerge"
elog "media-sound/apulse."
elog
fi
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View File

@ -1,816 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
MOZ_ESR=""
MOZ_LIGHTNING_VER="6.2.5"
MOZ_LIGHTNING_GDATA_VER="4.4.1"
PYTHON_COMPAT=( python3_{7,8,9} )
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
MOZ_LANGS=(de en en-GB en-US ru)
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
MOZ_PV="${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
if [[ ${MOZ_ESR} == 1 ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
# Patches
PATCHFF="firefox-78.0-patches-05"
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
MOZ_LANGPACK_PREFIX="${MOZ_PV}/linux-x86_64/xpi/"
if [[ "${PV}" == *_rc* ]]; then
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
fi
LLVM_MAX_SLOT=11
MOZCONFIG_OPTIONAL_JIT=1
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
autotools mozlinguas-v2 multiprocessing virtualx
DESCRIPTION="Thunderbird Mail Client"
HOMEPAGE="https://www.mozilla.org/thunderbird"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free
+gmp-autoupdate hardened jack lightning lto cpu_flags_arm_neon
pgo pulseaudio selinux +system-av1
+system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx +system-webp test wayland wifi"
REQUIRED_USE="pgo? ( lto )"
RESTRICT="!bindist? ( bindist )
!test? ( test )"
PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCHFF}.tar.xz )
SRC_URI="${SRC_URI}
${MOZ_SRC_URI}
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
${PATCH_URIS[@]}"
CDEPEND="
>=dev-libs/nss-3.54
>=dev-libs/nspr-4.25
dev-libs/atk
dev-libs/expat
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
>=x11-libs/gtk+-3.4.0:3[X]
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
>=media-libs/libpng-1.6.35:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
virtual/freedesktop-icon-theme
sys-apps/dbus
dev-libs/dbus-glib
>=x11-libs/pixman-0.19.2
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=dev-libs/libffi-3.0.10:=
media-video/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
system-av1? (
>=media-libs/dav1d-0.3.0:=
>=media-libs/libaom-1.0.0:=
)
system-harfbuzz? (
>=media-libs/harfbuzz-2.6.8:0=
>=media-gfx/graphite2-1.3.13
)
system-icu? ( >=dev-libs/icu-67.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
system-webp? ( >=media-libs/libwebp-1.1.0:0= )
wifi? (
kernel_linux? (
net-misc/networkmanager
)
)
jack? ( virtual/jack )
selinux? ( sec-policy/selinux-mozilla )"
RDEPEND="${CDEPEND}
jack? ( virtual/jack )
pulseaudio? (
|| (
media-sound/pulseaudio
>=media-sound/apulse-0.1.12-r4
)
)
selinux? ( sec-policy/selinux-mozilla )"
DEPEND="${CDEPEND}
app-arch/zip
app-arch/unzip
>=dev-util/cbindgen-0.14.3
>=net-libs/nodejs-10.19.0
>=sys-devel/binutils-2.30
sys-apps/findutils
virtual/pkgconfig
>=virtual/rust-1.43.0
|| (
(
sys-devel/clang:11
!clang? ( sys-devel/llvm:11 )
clang? (
=sys-devel/lld-11*
sys-devel/llvm:11
pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
)
)
(
sys-devel/clang:10
!clang? ( sys-devel/llvm:10 )
clang? (
=sys-devel/lld-10*
sys-devel/llvm:10
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
)
)
)
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
!system-av1? (
amd64? ( >=dev-lang/nasm-2.13 )
x86? ( >=dev-lang/nasm-2.13 )
)"
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
BUILD_OBJ_DIR="${S}/tbird"
# allow GMP_PLUGIN_LIST to be set in an eclass or
# overridden in the enviromnent (advanced hackers only)
if [[ -z $GMP_PLUGIN_LIST ]] ; then
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
fi
llvm_check_deps() {
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use pgo ; then
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
}
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use pgo ; then
if ! has usersandbox $FEATURES ; then
die "You must enable usersandbox as X server can not run as root!"
fi
fi
# Ensure we have enough disk space to compile
if use pgo || use lto || use debug || use test ; then
CHECKREQS_DISK_BUILD="11G"
else
CHECKREQS_DISK_BUILD="5G"
fi
check-reqs_pkg_pretend
fi
}
pkg_setup() {
moz_pkgsetup
if [[ ${MERGE_TYPE} != binary ]] ; then
# Ensure we have enough disk space to compile
if use pgo || use lto || use debug || use test ; then
CHECKREQS_DISK_BUILD="11G"
else
CHECKREQS_DISK_BUILD="5G"
fi
check-reqs_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 \
XDG_CACHE_HOME \
XDG_SESSION_COOKIE \
XAUTHORITY
addpredict /proc/self/oom_score_adj
llvm_pkg_setup
fi
if ! use bindist ; then
einfo
elog "You are enabling official branding. You may not redistribute this build"
elog "to any users on your network or the internet. Doing so puts yourself into"
elog "a legal problem with Mozilla Foundation."
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
fi
}
src_unpack() {
default
# Unpack language packs
mozlinguas_src_unpack
}
src_prepare() {
# Apply firefox patchset then apply thunderbird patches
rm "${WORKDIR}"/firefox/0029-bmo-1632429-enum34-and-enum-virtualenv-packages-are-.patch || die
eapply "${WORKDIR}/firefox"
pushd "${S}"/comm &>/dev/null || die
eapply "${FILESDIR}/1000_fix_gentoo_preferences_78.2.0.patch"
popd &>/dev/null || die
# Allow user to apply any additional patches without modifing ebuild
eapply_user
# Make LTO respect MAKEOPTS
sed -i \
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
"${S}"/build/moz.configure/lto-pgo.configure \
|| die "sed failed to set num_cores"
# Make ICU respect MAKEOPTS
sed -i \
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
"${S}"/intl/icu_sources_data.py \
|| die "sed failed to set num_cores"
# 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"
# Allow user to apply any additional patches without modifing ebuild
eapply_user
einfo "Removing pre-built binaries ..."
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
# Enable gnomebreakpad
if use debug ; then
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
fi
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
if use ia64 ; then
sed -i \
-e '/^OS_LIBS += no_as_needed/d' \
-e '/^OS_LIBS += as_needed/d' \
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|| die "sed failed to drop --as-needed for ia64"
fi
# Fix sandbox violations during make clean, bug 372817
sed -e "s:\(/no-such-file\):${T}\1:g" \
-i "${S}"/config/rules.mk \
-i "${S}"/nsprpub/configure{.in,} \
|| die
# Don't exit with error when some libs are missing which we have in
# system.
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-i "${S}"/browser/installer/Makefile.in || die
# Don't error out when there's no files to be removed:
sed 's@\(xargs rm\)$@\1 -f@' \
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
# Keep codebase the same even if not using official branding
sed '/^MOZ_DEV_EDITION=1/d' \
-i "${S}"/browser/branding/aurora/configure.sh || die
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
# However, when available, an unsupported version can cause problems, bug #669548
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
"${S}"/build/moz.configure/rust.configure || die
if has_version ">=virtual/rust-1.45.0" ; then
einfo "Unbreak build with >=rust-1.45.0, bmo#1640982 ..."
sed -i \
-e 's/\(^cargo_rustc_flags +=.* \)-Clto\( \|$\)/\1/' \
"${S}/config/makefiles/rust.mk" || die
fi
# Autotools configure is now called old-configure.in
# This works because there is still a configure.in that happens to be for the
# shell wrapper configure script
eautoreconf old-configure.in
# Must run autoconf in js/src
cd "${S}"/js/src || die
eautoconf old-configure.in
# Clear checksums that present a problem
sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
}
src_configure() {
MEXTENSIONS="default"
# 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.
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
# Add information about TERM to output (build.log) to aid debugging
# blessings problems
if [[ -n "${TERM}" ]] ; then
einfo "TERM is set to: \"${TERM}\""
else
einfo "TERM is unset."
fi
if use clang && ! tc-is-clang ; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
CC=${CHOST}-clang
CXX=${CHOST}-clang++
strip-unsupported-flags
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
einfo "Enforcing the use of gcc due to USE=-clang ..."
CC=${CHOST}-gcc
CXX=${CHOST}-g++
strip-unsupported-flags
fi
####################################
#
# mozconfig, CFLAGS and CXXFLAGS setup
#
####################################
mozconfig_init
# common config components
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
# Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release
# libclang.so is not properly detected work around issue
mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
if use pgo ; then
if ! has userpriv $FEATURES ; then
eerror "Building thunderbird with USE=pgo and FEATURES=-userpriv is not supported!"
fi
fi
# Don't let user's LTO flags clash with upstream's flags
filter-flags -flto*
if use lto ; then
local show_old_compiler_warning=
if use clang ; then
# At this stage CC is adjusted and the following check will
# will work
if [[ $(clang-major-version) -lt 7 ]] ; then
show_old_compiler_warning=1
fi
# Upstream only supports lld when using clang
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
else
if [[ $(gcc-major-version) -lt 8 ]] ; then
show_old_compiler_warning=1
fi
if ! use cpu_flags_x86_avx2 ; then
local _gcc_version_with_ipa_cdtor_fix="8.3"
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
# due to a GCC bug, GCC will produce AVX2 instructions
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
append-ldflags -fdisable-ipa-cdtor
else
einfo "No GCC workaround required, GCC version is already patched!"
fi
else
einfo "No GCC workaround required, system supports AVX2"
fi
# Linking only works when using ld.gold when LTO is enabled
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
fi
if [[ -n "${show_old_compiler_warning}" ]] ; then
# Checking compiler's major version uses CC variable. Because we allow
# user to control used compiler via USE=clang flag, we cannot use
# initial value. So this is the earliest stage where we can do this check
# because pkg_pretend is not called in the main phase function sequence
# environment saving is not guaranteed so we don't know if we will have
# correct compiler until now.
ewarn ""
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
ewarn ""
sleep 5
fi
mozconfig_annotate '+lto' --enable-lto=thin
if use pgo ; then
mozconfig_annotate '+pgo' MOZ_PGO=1
fi
else
# Avoid auto-magic on linker
if use clang ; then
# This is upstream's default
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
elif tc-ld-is-gold ; then
mozconfig_annotate "linker is set to gold" --enable-linker=gold
else
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
fi
fi
# It doesn't compile on alpha without this LDFLAGS
use alpha && append-ldflags "-Wl,--no-relax"
# Add full relro support for hardened
use hardened && append-ldflags "-Wl,-z,now"
# Modifications to better support ARM, bug 553364
if use cpu_flags_arm_neon ; then
mozconfig_annotate '' --with-fpu=neon
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
fi
if [[ ${CHOST} == armv*h* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
mozconfig_use_enable !bindist official-branding
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
# These are enabled by default in all mozilla applications
mozconfig_annotate '' --with-system-nspr
mozconfig_annotate '' --with-system-nss
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate '' --with-intl-api
mozconfig_annotate '' --enable-system-pixman
# Instead of the standard --build= and --host=, mozilla uses --host instead
# of --build, and --target intstead of --host.
# Note, mozilla also has --build but it does not do what you think it does.
# Set both --target and --host as mozilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
if use system-libevent ; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
mozconfig_annotate '' --enable-rust-simd
fi
# use the gtk3 toolkit (the only one supported at this point)
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
if use wayland ; then
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
else
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
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-libvpx
mozconfig_use_with system-webp
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
# Disable built-in ccache support to avoid sandbox violation, #665420
# Use FEATURES=ccache instead!
mozconfig_annotate '' --without-ccache
sed -i -e 's/ccache_stats = None/return None/' \
python/mozbuild/mozbuild/controller/building.py || \
die "Failed to disable ccache stats call"
mozconfig_use_enable wifi necko-wifi
# enable JACK, bug 600002
mozconfig_use_enable jack
# Other tb-specific settings
mozconfig_annotate '' --with-user-appdir=.thunderbird
mozconfig_annotate '' --enable-calendar
# Enable/Disable eme support
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
# Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34
echo -n "${_google_api_key}" > "${S}"/google-api-key
mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
# allow elfhack to work in combination with unstripped binaries
# when they would normally be larger than 2GiB.
append-ldflags "-Wl,--compress-debug-sections=zlib"
if use clang ; then
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
local disable_elf_hack=
if use amd64 ; then
disable_elf_hack=yes
elif use x86 ; then
disable_elf_hack=yes
elif use arm ; then
disable_elf_hack=yes
fi
if [[ -n ${disable_elf_hack} ]] ; then
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
fi
fi
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
# Finalize and report settings
mozconfig_final
mkdir -p "${S}"/third_party/rust/libloading/.deps
# workaround for funky/broken upstream configure...
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
./mach configure || die
}
src_compile() {
local _virtx=
if use pgo ; then
_virtx=virtx
# Reset and cleanup environment variables used by GNOME/XDG
gnome2_environment_reset
addpredict /root
fi
GDK_BACKEND=x11 \
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
MOZ_NOSPAM=1 \
${_virtx} \
./mach build --verbose \
|| die
}
src_install() {
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
cd "${BUILD_OBJ_DIR}" || die
# Pax mark xpcshell for hardened support, only used for startupcache creation.
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
# Copy our preference before omnijar is created.
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
if use system-harfbuzz ; then
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
fi
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
fi
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
if ! use gmp-autoupdate ; then
local plugin
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
done
fi
cd "${S}"
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
DESTDIR="${D}" ./mach install || die
# Install language packs
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
local size sizes icon_path icon
if ! use bindist; then
icon_path="${S}/comm/mail/branding/thunderbird"
icon="${PN}-icon"
domenu "${FILESDIR}"/icon/${PN}.desktop
else
icon_path="${S}/comm/mail/branding/nightly"
icon="${PN}-icon-unbranded"
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
${PN}.desktop
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
"${ED}"/usr/share/applications/${PN}.desktop
fi
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
newicon "${icon_path}"/default48.png "${icon}".png
# Install icons for menu entry
sizes="16 22 24 32 48 256"
for size in ${sizes}; do
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
done
# Disable built-in auto-update because we update firefox through package manager
insinto ${MOZILLA_FIVE_HOME}/distribution/
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
# Don't install llvm-symbolizer from sys-devel/llvm package
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
local emid
# stage extra locales for lightning and install over existing
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
mkdir -p "${T}/${emid}" || die
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
doins -r "${T}/${emid}"
if use lightning; then
# move lightning out of distribution/extensions and into extensions for app-global install
mkdir -p "${ED}"/${MOZILLA_FIVE_HOME}/extensions
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
# stage extra locales for gdata-provider and install app-global
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
mkdir -p "${T}/${emid}" || die
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
# manifest.json does not allow the addon to load, put install.rdf in place
# note, version number needs to be set properly
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
insinto ${MOZILLA_FIVE_HOME}/extensions
doins -r "${T}/${emid}"
fi
# thunderbird and thunderbird-bin are identical
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
# Required in order to use plugins and even run thunderbird on hardened.
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
}
pkg_preinst() {
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
# doesn't need to be forced into the LD_LIBRARY_PATH
if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
einfo "APULSE found - Generating library symlinks for sound support"
local lib
pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
# a quickpkg rolled by hand will grab symlinks as part of the package,
# so we need to avoid creating them if they already exist.
if [[ ! -L ${lib##*/} ]] ; then
ln -s "${lib}" ${lib##*/} || die
fi
done
popd &>/dev/null || die
fi
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
if ! use gmp-autoupdate ; then
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
elog "installing into new profiles:"
local plugin
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
elog "\t ${plugin}"
done
elog
fi
if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
elog "Apulse was detected at merge time on this system and so it will always be"
elog "used for sound. If you wish to use pulseaudio instead please unmerge"
elog "media-sound/apulse."
elog
fi
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View File

@ -1,969 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
MOZ_ESR=""
MOZ_LIGHTNING_VER="6.2.5"
MOZ_LIGHTNING_GDATA_VER="4.4.1"
PYTHON_COMPAT=( python3_{7..9} )
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
MOZ_LANGS=(de en en-GB en-US ru)
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
MOZ_PV="${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
if [[ ${MOZ_ESR} == 1 ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
# Patches
PATCHFF="firefox-78.0-patches-05"
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
MOZ_LANGPACK_PREFIX="${MOZ_PV}/linux-x86_64/xpi/"
if [[ "${PV}" == *_rc* ]]; then
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
fi
LLVM_MAX_SLOT=11
MOZCONFIG_OPTIONAL_JIT=1
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
autotools mozlinguas-v2 multiprocessing virtualx
DESCRIPTION="Thunderbird Mail Client"
HOMEPAGE="https://www.mozilla.org/thunderbird"
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free
+gmp-autoupdate hardened jack lightning lto cpu_flags_arm_neon
pgo pulseaudio selinux +system-av1
+system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx +system-webp test wayland wifi
+jit kde cross-lto thinlto"
REQUIRED_USE="pgo? ( lto )
cross-lto? ( clang lto )
thinlto? ( lto )
kde? ( !bindist )"
RESTRICT="!bindist? ( bindist )
!test? ( test )"
PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCHFF}.tar.xz )
SRC_URI="${SRC_URI}
${MOZ_SRC_URI}
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
${PATCH_URIS[@]}"
CDEPEND="
>=dev-libs/nss-3.54
>=dev-libs/nspr-4.25
dev-libs/atk
dev-libs/expat
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
>=x11-libs/gtk+-3.4.0:3[X]
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
>=media-libs/libpng-1.6.35:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
virtual/freedesktop-icon-theme
sys-apps/dbus
dev-libs/dbus-glib
>=x11-libs/pixman-0.19.2
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=dev-libs/libffi-3.0.10:=
media-video/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
system-av1? (
>=media-libs/dav1d-0.3.0:=
>=media-libs/libaom-1.0.0:=
)
system-harfbuzz? (
>=media-libs/harfbuzz-2.6.8:0=
>=media-gfx/graphite2-1.3.13
)
system-icu? ( >=dev-libs/icu-67.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
system-webp? ( >=media-libs/libwebp-1.1.0:0= )
wifi? (
kernel_linux? (
net-misc/networkmanager
)
)
jack? ( virtual/jack )
selinux? ( sec-policy/selinux-mozilla )"
RDEPEND="${CDEPEND}
jack? ( virtual/jack )
pulseaudio? (
|| (
media-sound/pulseaudio
>=media-sound/apulse-0.1.12-r4
)
)
selinux? ( sec-policy/selinux-mozilla )"
DEPEND="${CDEPEND}
app-arch/zip
app-arch/unzip
>=dev-util/cbindgen-0.14.3
>=net-libs/nodejs-10.19.0
>=sys-devel/binutils-2.30
sys-apps/findutils
virtual/pkgconfig
>=virtual/rust-1.43.0
|| (
(
sys-devel/clang:11
!clang? ( sys-devel/llvm:11 )
clang? (
=sys-devel/lld-11*
sys-devel/llvm:11
pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
)
)
(
sys-devel/clang:10
!clang? ( sys-devel/llvm:10 )
clang? (
=sys-devel/lld-10*
sys-devel/llvm:10
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
)
)
)
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
!system-av1? (
amd64? ( >=dev-lang/nasm-2.13 )
x86? ( >=dev-lang/nasm-2.13 )
)"
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
BUILD_OBJ_DIR="${S}/tbird"
# allow GMP_PLUGIN_LIST to be set in an eclass or
# overridden in the enviromnent (advanced hackers only)
if [[ -z $GMP_PLUGIN_LIST ]] ; then
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
fi
llvm_check_deps() {
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use pgo ; then
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
}
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use pgo ; then
if ! has usersandbox $FEATURES ; then
die "You must enable usersandbox as X server can not run as root!"
fi
fi
# Ensure we have enough disk space to compile
if use pgo || use lto || use debug || use test ; then
CHECKREQS_DISK_BUILD="11G"
else
CHECKREQS_DISK_BUILD="5G"
fi
check-reqs_pkg_pretend
fi
}
pkg_setup() {
moz_pkgsetup
if [[ ${MERGE_TYPE} != binary ]] ; then
# Ensure we have enough disk space to compile
if use pgo || use lto || use debug || use test ; then
CHECKREQS_DISK_BUILD="11G"
else
CHECKREQS_DISK_BUILD="5G"
fi
check-reqs_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 \
XDG_CACHE_HOME \
XDG_SESSION_COOKIE \
XAUTHORITY
addpredict /proc/self/oom_score_adj
llvm_pkg_setup
fi
if ! use bindist ; then
einfo
elog "You are enabling official branding. You may not redistribute this build"
elog "to any users on your network or the internet. Doing so puts yourself into"
elog "a legal problem with Mozilla Foundation."
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
fi
}
src_unpack() {
default
# Unpack language packs
mozlinguas_src_unpack
}
src_prepare() {
# Apply firefox patchset then apply thunderbird patches
rm "${WORKDIR}"/firefox/0029-bmo-1632429-enum34-and-enum-virtualenv-packages-are-.patch || die
eapply "${WORKDIR}/firefox"
pushd "${S}"/comm &>/dev/null || die
eapply "${FILESDIR}/1000_fix_gentoo_preferences_78.2.0.patch"
popd &>/dev/null || die
# Allow user to apply any additional patches without modifing ebuild
eapply_user
# Make LTO respect MAKEOPTS
sed -i \
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
"${S}"/build/moz.configure/lto-pgo.configure \
|| die "sed failed to set num_cores"
# Make ICU respect MAKEOPTS
sed -i \
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
"${S}"/intl/icu_sources_data.py \
|| die "sed failed to set num_cores"
# 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"
# Allow user to apply any additional patches without modifing ebuild
eapply_user
einfo "Removing pre-built binaries ..."
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' -o -name '*.la' -o -name '*.a' \) -print -delete || die
# Enable gnomebreakpad
if use debug ; then
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
fi
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
if use ia64 ; then
sed -i \
-e '/^OS_LIBS += no_as_needed/d' \
-e '/^OS_LIBS += as_needed/d' \
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|| die "sed failed to drop --as-needed for ia64"
fi
# Fix sandbox violations during make clean, bug 372817
sed -e "s:\(/no-such-file\):${T}\1:g" \
-i "${S}"/config/rules.mk \
-i "${S}"/nsprpub/configure{.in,} \
|| die
# Don't exit with error when some libs are missing which we have in
# system.
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-i "${S}"/browser/installer/Makefile.in || die
# Don't error out when there's no files to be removed:
sed 's@\(xargs rm\)$@\1 -f@' \
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
# Keep codebase the same even if not using official branding
sed '/^MOZ_DEV_EDITION=1/d' \
-i "${S}"/browser/branding/aurora/configure.sh || die
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
# However, when available, an unsupported version can cause problems, bug #669548
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
"${S}"/build/moz.configure/rust.configure || die
if has_version ">=virtual/rust-1.45.0" ; then
einfo "Unbreak build with >=rust-1.45.0, bmo#1640982 ..."
sed -i \
-e 's/\(^cargo_rustc_flags +=.* \)-Clto\( \|$\)/\1/' \
"${S}/config/makefiles/rust.mk" || die
fi
# OpenSUSE-KDE patchset
einfo Applying OpenSUSE-KDE patches
use kde && for p in $(cat "${FILESDIR}/opensuse-kde-$(get_major_version)"/series);do
patch --dry-run --silent -p1 -i "${FILESDIR}/opensuse-kde-$(get_major_version)"/$p 2>/dev/null
if [ $? -eq 0 ]; then
eapply "${FILESDIR}/opensuse-kde-$(get_major_version)"/$p;
einfo +++++++++++++++++++++++++;
einfo Patch $p is APPLIED;
einfo +++++++++++++++++++++++++
else
einfo -------------------------;
einfo Patch $p is NOT applied and IGNORED;
einfo -------------------------
fi
done
# Privacy-esr patches
einfo Applying privacy patches
for i in $(cat "${FILESDIR}/privacy-patchset-$(get_major_version)/series"); do eapply "${FILESDIR}/privacy-patchset-$(get_major_version)/$i"; done
# Debian patches
einfo "Applying Debian's patches"
for p in $(cat "${FILESDIR}/debian-patchset-$(get_major_version)"/series);do
patch --dry-run --silent -p1 -i "${FILESDIR}/debian-patchset-$(get_major_version)"/$p 2>/dev/null
if [ $? -eq 0 ]; then
eapply "${FILESDIR}/debian-patchset-$(get_major_version)"/$p;
einfo +++++++++++++++++++++++++;
einfo Patch $p is APPLIED;
einfo +++++++++++++++++++++++++
else
einfo -------------------------;
einfo Patch $p is NOT applied and IGNORED;
einfo -------------------------
fi
done
# FreeBSD patches
einfo "Applying FreeBSD's patches"
for i in $(cat "${FILESDIR}/freebsd-patchset-$(get_major_version)/series"); do eapply "${FILESDIR}/freebsd-patchset-$(get_major_version)/$i"; done
# Fedora patches
einfo "Applying Fedora's patches"
for p in $(cat "${FILESDIR}/fedora-patchset-$(get_major_version)"/series);do
patch --dry-run --silent -p1 -i "${FILESDIR}/fedora-patchset-$(get_major_version)"/$p 2>/dev/null
if [ $? -eq 0 ]; then
eapply "${FILESDIR}/fedora-patchset-$(get_major_version)"/$p;
einfo +++++++++++++++++++++++++;
einfo Patch $p is APPLIED;
einfo +++++++++++++++++++++++++
else
einfo -------------------------;
einfo Patch $p is NOT applied and IGNORED;
einfo -------------------------
fi
done
eapply "${FILESDIR}/${PN}-$(get_major_version)-no-dbus.patch"
# Autotools configure is now called old-configure.in
# This works because there is still a configure.in that happens to be for the
# shell wrapper configure script
eautoreconf old-configure.in
# Must run autoconf in js/src
cd "${S}"/js/src || die
eautoconf old-configure.in
# Clear checksums that present a problem
sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
}
src_configure() {
MEXTENSIONS="default"
# 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.
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
# Add information about TERM to output (build.log) to aid debugging
# blessings problems
if [[ -n "${TERM}" ]] ; then
einfo "TERM is set to: \"${TERM}\""
else
einfo "TERM is unset."
fi
if use clang && ! tc-is-clang ; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
CC=${CHOST}-clang
CXX=${CHOST}-clang++
strip-unsupported-flags
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
einfo "Enforcing the use of gcc due to USE=-clang ..."
CC=${CHOST}-gcc
CXX=${CHOST}-g++
strip-unsupported-flags
fi
####################################
#
# mozconfig, CFLAGS and CXXFLAGS setup
#
####################################
mozconfig_init
# common config components
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
# Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release
# libclang.so is not properly detected work around issue
mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
if use pgo ; then
if ! has userpriv $FEATURES ; then
eerror "Building thunderbird with USE=pgo and FEATURES=-userpriv is not supported!"
fi
fi
# Don't let user's LTO flags clash with upstream's flags
filter-flags -flto*
if use lto ; then
local show_old_compiler_warning=
if use clang ; then
# At this stage CC is adjusted and the following check will
# will work
if [[ $(clang-major-version) -lt 7 ]] ; then
show_old_compiler_warning=1
fi
# Upstream only supports lld when using clang
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
else
if [[ $(gcc-major-version) -lt 8 ]] ; then
show_old_compiler_warning=1
fi
if ! use cpu_flags_x86_avx2 ; then
local _gcc_version_with_ipa_cdtor_fix="8.3"
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
# due to a GCC bug, GCC will produce AVX2 instructions
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
append-ldflags -fdisable-ipa-cdtor
else
einfo "No GCC workaround required, GCC version is already patched!"
fi
else
einfo "No GCC workaround required, system supports AVX2"
fi
# Linking only works when using ld.gold when LTO is enabled
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
fi
if [[ -n "${show_old_compiler_warning}" ]] ; then
# Checking compiler's major version uses CC variable. Because we allow
# user to control used compiler via USE=clang flag, we cannot use
# initial value. So this is the earliest stage where we can do this check
# because pkg_pretend is not called in the main phase function sequence
# environment saving is not guaranteed so we don't know if we will have
# correct compiler until now.
ewarn ""
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
ewarn ""
sleep 5
fi
if use cross-lto ; then
filter-flags -fno-plt
append-flags --target=x86_64-unknown-linux-gnu
append-ldflags --target=x86_64-unknown-linux-gnu
mozconfig_annotate '+lto-cross' --enable-lto=cross
mozconfig_annotate '+lto-cross' MOZ_LTO=1
mozconfig_annotate '+lto-cross' MOZ_LTO=cross
mozconfig_annotate '+lto-cross' MOZ_LTO_RUST=1
elif use thinlto ; then
mozconfig_annotate '+lto-thin' --enable-lto=thin
mozconfig_annotate '+lto-thin' MOZ_LTO=1
mozconfig_annotate '+lto-thin' MOZ_LTO=thin
else
mozconfig_annotate '+lto-full' --enable-lto=full
mozconfig_annotate '+lto-full' MOZ_LTO=1
mozconfig_annotate '+lto-full' MOZ_LTO=full
fi
if use pgo ; then
mozconfig_annotate '+pgo' MOZ_PGO=1
mozconfig_annotate '+pgo-rust' MOZ_PGO_RUST=1
fi
else
# Avoid auto-magic on linker
if use clang ; then
# This is upstream's default
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
elif tc-ld-is-gold ; then
mozconfig_annotate "linker is set to gold" --enable-linker=gold
else
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
fi
fi
# It doesn't compile on alpha without this LDFLAGS
use alpha && append-ldflags "-Wl,--no-relax"
# Add full relro support for hardened
use hardened && append-ldflags "-Wl,-z,now"
# Modifications to better support ARM, bug 553364
if use cpu_flags_arm_neon ; then
mozconfig_annotate '' --with-fpu=neon
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
fi
if [[ ${CHOST} == armv*h* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
mozconfig_use_enable !bindist official-branding
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
# These are enabled by default in all mozilla applications
mozconfig_annotate '' --with-system-nspr
mozconfig_annotate '' --with-system-nss
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate '' --with-intl-api
mozconfig_annotate '' --enable-system-pixman
# Instead of the standard --build= and --host=, mozilla uses --host instead
# of --build, and --target intstead of --host.
# Note, mozilla also has --build but it does not do what you think it does.
# Set both --target and --host as mozilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
if use system-libevent ; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
mozconfig_annotate '' --enable-rust-simd
fi
# use the gtk3 toolkit (the only one supported at this point)
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
if use wayland ; then
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
else
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
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-libvpx
mozconfig_use_with system-webp
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
# Disable built-in ccache support to avoid sandbox violation, #665420
# Use FEATURES=ccache instead!
mozconfig_annotate '' --without-ccache
sed -i -e 's/ccache_stats = None/return None/' \
python/mozbuild/mozbuild/controller/building.py || \
die "Failed to disable ccache stats call"
mozconfig_use_enable wifi necko-wifi
# enable JACK, bug 600002
mozconfig_use_enable jack
# Other tb-specific settings
mozconfig_annotate '' --with-user-appdir=.thunderbird
mozconfig_annotate '' --enable-calendar
# Enable/Disable eme support
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
# allow elfhack to work in combination with unstripped binaries
# when they would normally be larger than 2GiB.
append-ldflags "-Wl,--compress-debug-sections=zlib"
if use clang ; then
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
local disable_elf_hack=
if use amd64 ; then
disable_elf_hack=yes
elif use x86 ; then
disable_elf_hack=yes
elif use arm ; then
disable_elf_hack=yes
fi
if [[ -n ${disable_elf_hack} ]] ; then
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
fi
fi
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
#
mozconfig_annotate '' --disable-accessibility
mozconfig_annotate '' --disable-address-sanitizer
mozconfig_annotate '' --disable-address-sanitizer-reporter
mozconfig_annotate '' --disable-callgrind
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate '' --disable-debug
mozconfig_annotate '' --disable-debug-js-modules
mozconfig_annotate '' --disable-debug-symbols
mozconfig_annotate '' --disable-dmd
mozconfig_annotate '' --disable-dtrace
mozconfig_annotate '' --disable-dump-painting
mozconfig_annotate '' --disable-gold
mozconfig_annotate '' --disable-gtest-in-build
mozconfig_annotate '' --disable-instruments
mozconfig_annotate '' --disable-ipdl-tests
mozconfig_annotate '' --disable-jprof
mozconfig_annotate '' --disable-libproxy
mozconfig_annotate '' --disable-logrefcnt
mozconfig_annotate '' --disable-memory-sanitizer
mozconfig_annotate '' --disable-mobile-optimize
mozconfig_annotate '' --disable-necko-wifi
mozconfig_annotate '' --disable-parental-controls
mozconfig_annotate '' --disable-perf
mozconfig_annotate '' --disable-profiling
mozconfig_annotate '' --disable-reflow-perf
mozconfig_annotate '' --disable-rust-debug
mozconfig_annotate '' --disable-rust-tests
mozconfig_annotate '' --disable-system-extension-dirs
mozconfig_annotate '' --disable-trace-logging
mozconfig_annotate '' --disable-updater
mozconfig_annotate '' --disable-valgrind
mozconfig_annotate '' --disable-verify-mar
mozconfig_annotate '' --disable-vtune
mozconfig_annotate '' --disable-warnings-as-errors
mozconfig_annotate '' --without-debug-label
mozconfig_annotate '' --without-google-location-service-api-keyfile
mozconfig_annotate '' --without-google-safebrowsing-api-keyfile
mozconfig_annotate '' MOZ_DATA_REPORTING=
mozconfig_annotate '' MOZ_LOGGING=
mozconfig_annotate '' MOZ_PAY=
mozconfig_annotate '' MOZ_SERVICES_HEALTHREPORTER=
mozconfig_annotate '' MOZ_SERVICES_METRICS=
mozconfig_annotate '' MOZ_TELEMETRY_REPORTING=
mozconfig_annotate '' RUSTFLAGS=-Ctarget-cpu=native
mozconfig_annotate '' RUSTFLAGS=-Copt-level=3
mozconfig_annotate '' RUSTFLAGS=-Cdebuginfo=0
# Enable good features
mozconfig_annotate '' --enable-install-strip
mozconfig_annotate '' --enable-rust-simd
mozconfig_annotate '' --enable-strip
echo "export MOZ_DATA_REPORTING=" >> "${S}"/.mozconfig
echo "export MOZ_DEVICES=" >> "${S}"/.mozconfig
echo "export MOZ_LOGGING=" >> "${S}"/.mozconfig
echo "export MOZ_PAY=" >> "${S}"/.mozconfig
echo "export MOZ_SERVICES_HEALTHREPORTER=" >> "${S}"/.mozconfig
echo "export MOZ_SERVICES_METRICS=" >> "${S}"/.mozconfig
echo "export MOZ_TELEMETRY_REPORTING=" >> "${S}"/.mozconfig
echo "export RUSTFLAGS='-Ctarget-cpu=native -Copt-level=3 -Cdebuginfo=0'" >> "${S}"/.mozconfig
#
# Finalize and report settings
mozconfig_final
mkdir -p "${S}"/third_party/rust/libloading/.deps
# workaround for funky/broken upstream configure...
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
./mach configure || die
}
src_compile() {
local _virtx=
if use pgo ; then
_virtx=virtx
# Reset and cleanup environment variables used by GNOME/XDG
gnome2_environment_reset
addpredict /root
fi
GDK_BACKEND=x11 \
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
MOZ_NOSPAM=1 \
${_virtx} \
./mach build --verbose \
|| die
}
src_install() {
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
cd "${BUILD_OBJ_DIR}" || die
# Pax mark xpcshell for hardened support, only used for startupcache creation.
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
# Copy our preference before omnijar is created.
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
if use system-harfbuzz ; then
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
fi
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
fi
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
if ! use gmp-autoupdate ; then
local plugin
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|| die
done
fi
cd "${S}"
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
DESTDIR="${D}" ./mach install || die
# Install language packs
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
local size sizes icon_path icon
if ! use bindist; then
icon_path="${S}/comm/mail/branding/thunderbird"
icon="${PN}-icon"
domenu "${FILESDIR}"/icon/${PN}.desktop
else
icon_path="${S}/comm/mail/branding/nightly"
icon="${PN}-icon-unbranded"
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
${PN}.desktop
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
"${ED}"/usr/share/applications/${PN}.desktop
fi
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
newicon "${icon_path}"/default48.png "${icon}".png
# Install icons for menu entry
sizes="16 22 24 32 48 256"
for size in ${sizes}; do
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
done
# Disable built-in auto-update because we update firefox through package manager
insinto ${MOZILLA_FIVE_HOME}/distribution/
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
# Don't install llvm-symbolizer from sys-devel/llvm package
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
local emid
# stage extra locales for lightning and install over existing
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
mkdir -p "${T}/${emid}" || die
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
doins -r "${T}/${emid}"
if use lightning; then
# move lightning out of distribution/extensions and into extensions for app-global install
mkdir -p "${ED}"/${MOZILLA_FIVE_HOME}/extensions
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
# stage extra locales for gdata-provider and install app-global
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
mkdir -p "${T}/${emid}" || die
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
# manifest.json does not allow the addon to load, put install.rdf in place
# note, version number needs to be set properly
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
insinto ${MOZILLA_FIVE_HOME}/extensions
doins -r "${T}/${emid}"
fi
# thunderbird and thunderbird-bin are identical
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
# Required in order to use plugins and even run thunderbird on hardened.
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
}
pkg_preinst() {
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
# doesn't need to be forced into the LD_LIBRARY_PATH
if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
einfo "APULSE found - Generating library symlinks for sound support"
local lib
pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
# a quickpkg rolled by hand will grab symlinks as part of the package,
# so we need to avoid creating them if they already exist.
if [[ ! -L ${lib##*/} ]] ; then
ln -s "${lib}" ${lib##*/} || die
fi
done
popd &>/dev/null || die
fi
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
if ! use gmp-autoupdate ; then
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
elog "installing into new profiles:"
local plugin
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
elog "\t ${plugin}"
done
elog
fi
if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
elog "Apulse was detected at merge time on this system and so it will always be"
elog "used for sound. If you wish to use pulseaudio instead please unmerge"
elog "media-sound/apulse."
elog
fi
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

3
net-fs/mc3/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST mc-2021.03.23.05.46.11-deps.tar.xz 400078460 SHA256 6afe77997eb99706f634109ed6776eb72c9adfde9690d5d7430f34731e907694 SHA512 5970f19d563eb948fbef64e82677a8c29b35b925d41ae1682241771adc2153096de57ecb6bb2b3e7e21aa800158a8dc68922e1b177df6f96882adba658f80e6b WHIRLPOOL 239e8765bbbbcc04e78cc221bf53d724abd67150565283bf00736ddabc27713e9b102af41632a27bd71628939e0c695eaf7ef4395197c241c17af0de7c3c5c4e
DIST mc-2021.03.23.05.46.11.tar.gz 438008 SHA256 3045dacd789a130d46e18303ae10d455af655dd34d4f5161f8508d679b0756e8 SHA512 34dcb4d5c8c98ba9edf3791a01914bef0bce29c5939a7486d79e1c7949e3169897c7db4c718cd7329e507cd9402dd6cdf142fe1c426ea5fb5d6aadd0cc248f7c WHIRLPOOL 44aa61752537a6d7e0965461ca29d016b7e9bd3deeab393c51b59e695cd24c8b4fe0d40a51c1af9dd43bfb01dc8fea0e98e51a763609a004f4b5f1f28f0691a1
EBUILD mc3-2021.03.23.05.46.11.ebuild 1129 SHA256 297074265e079e81cc5479d5b0fb386aab58e0fb89ef6a337e59deda405c785b SHA512 38b589b4852344dc84893680c4987f5317c176ef6176731c1f801d028c1bf79c8bfa661c2aba45c9b89f8a1b989b778976eefdcbc454d160ac1f09a4a67cacca WHIRLPOOL 3901e3a535e5f6793c37dc0905acbdc5893250589f2f4bbfc50451b6d8583e1b4316a636d367498fa604c6cd06f4d3480a4c8c9e12a2d83427ff587604e860a7

View File

@ -0,0 +1,45 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module
REAL_P="${P//mc3/mc}"
REAL_PN="${PN//mc3/mc}"
MY_PV="$(ver_cut 1-3)T$(ver_cut 4-7)Z"
MY_PV=${MY_PV//./-}
EGIT_COMMIT=1513d76ca9d3a2cddda40d0e6e50be164b894889
DESCRIPTION="Minio client provides alternatives for ls, cat on cloud storage and filesystems"
HOMEPAGE="https://github.com/minio/mc"
SRC_URI="https://github.com/minio/mc/archive/RELEASE.${MY_PV}.tar.gz -> ${REAL_P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${REAL_P}-deps.tar.xz"
LICENSE="Apache-2.0 BSD MIT MPL-2.0"
SLOT="0"
KEYWORDS="amd64"
RDEPEND=""
S="${WORKDIR}/${REAL_PN}-RELEASE.${MY_PV}"
src_prepare() {
default
sed -i \
-e "s/time.Now().UTC().Format(time.RFC3339)/\"${VERSION}\"/" \
-e "s/-s -w//" \
-e "/time/d" \
-e "s/+ commitID()/+ \"${EGIT_COMMIT}\"/" \
buildscripts/gen-ldflags.go || die
}
src_compile() {
MC_RELEASE="${MY_PV}" \
go build -trimpath --ldflags "$(go run buildscripts/gen-ldflags.go)" -o ${PN} || die
}
src_install() {
dobin mc3
dodoc -r README.md CONTRIBUTING.md docs
}

View File

@ -1,4 +1,13 @@
AUX 50nxplayer 41 SHA256 15d0e2d50df089c0d01db7579cdb25898e7111bd67b7bb1327de604b46d001df SHA512 2ca064c30ac4934403150e07488eb17469815d958056c7da913c5dbaf94f7b5cddfbda4c3b240ef62337960ccdba44b535f174f20c8a1643bb8a2738d92ee6b0 WHIRLPOOL 0569937dfb277ee33d7e4ee7f963d5a3ab9056d1f4a1a35be9bd1086b138365fd7f2ee8a59c564f9ecf2a6b85777d59d52e34c5f1af4cd79e2cae0522d1b9793
DIST nomachine-enterprise-client_7.10.1_1_i686.tar.gz 35365174 SHA256 3afdfa337d11496167ebfc41edf6e92ddf19f3c4c3314a78be866b5698d29f67 SHA512 e7cd96e7847b2573cc7b3070093820d903aca85b31d9662348d9ca2b1f9065c2ac065cd64a5c190543561189850e582bbc4a414757cce3feb55edb6c868e7dd5 WHIRLPOOL 96622f21a33875500fd17055bc36b36c4ddc0b62cee81f073c0332d6e85ca7d384824688e3ca4906f52d61eea16f26f13cf51d05ea9310a9720fc1045e123985
DIST nomachine-enterprise-client_7.10.1_1_x86_64.tar.gz 37052246 SHA256 d8fa1fb80792e2d429592c24ca9100ddd3c16796cb321426674bd7a7163c84c3 SHA512 fbb0ac0378dc4ae64aa7872e8302b8bc9b5f16a91b06a6bad2bae305b20e05f573b2bd945c8a4ba865203243f59694d102a02c2801cfb4850298c71ffcdc8d5d WHIRLPOOL c985a0f93d68f76eddc6e78a8645282b8fb6b63a3ac51c1478071cc938a58fb604551273c3d7d54f90927509193445f3b66a9277656c1225ea4eeed898d47c55
DIST nomachine-enterprise-client_8.4.2_2_i686.tar.gz 149522 SHA256 0acfb6a99a146a7cfbc0f82acbf398cd8677c28fbbbe91d9707cf3ae391adcf3 SHA512 96df8994f28f7cd92e22b37b3c63c0c9ddeede2cdbc1fdd7b810ce636fca6e90fd7a45e41be57e895a046ca7ec7659bc4a0f5d645b098170d019c072cd799cfb WHIRLPOOL ebb2808ca585d6ac6669c3ac192373eacd9c93b726af971a4c56c64a04d007bbb865ba765efaac30d51cc2a471ca66c7cad259bfdfcb4a8cad6d01950a99075d
DIST nomachine-enterprise-client_8.4.2_2_x86_64.tar.gz 44454794 SHA256 2871a6f9531bf1691b5b2b73a942083b8304e9d514b6dfffad0f39c351eca19a SHA512 ed76f336d238f9a7938c8896916d7efe1d25f15d5fbc5e92dd2b8eeb252ef05f7bfc51ab0f663c6b74220fcc7137a7f282253c1ae3ef605c85983c691d225e60 WHIRLPOOL 2dcb91646bec08b0a306738fccb40ac1cb8dd86024272a5bbd93f15f0c7c5330e6f2ebb7766c46c02ebf81697efbb4640c1a170ed2ea4862f8e61ef1adbee9dc
DIST nomachine-enterprise-client_8.6.1_3_i686.tar.gz 43016957 SHA256 4c678a7dca91e1f5202c27ad28b7db5ca520e308abb06c93ae99b8a37dfadaa1 SHA512 63c0de405a90cf50a823c9873bd7201d8590137522518bd5d63de854427da3d781c93dfdd58839c58d834426605deb650cf14a6f2f92e50629ae0b037e889b78 WHIRLPOOL 0224aef73a6272d757d316797ccf55702d245c386b31b5d95b42e6b2865746281e68408008fbe6dc9af9072b997ebd227dc93f5a423ab1bf8580cb3dbccfd699
DIST nomachine-enterprise-client_8.6.1_3_x86_64.tar.gz 44461029 SHA256 5b340834f48a375ea469a76d0892dbc46684a0c92648e996b5c85ab8d600ae30 SHA512 beced79d4c94a1b9d1b3b3c21a3240b02cdce824a835954183a7744a67a07f1d604005cca4186d09d2d26cdec7ea752fe2c32fc33ce8e7c37ce6acde9a562ba7 WHIRLPOOL 48e63dca3e513d4cba2485e0c733d7ad642c654edba7ccb53f476ea456bda07d1dcdcf8fc79727fa777c0311a80f72dcf5b39daf6ff052aa7da94506ed016ef3
DIST nomachine-enterprise-client_8.8.1_1_i686.tar.gz 43018230 SHA256 310cd0efffdc8a283b41ef5cdb9b6df4fbd44b7b21088caccea79897803f4d32 SHA512 c125174091da8bad1650c2e1eda691f2faef9efce6083a5d803f96fff51b9c38b4dfd8872483882df9bb30abc464b205625ed5ba74411ed2becc6e7bf8f2229f WHIRLPOOL 1d0aa9f9eb3cce285dd9d1e7b9e354b1909226fd66432dd31f2a82392ce03e18b7a511eb812b032d38bbb705179b1f5d2041999e668f9d3593ce47f0ec64e181
DIST nomachine-enterprise-client_8.8.1_1_x86_64.tar.gz 44462201 SHA256 fa9a9b215bfb7874e7869953c33119b516de8865eaf6e1b0fe05b5e56435a414 SHA512 a8d4b39462b934aec1861821db694bdb85005c9539c961dc6c5b2f533e7cd4569f59de72c7f99a5d57bb4970b6d8f3b90a881dfe4b8f59236b3397dda7ec2149 WHIRLPOOL e58f1325eb82ec90f6a93d0bd60ed98724470a2b8b3bd88c95b1cda4414ba22ae94ce572a4c058d66da2be989bb511320a744434de1f3ed2427697a1eaa92985
EBUILD nxplayer-7.10.1.1.ebuild 896 SHA256 f9c2a3f4db7a94937102a75c060858668a99385715806b89651d7696ae0db6a4 SHA512 6a7795da4b8ef521ef247c4aa9f73b3c6150c5aab028406e4d526ae5419889344c5d867a6b9133b3073ddab942e30b50397881dd7a8b6c08f75f1fe693a8f9eb WHIRLPOOL 3746a5fa23aa7209415d758ff68fa625fdfb3a5a2082647d9e9830a9bcac2b56cc5839b58c4186da0e93c9d9f4dccf6020223687c3aee57600fc33bc6a7d1057
EBUILD nxplayer-8.4.2.2.ebuild 999 SHA256 d1a0fdf79b366061434b80e94f867dc8dec594b175a7be9a005ce585299225ee SHA512 72c6155f0164dfbcda2d3334ad749e133489c86989125fff7d9d171e5909c5290ecf622d59b50752285450393dbf8958ba1ae74611f17b350c8924372d95f27a WHIRLPOOL ea1353e27d2c91c2ad736cbbc508834670802539691774eed8fbd5cc62f56a8045f50e4ccc86bf95979a30d7a2b6258e357b5345dc986de1e106f2cf29d41542
EBUILD nxplayer-8.6.1.3.ebuild 999 SHA256 d1a0fdf79b366061434b80e94f867dc8dec594b175a7be9a005ce585299225ee SHA512 72c6155f0164dfbcda2d3334ad749e133489c86989125fff7d9d171e5909c5290ecf622d59b50752285450393dbf8958ba1ae74611f17b350c8924372d95f27a WHIRLPOOL ea1353e27d2c91c2ad736cbbc508834670802539691774eed8fbd5cc62f56a8045f50e4ccc86bf95979a30d7a2b6258e357b5345dc986de1e106f2cf29d41542
EBUILD nxplayer-8.8.1.1.ebuild 999 SHA256 d1a0fdf79b366061434b80e94f867dc8dec594b175a7be9a005ce585299225ee SHA512 72c6155f0164dfbcda2d3334ad749e133489c86989125fff7d9d171e5909c5290ecf622d59b50752285450393dbf8958ba1ae74611f17b350c8924372d95f27a WHIRLPOOL ea1353e27d2c91c2ad736cbbc508834670802539691774eed8fbd5cc62f56a8045f50e4ccc86bf95979a30d7a2b6258e357b5345dc986de1e106f2cf29d41542

View File

@ -0,0 +1,38 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="nomachine-enterprise-client_$(ver_cut 1-3)_$(ver_cut 4)"
DESCRIPTION="Client for NoMachine remote servers"
HOMEPAGE="https://www.nomachine.com"
SRC_URI="amd64? ( https://download.nomachine.com/download/$(ver_cut 1-2)/Linux/${MY_P}_x86_64.tar.gz )
x86? ( https://download.nomachine.com/download/$(ver_cut 1-2)/Linux/${MY_P}_i686.tar.gz )"
S="${WORKDIR}"/NX/etc/NX/player/packages
#https://download.nomachine.com/download/8.4/Linux/nomachine-enterprise-client_8.4.2_2_x86_64.tar.gz
LICENSE="nomachine"
SLOT="0"
KEYWORDS="-* amd64 ~x86"
RDEPEND="
|| (
sys-libs/libxcrypt[compat]
sys-libs/glibc[crypt(+)]
)
dev-libs/glib:2
dev-libs/openssl:0
"
QA_PREBUILT="*"
src_install() {
dodir /opt
tar xozf nxrunner.tar.gz -C "${ED}"/opt || die
tar xozf nxplayer.tar.gz -C "${ED}"/opt || die
doenvd "${FILESDIR}"/50nxplayer
dosym -r /opt/NX/bin/nxplayer /opt/bin/nxplayer
}

View File

@ -0,0 +1,38 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="nomachine-enterprise-client_$(ver_cut 1-3)_$(ver_cut 4)"
DESCRIPTION="Client for NoMachine remote servers"
HOMEPAGE="https://www.nomachine.com"
SRC_URI="amd64? ( https://download.nomachine.com/download/$(ver_cut 1-2)/Linux/${MY_P}_x86_64.tar.gz )
x86? ( https://download.nomachine.com/download/$(ver_cut 1-2)/Linux/${MY_P}_i686.tar.gz )"
S="${WORKDIR}"/NX/etc/NX/player/packages
#https://download.nomachine.com/download/8.4/Linux/nomachine-enterprise-client_8.4.2_2_x86_64.tar.gz
LICENSE="nomachine"
SLOT="0"
KEYWORDS="-* amd64 ~x86"
RDEPEND="
|| (
sys-libs/libxcrypt[compat]
sys-libs/glibc[crypt(+)]
)
dev-libs/glib:2
dev-libs/openssl:0
"
QA_PREBUILT="*"
src_install() {
dodir /opt
tar xozf nxrunner.tar.gz -C "${ED}"/opt || die
tar xozf nxplayer.tar.gz -C "${ED}"/opt || die
doenvd "${FILESDIR}"/50nxplayer
dosym -r /opt/NX/bin/nxplayer /opt/bin/nxplayer
}

View File

@ -0,0 +1,38 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="nomachine-enterprise-client_$(ver_cut 1-3)_$(ver_cut 4)"
DESCRIPTION="Client for NoMachine remote servers"
HOMEPAGE="https://www.nomachine.com"
SRC_URI="amd64? ( https://download.nomachine.com/download/$(ver_cut 1-2)/Linux/${MY_P}_x86_64.tar.gz )
x86? ( https://download.nomachine.com/download/$(ver_cut 1-2)/Linux/${MY_P}_i686.tar.gz )"
S="${WORKDIR}"/NX/etc/NX/player/packages
#https://download.nomachine.com/download/8.4/Linux/nomachine-enterprise-client_8.4.2_2_x86_64.tar.gz
LICENSE="nomachine"
SLOT="0"
KEYWORDS="-* amd64 ~x86"
RDEPEND="
|| (
sys-libs/libxcrypt[compat]
sys-libs/glibc[crypt(+)]
)
dev-libs/glib:2
dev-libs/openssl:0
"
QA_PREBUILT="*"
src_install() {
dodir /opt
tar xozf nxrunner.tar.gz -C "${ED}"/opt || die
tar xozf nxplayer.tar.gz -C "${ED}"/opt || die
doenvd "${FILESDIR}"/50nxplayer
dosym -r /opt/NX/bin/nxplayer /opt/bin/nxplayer
}

View File

@ -1,4 +1,5 @@
DIST drbd-9.0.27-1.tar.gz 1133216 SHA256 e3366b94faaa9399c857cc2517dd99a8dff049fd3b7326be078ed5f3cf31753e SHA512 e8a2ec57241b9933dd5655e2d6e65d04c0e88017ed76773b5d351f0ed30c167a8b1f4e7145221fb0aec8bdb5ca3d95c428b46c9dceb2576b6c3598962abc699f WHIRLPOOL c8178803a09f4da16342364b3d3ec903d5d083b1aacc49a2c54bbdba9ab88baf1cf6f443f99865e7083c2d5c0f6cbe50e4f62e8f1df519256ff949edf1fef693
EBUILD drbd-kmod-9.0.27-r1.ebuild 846 SHA256 c58483a775790a0c22908c6072e1c7063e94b127e6ee2df34f645469c1071578 SHA512 639c53d0c9edf61a1c81dd301c2596b2b3304351649eb6d58ea1adf72b11e2212e56b7a61b4e4c4da39a5c37c819fddeb890e071b2f985f67e8757c2f3c3b1cb WHIRLPOOL bb98e94dcb5c3222e0453e6e2a9f3e29b2b9535e9062e9e795f48e0345f7623fd342c99ede999e688d5c0d49f50d30ea39f95867d6317029e32b80175042d923
EBUILD drbd-kmod-9.1.3.ebuild 967 SHA256 8dce76f7b55e711025a2b3a5ceeb5fa7ae6de472511264f1059ac810bd47888f SHA512 4e217d5111387c4a83730cad7112666958224b496fecbf9c7b130defeaf9b59270502da746dd22d8c6fb0d3b1e981fbfea264c9b3ebead60b6816a32ddb69640 WHIRLPOOL 9b92976b942ff89f32401427f04e8d0de7f93891e843a30d7762097e0374ea91f1f2a575b2e6fa7127c520f0f4d3035410b66840746889252f52d9cfe983da7f
EBUILD drbd-kmod-9.1.8.ebuild 967 SHA256 8dce76f7b55e711025a2b3a5ceeb5fa7ae6de472511264f1059ac810bd47888f SHA512 4e217d5111387c4a83730cad7112666958224b496fecbf9c7b130defeaf9b59270502da746dd22d8c6fb0d3b1e981fbfea264c9b3ebead60b6816a32ddb69640 WHIRLPOOL 9b92976b942ff89f32401427f04e8d0de7f93891e843a30d7762097e0374ea91f1f2a575b2e6fa7127c520f0f4d3035410b66840746889252f52d9cfe983da7f
EBUILD drbd-kmod-9.1.11.ebuild 967 SHA256 8dce76f7b55e711025a2b3a5ceeb5fa7ae6de472511264f1059ac810bd47888f SHA512 4e217d5111387c4a83730cad7112666958224b496fecbf9c7b130defeaf9b59270502da746dd22d8c6fb0d3b1e981fbfea264c9b3ebead60b6816a32ddb69640 WHIRLPOOL 9b92976b942ff89f32401427f04e8d0de7f93891e843a30d7762097e0374ea91f1f2a575b2e6fa7127c520f0f4d3035410b66840746889252f52d9cfe983da7f
EBUILD drbd-kmod-9.1.12-r1.ebuild 1023 SHA256 3b678ea769a4ba53c81a7f9935b73c6c89314bb958a7005a3ba135ee0bb875b4 SHA512 e8ee4822f31aabcb3bac296037c8aa96a71657aa030708671b310cf621a80a57ecd7b3e72e97601bc20fd37ed6c6fc031a49e7c08b9f5db053085b600a1f00ed WHIRLPOOL 3288c6fe5f28f0303319bd052d63e4659ff189b23a9670c525e1d5d71f55845232b40e99ccd595444d234af6b771985a84a1add5c7cb2852a7565da1ce64682b
EBUILD drbd-kmod-9.1.17-r1.ebuild 1023 SHA256 3b678ea769a4ba53c81a7f9935b73c6c89314bb958a7005a3ba135ee0bb875b4 SHA512 e8ee4822f31aabcb3bac296037c8aa96a71657aa030708671b310cf621a80a57ecd7b3e72e97601bc20fd37ed6c6fc031a49e7c08b9f5db053085b600a1f00ed WHIRLPOOL 3288c6fe5f28f0303319bd052d63e4659ff189b23a9670c525e1d5d71f55845232b40e99ccd595444d234af6b771985a84a1add5c7cb2852a7565da1ce64682b

View File

@ -13,7 +13,8 @@ MY_PN="${PN/-kmod/}"
MY_PV="${PVR/-r/-}"
#SRC_URI="https://www.linbit.com/downloads/drbd/9.0/${MY_PN}-${MY_PV}.tar.gz"
EGIT_REPO_URI="https://github.com/LINBIT/drbd.git"
EGIT_COMMIT="${MY_PN}-${MY_PV}"
#EGIT_COMMIT="${MY_PN}-${MY_PV}"
EGIT_COMMIT="27b2cdb8bef8840eae8c76a9c86e4223cef07c80"
#S="${WORKDIR}/${MY_PN}-${MY_PV}"
LICENSE="GPL-2"

View File

@ -0,0 +1,57 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools linux-mod git-r3
DESCRIPTION="DRBD kernel module"
HOMEPAGE="https://www.linbit.com"
# Package name lacks the "r" for the release
MY_PN="${PN/-kmod/}"
MY_PV="${PVR/-r/-}"
#SRC_URI="https://www.linbit.com/downloads/drbd/9.0/${MY_PN}-${MY_PV}.tar.gz"
EGIT_REPO_URI="https://github.com/LINBIT/drbd.git"
#EGIT_COMMIT="${MY_PN}-${MY_PV}"
EGIT_COMMIT="27b2cdb8bef8840eae8c76a9c86e4223cef07c80"
#S="${WORKDIR}/${MY_PN}-${MY_PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND="
dev-util/coccinelle[python]"
src_prepare() {
default
convert_to_m Makefile
}
src_compile() {
set_arch_to_kernel
get_version
myemakeargs=(
KVER="${KV_FULL}"
KDIR="${KERNEL_DIR}"
)
emake "${myemakeargs[@]}" module
}
src_install() {
set_arch_to_kernel
myemakeargs=(
KVER="${KV_FULL}"
KDIR="${KERNEL_DIR}"
DESTDIR="${D}"
)
emake "${myemakeargs[@]}" install
}

Some files were not shown because too many files have changed in this diff Show More