Switch to new package format
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package
|
||||
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
||||
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
||||
|
||||
# The prepare function is executed in the root of the temp directory
|
||||
# This function is used for putting downloaded files to the correct location or applying patches
|
||||
prepare() {
|
||||
cd "$BPM_SOURCE"
|
||||
|
||||
# Fix build with glibc 2.43
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1999625
|
||||
patch -Np1 -i "$BPM_WORKDIR"/0001-Patch-glsl-optimizer-to-build-with-glibc-2.43.patch
|
||||
|
||||
patch -i "$BPM_WORKDIR"/remove-duplicate-gkrust-features.diff "$BPM_SOURCE"/toolkit/library/rust/gkrust-features.mozbuild
|
||||
|
||||
# Generate mozconfig
|
||||
cat > mozconfig <<-EOF
|
||||
ac_add_options --enable-application=browser
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/librewolf-build-dir
|
||||
|
||||
ac_add_options --prefix=/usr
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-hardening
|
||||
ac_add_options --enable-optimize
|
||||
ac_add_options --enable-rust-simd
|
||||
ac_add_options --disable-elf-hack
|
||||
ac_add_options --disable-bootstrap
|
||||
ac_add_options --enable-update-channel=release
|
||||
|
||||
# Branding
|
||||
ac_add_options --with-app-name=librewolf
|
||||
ac_add_options --with-app-basename=librewolf
|
||||
export MOZ_APP_REMOTINGNAME=Librewolf
|
||||
|
||||
# System libraries
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
ac_add_options --without-wasm-sandboxed-libraries
|
||||
|
||||
# Features
|
||||
ac_add_options --enable-alsa
|
||||
ac_add_options --enable-jack
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
ac_add_options --allow-addon-sideload
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --disable-tests
|
||||
EOF
|
||||
}
|
||||
|
||||
# The build function is executed in the source directory
|
||||
# This function is used to compile the source code
|
||||
build() {
|
||||
export MOZ_NOSPAM=1
|
||||
export MOZBUILD_STATE_PATH="$BPM_SOURCE"/mozbuild
|
||||
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none
|
||||
|
||||
# Reduce chance of builds failung during linking due to running out of memory
|
||||
export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||
|
||||
./mach build
|
||||
}
|
||||
|
||||
# The package function is executed in the source directory
|
||||
# This function is used to move the compiled files into the output directory
|
||||
package() {
|
||||
export MOZBUILD_STATE_PATH="$BPM_SOURCE"/mozbuild
|
||||
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none
|
||||
DESTDIR="$BPM_OUTPUT" ./mach install
|
||||
|
||||
# Install icon files
|
||||
for size in 16 32 48 64 128; do
|
||||
install -Dm644 "$BPM_SOURCE"/browser/branding/librewolf/default"$size".png "$BPM_OUTPUT"/usr/share/icons/hicolor/"$size"x"$size"/apps/librewolf.png
|
||||
done
|
||||
|
||||
# Install librewolf desktop file
|
||||
install -Dm644 ../librewolf.desktop "$BPM_OUTPUT"/usr/share/applications/librewolf.desktop
|
||||
|
||||
# Install package license
|
||||
install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/librewolf/LICENSE
|
||||
}
|
||||
Reference in New Issue
Block a user