diff options
Diffstat (limited to 'skip/icecat/icecat.xibuild')
-rw-r--r-- | skip/icecat/icecat.xibuild | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/skip/icecat/icecat.xibuild b/skip/icecat/icecat.xibuild new file mode 100644 index 0000000..61c8934 --- /dev/null +++ b/skip/icecat/icecat.xibuild @@ -0,0 +1,124 @@ +#!/bin/sh + +NAME="icecat" +DESC="GNU IceCat web browser" + +MAKEDEPS="make rust cbindgen" +DEPS="nodejs alsa-lib atk cairo dbus ffmpeg fontconfig freetype2 gdk-pixbuf glib gtk3 icu libevent libffi libpng libvpx libwebp libx11 libxcb libxcomposite libxdamage libxext libxfixes libxrandr musl nspr nss pango pixman zlib dbus-glib" + +PKG_VER=91.9.0 +commit_hash=d7d3e9a33d2b3b78a6e08060684580c72c0d6e93 + + +SOURCE="https://git.savannah.gnu.org/cgit/gnuzilla.git/snapshot/gnuzilla-$commit_hash.tar.gz" +ADDITIONAL=" +icecat.desktop +stab.h +" + +#prepare () { + + #sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/audio_thread_priority/.cargo-checksum.json + #sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json +#} + +build () { + mkdir -p objdir + cd objdir + export SHELL=/bin/sh + export USE_SHORT_LIBNAME=1 + export MACH_USE_SYSTEM_PYTHON=1 + export MOZBUILD_STATE_PATH=$BUILD_ROOT/mozbuild + # disable desktop notifications + export MOZ_NOSPAM=1 + # Find our triplet JSON + export RUST_TARGET="x86_64-unknown-linux-musl" + # Build with Clang, takes less RAM + export CC="clang" + export CXX="clang++" + + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/icecat" + ../mach configure \ + --without-wasm-sandboxed-libraries \ + --prefix=/usr \ + --disable-elf-hack \ + --enable-rust-simd \ + --enable-sandbox \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-jemalloc \ + --disable-minify \ + --disable-profiling \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --enable-alsa \ + --enable-dbus \ + --enable-default-toolkit=cairo-gtk3-wayland \ + --enable-dom-streams \ + --enable-ffmpeg \ + --enable-hardening \ + --enable-necko-wifi \ + --enable-official-branding \ + --enable-optimize="$CFLAGS -O2" \ + --enable-pulseaudio \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --with-distribution-id=xilinux \ + --with-libclang-path=/usr/lib \ + --with-system-ffi \ + --with-system-icu \ + --with-system-jpeg \ + --with-system-libevent \ + --with-system-libvpx \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-png \ + --with-system-webp \ + --with-system-zlib \ + --with-unsigned-addon-scopes=app,system && + ../mach build +} + +package () { + + DESTDIR="$PKG_DEST" MOZ_MAKE_FLAGS="$MAKEOPTS" ../mach install + + install -m755 -d "$PKG_DEST"/usr/share/applications + install -m755 -d "$PKG_DEST"/usr/share/pixmaps + + local _png + for _png in ../browser/branding/official/default*.png; do + local i=${_png%.png} + i=${i##*/default} + install -D -m644 "$_png" "$PKG_DEST"/usr/share/icons/hicolor/"$i"x"$i"/apps/icecat.png + done + + install -m644 ../browser/branding/official/default48.png \ + "$PKG_DEST"/usr/share/pixmaps/icecat.png + install -m644 ../icecat.desktop "$PKG_DEST"/usr/share/applications/org.mozilla.icecat.desktop + + # Add StartupWMClass=icecat on the .desktop files so Desktop Environments + # correctly associate the window with their icon, the correct fix is to have + # icecat sets its own AppID but this will work for the meantime + # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1607399 + echo "StartupWMClass=icecat" >> $PKG_DEST/usr/share/applications/org.mozilla.icecat.desktop + + # install our vendor prefs + install -d $PKG_DEST/usr/lib/icecat/browser/defaults/preferences + + cat >> $PKG_DEST/usr/lib/icecat/browser/defaults/preferences/icecat-branding.js <<- EOF + // Use LANG environment variable to choose locale + pref("intl.locale.requested", ""); + + // Disable default browser checking. + pref("browser.shell.checkDefaultBrowser", false); + + // Don't disable our bundled extensions in the application directory + pref("extensions.autoDisableScopes", 11); + pref("extensions.shownSelectionUI", true); + EOF +} |