Merge pull request #5253 from lumarogit/firefox-up

firefox: update spkgbuild
This commit is contained in:
Luis
2023-06-13 13:25:38 +02:00
committed by GitHub
2 changed files with 91 additions and 82 deletions

View File

@@ -6,6 +6,12 @@ drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
lrwxrwxrwx root/root usr/bin/firefox -> /usr/lib/firefox/firefox
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/browser/
drwxr-xr-x root/root usr/lib/browser/defaults/
drwxr-xr-x root/root usr/lib/browser/defaults/preferences/
-rw-r--r-- root/root usr/lib/browser/defaults/preferences/vendor.js
drwxr-xr-x root/root usr/lib/distribution/
-rw-r--r-- root/root usr/lib/distribution/distribution.ini
drwxr-xr-x root/root usr/lib/firefox/
-rw-r--r-- root/root usr/lib/firefox/application.ini
drwxr-xr-x root/root usr/lib/firefox/browser/
@@ -17,16 +23,11 @@ drwxr-xr-x root/root usr/lib/firefox/browser/chrome/icons/default/
-rw-r--r-- root/root usr/lib/firefox/browser/chrome/icons/default/default32.png
-rw-r--r-- root/root usr/lib/firefox/browser/chrome/icons/default/default48.png
-rw-r--r-- root/root usr/lib/firefox/browser/chrome/icons/default/default64.png
drwxr-xr-x root/root usr/lib/firefox/browser/defaults/
drwxr-xr-x root/root usr/lib/firefox/browser/defaults/preferences/
-rw-r--r-- root/root usr/lib/firefox/browser/defaults/preferences/vendor.js
-rw-r--r-- root/root usr/lib/firefox/browser/omni.ja
drwxr-xr-x root/root usr/lib/firefox/defaults/
drwxr-xr-x root/root usr/lib/firefox/defaults/pref/
-rw-r--r-- root/root usr/lib/firefox/defaults/pref/channel-prefs.js
-rw-r--r-- root/root usr/lib/firefox/dependentlibs.list
drwxr-xr-x root/root usr/lib/firefox/distribution/
-rw-r--r-- root/root usr/lib/firefox/distribution/distribution.ini
-rwxr-xr-x root/root usr/lib/firefox/firefox
-rwxr-xr-x root/root usr/lib/firefox/firefox-bin
drwxr-xr-x root/root usr/lib/firefox/fonts/

View File

