Merge remote-tracking branch 'upstream/master' into master
This commit is contained in:
commit
e42b9c217a
18
README.md
18
README.md
@ -28,6 +28,24 @@ A quick guide on how to test ebuilds will follow.
|
||||
|
||||
Mostly to have fun.
|
||||
|
||||
## For whom?
|
||||
|
||||
src_prepare overlay was based on a concept of [GURU](https://wiki.gentoo.org/wiki/Project:GURU) with the following exceptions:
|
||||
- easier to get access to the master branch
|
||||
- main contact with the src_prepare project is via [Matrix](https://matrix.to/#/#src_prepare:matrix.org)
|
||||
- main git repo is hosted on [Gitlab](https://gitlab.com/src_prepare/src_prepare-overlay) with [Github](https://github.com/xgqt/src_prepare-overlay) and [Codeberg](https://codeberg.org/src_prepare/src_prepare-overlay) mirrors
|
||||
- more freedom in creating ebuilds
|
||||
- no requirement for GPG keys
|
||||
- no requirement for private info
|
||||
|
||||
src_prepare project doesn't want to overtake the GURU project, the course that the GURU project takes is more professional, src_prepare overlay is more open for ebuilds:
|
||||
- binary packages from upstream
|
||||
- from inexperienced users
|
||||
- from software created by the src_prepare project itself
|
||||
- live ebuilds
|
||||
- programs that run under WINE (or other emulators)
|
||||
|
||||
|
||||
## Adding the overlay
|
||||
|
||||
### Official list
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST ONLYOFFICE-DesktopEditors-5.4.2_amd64.deb 163646374 BLAKE2B 19824eb921cd4262e5eb8f3b6bd70472e33d67badadc3d748ab325d90f980413c8e48e776058ebd23de804ca95bc6c87f70bc24bf53756ce0aa2417c9702db67 SHA512 2b85119722d9ba0d4112a2782d365e3eb29e3bce868b6dc68547caf14e2d4df6e4bcd94da2b31670b9574874f13b8a65a3d84aa2e58ce0eeea1f1b1a6aca6888
|
||||
DIST ONLYOFFICE-DesktopEditors-5.5.1_amd64.deb 179305960 BLAKE2B 7d1e50b6a9fec1e2bd37ccf3988b35f908f752fb1925b1eccb2a9f113d8d50929cbd10bc9aed7f8b3f1315ee903bd8a4f78d9876bd8ddc25e6eefcc027c956fd SHA512 8a87eba1ed160b8ae89c949db427614a282e54b525562476ef7145a4d141b56723fd967b7171cd16aaa2d99922080c7c6ca2baa90d3823564885241c48ae97ea
|
||||
DIST ONLYOFFICE-DesktopEditors-5.6.0_amd64.deb 180022552 BLAKE2B 841c1876f8d6713dcd1102e37989d4908cfe889f247e887f71b231810f35d0fb974177dfaa083c12276b56f318307c02cd411a40a73eba383915c9ccbb7129e7 SHA512 6a757d547d5bcd7b4c6e112fdb67d308d0e26e75d5e13fdea0767e2a5778f4cafd71821cc950cf191bcc4c91d7d5c32c0e7e935709b8572a19ac5937e05141c3
|
||||
|
13
app-office/onlyoffice-bin/files/fixshellsyntax.patch
Normal file
13
app-office/onlyoffice-bin/files/fixshellsyntax.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/usr/bin/onlyoffice-desktopeditors b/usr/bin/onlyoffice-desktopeditors
|
||||
index 6fa731f..16e7b41 100755
|
||||
--- a/usr/bin/onlyoffice-desktopeditors
|
||||
+++ b/usr/bin/onlyoffice-desktopeditors
|
||||
@@ -68,7 +68,7 @@ set_names_ru() {
|
||||
}
|
||||
|
||||
check_templates() {
|
||||
- if [ $1 != "--new-document-templates" ]; then
|
||||
+ if [ "$1" != "--new-document-templates" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
116
app-office/onlyoffice-bin/onlyoffice-bin-5.6.0.ebuild
Normal file
116
app-office/onlyoffice-bin/onlyoffice-bin-5.6.0.ebuild
Normal file
@ -0,0 +1,116 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit desktop gnome2-utils multilib unpacker xdg-utils
|
||||
|
||||
MY_PN="ONLYOFFICE-DesktopEditors"
|
||||
MY_P="${MY_PN}-${PVR//r}"
|
||||
|
||||
DESCRIPTION="onlyoffice is an office productivity suite (binary version)"
|
||||
HOMEPAGE="https://www.onlyoffice.com/"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://github.com/ONLYOFFICE/DesktopEditors/releases/download/${MY_P}/${PN/bin/desktopeditors}_amd64.deb -> ${MY_P}_amd64.deb
|
||||
)
|
||||
"
|
||||
|
||||
SLOT="0"
|
||||
RESTRICT="mirror strip"
|
||||
LICENSE="AGPL-3"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
app-arch/bzip2
|
||||
dev-libs/expat
|
||||
dev-libs/glib:2
|
||||
dev-libs/libffi
|
||||
dev-libs/libxml2:2
|
||||
dev-libs/nss
|
||||
dev-libs/atk
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
dev-qt/qtmultimedia:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtopengl:5
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/freetype:2
|
||||
media-libs/glu
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/gstreamer
|
||||
net-misc/curl
|
||||
virtual/opengl
|
||||
media-libs/tiff
|
||||
sys-apps/util-linux
|
||||
sys-libs/zlib
|
||||
x11-libs/libdrm
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXxf86vm
|
||||
media-libs/libmng
|
||||
media-fonts/dejavu
|
||||
media-fonts/crosextrafonts-carlito
|
||||
net-print/cups
|
||||
net-misc/wget
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
dev-db/sqlite:3
|
||||
net-libs/libcurl-gnutls
|
||||
!app-office/onlyoffice
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/fixshellsyntax.patch" )
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack(){
|
||||
unpack_deb ${A}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
mkdir -p "${D}"
|
||||
cp -r . "${D}"
|
||||
local res
|
||||
for res in 16 24 32 48 64 128 256; do
|
||||
doicon -s ${res} opt/onlyoffice/desktopeditors/asc-de-${res}.png
|
||||
done
|
||||
dosym "${EPREFIX}/usr/$(get_libdir)/libcurl-gnutls.so.4" "${EPREFIX}/opt/onlyoffice/desktopeditors/libcurl-gnutls.so.4"
|
||||
}
|
||||
|
||||
pkg_preinst(){
|
||||
gnome2_gconf_savelist
|
||||
xdg_environment_reset
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_gconf_install
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_gconf_uninstall
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
1
app-text/pandoc-bin/Manifest
Normal file
1
app-text/pandoc-bin/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST pandoc-2.10.1-linux-amd64.tar.gz 24738243 BLAKE2B b139274bbce6c8ee57ab9a29d6bd1bab23b543a8e93841dfa2f5640b944a5e927360517d9e9f840c73a6ca1455d678ef780577279f9cea34ea985ba2298de2c9 SHA512 5de8bcdf4c008e4521432cd4af86e7b8f6e309b8373a43b8d51b91825a1cc7e05fd59c24ef606b5ea92403383c9c5cb565f3c5f4335148b30cd4bc92211a7b83
|
11
app-text/pandoc-bin/metadata.xml
Normal file
11
app-text/pandoc-bin/metadata.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>xgqt@protonmail.com</email>
|
||||
<name>Maciej Barć</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">jgm/pandoc</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
45
app-text/pandoc-bin/pandoc-bin-2.10.1.ebuild
Normal file
45
app-text/pandoc-bin/pandoc-bin-2.10.1.ebuild
Normal file
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN="${PN//-bin/}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Universal markup converter"
|
||||
HOMEPAGE="https://pandoc.org"
|
||||
SRC_URI="https://github.com/jgm/${MY_PN}/releases/download/${PV}/${MY_P}-linux-amd64.tar.gz"
|
||||
|
||||
RESTRICT="mirror bindist"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
!app-text/${MY_PN}
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
QA_PRESTRIPPED="
|
||||
usr/bin/${MY_PN}
|
||||
usr/bin/${MY_PN}-citeproc
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
# manpages are gzipped
|
||||
find . -name "*.gz" | xargs gunzip
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}/bin" || die
|
||||
dobin "${MY_PN}"
|
||||
dobin "${MY_PN}-citeproc"
|
||||
|
||||
cd "${S}/share/man/man1" || die
|
||||
doman "${MY_PN}.1"
|
||||
doman "${MY_PN}-citeproc.1"
|
||||
}
|
253
www-client/palemoon/palemoon-28.12.0.ebuild
Normal file
253
www-client/palemoon/palemoon-28.12.0.ebuild
Normal file
@ -0,0 +1,253 @@
|
||||
# Copyright 2019-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
GCC_SUPPORTED_VERSIONS="4.9 5.4 7.3 8.2 8.3 9.2 9.3"
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
REQUIRED_BUILDSPACE='9G'
|
||||
|
||||
inherit palemoon-v1 git-r3 flag-o-matic pax-utils python-any-r1
|
||||
|
||||
DESCRIPTION="Pale Moon Web Browser"
|
||||
HOMEPAGE="https://www.palemoon.org/"
|
||||
|
||||
if [[ "${PV}" == *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/MoonchildProductions/Pale-Moon.git"
|
||||
KEYWORDS=""
|
||||
else
|
||||
EGIT_REPO_URI="https://github.com/MoonchildProductions/Pale-Moon.git"
|
||||
EGIT_COMMIT="${PV}_Release"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
RESTRICT="mirror"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="
|
||||
cpu_flags_x86_sse
|
||||
cpu_flags_x86_sse2
|
||||
dbus
|
||||
+devtools
|
||||
debug
|
||||
gnome
|
||||
-gtk2
|
||||
+gtk3
|
||||
jemalloc
|
||||
pulseaudio
|
||||
-necko-wifi
|
||||
official-branding
|
||||
+optimize
|
||||
threads
|
||||
-valgrind
|
||||
"
|
||||
REQUIRED_USE="
|
||||
optimize? (
|
||||
!debug
|
||||
)
|
||||
jemalloc? (
|
||||
!valgrind
|
||||
)
|
||||
^^ (
|
||||
gtk2
|
||||
gtk3
|
||||
)
|
||||
necko-wifi? (
|
||||
dbus
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=dev-lang/perl-5.6
|
||||
>=sys-devel/autoconf-2.13:2.1
|
||||
dev-lang/yasm
|
||||
"
|
||||
RDEPEND="
|
||||
app-arch/zip
|
||||
media-libs/alsa-lib
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
virtual/ffmpeg[x264]
|
||||
x11-libs/libXt
|
||||
dbus? (
|
||||
>=sys-apps/dbus-0.60
|
||||
>=dev-libs/dbus-glib-0.60
|
||||
)
|
||||
gnome? (
|
||||
gnome-base/gconf
|
||||
)
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.18.0:2
|
||||
)
|
||||
gtk3? (
|
||||
>=x11-libs/gtk+-3.4.0:3
|
||||
)
|
||||
necko-wifi? (
|
||||
net-wireless/wireless-tools
|
||||
)
|
||||
pulseaudio? (
|
||||
media-sound/pulseaudio
|
||||
)
|
||||
valgrind? (
|
||||
dev-util/valgrind
|
||||
)
|
||||
optimize? (
|
||||
sys-libs/glibc
|
||||
)
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Ensure that our plugins dir is enabled by default:
|
||||
sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
|
||||
"${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
|
||||
|| die "sed failed to replace plugin path for 32bit!"
|
||||
sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
|
||||
"${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
|
||||
|| die "sed failed to replace plugin path for 64bit!"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
# Does not build with -fno-common
|
||||
filter-flags -fno-common
|
||||
append-flags -fcommon
|
||||
|
||||
# Basic configuration:
|
||||
mozconfig_init
|
||||
|
||||
mozconfig_disable updater install-strip accessibility
|
||||
|
||||
if use official-branding; then
|
||||
official-branding_warning
|
||||
mozconfig_enable official-branding
|
||||
fi
|
||||
|
||||
if use optimize; then
|
||||
O='-O2'
|
||||
if use cpu_flags_x86_sse && use cpu_flags_x86_sse2; then
|
||||
O="${O} -msse2 -mfpmath=sse"
|
||||
fi
|
||||
mozconfig_enable "optimize=\"${O}\""
|
||||
filter-flags '-O*' '-msse2' '-mfpmath=sse'
|
||||
else
|
||||
mozconfig_disable optimize
|
||||
fi
|
||||
|
||||
if use threads; then
|
||||
mozconfig_with pthreads
|
||||
fi
|
||||
|
||||
if use debug; then
|
||||
mozconfig_var MOZ_DEBUG_SYMBOLS 1
|
||||
mozconfig_enable "debug-symbols=\"-gdwarf-2\""
|
||||
fi
|
||||
|
||||
if use jemalloc; then
|
||||
mozconfig_enable jemalloc
|
||||
fi
|
||||
|
||||
if use valgrind; then
|
||||
mozconfig_enable valgrind
|
||||
fi
|
||||
|
||||
if ! use dbus; then
|
||||
mozconfig_disable dbus
|
||||
fi
|
||||
|
||||
if ! use gnome; then
|
||||
mozconfig_disable gconf
|
||||
fi
|
||||
|
||||
if use gtk2; then
|
||||
mozconfig_enable default-toolkit=\"cairo-gtk2\"
|
||||
fi
|
||||
|
||||
if use gtk3; then
|
||||
mozconfig_enable default-toolkit=\"cairo-gtk3\"
|
||||
fi
|
||||
|
||||
if ! use necko-wifi; then
|
||||
mozconfig_disable necko-wifi
|
||||
fi
|
||||
|
||||
if ! use pulseaudio; then
|
||||
mozconfig_disable pulseaudio
|
||||
fi
|
||||
|
||||
if use devtools; then
|
||||
mozconfig_enable devtools
|
||||
fi
|
||||
|
||||
# Enabling this causes xpcshell to hang during the packaging process,
|
||||
# so disabling it until the cause can be tracked down. It most likely
|
||||
# has something to do with the sandbox since the issue goes away when
|
||||
# building with FEATURES="-sandbox -usersandbox".
|
||||
mozconfig_disable precompiled-startupcache
|
||||
|
||||
# Mainly to prevent system's NSS/NSPR from taking precedence over
|
||||
# the built-in ones:
|
||||
append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/palemoon"
|
||||
|
||||
export MOZBUILD_STATE_PATH="${WORKDIR}/mach_state"
|
||||
mozconfig_var PYTHON "$(which python2)"
|
||||
mozconfig_var AUTOCONF "$(which autoconf-2.13)"
|
||||
mozconfig_var MOZ_MAKE_FLAGS "\"${MAKEOPTS}\""
|
||||
|
||||
# Shorten obj dir to limit some errors linked to the path size hitting
|
||||
# a kernel limit (127 chars):
|
||||
mozconfig_var MOZ_OBJDIR "@TOPSRCDIR@/o"
|
||||
|
||||
# Disable mach notifications, which also cause sandbox access violations:
|
||||
export MOZ_NOSPAM=1
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
|
||||
# Prevents portage from setting its own XARGS which messes with the
|
||||
# Pale Moon build system checks:
|
||||
# See: https://gitweb.gentoo.org/proj/portage.git/tree/bin/isolated-functions.sh
|
||||
XARGS="$(which xargs)"
|
||||
export XARGS
|
||||
|
||||
python2 "${S}/platform/mach" build || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
# obj_dir changes depending on arch, compiler, etc:
|
||||
local obj_dir="$(echo */config.log)"
|
||||
obj_dir="${obj_dir%/*}"
|
||||
|
||||
# Disable MPROTECT for startup cache creation:
|
||||
pax-mark m "${obj_dir}"/dist/bin/xpcshell
|
||||
|
||||
# Set the backspace behaviour to be consistent with the other platforms:
|
||||
set_pref "browser.backspace_action" 0
|
||||
|
||||
# Gotta create the package, unpack it and manually install the files
|
||||
# from there not to miss anything (e.g. the statusbar extension):
|
||||
einfo "Creating the package..."
|
||||
python2 "${S}/platform/mach" mozpackage || die
|
||||
local extracted_dir="${T}/package"
|
||||
mkdir -p "${extracted_dir}"
|
||||
cd "${extracted_dir}"
|
||||
einfo "Extracting the package..."
|
||||
find "${S}/${obj_dir}/dist/" -name "*.bz2" -printf "${S}/${obj_dir}/dist/%P" | xargs tar xjpf || die
|
||||
einfo "Installing the package..."
|
||||
local dest_libdir="/usr/$(get_libdir)"
|
||||
mkdir -p "${D}/${dest_libdir}"
|
||||
cp -rL "${PN}" "${D}/${dest_libdir}"
|
||||
dosym "${dest_libdir}/${PN}/${PN}" "/usr/bin/${PN}"
|
||||
einfo "Done installing the package."
|
||||
|
||||
# Until JIT-less builds are supported,
|
||||
# also disable MPROTECT on the main executable:
|
||||
pax-mark m "${D}/${dest_libdir}/${PN}/"{palemoon,palemoon-bin,plugin-container}
|
||||
|
||||
# Install icons and .desktop for menu entry:
|
||||
install_branding_files
|
||||
}
|
@ -33,7 +33,7 @@ IUSE="
|
||||
gnome
|
||||
-gtk2
|
||||
+gtk3
|
||||
+jemalloc
|
||||
jemalloc
|
||||
pulseaudio
|
||||
-necko-wifi
|
||||
official-branding
|
||||
|
@ -1,3 +1,4 @@
|
||||
DIST firefox-56.0-patches-07.tar.xz 12696 BLAKE2B 60fe9e4aee235bebd1ceeeca9f455b5129368e3b83a1a7487e912d28642f2c67f0041f10333f05ce5a17b8b0db05e33730c972038e72c0250551194316a6dfa6 SHA512 b7f1b32b8dc563b2c0c6b12eb1698fbd145c9b45597ef0f46159888e1c792f944c92cd1c1e3d0a5b36a3cf3cdc2f7ae9e8c537adbbfa6a1ce293311d3956a2d2
|
||||
DIST waterfox-2020.05.tar.gz 409604600 BLAKE2B 2ba76eea8623c27c9bfa4baa182a89c5f6734c107082032cf49a4f3bdda340b3d65c54337553908f8cf8657d9da515d3fa6d3536b4d5ff869092582a85de7e0b SHA512 50bc6c8f2d8a1c9d529c75b466413343a1475fca3b5177067b01f4de19c22a437f549824d19f97b49f0383c146f728a2ebd296daeb0c354c3a3d9ca0db86346f
|
||||
DIST waterfox-2020.07.1.tar.gz 410117026 BLAKE2B 5c2a54caa27c3dec323c1f66110e288ab84b45b6001eb78ff3623d992d1cea3ea4b6378e1c18e0618ace9f049d341c987cc25231a6d10bec2f3f4df96d20bfe5 SHA512 28c111de097e165fe9e80d20f92e68ef095a10fd136bc906c1ec75ebf4af0aacb31e6f10d74222438014f5d579d68c773cae6e7aedfb78e869fb8d26372d569e
|
||||
DIST waterfox-2020.07.2.tar.gz 410119190 BLAKE2B dded02d62a61e664ddf1a24fbfecf7381d5a26dd0360e2fb0844aae79a815e02046fcb997c4e2f355f853a6b5432402c97ed6d45a5fe515707c631345edc2cb2 SHA512 9a554067a9b19d06d6fd3d20f9743d484138130516dd099d0656f4b0a911cbab8c38e0286fd7c0ed66aefebf6c3f1af609c09f4c7fead77278b69f14794bb6d4
|
||||
|
410
www-client/waterfox/waterfox-2020.07.2.ebuild
Normal file
410
www-client/waterfox/waterfox-2020.07.2.ebuild
Normal file
@ -0,0 +1,410 @@
|
||||
# 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=""
|
||||
|
||||
# This list can be updated with scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
|
||||
el en en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE
|
||||
gd gl gn gu-IN he hi-IN hr hsb hu hy-AM id is it ja ka kab kk km kn ko lij lt lv
|
||||
mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
|
||||
sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
|
||||
|
||||
# Patch version
|
||||
PATCH="firefox-56.0-patches-07"
|
||||
#PATCH="waterfox-2019.12-patches-01"
|
||||
MOZ_HTTP_URI="https://github.com/MrAlex94/Waterfox/archive"
|
||||
#MOZ_LANGPACK_HTTP_URI="https://github.com/MrAlex94/www.waterfoxproject.org"
|
||||
|
||||
MOZCONFIG_OPTIONAL_WIFI=1
|
||||
|
||||
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils gnome2-utils \
|
||||
mozconfig-v6.56 pax-utils xdg-utils autotools virtualx
|
||||
|
||||
MY_PV="${PV}-classic"
|
||||
|
||||
DESCRIPTION="Waterfox Web Browser"
|
||||
HOMEPAGE="http://www.waterfoxproject.org"
|
||||
|
||||
RESTRICT="
|
||||
!test? ( test )
|
||||
mirror
|
||||
"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="
|
||||
+gmp-autoupdate
|
||||
eme-free
|
||||
hardened
|
||||
hwaccel
|
||||
jack
|
||||
nsplugin
|
||||
pgo
|
||||
selinux
|
||||
test
|
||||
"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
|
||||
|
||||
SRC_URI="
|
||||
${MOZ_HTTP_URI}/${MY_PV}.tar.gz -> ${P}.tar.gz
|
||||
${PATCH_URIS[@]}
|
||||
"
|
||||
|
||||
ASM_DEPEND="
|
||||
>=dev-lang/yasm-1.1
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-libs/nss-3.32.1
|
||||
>=dev-libs/nspr-4.16
|
||||
jack? (
|
||||
virtual/jack
|
||||
)
|
||||
selinux? (
|
||||
sec-policy/selinux-mozilla
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
virtual/rust
|
||||
pgo? (
|
||||
>=sys-devel/gcc-4.5
|
||||
)
|
||||
amd64? (
|
||||
${ASM_DEPEND} virtual/opengl
|
||||
)
|
||||
x86? (
|
||||
${ASM_DEPEND} virtual/opengl
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${PN^}-${MY_PV}"
|
||||
|
||||
QA_PRESTRIPPED="usr/lib*/${PN}/waterfox"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/wf"
|
||||
|
||||
# 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
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
# 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_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
if use pgo; then
|
||||
einfo
|
||||
ewarn "You will do a double build for profile guided optimization."
|
||||
ewarn "This will result in your build taking at least twice as long as before."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="8G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
fi
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patch_exclude=(
|
||||
1000_gentoo_install_dir.patch
|
||||
2001_system_harfbuzz.patch
|
||||
2002_system_graphite2.patch
|
||||
)
|
||||
|
||||
local mpatch
|
||||
for mpatch in ${patch_exclude[@]} ; do
|
||||
if [[ -f "${FILESDIR}"/${mpatch} ]] ; then
|
||||
cp "${FILESDIR}"/${mpatch} \
|
||||
"${WORKDIR}"/firefox/ || die
|
||||
else
|
||||
rm "${WORKDIR}"/firefox/${mpatch} || die
|
||||
fi
|
||||
done
|
||||
|
||||
# Apply our patches
|
||||
eapply "${WORKDIR}/firefox"
|
||||
|
||||
#eapply "${FILESDIR}/${P}-classic-version.patch"
|
||||
|
||||
# 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
|
||||
|
||||
# Ensure that our plugins dir is enabled as default
|
||||
sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
|
||||
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
|
||||
sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
|
||||
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
|
||||
|
||||
# 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
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
# 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
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
mozconfig_config
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
|
||||
|
||||
# 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
|
||||
|
||||
# Setup api key for location services
|
||||
echo -n "${_google_api_key}" > "${S}"/google-api-key
|
||||
mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
|
||||
|
||||
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
|
||||
|
||||
# Waterfox specific stuff
|
||||
mozconfig_annotate 'Waterfox' --disable-elf-hack
|
||||
mozconfig_annotate 'Waterfox' --with-app-name=${PN}
|
||||
mozconfig_annotate 'Waterfox' --with-app-basename=${PN}
|
||||
mozconfig_annotate 'Waterfox' --with-branding=browser/branding/unofficial
|
||||
mozconfig_annotate 'Waterfox' --with-distribution-id=org.waterfoxproject
|
||||
|
||||
# Allow for a proper pgo build
|
||||
if use pgo; then
|
||||
echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> "${S}"/.mozconfig
|
||||
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
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
emake -f client.mk configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use pgo; then
|
||||
addpredict /root
|
||||
addpredict /etc/gconf
|
||||
# Reset and cleanup environment variables used by GNOME/XDG
|
||||
gnome2_environment_reset
|
||||
|
||||
# Firefox tries to use dri stuff when it's run, see bug 380283
|
||||
shopt -s nullglob
|
||||
cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
|
||||
if test -z "${cards}"; then
|
||||
cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
|
||||
if test -n "${cards}"; then
|
||||
# Binary drivers seem to cause access violations anyway, so
|
||||
# let's use indirect rendering so that the device files aren't
|
||||
# touched at all. See bug 394715.
|
||||
export LIBGL_ALWAYS_INDIRECT=1
|
||||
fi
|
||||
fi
|
||||
shopt -u nullglob
|
||||
[[ -n "${cards}" ]] && addpredict "${cards}"
|
||||
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
virtx emake -f client.mk profiledbuild || die "virtx emake failed"
|
||||
else
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
emake -f client.mk realbuild
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_install() {
|
||||
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
|
||||
|
||||
# Add our default prefs for firefox
|
||||
cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
mozconfig_install_prefs \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
|
||||
|
||||
# Augment this with hwaccel prefs
|
||||
if use hwaccel ; then
|
||||
cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
if use nsplugin; then
|
||||
echo "pref(\"plugin.load_flash_only\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
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/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
done
|
||||
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# Install language packs
|
||||
#mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon name
|
||||
|
||||
sizes="16 22 24 32 256"
|
||||
icon_path="${S}/browser/branding/unofficial"
|
||||
icon="${PN}"
|
||||
name="Waterfox"
|
||||
|
||||
# Install icons and .desktop for menu entry
|
||||
for size in ${sizes}; do
|
||||
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
|
||||
newins "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
# The 128x128 icon has a different name
|
||||
insinto "/usr/share/icons/hicolor/128x128/apps"
|
||||
doins "${icon_path}/${icon}.png"
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}/default48.png" "${icon}.png"
|
||||
newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
|
||||
sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
|
||||
"${ED%/}/usr/share/applications/${PN}.desktop" \
|
||||
|| die
|
||||
|
||||
# Add StartupNotify=true bug 237317
|
||||
if use startup-notification ; then
|
||||
echo "StartupNotify=true" >> \
|
||||
"${ED%/}/usr/share/applications/${PN}.desktop" || die
|
||||
fi
|
||||
|
||||
# Required in order to use plugins and even run firefox on hardened.
|
||||
pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{waterfox,waterfox-bin,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
|
||||
# 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() {
|
||||
# Update mimedb for the new .desktop file
|
||||
xdg_desktop_database_update
|
||||
gnome2_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
|
||||
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."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
Loading…
Reference in New Issue
Block a user