abuild (3283B)
1 name=firefox 2 version=147.0.1 3 release=1 4 source="https://ftp.mozilla.org/pub/${name}/releases/${version}/source/${name}-${version}.source.tar.xz 5 musl-prctl.patch 6 libcxx18.patch" 7 8 build() { 9 cat > .mozconfig << EOF 10 ac_add_options --prefix=/usr 11 ac_add_options --libdir=/usr/lib 12 ac_add_options --enable-strip 13 ac_add_options --enable-release 14 ac_add_options --enable-rust-simd 15 ac_add_options --enable-audio-backends=alsa 16 ac_add_options --enable-install-strip 17 ac_add_options --enable-official-branding 18 ac_add_options --enable-application=browser 19 ac_add_options --enable-optimize 20 ac_add_options --with-system-ffi 21 ac_add_options --with-system-jpeg 22 ac_add_options --with-system-libvpx 23 ac_add_options --with-system-nspr 24 ac_add_options --with-system-nss 25 ac_add_options --with-system-pixman 26 ac_add_options --with-system-png 27 ac_add_options --with-system-webp 28 ac_add_options --with-system-zlib 29 ac_add_options --without-wasm-sandboxed-libraries 30 ac_add_options --disable-eme 31 ac_add_options --disable-tests 32 ac_add_options --disable-vtune 33 ac_add_options --disable-updater 34 ac_add_options --disable-jemalloc 35 ac_add_options --disable-elf-hack 36 ac_add_options --disable-callgrind 37 ac_add_options --disable-profiling 38 ac_add_options --disable-necko-wifi 39 ac_add_options --disable-crashreporter 40 ac_add_options --disable-accessibility 41 ac_add_options --disable-debug 42 ac_add_options --disable-debug-symbols 43 ac_add_options --disable-parental-controls 44 ac_add_options --disable-system-extension-dirs 45 ac_add_options --disable-default-browser-agent 46 ac_add_options --disable-backgroundtasks 47 ac_add_options --disable-webspeech 48 ac_add_options --target=x86_64-unknown-linux-musl 49 ac_add_options --host=x86_64-unknown-linux-musl 50 EOF 51 52 if [ -f $SPM_PKGDB/libx11 ] && [ ! -f $SPM_PKGDB/wayland ]; then 53 echo "ac_add_options --enable-default-toolkit=cairo-gtk3-x11-only" >> .mozconfig 54 elif [ -f $SPM_PKGDB/wayland ] && [ ! -f $SPM_PKGDB/libx11 ]; then 55 echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only" >> .mozconfig 56 fi 57 58 if [ -e '/usr/bin/ccache' ]; then 59 echo 'ac_add_options --enable-ccache' >> .mozconfig 60 PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//') 61 fi 62 63 export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none 64 export MOZBUILD_STATE_PATH=${PWD}/mozbuild 65 66 export CFLAGS="$CFLAGS -w" 67 export CXXFLAGS="$CXXFLAGS -w" 68 export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags" 69 export RUSTFLAGS="$RUSTFLAGS -Cdebuginfo=0" 70 export MOZ_DEBUG_FLAGS=-g0 71 export MOZ_NOSPAM=1 72 export CXXSTDLIB=c++ 73 74 ./mach build 75 ./mach install 76 77 mkdir -pv $PKG/usr/share/applications 78 mkdir -pv $PKG/usr/share/pixmaps 79 80 cat > $PKG/usr/share/applications/firefox.desktop << EOF 81 [Desktop Entry] 82 Encoding=UTF-8 83 Name=Firefox Web Browser 84 Comment=Browse the World Wide Web 85 GenericName=Web Browser 86 Exec=firefox %u 87 Terminal=false 88 Type=Application 89 Icon=firefox 90 Categories=GNOME;GTK;Network;WebBrowser; 91 MimeType=text/xml;text/mml;text/html;application/xhtml+xml;application/vnd.mozilla.xul+xml;x-scheme-handler/http;x-scheme-handler/https 92 StartupNotify=true 93 EOF 94 95 mkdir -p $PKG/usr/share/pixmaps 96 ln -sfv /usr/lib/firefox/browser/chrome/icons/default/default128.png \ 97 $PKG/usr/share/pixmaps/firefox.png 98 99 rm $PKG/usr/lib/firefox/firefox-bin 100 }