@@ -1,5 +1,7 @@
# description : Stand-alone browser based on the Mozilla codebase
# depends : alsa-lib autoconf2.13 cbindgen clang dav1d dbus-glib ffmpeg gtk3 hicolor-icon-theme icu libevent libffi libjpeg-turbo libnotify libpng libvpx libxrender libxcomposite libsm libxt libxdamage libxscrnsaver libwebp lld nasm nodejs nspr nss perl pixman pkgconf python3 rust yasm unzip zip zlib
# description : Standalone web browser from mozilla.org
# homepage : https://www.mozilla.org/firefox/
# depends : autoconf2.13 cbindgen clang dbus-glib ffmpeg hicolor-icon-theme libevent libffi libnotify
# depends : libxrender libxt libxdamage libxscrnsaver libwebp lld nodejs nspr nss pkgconf rust unzip
name=firefox
version=114.0.1
@@ -8,112 +10,118 @@ source="$name-$version.tar.xz::https://archive.mozilla.org/pub/firefox/releases/
$name.desktop"
build() {
cd $name-$version
mkdir "$SRC/rust"
export CARGO_HOME="$SRC/rust"
cd $name-$version
mkdir "$SRC/rust"
export CARGO_HOME="$SRC/rust"
cat <<- EOF > .mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-shared
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj
unset MOZ_TELEMETRY_REPORTING
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --disable-bootstrap
ac_add_options --disable-crashreporter
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-elf-hack
ac_add_options --disable-necko-wifi
ac_add_options --disable-parental-controls
ac_add_options --disable-tests
ac_add_options --disable-updater
ac_add_options --enable-application=browser
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-webp
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --enable-audio-backends=alsa
ac_add_options --enable-av1
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --enable-linker=lld
ac_add_options --enable-lto=thin
ac_add_options --enable-official-branding
ac_add_options --enable-optimize
ac_add_options --enable-release
ac_add_options --enable-rust-simd
ac_add_options --enable-sandbox
ac_add_options --disable-debug-symbols
ac_add_options --enable-official-branding
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-distribution-id=org.venomlinux
ac_add_options --enable-linker=lld
ac_add_options --enable-lto=thin
ac_add_options --disable-tests
ac_add_options --disable-debug-symbols
ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --disable-necko-wifi
ac_add_options --disable-parental-controls
ac_add_options --disable-elf-hack
ac_add_options --with-system-icu
ac_add_options --with-system-jpeg
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-png
ac_add_options --with-system-webp
ac_add_options --with-system-zlib
ac_add_options --without-wasm-sandboxed-libraries
EOF
# Audio
scratch isinstalled alsa-lib && echo 'ac_add_options --enable-alsa' >> .mozconfig
scratch isinstalled jack && echo 'ac_add_options --enable-jack' >> .mozconfig
scratch isinstalled pulseaudio && echo 'ac_add_options --enable-pulseaudio' >> .mozconfig
# audio
scratch isinstalled alsa-lib && echo 'ac_add_options --enable-alsa' >> .mozconfig
scratch isinstalled jack && echo 'ac_add_options --enable-jack' >> .mozconfig
scratch isinstalled pulseaudio && echo 'ac_add_options --enable-pulseaudio' >> .mozconfig
scratch isinstalled wayland-protocols && \
echo 'ac_add_options --enable-default-toolkit=cairo-gtk3-wayland' >> .mozconfig || \
echo 'ac_add_options --enable-default-toolkit=cairo-gtk3' >> .mozconfig
# wayland
scratch isinstalled wayland-protocols && \
echo 'ac_add_options --enable-default-toolkit=cairo-gtk3-wayland' >> .mozconfig || \
echo 'ac_add_options --enable-default-toolkit=cairo-gtk3' >> .mozconfig
scratch isinstalled ccache && echo 'ac_add_options --enable-ccache' >> .mozconfig
# ccache
scratch isinstalled ccache && echo 'ac_add_options --enable-ccache' >> .mozconfig
export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib RUSTFLAGS="-C opt-level=2 $RUSTFLAGS"
export MOZBUILD_STATE_PATH="$SRC"/mozbuild
export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib RUSTFLAGS="-C opt-level=2 $RUSTFLAGS"
export MOZBUILD_STATE_PATH="$SRC"/mozbuild
# Disable notification when build system has finished
export MOZ_NOSPAM=1
# Disable notification when build system has finished
export MOZ_NOSPAM=1
# Python
export SHELL='/bin/sh'
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=pip
./mach build
DESTDIR=$PKG ./mach install
# Use system's Python environment
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=pip
mkdir $SRC/bin
ln -s /usr/bin/pip3 $SRC/bin/pip
ln -s /usr/bin/python3 $SRC/bin/python
export PATH="$SRC/bin:$PATH"
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
# python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL='/usr/bin/sh'
./mach build
DESTDIR=$PKG ./mach install
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
local vendorjs="$PKG/usr/lib/$name/browser/defaults/preferences/vendor.js"
# Vendor
local vendorjs="$PKG/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
install -Dvm644 /dev/stdin "$vendorjs" <<END
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
// Don't disable extensions in the application directory
pref("extensions.autoDisableScopes", 11);
END
local distini="$PKG/usr/lib/$name/distribution/distribution.ini"
# Distribution
local distini="$PKG/usr/lib/$pkgname/distribution/distribution.ini"
install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=venomlinux
version=$version
id=archlinux
version=1.0
about=Mozilla Firefox for Venom Linux
[Preferences]
app.distributor=venomlinux
app.distributor.channel=$name
app.partner.venomlinux=venomlinux
app.distributor=archlinux
app.distributor.channel=$pkgname
app.partner.archlinux=archlinux
END
# Add icons
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 browser/branding/official/default$i.png \
$PKG/usr/share/icons/hicolor/${i}x${i}/apps/$name.png
done
# Add icons
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 browser/branding/official/default$i.png \
$PKG/usr/share/icons/hicolor/${i}x${i}/apps/$name.png
done
install -Dm644 $SRC/$name.desktop \
$PKG/usr/share/applications/$name.desktop
install -Dm644 $SRC/$name.desktop \
$PKG/usr/share/applications/$name.desktop
# Remove crap
rm -r $PKG/usr/lib/firefox/browser/features
rm $PKG/usr/lib/firefox/removed-files
# Remove crap
rm -r $PKG/usr/lib/firefox/browser/features
rm $PKG/usr/lib/firefox/removed-files
# Exclude library for revdep.
install -d $PKG/etc/revdep.d
echo "/usr/lib/firefox/" > $PKG/etc/revdep.d/$name.conf
# Exclude library for revdep.
install -d $PKG/etc/revdep.d
echo "/usr/lib/firefox/" > $PKG/etc/revdep.d/$name.conf
}