From 16b4d03dcec24ca4cec0f83494445e2c441e3f46 Mon Sep 17 00:00:00 2001 From: emmett1 Date: Sun, 18 Aug 2024 20:10:31 +0800 Subject: librewolf: new added --- repos/extra/librewolf/.files | 56 +++++++++++++++++ repos/extra/librewolf/abuild | 96 +++++++++++++++++++++++++++++ repos/extra/librewolf/depends | 16 +++++ repos/extra/librewolf/fix-rust-target.patch | 31 ++++++++++ 4 files changed, 199 insertions(+) create mode 100644 repos/extra/librewolf/.files create mode 100644 repos/extra/librewolf/abuild create mode 100644 repos/extra/librewolf/depends create mode 100644 repos/extra/librewolf/fix-rust-target.patch diff --git a/repos/extra/librewolf/.files b/repos/extra/librewolf/.files new file mode 100644 index 00000000..c920004d --- /dev/null +++ b/repos/extra/librewolf/.files @@ -0,0 +1,56 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +lrwxrwxrwx root/root usr/bin/librewolf -> /usr/lib/librewolf/librewolf +drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/librewolf/ +-rw-r--r-- root/root usr/lib/librewolf/application.ini +drwxr-xr-x root/root usr/lib/librewolf/browser/ +drwxr-xr-x root/root usr/lib/librewolf/browser/chrome/ +drwxr-xr-x root/root usr/lib/librewolf/browser/chrome/icons/ +drwxr-xr-x root/root usr/lib/librewolf/browser/chrome/icons/default/ +-rw-r--r-- root/root usr/lib/librewolf/browser/chrome/icons/default/default128.png +-rw-r--r-- root/root usr/lib/librewolf/browser/chrome/icons/default/default16.png +-rw-r--r-- root/root usr/lib/librewolf/browser/chrome/icons/default/default32.png +-rw-r--r-- root/root usr/lib/librewolf/browser/chrome/icons/default/default48.png +-rw-r--r-- root/root usr/lib/librewolf/browser/chrome/icons/default/default64.png +drwxr-xr-x root/root usr/lib/librewolf/browser/features/ +-rw-r--r-- root/root usr/lib/librewolf/browser/features/formautofill@mozilla.org.xpi +-rw-r--r-- root/root usr/lib/librewolf/browser/features/pictureinpicture@mozilla.org.xpi +-rw-r--r-- root/root usr/lib/librewolf/browser/features/screenshots@mozilla.org.xpi +-rw-r--r-- root/root usr/lib/librewolf/browser/features/webcompat@mozilla.org.xpi +-rw-r--r-- root/root usr/lib/librewolf/browser/omni.ja +drwxr-xr-x root/root usr/lib/librewolf/defaults/ +drwxr-xr-x root/root usr/lib/librewolf/defaults/pref/ +-rw-r--r-- root/root usr/lib/librewolf/defaults/pref/channel-prefs.js +-rw-r--r-- root/root usr/lib/librewolf/dependentlibs.list +drwxr-xr-x root/root usr/lib/librewolf/distribution/ +-rw-r--r-- root/root usr/lib/librewolf/distribution/policies.json +drwxr-xr-x root/root usr/lib/librewolf/fonts/ +-rw-r--r-- root/root usr/lib/librewolf/fonts/TwemojiMozilla.ttf +-rwxr-xr-x root/root usr/lib/librewolf/glxtest +drwxr-xr-x root/root usr/lib/librewolf/gmp-clearkey/ +drwxr-xr-x root/root usr/lib/librewolf/gmp-clearkey/0.1/ +-rwxr-xr-x root/root usr/lib/librewolf/gmp-clearkey/0.1/libclearkey.so +-rw-r--r-- root/root usr/lib/librewolf/gmp-clearkey/0.1/manifest.json +-rwxr-xr-x root/root usr/lib/librewolf/libgkcodecs.so +-rwxr-xr-x root/root usr/lib/librewolf/libipcclientcerts.so +-rwxr-xr-x root/root usr/lib/librewolf/liblgpllibs.so +-rwxr-xr-x root/root usr/lib/librewolf/libmozavcodec.so +-rwxr-xr-x root/root usr/lib/librewolf/libmozavutil.so +-rwxr-xr-x root/root usr/lib/librewolf/libmozgtk.so +-rwxr-xr-x root/root usr/lib/librewolf/libmozsandbox.so +-rwxr-xr-x root/root usr/lib/librewolf/libmozsqlite3.so +-rwxr-xr-x root/root usr/lib/librewolf/libmozwayland.so +-rwxr-xr-x root/root usr/lib/librewolf/librewolf +-rw-r--r-- root/root usr/lib/librewolf/librewolf.cfg +-rwxr-xr-x root/root usr/lib/librewolf/libxul.so +-rw-r--r-- root/root usr/lib/librewolf/omni.ja +-rwxr-xr-x root/root usr/lib/librewolf/pingsender +-rw-r--r-- root/root usr/lib/librewolf/platform.ini +-rw-r--r-- root/root usr/lib/librewolf/removed-files +-rwxr-xr-x root/root usr/lib/librewolf/vaapitest +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/applications/ +-rw-r--r-- root/root usr/share/applications/librewolf.desktop +drwxr-xr-x root/root usr/share/pixmaps/ +lrwxrwxrwx root/root usr/share/pixmaps/librewolf.png -> /usr/lib/librewolf/browser/chrome/icons/default/default128.png diff --git a/repos/extra/librewolf/abuild b/repos/extra/librewolf/abuild new file mode 100644 index 00000000..27f115d3 --- /dev/null +++ b/repos/extra/librewolf/abuild @@ -0,0 +1,96 @@ +name=librewolf +version=129.0.1.1 +_ver=${version%.*} +_sion=${version##*.} +_version=${_ver}-${_sion} +release=1 +source="https://gitlab.com/api/v4/projects/32320088/packages/generic/${name}-source/${_version}/${name}-${_version}.source.tar.gz + fix-rust-target.patch" + +build() { + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system + export MOZBUILD_STATE_PATH=${PWD}/mozbuild + export RUST_TARGET=x86_64-unknown-linux-musl + + cat > mozconfig << EOF +ac_add_options --prefix=/usr +ac_add_options --libdir=/usr/lib +ac_add_options --with-app-name=$name +ac_add_options --with-branding=browser/branding/$name +export MOZ_APP_REMOTINGNAME=$name +ac_add_options --enable-release +ac_add_options --enable-audio-backends=alsa +ac_add_options --enable-install-strip +ac_add_options --enable-optimize +ac_add_options --enable-hardening +ac_add_options --with-system-ffi +ac_add_options --with-system-jpeg +ac_add_options --with-system-libvpx +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +ac_add_options --with-system-pixman +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 +ac_add_options --disable-eme +#ac_add_options --disable-dbus +ac_add_options --disable-bootstrap +ac_add_options --disable-tests +ac_add_options --disable-vtune +ac_add_options --disable-updater +ac_add_options --disable-jemalloc +ac_add_options --disable-elf-hack +ac_add_options --disable-callgrind +ac_add_options --disable-profiling +ac_add_options --disable-necko-wifi +ac_add_options --disable-crashreporter +ac_add_options --disable-accessibility +ac_add_options --disable-debug +ac_add_options --disable-debug-symbols +ac_add_options --disable-parental-controls +ac_add_options --disable-system-extension-dirs +EOF + + if [ -f $SPM_PKGDB/libx11 ] && [ ! -f $SPM_PKGDB/wayland ]; then + echo "ac_add_options --enable-default-toolkit=cairo-gtk3-x11-only" >> mozconfig + elif [ -f $SPM_PKGDB/wayland ] && [ ! -f $SPM_PKGDB/libx11 ]; then + echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only" >> mozconfig + fi + + if [ -e '/usr/bin/ccache' ]; then + echo 'ac_add_options --enable-ccache' >> mozconfig + PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//') + fi + + export CFLAGS="$CFLAGS -w" + export CXXFLAGS="$CXXFLAGS -w" + export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/$name,--enable-new-dtags" + + ./mach build + ./mach install + + mkdir -pv $PKG/usr/share/applications + mkdir -pv $PKG/usr/share/pixmaps + + cat > $PKG/usr/share/applications/$name.desktop << EOF +[Desktop Entry] +Encoding=UTF-8 +Name=Librewolf +Comment=Browse the World Wide Web +GenericName=Web Browser +Exec=librewolf %u +Terminal=false +Type=Application +Icon=librewolf +Categories=GNOME;GTK;Network;WebBrowser; +MimeType=text/xml;text/mml;text/html;application/xhtml+xml;application/vnd.mozilla.xul+xml;x-scheme-handler/http;x-scheme-handler/https +StartupNotify=true +EOF + + mkdir -p $PKG/usr/share/pixmaps + ln -sfv /usr/lib/$name/browser/chrome/icons/default/default128.png \ + $PKG/usr/share/pixmaps/$name.png + + rm $PKG/usr/lib/$name/$name-bin +} diff --git a/repos/extra/librewolf/depends b/repos/extra/librewolf/depends new file mode 100644 index 00000000..36f1c9b7 --- /dev/null +++ b/repos/extra/librewolf/depends @@ -0,0 +1,16 @@ +alsa-lib +gtk3 +libvpx +libwebp +libxcomposite +libxcursor +libxdamage +libxdmcp +libxinerama +nss +clang +rust +cbindgen +nodejs +libice +libsm diff --git a/repos/extra/librewolf/fix-rust-target.patch b/repos/extra/librewolf/fix-rust-target.patch new file mode 100644 index 00000000..9342063c --- /dev/null +++ b/repos/extra/librewolf/fix-rust-target.patch @@ -0,0 +1,31 @@ +Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's +weird custom build system... + +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -225,7 +225,9 @@ + data.setdefault(key, []).append(namespace(rust_target=t, target=info)) + return data + +- ++@imports('os') ++@imports(_from='mozbuild.util', _import='ensure_unicode') ++@imports(_from='mozbuild.util', _import='system_encoding') + def detect_rustc_target( + host_or_target, compiler_info, arm_target, rust_supported_targets + ): +@@ -340,13 +342,13 @@ + + return None + +- rustc_target = find_candidate(candidates) ++ rustc_target = os.environ['RUST_TARGET'] + + if rustc_target is None: + die("Don't know how to translate {} for rustc".format(host_or_target.alias)) + +- return rustc_target ++ return ensure_unicode(rustc_target, system_encoding) + + + @imports('os') -- cgit v1.2.3