archpackaging

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit cbf7d2fdcd5784deb320f8d239f21d685caec11e
Author: awy <awy@awy.one>
Date:   Sat, 29 Nov 2025 19:22:06 +0300

init

Diffstat:
A.gitignore | 13+++++++++++++
Acatppuccin-gtk/PKGBUILD | 35+++++++++++++++++++++++++++++++++++
Acatppuccin-gtk/build.sh | 3+++
Adwlb/PKGBUILD | 36++++++++++++++++++++++++++++++++++++
Adwlb/build.sh | 3+++
Aeverforest-cursors/PKGBUILD | 19+++++++++++++++++++
Aeverforest-cursors/build.sh | 3+++
Aeverforest-dark/PKGBUILD | 39+++++++++++++++++++++++++++++++++++++++
Aeverforest-dark/build.sh | 3+++
Agruvbox-gtk/PKGBUILD | 36++++++++++++++++++++++++++++++++++++
Agruvbox-gtk/build.sh | 3+++
Aicecat/neopkg/PKGBUILD | 545+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aicecat/neopkg/build.sh | 3+++
Aicecat/neopkg/user.js | 210+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aicecat/pkg/PKGBUILD | 98+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aicecat/pkg/build.sh | 3+++
Aicecat/pkg/extensions/download_extension.sh | 9+++++++++
Aicecat/pkg/user.js | 209+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Alibrepods/PKGBUILD | 31+++++++++++++++++++++++++++++++
Alibrepods/build.sh | 3+++
Alrcget/PKGBUILD | 15+++++++++++++++
Alrcget/build.sh | 3+++
Amew/PKGBUILD | 38++++++++++++++++++++++++++++++++++++++
Amew/build.sh | 3+++
Amutt-wizard/PKGBUILD | 45+++++++++++++++++++++++++++++++++++++++++++++
Amutt-wizard/build.sh | 3+++
Anordic/PKGBUILD | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anordic/build.sh | 3+++
Asomeblocks/PKGBUILD | 33+++++++++++++++++++++++++++++++++
Asomeblocks/build.sh | 3+++
Atessen/PKGBUILD | 37+++++++++++++++++++++++++++++++++++++
Atessen/build.sh | 3+++
Awlr-dpms/PKGBUILD | 29+++++++++++++++++++++++++++++
Awlr-dpms/build.sh | 3+++
Axdg-desktop-portal-termfilechooser/PKGBUILD | 50++++++++++++++++++++++++++++++++++++++++++++++++++
Axdg-desktop-portal-termfilechooser/build.sh | 3+++
36 files changed, 1657 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,13 @@ +*/* +!*/PKGBUILD +!*/build.sh +icecat/neopkg/* +icecat/pkg/* +!icecat/pkg/extensions +icecat/pkg/extensions/* +!icecat/pkg/extensions/download_extension.sh +!icecat/*/PKGBUILD +!icecat/*/user.js +!icecat/*/build.sh +!icecat/neopkg +!icecat/pkg diff --git a/catppuccin-gtk/PKGBUILD b/catppuccin-gtk/PKGBUILD @@ -0,0 +1,35 @@ +pkgbase=catppuccin-theme-git +pkgname=('catppuccin-icon-theme' 'catppuccin-gtk-theme') +pkgver=r76.f25d8cf68 +pkgrel=1 +pkgdesc='A GTK theme based on the Catppuccin color palette.' +arch=('any') +url='https://github.com/Fausto-Korpsvart/Catppuccin-GTK-Theme' +license=('GPL3') +depends=('gtk-engine-murrine') +makedepends=('git' 'sassc') +source=("$pkgbase"::'git+https://github.com/Fausto-Korpsvart/Catppuccin-GTK-Theme') +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgbase" + if git describe --long --tags >/dev/null 2>&1; then + git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' + else + printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git describe --always)" + fi +} + +package_catppuccin-icon-theme() { + cd "$srcdir/$pkgbase" + sed -i icons/*/index.theme -e 's/oomox-//' + mkdir -p "$pkgdir/usr/share/icons" + cp -r icons/Catppuccin-* "$pkgdir/usr/share/icons/" +} + +package_catppuccin-gtk-theme() { + cd "$srcdir/$pkgbase/themes" + ./build.sh + mkdir -p "$pkgdir/usr/share/themes" + ./install.sh --dest "$pkgdir/usr/share/themes" --theme all +} diff --git a/catppuccin-gtk/build.sh b/catppuccin-gtk/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/dwlb/PKGBUILD b/dwlb/PKGBUILD @@ -0,0 +1,36 @@ +_pkgname=dwlb +pkgname=$_pkgname +pkgver=r95.5bdc70b +pkgrel=1 +pkgdesc="A fast, feature-complete bar for mango" +url="https://git.awy.one/dwlb" +arch=('x86_64') +license=('GPL3') +# depends=('wayland' 'libxkbcommon' 'fcft') +makedepends=('git' 'pkg-config' 'wayland-protocols' 'fcft' 'pixman') +# if tray patch is used +# makedepends=('git' 'pkg-config' 'wayland-protocols' 'fcft' 'pixman' 'gtk4-layer-shell') +source=(git+https://git.awy.one/dwlb.git) +sha256sums=(SKIP) + +provides=("$pkgname") +conflicts=("$pkgname") + +pkgver() { + cd $srcdir/$_pkgname + git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "$git_ver" +} + +build() { + cd "$srcdir/$_pkgname" + make PREFIX=/usr +} + +package() { + cd "$srcdir/$_pkgname" + + install -Dm755 dwlb "$pkgdir/usr/bin/dwlb" + install -Dm644 dwlb.1 "$pkgdir/usr/share/man/man1/dwlb.1" + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/dwlb/build.sh b/dwlb/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/everforest-cursors/PKGBUILD b/everforest-cursors/PKGBUILD @@ -0,0 +1,19 @@ +pkgname=('everforest-cursors') +pkgver=0 +pkgrel=1 +pkgdesc='Everforest cursors' +arch=('any') +url='https://github.com/talwat/everforest-cursors' +license=('GPL3') +source=('everforest-cursors-variants.tar.bz2') +sha256sums=('SKIP') + +package() { + # cd "$srcdir/$pkgbase" + # sed -i icons/*/index.theme -e 's/oomox-//' + # sed -i icons/Everforest-Light/index.theme -e 's/[Ee]verforest_[Ll]ight/Everforest-Light/g' + mkdir -p "$pkgdir/usr/share/icons" + # cp -r icons/Everforest-Dark "$pkgdir/usr/share/icons/" + # cp -r icons/Everforest-Light "$pkgdir/usr/share/icons/" + cp -r "$srcdir/everforest-cursors" "$pkgdir/usr/share/icons/" +} diff --git a/everforest-cursors/build.sh b/everforest-cursors/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/everforest-dark/PKGBUILD b/everforest-dark/PKGBUILD @@ -0,0 +1,39 @@ +pkgbase=everforest-gtk-theme-git +pkgname=('everforest-icon-theme-git' 'everforest-gtk-theme-git') +pkgver=r77.930a5dc5 +pkgrel=1 +pkgdesc='Everforest colour palette for GTK' +arch=('any') +url='https://github.com/Fausto-Korpsvart/Everforest-GTK-Theme' +license=('GPL3') +depends=('gtk-engine-murrine') +makedepends=('git' 'sassc') +source=("$pkgbase"::'git+https://github.com/Fausto-Korpsvart/Everforest-GTK-Theme') +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgbase" + if git describe --long --tags >/dev/null 2>&1; then + git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' + else + printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git describe --always)" + fi +} + +package_everforest-icon-theme-git() { + cd "$srcdir/$pkgbase" + sed -i icons/*/index.theme -e 's/oomox-//' + sed -i icons/Everforest-Light/index.theme -e 's/[Ee]verforest_[Ll]ight/Everforest-Light/g' + mkdir -p "$pkgdir/usr/share/icons" + cp -r icons/Everforest-Dark "$pkgdir/usr/share/icons/" + cp -r icons/Everforest-Light "$pkgdir/usr/share/icons/" +} + +package_everforest-gtk-theme-git() { + cd "$srcdir/$pkgbase/themes" + ./build.sh + mkdir -p "$pkgdir/usr/share/themes" + ./install.sh --dest "$pkgdir/usr/share/themes" --theme all +} + +# vim: set ts=4 sw=4 et : diff --git a/everforest-dark/build.sh b/everforest-dark/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/gruvbox-gtk/PKGBUILD b/gruvbox-gtk/PKGBUILD @@ -0,0 +1,36 @@ +pkgbase=gruvbox-theme-git +pkgname=('gruvbox-icon-theme' 'gruvbox-gtk-theme') +pkgver=r102.578cd220 +pkgrel=1 +pkgdesc='A GTK theme based on the Gruvbox colour palette.' +arch=('any') +url='https://github.com/Fausto-Korpsvart/Gruvbox-GTK-Theme' +license=('GPL3') +depends=('gtk-engine-murrine') +makedepends=('git' 'sassc') +source=("$pkgbase"::'git+https://github.com/Fausto-Korpsvart/Gruvbox-GTK-Theme') +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgbase" + if git describe --long --tags >/dev/null 2>&1; then + git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' + else + printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git describe --always)" + fi +} + +package_gruvbox-icon-theme() { + cd "$srcdir/$pkgbase" + sed -i icons/*/index.theme -e 's/oomox-//' + mkdir -p "$pkgdir/usr/share/icons" + cp -r icons/Gruvbox-Dark "$pkgdir/usr/share/icons/" + cp -r icons/Gruvbox-Light "$pkgdir/usr/share/icons/" +} + +package_gruvbox-gtk-theme() { + cd "$srcdir/$pkgbase/themes" + ./build.sh + mkdir -p "$pkgdir/usr/share/themes" + ./install.sh --tweaks medium --dest "$pkgdir/usr/share/themes" --theme all +} diff --git a/gruvbox-gtk/build.sh b/gruvbox-gtk/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r diff --git a/icecat/neopkg/PKGBUILD b/icecat/neopkg/PKGBUILD @@ -0,0 +1,545 @@ +## options +: ${_build_save_source:=true} +: ${_build_repatch:=false} + +: ${_build_pgo:=true} +: ${_build_pgo_reuse:=try} +: ${_build_pgo_xvfb:=true} + +: ${_build_lto:=true} +: ${_build_system_libs:=true} + +: ${_build_limit_cores:=false} + +## update +_icver="140.5.0" +_commit="419ffc070436336cb2499306a6833d9fab18a035" +_icsum="4647dee35a4170ed2f376f3ffa08d1d804b379e9cd6d40591932d81ed5b47b62" +_ffsum="832b7ef3e5f7a2430e0ba0b9000dab6fdd8f65bccff8bcf7eeb9ed16e6d310e2" + +## package +_pkgname="icecat" +pkgname="$_pkgname" +pkgver="$_icver" +pkgrel=1 +pkgdesc="GNU version of the Firefox ESR browser" +url="https://git.awy.one/gnuzilla.git" +license=('MPL-2.0') +arch=('x86_64') + +depends=( + dbus + ffmpeg + ffmpeg4.4 + gtk3 + libevent + libjpeg + libpulse + libvpx.so + libwebp.so + libxss + libxt + mime-types + nspr + nss + ttf-font + zlib +) +makedepends=( + cargo + cbindgen + clang + diffutils + dump_syms + imake + inetutils + jack + mold + llvm + mercurial + mesa + nasm + nodejs + python + python-setuptools + unzip + wasi-compiler-rt + wasi-libc + wasi-libc++ + wasi-libc++abi + yasm + zip + + ## makeicecat + git + m4 + python-jsonschema + python-psutil + python-setuptools + wget +) +optdepends=( + 'hunspell-dictionary: Spell checking' + 'libnotify: Notification integration' + 'networkmanager: Location detection via available WiFi networks' + 'speech-dispatcher: Text-to-Speech' + 'xdg-desktop-portal: Screensharing with Wayland' +) + +if [[ "${_build_pgo::1}" == "t" ]]; then + if [[ "${_build_pgo_xvfb::1}" == "t" ]]; then + makedepends+=( + xorg-server-xvfb + ) + else + makedepends+=( + weston + wlheadless-run # aur/xwayland-run + ) + fi +fi + +options=( + !debug + !emptydirs + !lto + !makeflags + !strip +) + +noextract=("firefox-${pkgver}esr.source.tar.xz") + +_source_icecat() { + _pkgsrc="$_pkgname-$pkgver" + _pkgsrc_gnuzilla="gnuzilla-$_commit" + _pkgsrc_firefox="firefox-$pkgver" + _pkgext="tar.gz" + source=( + "gnuzilla-$pkgver-${_commit::7}.$_pkgext"::"https://git.awy.one/gnuzilla.git/snapshot/gnuzilla-$_commit.$_pkgext" + "https://archive.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz" + "user.js" + ) + sha256sums=( + "$_icsum" + "$_ffsum" + "b136ed7e73a2a4e8fc2d33f758199ca1707ca996750aa4f6452739359705f5b4" + ) +} + +_source_icecat + +_make_icecat() ( + # restore icecat tarball, if exists + if [ "${_build_repatch::1}" != "t" ] && [ -e "$SRCDEST/$_pkgsrc.tar.zst" ]; then + echo "Restoring previously patched sources..." + rm -rf "$srcdir/$_pkgsrc" + bsdtar -xf "$SRCDEST/$_pkgsrc.tar.zst" + return + fi + + pushd "$_pkgsrc_gnuzilla" + + # clean output in case there is already an old build + mkdir -p output || rm -rf output/* + mkdir -p output/l10n + + echo "Preparing Firefox ESR..." + #cp -f "$srcdir/firefox-${pkgver}esr.source.tar.xz"{,.asc} "$_pkgsrc_gnuzilla"/output/ + + bsdtar xf "$srcdir/firefox-${pkgver}esr.source.tar.xz" + mv "$_pkgsrc_firefox" "$srcdir/$_pkgsrc_gnuzilla/output/$_pkgsrc" + + echo "Patching sources..." + + # don't reset output folder (already done) + sed -e '/^prepare_env$/d' -i makeicecat + + # don't make source tarball (done later) + sed -e '/^finalize_sourceball$/d' -i makeicecat + + # don't redownload or reextract firefox (already done) + sed \ + -e '/^fetch_source$/d' \ + -e '/^verify_sources$/d' \ + -e '/^extract_sources$/d' \ + -i makeicecat + + # produce icecat sources + cd output + ../makeicecat + popd + + # save icecat tarball + if [[ "${_build_save_source::1}" == "t" ]]; then + echo "Saving patched sources..." + mv -f "$_pkgsrc_gnuzilla/output/$_pkgsrc" "$srcdir/" + bsdtar -a -cf "$_pkgsrc.tar.zst" --options zstd:compression-level=9 "$_pkgsrc" + cp -rf "$_pkgsrc.tar.zst" "$SRCDEST/" + fi +) + +_prepare_icecat() ( + cat > icecat.desktop << END +[Desktop Entry] +Name=IceCat +GenericName=Web Browser +Comment=Browse the World Wide Web +Keywords=Internet;WWW;Browser;Web;Explorer +Exec=icecat %u +Icon=icecat +Terminal=false +X-MultipleArgs=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall; +StartupNotify=true +StartupWMClass=icecat +Categories=Network;WebBrowser; +Actions=new-window;new-private-window;safe-mode; + +[Desktop Action new-window] +Name=New Window +Exec=icecat --new-window %u + +[Desktop Action new-private-window] +Name=New Private Window +Exec=icecat --private-window %u + +[Desktop Action safe-mode] +Name=Safe Mode +Exec=icecat -safe-mode %u +END + + _make_icecat + + mkdir -p mozbuild + cd "$_pkgsrc" + + # clear forced startup pages + sed -E -e 's&^\s*pref\("startup\.homepage.*$&&' -i "browser/branding/official/pref/icecat-branding.js" + + # configure + cat > ../mozconfig << END +ac_add_options --enable-application=browser +ac_add_options --disable-artifact-builds + +mk_add_options MOZ_OBJDIR=${PWD@Q}/obj + +ac_add_options --prefix=/usr +ac_add_options --enable-release +ac_add_options --enable-hardening +ac_add_options --enable-rust-simd +ac_add_options --enable-wasm-simd +ac_add_options --enable-linker=mold +ac_add_options --disable-elf-hack +ac_add_options --disable-bootstrap +ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot + +# Branding +ac_add_options --with-app-basename=$_pkgname +ac_add_options --with-app-name=$_pkgname +ac_add_options --with-branding=browser/branding/official +ac_add_options --enable-update-channel=nightly +ac_add_options --with-distribution-id=org.gnu +ac_add_options --with-unsigned-addon-scopes=app,system +ac_add_options --allow-addon-sideload +export MOZILLA_OFFICIAL=1 +export MOZ_APP_REMOTINGNAME=$_pkgname +MOZ_REQUIRE_SIGNING= + +# Features +ac_add_options --enable-alsa +ac_add_options --enable-av1 +#ac_add_options --enable-eme=widevine +ac_add_options --enable-jack +ac_add_options --enable-jxl +ac_add_options --enable-proxy-bypass-protection +ac_add_options --enable-pulseaudio +ac_add_options --enable-sandbox +ac_add_options --enable-unverified-updates +ac_add_options --enable-webrtc +ac_add_options --disable-crashreporter +ac_add_options --disable-default-browser-agent +ac_add_options --disable-parental-controls +ac_add_options --disable-tests +ac_add_options --disable-updater + +# Disables Telemetry by Default +mk_add_options MOZ_DATA_REPORTING=0 +mk_add_options MOZ_SERVICES_HEALTHREPORT=0 +mk_add_options MOZ_TELEMETRY_REPORTING=0 + +# Debugging +ac_add_options --disable-debug +ac_add_options --disable-debug-symbols +ac_add_options --disable-debug-js-modules +ac_add_options --enable-strip +ac_add_options --enable-install-strip +export STRIP_FLAGS="--strip-debug --strip-unneeded" + +# Optimization +ac_add_options --enable-optimize +ac_add_options OPT_LEVEL="3" +ac_add_options RUSTC_OPT_LEVEL="3" + +# Other +export AR=llvm-ar +export CC=clang +export CXX=clang++ +export NM=llvm-nm +export RANLIB=llvm-ranlib +END + + if [[ "${_build_system_libs::1}" == "t" ]]; then + cat >> ../mozconfig << END +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-webp +ac_add_options --with-system-zlib +END + fi + + if [[ "${_build_lto::1}" == "t" ]]; then + cat >> ../mozconfig << END +ac_add_options --enable-lto=cross,full +END + fi + + if [[ "${_build_limit_cores::1}" == "t" ]]; then + # calculate core availability + local _mem _nproc _cores + _mem=$(cat /proc/meminfo | grep MemFree | grep -Eom1 '[0-9]+') + _nproc=$(nproc) + _cores=$((_mem / (1024 * 1024) < _nproc ? _mem / (1024 * 1024) : _nproc)) + _cores=$((_cores < 1 ? 1 : _cores)) + + printf '\nFree RAM: %s\nCores: %s\nUsing: %s\n\n' "$((_mem / (1024 * 1024)))" "$_nproc" "$_cores" + + cat >> ../mozconfig << END +mk_add_options MOZ_PARALLEL_BUILD=${_cores:-4} +END + fi +) + +build() ( + _run_if_exists _prepare_icecat + + cd "$_pkgsrc" + + export RUSTUP_TOOLCHAIN=stable + + export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-$srcdir/xdg-runtime}" + [ ! -d "$XDG_RUNTIME_DIR" ] && mkdir -pm700 "${XDG_RUNTIME_DIR:?}" + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=pip + export MOZBUILD_STATE_PATH="$srcdir/mozbuild" + export MOZ_BUILD_DATE="$(date -u${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH} +%Y%m%d%H%M%S)" + export MOZ_NOSPAM=1 + +# # workaround for cargo lock +# install -Dm755 /dev/stdin "$srcdir/cargo-nofrozen" << 'END' +# #!/usr/bin/env bash +# real=$(command -v cargo | grep -v "cargo-nofrozen" | head -n1) +# args=() +# for a in "$@"; do +# [[ "$a" == "--frozen" ]] && continue +# args+=("$a") +# done +# exec "$real" "${args[@]}" +# END + + # export CARGO="$srcdir/cargo-nofrozen" + + # malloc_usable_size is used in various parts of the codebase + CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + # Breaks compilation since https://bugzilla.mozilla.org/show_bug.cgi?id=1896066 + CFLAGS="${CFLAGS/-fexceptions/}" + CXXFLAGS="${CXXFLAGS/-fexceptions/}" + + # LTO/PGO needs more open files + ulimit -n 4096 + + # Do 3-tier PGO + if [[ "${_build_pgo::1}" == "t" ]]; then + # find previous profile file... + local _old_profdata _old_jarlog _pkgver_old tmp_old tmp_new + _pkgver_prof=$( + cd "$SRCDEST" + for i in *.profdata; do [ -f "$i" ] && echo "$i"; done \ + | sort -rV | head -1 | sed -E -e 's&^[^0-9]+-([0-9\.]+)-merged.profdata&\1&' + ) + + # new profile for new major version + if [ "${_pkgver_prof%%.*}" != "${pkgver%%.*}" ]; then + _build_pgo_reuse=false + _pkgver_prof="$pkgver" + fi + + # new profile for new minor version + _tmp_old=$(echo "${_pkgver_prof}" | cut -d'-' -f2 | cut -d'.' -f2) + _tmp_new=$(echo "${pkgver}" | cut -d'-' -f2 | cut -d'.' -f2) + + if [ "${_tmp_new:-0}" -gt "${_tmp_old:-0}" ]; then + _build_pgo_reuse=false + _pkgver_prof="$pkgver" + fi + + local _old_profdata="$SRCDEST/$_pkgname-$_pkgver_prof-merged.profdata" + local _old_jarlog="$SRCDEST/$_pkgname-$_pkgver_prof-jarlog" + + # Restore old profile + if [[ "${_build_pgo_reuse::1}" == "t" ]]; then + if [[ -s "$_old_profdata" ]]; then + echo "Restoring old profile data." + cp -f "$_old_profdata" merged.profdata + fi + + if [[ -s "$_old_jarlog" ]]; then + echo "Restoring old jar log." + cp -f "$_old_jarlog" jarlog + fi + fi + + # Make new profile + if [[ "${_build_pgo_reuse::1}" != "t" ]] || [[ ! -s merged.profdata ]]; then + # disable extensions, otherwise profiling freezes + cp "browser/app/Makefile.in" "$srcdir/Makefile.in" + sed -E -e '/^\t.*\/extensions\/gnu\/\*.*$/d' -i "browser/app/Makefile.in" + + cp "browser/installer/package-manifest.in" "$srcdir/package-manifest.in" + sed -E -e '/^.*\/browser\/extensions\/.*$/d' -i "browser/installer/package-manifest.in" + + cp "browser/installer/allowed-dupes.mn" "$srcdir/allowed-dupes.mn" + sed -E -e '/^browser\/extensions\/.*$/d' -i "browser/installer/allowed-dupes.mn" + + echo "Building instrumented browser..." + cat > .mozconfig ../mozconfig - << END +ac_add_options --enable-profile-generate=cross +export MOZ_ENABLE_FULL_SYMBOLS=1 +END + ./mach build --priority normal + + echo "Profiling instrumented browser..." + ./mach package + + local _headless_env=( + LLVM_PROFDATA=llvm-profdata + JARLOG_FILE="${PWD@Q}/jarlog" + LIBGL_ALWAYS_SOFTWARE=true + dbus-run-session + ) + + if [[ "${_build_pgo_xvfb::1}" == "t" ]]; then + local _headless_run=( + xvfb-run + -s "-screen 0 1920x1080x24 -nolisten local" + ) + else + local _headless_run=( + wlheadless-run + -c weston --width=1920 --height=1080 + ) + fi + + env "${_headless_env[@]}" "${_headless_run[@]}" -- ./mach python build/pgo/profileserver.py + + echo "Removing instrumented browser..." + ./mach clobber objdir + + # reenable extensions + cp "$srcdir/Makefile.in" "browser/app/Makefile.in" + cp "$srcdir/package-manifest.in" "browser/installer/package-manifest.in" + cp "$srcdir/allowed-dupes.mn" "browser/installer/allowed-dupes.mn" + fi + + echo "Building optimized browser..." + cat > .mozconfig ../mozconfig + + if [[ -s merged.profdata ]]; then + stat -c "Profile data found (%s bytes)" merged.profdata + cat >> .mozconfig - << END +ac_add_options --enable-profile-use=cross +ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata +END + + # save profdata for reuse + cp -f merged.profdata "$_old_profdata" + else + echo "Profile data not found." + fi + + if [[ -s jarlog ]]; then + stat -c "Jar log found (%s bytes)" jarlog + cat >> .mozconfig - << END +ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog +END + + # save jarlog for reuse + cp -f jarlog "$_old_jarlog" + else + echo "Jar log not found." + fi + + ./mach build --priority normal + else + echo "Building browser..." + cat > .mozconfig ../mozconfig + + ./mach build --priority normal + fi +) + +package() { + cd "$_pkgsrc" + DESTDIR="$pkgdir" ./mach install + + local vendorjs="$pkgdir/usr/lib/$_pkgname/browser/defaults/preferences/vendor.js" + install -Dm644 "../user.js" "$vendorjs" + + local distini="$pkgdir/usr/lib/$_pkgname/distribution/distribution.ini" + install -Dm644 /dev/stdin "$distini" << END +[Global] +id=archlinux +version=${pkgver} +about=GNU IceCat for Arch Linux + +[Preferences] +app.distributor=archlinux +app.distributor.channel=$_pkgname +app.partner.archlinux=archlinux +END + + # search provider + local sprovider="$pkgdir/usr/share/gnome-shell/search-providers/$_pkgname.search-provider.ini" + install -Dm644 /dev/stdin "$sprovider" << END +[Shell Search Provider] +DesktopId=$_pkgname.desktop +BusName=org.mozilla.${_pkgname//-/}.SearchProvider +ObjectPath=/org/mozilla/${_pkgname//-/}/SearchProvider +Version=2 +END + + # Replace duplicate binary + ln -sf "$_pkgname" "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" + + # desktop file + install -Dm644 ../$_pkgname.desktop \ + "$pkgdir/usr/share/applications/$_pkgname.desktop" + + # icons + local i theme=official + for i in 16 22 24 32 48 64 128 256; do + install -Dm644 browser/branding/$theme/default$i.png \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$_pkgname.png" + done +} + +_run_if_exists() { + if declare -F "$1" > /dev/null; then + eval "$1" + fi +} diff --git a/icecat/neopkg/build.sh b/icecat/neopkg/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r diff --git a/icecat/neopkg/user.js b/icecat/neopkg/user.js @@ -0,0 +1,210 @@ +pref("browser.aboutConfig.showWarning", false); +pref("browser.startup.page", 0); +pref("browser.startup.homepage", "chrome://browser/content/blanktab.html"); +pref("browser.newtabpage.enabled", false); +pref("browser.newtabpage.activity-stream.showSponsored", false); // [FF58+] Sponsored stories +pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // [FF83+] Sponsored shortcuts +pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false); // [FF140+] Support Firefox +pref("browser.newtabpage.activity-stream.default.sites", ""); +pref("geo.provider.ms-windows-location", false); // [WINDOWS] +pref("geo.provider.use_corelocation", false); // [MAC] +pref("geo.provider.use_geoclue", false); // [FF102+] [LINUX] +pref("extensions.getAddons.showPane", false); // [HIDDEN PREF] +pref("extensions.htmlaboutaddons.recommendations.enabled", false); +pref("browser.discovery.enabled", false); +pref("browser.newtabpage.activity-stream.feeds.telemetry", false); +pref("browser.newtabpage.activity-stream.telemetry", false); +pref("app.shield.optoutstudies.enabled", false); +pref("app.normandy.enabled", false); +pref("app.normandy.api_url", ""); +pref("breakpad.reportURL", ""); +pref("browser.tabs.crashReporting.sendReport", false); // [FF44+] +pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [DEFAULT: false] +pref("captivedetect.canonicalURL", ""); +pref("network.captive-portal-service.enabled", false); // [FF52+] +pref("network.connectivity-service.enabled", false); +pref("browser.safebrowsing.downloads.remote.enabled", false); +pref("network.prefetch-next", false); +pref("network.dns.disablePrefetch", true); +pref("network.dns.disablePrefetchFromHTTPS", true); +pref("network.predictor.enabled", false); +pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false] +pref("network.http.speculative-parallel-limit", 0); +pref("browser.places.speculativeConnect.enabled", false); +pref("network.proxy.socks_remote_dns", true); +pref("network.file.disable_unc_paths", true); // [HIDDEN PREF] +pref("network.gio.supported-protocols", ""); // [HIDDEN PREF] [DEFAULT: ""] +pref("browser.urlbar.speculativeConnect.enabled", false); +pref("browser.urlbar.quicksuggest.enabled", false); // [FF92+] +pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); // [FF95+] +pref("browser.urlbar.suggest.quicksuggest.sponsored", false); // [FF92+] +pref("browser.search.suggest.enabled", false); +pref("browser.urlbar.suggest.searches", false); +pref("browser.urlbar.trending.featureGate", false); +pref("browser.urlbar.addons.featureGate", false); // [FF115+] +pref("browser.urlbar.amp.featureGate", false); // [FF141+] adMarketplace +pref("browser.urlbar.fakespot.featureGate", false); // [FF130+] [DEFAULT: false] +pref("browser.urlbar.mdn.featureGate", false); // [FF117+] +pref("browser.urlbar.weather.featureGate", false); // [FF108+] +pref("browser.urlbar.wikipedia.featureGate", false); // [FF141+] +pref("browser.urlbar.yelp.featureGate", false); // [FF124+] +pref("browser.formfill.enable", false); +pref("browser.search.separatePrivateDefault", true); // [FF70+] +pref("browser.search.separatePrivateDefault.ui.enabled", true); // [FF71+] +pref("signon.autofillForms", false); +pref("signon.formlessCapture.enabled", false); +pref("network.auth.subresource-http-auth-allow", 1); +pref("browser.cache.disk.enable", false); +pref("browser.privatebrowsing.forceMediaMemoryCache", true); // [FF75+] +pref("media.memory_cache_max_size", 65536); +pref("browser.sessionstore.privacy_level", 2); +pref("toolkit.winRegisterApplicationRestart", false); +pref("browser.shell.shortcutFavicons", false); +pref("security.ssl.require_safe_negotiation", true); +pref("security.tls.enable_0rtt_data", false); +pref("security.OCSP.enabled", 1); // [DEFAULT: 1] +pref("security.OCSP.require", true); +pref("security.cert_pinning.enforcement_level", 2); +pref("security.remote_settings.crlite_filters.enabled", true); // [DEFAULT: true FF137+] +pref("security.pki.crlite_mode", 2); +pref("dom.security.https_only_mode", true); // [FF76+] +pref("dom.security.https_only_mode_send_http_background_request", false); +pref("security.ssl.treat_unsafe_negotiation_as_broken", true); +pref("browser.xul.error_pages.expert_bad_cert", true); +pref("network.http.referer.XOriginTrimmingPolicy", 2); +pref("privacy.userContext.enabled", true); +pref("privacy.userContext.ui.enabled", true); +pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); +pref("media.peerconnection.ice.default_address_only", true); +pref("dom.disable_window_move_resize", true); +pref("browser.download.start_downloads_in_tmp_dir", true); // [FF102+] +pref("browser.helperApps.deleteTempFileOnExit", true); +pref("browser.uitour.enabled", false); +pref("devtools.debugger.remote-enabled", false); // [DEFAULT: false] +pref("permissions.manager.defaultsUrl", ""); +pref("network.IDN_show_punycode", true); +pref("pdfjs.disabled", false); // [DEFAULT: false] +pref("pdfjs.enableScripting", false); // [FF86+] +pref("browser.tabs.searchclipboardfor.middleclick", false); // [DEFAULT: false NON-LINUX] +pref("browser.contentanalysis.enabled", false); // [FF121+] [DEFAULT: false] +pref("browser.contentanalysis.default_result", 0); // [FF127+] [DEFAULT: 0] +pref("security.csp.reporting.enabled", false); +pref("browser.download.useDownloadDir", false); +pref("browser.download.alwaysOpenPanel", false); +pref("browser.download.manager.addToRecentDocs", false); +pref("browser.download.always_ask_before_handling_new_types", true); +pref("extensions.enabledScopes", 5); // [HIDDEN PREF] +pref("extensions.postDownloadThirdPartyPrompt", false); +pref("browser.contentblocking.category", "strict"); // [HIDDEN PREF] +pref("privacy.sanitize.sanitizeOnShutdown", true); +pref("privacy.clearOnShutdown_v2.cache", true); // [DEFAULT: true] +pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearOnShutdown_v2.downloads", true); // [HIDDEN] +pref("privacy.clearOnShutdown_v2.formdata", true); +pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true); +pref("privacy.clearSiteData.cache", true); +pref("privacy.clearSiteData.cookiesAndStorage", false); // keep false until it respects "allow" site exceptions +pref("privacy.clearSiteData.historyFormDataAndDownloads", true); +pref("privacy.clearSiteData.browsingHistoryAndDownloads", true); +pref("privacy.clearSiteData.formdata", true); +pref("privacy.clearHistory.cache", true); // [DEFAULT: true] +pref("privacy.clearHistory.cookiesAndStorage", false); +pref("privacy.clearHistory.historyFormDataAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearHistory.browsingHistoryAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearHistory.formdata", true); +pref("privacy.sanitize.timeSpan", 0); +pref("privacy.window.maxInnerWidth", 1600); +pref("privacy.window.maxInnerHeight", 900); +pref("privacy.resistFingerprinting.block_mozAddonManager", true); +pref("privacy.spoof_english", 1); +pref("browser.display.use_system_colors", false); // [DEFAULT: false NON-WINDOWS] +pref("widget.non-native-theme.use-theme-accent", false); // [DEFAULT: false WINDOWS] +pref("browser.link.open_newwindow", 3); // [DEFAULT: 3] +pref("browser.link.open_newwindow.restriction", 0); +pref("extensions.blocklist.enabled", true); // [DEFAULT: true] +pref("network.http.referer.spoofSource", false); // [DEFAULT: false] +pref("security.dialog_enable_delay", 1000); // [DEFAULT: 1000] +pref("privacy.firstparty.isolate", false); // [DEFAULT: false] +pref("extensions.webcompat.enable_shims", true); // [HIDDEN PREF] [DEFAULT: true] +pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] +pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] +pref("extensions.quarantinedDomains.enabled", true); // [DEFAULT: true] +pref("datareporting.policy.dataSubmissionEnabled", false); +pref("datareporting.healthreport.uploadEnabled", false); +pref("toolkit.telemetry.unified", false); +pref("toolkit.telemetry.enabled", false); // see [NOTE] +pref("toolkit.telemetry.server", "data:,"); +pref("toolkit.telemetry.archive.enabled", false); +pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+] +pref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+] +pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+] +pref("toolkit.telemetry.bhrPing.enabled", false); // [FF57+] Background Hang Reporter +pref("toolkit.telemetry.firstShutdownPing.enabled", false); // [FF57+] +pref("toolkit.telemetry.coverage.opt-out", true); // [HIDDEN PREF] +pref("toolkit.coverage.opt-out", true); // [FF64+] [HIDDEN PREF] +pref("toolkit.coverage.endpoint.base", ""); +pref("browser.startup.homepage_override.mstone", "ignore"); // [HIDDEN PREF] +pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); +pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); +pref("browser.urlbar.showSearchTerms.enabled", false); +pref("browser.shopping.experience2023.enabled", false); // [DEFAULT: false] +pref("browser.urlbar.pocket.featureGate", false); // [FF116+] [DEFAULT: false] +pref("media.hardware-video-decoding.force-enabled", true); +pref("media.webspeech.synth.enabled", false); +pref("media.eme.enabled", false); +pref("permissions.default.desktop-notification", 2); +pref("permissions.default.camera", 2); +pref("permissions.default.geo", 2); +pref("permissions.default.microphone", 2); +pref("permissions.default.persistent-storage", 2); +pref("cookiebanners.service.mode", 1); +pref("cookiebanners.service.mode.privateBrowsing", 1); +pref("cookiebanners.service.enableGlobalRules", true); +pref("extensions.pocket.enabled", false); +pref("browser.tabs.tabmanager.enabled", false); +pref("identity.fxaccounts.enabled", false); +pref("browser.preferences.moreFromMozilla", false); +pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); +pref("browser.urlbar.suggest.bookmark", false); +pref("browser.urlbar.suggest.history", false); +pref("browser.urlbar.suggest.engines", false); +pref("browser.urlbar.suggest.openpage", false); +pref("browser.urlbar.suggest.topsites", false); +pref("browser.urlbar.autoFill", false); +pref("browser.urlbar.suggest.addons", false); +pref("browser.urlbar.suggest.mdn", false); +pref("browser.urlbar.suggest.recentsearches", false); +pref("browser.translations.automaticallyPopup", false); +pref("signon.firefoxRelay.feature", "disabled"); +pref("signon.rememberSignons", false); +pref("signon.management.page.breach-alerts.enabled", false); +pref("signon.generation.enabled", false); +pref("sidebar.revamp", true); +pref("sidebar.verticalTabs", true); +pref("browser.eme.ui.enabled", false); +pref("dom.push.enabled", false); +pref("browser.ml.chat.enabled", false); +pref("general.autoScroll", true); +pref("mousewheel.min_line_scroll_amount", 10); // 10-40; adjust this number to your liking; default=5 +pref("general.smoothScroll.mouseWheel.durationMinMS", 80); // default=50 +pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX +pref("general.smoothScroll", true); // DEFAULT +pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12); +pref("general.smoothScroll.msdPhysics.enabled", true); +pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 600); +pref("general.smoothScroll.msdPhysics.regularSpringConstant", 650); +pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 25); +pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "2.0"); +pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 250); +pref("general.smoothScroll.currentVelocityWeighting", "1.0"); +pref("general.smoothScroll.stopDecelerationWeighting", "1.0"); +pref("mousewheel.default.delta_multiplier_y", 400); // 250-400; adjust this number to your liking +pref("widget.use-xdg-desktop-portal.file-picker", 1); +pref("privacy.resistFingerprinting", false); +pref("browser.compactmode.show", true); +pref("browser.uidensity", 1); +pref("media.videocontrols.picture-in-picture.enabled", "false"); +pref("media.videocontrols.picture-in-picture.video-toggle.enabled", "false"); +pref("full-screen-api.warning.timeout", 0); +pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"icecat-view-button\",\"alltabs-button\",\"urlbar-container\",\"downloads-button\",\"ublock0_raymondhill_net-browser-action\",\"unified-extensions-button\",\"vertical-spacer\",\"forward-button\",\"back-button\",\"sidebar-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[],\"vertical-tabs\":[\"tabbrowser-tabs\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"ublock0_raymondhill_net-browser-action\",\"developer-button\",\"screenshot-button\"],\"dirtyAreaCache\":[\"unified-extensions-area\",\"nav-bar\",\"TabsToolbar\",\"vertical-tabs\",\"toolbar-menubar\",\"PersonalToolbar\"],\"currentVersion\":22,\"newElementCount\":3}"); diff --git a/icecat/pkg/PKGBUILD b/icecat/pkg/PKGBUILD @@ -0,0 +1,98 @@ +: ${_install_path:=usr/lib} + +pkgname="icecat" +pkgver=140.5.0 +pkgrel=1 +pkgdesc="GNU version of the Firefox ESR browser" +url="https://www.gnu.org/software/gnuzilla" +license=('MPL-2.0') +arch=('x86_64') + +provides=("$pkgname") +conflicts=("$pkgname") + +options=('!strip' '!debug') + +_file="icecat-$pkgver.en-US.linux-$CARCH.tar.xz" + +source=( + "$_file" + "user.js" +) + +sha256sums=( + '770f90079081edcb22f523788e2c172be0f051b2fad9c7010c03eab79ea00950' + 'ff229336d8db84da8abf2070b42167feeba77b388e5ff9d820b808247fe30ad8' +) + +package() { + depends=( + dbus + ffmpeg + ffmpeg4.4 + gtk3 + libevent + libjpeg + libpulse + libvpx.so + libwebp.so + libxss + libxt + mime-types + nspr + nss + ttf-font + zlib + ) + + install -Dm644 "user.js" "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" + + # main files + _path="$pkgdir/$_install_path" + mkdir -pm755 "$_path" + bsdtar -C "$_path" -xf "$srcdir/$_file" + + # duplicate binary + ln -sf icecat-bin "$_path/$pkgname/icecat" + + # symlink + mkdir -pm755 "$pkgdir/usr/bin" + ln -sf "/$_install_path/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname" + + # icon + install -Dm644 "$pkgdir/$_install_path/$pkgname/browser/chrome/icons/default/default128.png" "$pkgdir/usr/share/pixmaps/$pkgname.png" + + # launcher + install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/$pkgname.desktop" << END +[Desktop Entry] +Name=IceCat +GenericName=Web Browser +Comment=Browse the World Wide Web +Keywords=Internet;WWW;Browser;Web;Explorer +Exec=icecat %u +Icon=icecat +Terminal=false +X-MultipleArgs=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall; +StartupNotify=true +StartupWMClass=icecat-default +Categories=Network;WebBrowser; +Actions=new-window;new-private-window;safe-mode; + +[Desktop Action new-window] +Name=New Window +Exec=icecat --new-window %u + +[Desktop Action new-private-window] +Name=New Private Window +Exec=icecat --private-window %u + +[Desktop Action safe-mode] +Name=Safe Mode +Exec=icecat -safe-mode %u +END + + # permissions + chmod -R u+rwX,go+rX,go-w "$pkgdir/" +} diff --git a/icecat/pkg/build.sh b/icecat/pkg/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r diff --git a/icecat/pkg/extensions/download_extension.sh b/icecat/pkg/extensions/download_extension.sh @@ -0,0 +1,9 @@ +#!/bin/bash + + +ADDON_NAMES=("ublock-origin") +for ADDON_NAME in "${ADDON_NAMES[@]}"; do + ADDON_URL="$(curl -fSk "https://addons.mozilla.org/en-US/firefox/addon/${ADDON_NAME}/" | + grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*')" + echo "$ADDON_URL" +done diff --git a/icecat/pkg/user.js b/icecat/pkg/user.js @@ -0,0 +1,209 @@ +pref("browser.aboutConfig.showWarning", false); +pref("browser.startup.page", 0); +pref("browser.startup.homepage", "chrome://browser/content/blanktab.html"); +pref("browser.newtabpage.enabled", false); +pref("browser.newtabpage.activity-stream.showSponsored", false); // [FF58+] Sponsored stories +pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // [FF83+] Sponsored shortcuts +pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false); // [FF140+] Support Firefox +pref("browser.newtabpage.activity-stream.default.sites", ""); +pref("geo.provider.ms-windows-location", false); // [WINDOWS] +pref("geo.provider.use_corelocation", false); // [MAC] +pref("geo.provider.use_geoclue", false); // [FF102+] [LINUX] +pref("extensions.getAddons.showPane", false); // [HIDDEN PREF] +pref("extensions.htmlaboutaddons.recommendations.enabled", false); +pref("browser.discovery.enabled", false); +pref("browser.newtabpage.activity-stream.feeds.telemetry", false); +pref("browser.newtabpage.activity-stream.telemetry", false); +pref("app.shield.optoutstudies.enabled", false); +pref("app.normandy.enabled", false); +pref("app.normandy.api_url", ""); +pref("breakpad.reportURL", ""); +pref("browser.tabs.crashReporting.sendReport", false); // [FF44+] +pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [DEFAULT: false] +pref("captivedetect.canonicalURL", ""); +pref("network.captive-portal-service.enabled", false); // [FF52+] +pref("network.connectivity-service.enabled", false); +pref("browser.safebrowsing.downloads.remote.enabled", false); +pref("network.prefetch-next", false); +pref("network.dns.disablePrefetch", true); +pref("network.dns.disablePrefetchFromHTTPS", true); +pref("network.predictor.enabled", false); +pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false] +pref("network.http.speculative-parallel-limit", 0); +pref("browser.places.speculativeConnect.enabled", false); +pref("network.proxy.socks_remote_dns", true); +pref("network.file.disable_unc_paths", true); // [HIDDEN PREF] +pref("network.gio.supported-protocols", ""); // [HIDDEN PREF] [DEFAULT: ""] +pref("browser.urlbar.speculativeConnect.enabled", false); +pref("browser.urlbar.quicksuggest.enabled", false); // [FF92+] +pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); // [FF95+] +pref("browser.urlbar.suggest.quicksuggest.sponsored", false); // [FF92+] +pref("browser.search.suggest.enabled", false); +pref("browser.urlbar.suggest.searches", false); +pref("browser.urlbar.trending.featureGate", false); +pref("browser.urlbar.addons.featureGate", false); // [FF115+] +pref("browser.urlbar.amp.featureGate", false); // [FF141+] adMarketplace +pref("browser.urlbar.fakespot.featureGate", false); // [FF130+] [DEFAULT: false] +pref("browser.urlbar.mdn.featureGate", false); // [FF117+] +pref("browser.urlbar.weather.featureGate", false); // [FF108+] +pref("browser.urlbar.wikipedia.featureGate", false); // [FF141+] +pref("browser.urlbar.yelp.featureGate", false); // [FF124+] +pref("browser.formfill.enable", false); +pref("browser.search.separatePrivateDefault", true); // [FF70+] +pref("browser.search.separatePrivateDefault.ui.enabled", true); // [FF71+] +pref("signon.autofillForms", false); +pref("signon.formlessCapture.enabled", false); +pref("network.auth.subresource-http-auth-allow", 1); +pref("browser.cache.disk.enable", false); +pref("browser.privatebrowsing.forceMediaMemoryCache", true); // [FF75+] +pref("media.memory_cache_max_size", 65536); +pref("browser.sessionstore.privacy_level", 2); +pref("toolkit.winRegisterApplicationRestart", false); +pref("browser.shell.shortcutFavicons", false); +pref("security.ssl.require_safe_negotiation", true); +pref("security.tls.enable_0rtt_data", false); +pref("security.OCSP.enabled", 1); // [DEFAULT: 1] +pref("security.OCSP.require", true); +pref("security.cert_pinning.enforcement_level", 2); +pref("security.remote_settings.crlite_filters.enabled", true); // [DEFAULT: true FF137+] +pref("security.pki.crlite_mode", 2); +pref("dom.security.https_only_mode", true); // [FF76+] +pref("dom.security.https_only_mode_send_http_background_request", false); +pref("security.ssl.treat_unsafe_negotiation_as_broken", true); +pref("browser.xul.error_pages.expert_bad_cert", true); +pref("network.http.referer.XOriginTrimmingPolicy", 2); +pref("privacy.userContext.enabled", true); +pref("privacy.userContext.ui.enabled", true); +pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); +pref("media.peerconnection.ice.default_address_only", true); +pref("dom.disable_window_move_resize", true); +pref("browser.download.start_downloads_in_tmp_dir", true); // [FF102+] +pref("browser.helperApps.deleteTempFileOnExit", true); +pref("browser.uitour.enabled", false); +pref("devtools.debugger.remote-enabled", false); // [DEFAULT: false] +pref("permissions.manager.defaultsUrl", ""); +pref("network.IDN_show_punycode", true); +pref("pdfjs.disabled", false); // [DEFAULT: false] +pref("pdfjs.enableScripting", false); // [FF86+] +pref("browser.tabs.searchclipboardfor.middleclick", false); // [DEFAULT: false NON-LINUX] +pref("browser.contentanalysis.enabled", false); // [FF121+] [DEFAULT: false] +pref("browser.contentanalysis.default_result", 0); // [FF127+] [DEFAULT: 0] +pref("security.csp.reporting.enabled", false); +pref("browser.download.useDownloadDir", false); +pref("browser.download.alwaysOpenPanel", false); +pref("browser.download.manager.addToRecentDocs", false); +pref("browser.download.always_ask_before_handling_new_types", true); +pref("extensions.enabledScopes", 5); // [HIDDEN PREF] +pref("extensions.postDownloadThirdPartyPrompt", false); +pref("browser.contentblocking.category", "strict"); // [HIDDEN PREF] +pref("privacy.sanitize.sanitizeOnShutdown", true); +pref("privacy.clearOnShutdown_v2.cache", true); // [DEFAULT: true] +pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearOnShutdown_v2.downloads", true); // [HIDDEN] +pref("privacy.clearOnShutdown_v2.formdata", true); +pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true); +pref("privacy.clearSiteData.cache", true); +pref("privacy.clearSiteData.cookiesAndStorage", false); // keep false until it respects "allow" site exceptions +pref("privacy.clearSiteData.historyFormDataAndDownloads", true); +pref("privacy.clearSiteData.browsingHistoryAndDownloads", true); +pref("privacy.clearSiteData.formdata", true); +pref("privacy.clearHistory.cache", true); // [DEFAULT: true] +pref("privacy.clearHistory.cookiesAndStorage", false); +pref("privacy.clearHistory.historyFormDataAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearHistory.browsingHistoryAndDownloads", true); // [DEFAULT: true] +pref("privacy.clearHistory.formdata", true); +pref("privacy.sanitize.timeSpan", 0); +pref("privacy.window.maxInnerWidth", 1600); +pref("privacy.window.maxInnerHeight", 900); +pref("privacy.resistFingerprinting.block_mozAddonManager", true); +pref("privacy.spoof_english", 1); +pref("browser.display.use_system_colors", false); // [DEFAULT: false NON-WINDOWS] +pref("widget.non-native-theme.use-theme-accent", false); // [DEFAULT: false WINDOWS] +pref("browser.link.open_newwindow", 3); // [DEFAULT: 3] +pref("browser.link.open_newwindow.restriction", 0); +pref("extensions.blocklist.enabled", true); // [DEFAULT: true] +pref("network.http.referer.spoofSource", false); // [DEFAULT: false] +pref("security.dialog_enable_delay", 1000); // [DEFAULT: 1000] +pref("privacy.firstparty.isolate", false); // [DEFAULT: false] +pref("extensions.webcompat.enable_shims", true); // [HIDDEN PREF] [DEFAULT: true] +pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] +pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] +pref("extensions.quarantinedDomains.enabled", true); // [DEFAULT: true] +pref("datareporting.policy.dataSubmissionEnabled", false); +pref("datareporting.healthreport.uploadEnabled", false); +pref("toolkit.telemetry.unified", false); +pref("toolkit.telemetry.enabled", false); // see [NOTE] +pref("toolkit.telemetry.server", "data:,"); +pref("toolkit.telemetry.archive.enabled", false); +pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+] +pref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+] +pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+] +pref("toolkit.telemetry.bhrPing.enabled", false); // [FF57+] Background Hang Reporter +pref("toolkit.telemetry.firstShutdownPing.enabled", false); // [FF57+] +pref("toolkit.telemetry.coverage.opt-out", true); // [HIDDEN PREF] +pref("toolkit.coverage.opt-out", true); // [FF64+] [HIDDEN PREF] +pref("toolkit.coverage.endpoint.base", ""); +pref("browser.startup.homepage_override.mstone", "ignore"); // [HIDDEN PREF] +pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); +pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); +pref("browser.urlbar.showSearchTerms.enabled", false); +pref("browser.shopping.experience2023.enabled", false); // [DEFAULT: false] +pref("browser.urlbar.pocket.featureGate", false); // [FF116+] [DEFAULT: false] +pref("media.hardware-video-decoding.force-enabled", true); +pref("media.webspeech.synth.enabled", false); +pref("media.eme.enabled", false); +pref("permissions.default.desktop-notification", 2); +pref("permissions.default.camera", 2); +pref("permissions.default.geo", 2); +pref("permissions.default.microphone", 2); +pref("permissions.default.persistent-storage", 2); +pref("cookiebanners.service.mode", 1); +pref("cookiebanners.service.mode.privateBrowsing", 1); +pref("cookiebanners.service.enableGlobalRules", true); +pref("extensions.pocket.enabled", false); +pref("browser.tabs.tabmanager.enabled", false); +pref("identity.fxaccounts.enabled", false); +pref("browser.preferences.moreFromMozilla", false); +pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); +pref("browser.urlbar.suggest.bookmark", false); +pref("browser.urlbar.suggest.history", false); +pref("browser.urlbar.suggest.engines", false); +pref("browser.urlbar.suggest.openpage", false); +pref("browser.urlbar.suggest.topsites", false); +pref("browser.urlbar.autoFill", false); +pref("browser.urlbar.suggest.addons", false); +pref("browser.urlbar.suggest.mdn", false); +pref("browser.urlbar.suggest.recentsearches", false); +pref("browser.translations.automaticallyPopup", false); +pref("signon.firefoxRelay.feature", "disabled"); +pref("signon.rememberSignons", false); +pref("signon.management.page.breach-alerts.enabled", false); +pref("signon.generation.enabled", false); +pref("sidebar.revamp", true); +pref("sidebar.verticalTabs", true); +pref("browser.eme.ui.enabled", false); +pref("dom.push.enabled", false); +pref("browser.ml.chat.enabled", false); +pref("general.autoScroll", true); +pref("mousewheel.min_line_scroll_amount", 10); // 10-40; adjust this number to your liking; default=5 +pref("general.smoothScroll.mouseWheel.durationMinMS", 80); // default=50 +pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX +pref("general.smoothScroll", true); // DEFAULT +pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12); +pref("general.smoothScroll.msdPhysics.enabled", true); +pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 600); +pref("general.smoothScroll.msdPhysics.regularSpringConstant", 650); +pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 25); +pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "2.0"); +pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 250); +pref("general.smoothScroll.currentVelocityWeighting", "1.0"); +pref("general.smoothScroll.stopDecelerationWeighting", "1.0"); +pref("mousewheel.default.delta_multiplier_y", 400); // 250-400; adjust this number to your liking +pref("widget.use-xdg-desktop-portal.file-picker", 1); +pref("privacy.resistFingerprinting", false); +pref("browser.compactmode.show", true); +pref("browser.uidensity", 1); +pref("media.videocontrols.picture-in-picture.enabled", false); +pref("full-screen-api.warning.timeout", 0); +pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"icecat-view-button\",\"alltabs-button\",\"urlbar-container\",\"downloads-button\",\"ublock0_raymondhill_net-browser-action\",\"unified-extensions-button\",\"vertical-spacer\",\"forward-button\",\"back-button\",\"sidebar-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[],\"vertical-tabs\":[\"tabbrowser-tabs\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"ublock0_raymondhill_net-browser-action\",\"developer-button\",\"screenshot-button\"],\"dirtyAreaCache\":[\"unified-extensions-area\",\"nav-bar\",\"TabsToolbar\",\"vertical-tabs\",\"toolbar-menubar\",\"PersonalToolbar\"],\"currentVersion\":22,\"newElementCount\":3}"); diff --git a/librepods/PKGBUILD b/librepods/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: awy <awy@awy.one> + +_pkgname=librepods +pkgname=$_pkgname-rust-git +pkgver=r515.6f0323e +pkgrel=1 +pkgdesc="Rust implementation of librepods" +arch=('any') +url="https://github.com/kavishdevar/librepods" +license=('GPL3') +depends=('dbus') +makedepends=('cargo' 'git') +source=("git+https://github.com/kavishdevar/librepods.git#branch=linux/rust") +sha256sums=('SKIP') +conflicts=('librepods' 'librepods-git') + +pkgver() { + cd $srcdir/$_pkgname + git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "$git_ver" +} + +build() { + cd "$srcdir/$_pkgname/linux-rust" + cargo build --release +} + +package() { + cd "$srcdir/$_pkgname/linux-rust" + install -Dm755 target/release/librepods "$pkgdir/usr/bin/librepods" +} diff --git a/librepods/build.sh b/librepods/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/lrcget/PKGBUILD b/lrcget/PKGBUILD @@ -0,0 +1,15 @@ +pkgname=lrcget-bin +pkgver=1.0.2 +pkgrel=2 +options=(!debug) +pkgdesc="Utility for mass-downloading LRC synced lyrics for your offline music library." +arch=('x86_64') +url="https://github.com/tranxuanthang/lrcget" +license=('MIT') +depends=('gtk3' 'webkit2gtk-4.1' 'pipewire-alsa') +source=("${pkgname}-${pkgver}.deb::https://github.com/tranxuanthang/lrcget/releases/download/${pkgver}/LRCGET_${pkgver}_amd64.deb") +b2sums=('SKIP') + +package() { + tar -xz -f data.tar.gz -C "$pkgdir" +} diff --git a/lrcget/build.sh b/lrcget/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/mew/PKGBUILD b/mew/PKGBUILD @@ -0,0 +1,38 @@ +_pkgname=mew +pkgname=$_pkgname +pkgver=0.0.r41.5d72bc7 +pkgrel=1 +pkgdesc="Wayland port of dmenu" +url="https://codeberg.org/sewn/mew" +arch=('i686' 'x86_64') +license=('MIT') +depends=('wayland' 'libxkbcommon' 'fcft') +makedepends=('git' 'pkg-config' 'wayland-protocols' 'tllist') +source=(git+https://git.awy.one/mew.git) +sha256sums=(SKIP) + +provides=("$pkgname") +conflicts=("$pkgname") + +pkgver() { + cd $srcdir/$_pkgname + git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "0.0.$git_ver" +} + +prepare() { + cd "$srcdir/$_pkgname" + sed -i Makefile -e 's:/usr/local:/usr:g' +} + +build() { + cd "$srcdir/$_pkgname" + make +} + +package() { + cd "$srcdir/$_pkgname" + + PREFIX="/usr" DESTDIR="$pkgdir" make install + install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/mew/build.sh b/mew/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/mutt-wizard/PKGBUILD b/mutt-wizard/PKGBUILD @@ -0,0 +1,45 @@ +pkgname=mutt-wizard + +pkgver() { + cd $srcdir/$pkgname + git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "0.0.$git_ver" +} + +pkgver=0.0.r1284.0c1f068 +pkgrel=1 + +pkgdesc='Easily auto-configure neomutt and isync/mpop with safe passwords (IMAP/POP3/SMTP)' +arch=('any') +url="https://git.awy.one/$pkgname.git" +license=('GPL3') + +provides=("$pkgname") +conflicts=("$pkgname") + +makedepends=('git') +depends=('neomutt' 'isync' 'msmtp' 'notmuch-runtime' 'gopass' 'curl' 'libnotify' 'perl') +optdepends=('imagemagick: view images inside of the neomutt TUI' + 'w3m: view HTML email and images inside of the neomutt TUI' + 'lynx: view HTML email inside of the neomutt TUI' + 'links: view HTML email inside of the neomutt TUI' + 'elinks: view HTML email inside of the neomutt TUI' + 'urlview: list URLs found in mails to open them in a browser' + 'abook: contact store and tab completion' + 'protonmail-bridge: use neomutt with protonmail accounts' + 'pam-gnupg: automatically unlock gpg keys at session login' + 'cron: set up automatic mail syncing' + 'mpop: if you want to use POP3 email access') + +options=('zipman') + +source=("git+$url") +# install="$pkgname.install" +sha256sums=('SKIP') + + +package() { + cd "$pkgname" + make PREFIX=/usr DESTDIR="$pkgdir" -s install + install -Dm644 README.md -t"$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/mutt-wizard/build.sh b/mutt-wizard/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/nordic/PKGBUILD b/nordic/PKGBUILD @@ -0,0 +1,82 @@ +pkgname=( + nordic-theme + nordic-standard-buttons-theme + # nordic-polar-theme + nordic-polar-standard-buttons-theme + nordic-darker-theme + nordic-darker-standard-buttons-theme + nordic-bluish-accent-theme + nordic-bluish-accent-standard-buttons-theme) +pkgver=2.2.0 +pkgrel=1 +pkgdesc="Nord-derived themes for GTK and other platforms" +arch=('any') +url="https://github.com/EliverLara/Nordic" +license=('GPL3') +source=( + "nordic-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic.tar.xz" + # "nordic-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-v40.tar.xz" + "nordic-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-standard-buttons.tar.xz" + # "nordic-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-standard-buttons-v40.tar.xz" + # "nordic-polar-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-Polar.tar.xz" + # "nordic-polar-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-Polar-v40.tar.xz" + "nordic-polar-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-Polar-standard-buttons.tar.xz" + # "nordic-polar-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-Polar-standard-buttons-v40.tar.xz" + "nordic-darker-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-darker.tar.xz" + # "nordic-darker-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-darker-v40.tar.xz" + "nordic-darker-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-darker-standard-buttons.tar.xz" + # "nordic-darker-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-darker-standard-buttons-v40.tar.xz" + "nordic-bluish-accent-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-bluish-accent.tar.xz" + # "nordic-bluish-accent-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/Nordic-bluish-accent-v40.tar.xz" + "nordic-bluish-accent-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/nordic-bluish-accent-standard-buttons.tar.xz" + # "nordic-bluish-accent-standard-buttons-theme-$pkgver.tar.xz::$url/releases/download/v$pkgver/nordic-bluish-accent-standard-buttons-v40.tar.xz") +) +sha256sums=('d162d694e13bec518636b193fbe84ccea44da9a81a89015c6713f6b258ee36d5' + 'b49a731043d7a27ad1f447cf955a681be0e5a8bb41448fd9a470049b004bbf4e' + 'bcc7feec4627963d92b4ee61d4c7b600a5d2b1252db42f0e50d18c9be385951f' + '49115292bfa15aaa9aea661c7468b48918708a6940e4b8058ac46f3dbb81c626' + '44a196d5ff98ae1c434805a01ec4222fc926e3d0e39c593762250dd098c85231' + '61d86268e6d20f349357262484fa3f4637764d2839d5ba096f2c5a1442c4f926' + '6f5e504e4f11e222547bc1f6b355d169436822588ce440d263dad319016e80cb') + +PURGE_TARGETS=('LICENSE' 'README.md') + +_package() { + local _name="$1" + + cd "$_name" + install -d "$pkgdir/usr/share/themes/$_name/" + cp -a --no-preserve=ownership . "$pkgdir/usr/share/themes/$_name/" +} + +package_nordic-theme() { + _package "Nordic" +} + +package_nordic-standard-buttons-theme() { + _package "Nordic-standard-buttons" +} + +# package_nordic-polar-theme() { +# _package "Nordic-Polar" +# } + +package_nordic-polar-standard-buttons-theme() { + _package "Nordic-Polar-standard-buttons" +} + +package_nordic-darker-theme() { + _package "Nordic-darker" +} + +package_nordic-darker-standard-buttons-theme() { + _package "Nordic-darker-standard-buttons" +} + +package_nordic-bluish-accent-theme() { + _package "Nordic-bluish-accent" +} + +package_nordic-bluish-accent-standard-buttons-theme() { + _package "Nordic-bluish-accent-standard-buttons" +} diff --git a/nordic/build.sh b/nordic/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/someblocks/PKGBUILD b/someblocks/PKGBUILD @@ -0,0 +1,33 @@ +_pkgname=someblocks +pkgname=$_pkgname +pkgver=r84.e1c696b +pkgrel=1 +pkgdesc="A fast, feature-complete bar for mango" +url="https://git.awy.one/someblocks" +arch=('x86_64') +license=('ISC') +makedepends=('git' 'pkg-config') +source=(git+https://git.awy.one/someblocks.git) +sha256sums=(SKIP) + +provides=("$pkgname") +conflicts=("$pkgname") + +pkgver() { + cd $srcdir/$_pkgname + git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "$git_ver" +} + +build() { + cd "$srcdir/$_pkgname" + make PREFIX=/usr +} + +package() { + cd "$srcdir/$_pkgname" + + install -Dm755 someblocks "$pkgdir/usr/bin/someblocks" + install -Dm644 someblocks.1 "$pkgdir/usr/share/man/man1/someblocks.1" + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/someblocks/build.sh b/someblocks/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/tessen/PKGBUILD b/tessen/PKGBUILD @@ -0,0 +1,37 @@ +_pkgname=tessen +pkgname=$_pkgname +pkgver=0.0.r230.dad052e +pkgrel=1 +pkgdesc="An interactive menu to autotype and copy password-store and gopass data" +url="https://git.awy.one/tessen.git" +arch=('i686' 'x86_64') +license=('GPL2') +depends=('gopass' 'wtype' 'wl-clipboard' ) +optdepends=('mew' 'rofi') +makedepends=('git' 'scdoc') +source=(git+https://git.awy.one/tessen.git) +sha256sums=(SKIP) + +provides=("$pkgname") +conflicts=("$pkgname") + +pkgver() { + cd $srcdir/$_pkgname + git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "0.0.$git_ver" +} + +prepare() { + cd "$srcdir/$_pkgname" + sed -i Makefile -e 's:/usr/local:/usr:g' +} + +build() { + cd "$srcdir/$_pkgname" + make +} + +package() { + cd "$srcdir/$_pkgname" + make DESTDIR="${pkgdir}" install +} diff --git a/tessen/build.sh b/tessen/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/wlr-dpms/PKGBUILD b/wlr-dpms/PKGBUILD @@ -0,0 +1,29 @@ +pkgname=wlr-dpms +pkgver=r22.b6a4aa8 +pkgrel=1 +pkgdesc="change output power modes in wlroots compositors" +arch=('x86_64') +url="https://sr.ht/~dsemy/wlr-dpms/" +license=('MIT') +depends=('wayland') +makedepends=('git') +provides=("$pkgname") +conflicts=("${pkgname%-git}" $pkgname) +source=('git+https://git.sr.ht/~dsemy/wlr-dpms') +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + cd "$srcdir/$pkgname" + make +} + +package() { + cd "$srcdir/$pkgname" + make PREFIX=/usr DESTDIR="$pkgdir/" install + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/wlr-dpms/build.sh b/wlr-dpms/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c diff --git a/xdg-desktop-portal-termfilechooser/PKGBUILD b/xdg-desktop-portal-termfilechooser/PKGBUILD @@ -0,0 +1,50 @@ +pkgname=xdg-desktop-portal-termfilechooser +pkgver=v1.2.1.r6.g8697bab +pkgrel=1 +pkgdesc='xdg-desktop-portal backend for your favorite terminal file chooser (hunkyburrito fork)' +url="https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser" +arch=('x86_64') +license=('MIT') +provides=('xdg-desktop-portal-impl') +depends=('xdg-desktop-portal' 'libinih') +makedepends=('meson' 'scdoc' 'git') +optdepends=( + 'kitty: default terminal for launching wrappers' + 'lf: wrapper included' + 'nnn: wrapper included' + 'ranger: wrapper included' + 'vifm: wrapper included' + 'yazi: wrapper included' +) +source=( + "${pkgname}::git+$url.git" +) +sha512sums=('SKIP') +conflicts=(xdg-desktop-portal-termfilechooser-hunkyburrito xdg-desktop-portal-termfilechooser-git xdg-desktop-portal-termfilechooser-boydaihungst-git xdg-desktop-portal-termfilechooser-nosystemd-git) + +prepare() { + cd "${pkgname}" + # either it wont work on mango + sed -i 's/UseIn=/UseIn=mango;/' termfilechooser.portal +} + +pkgver () { + cd "${pkgname}" + ( + set -o pipefail + git describe --long --tags --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + ) +} + +build() { + cd "${pkgname}" + arch-meson -Dsd-bus-provider=libelogind -Dsystemd=disabled build + ninja -C build +} + +package() { + cd "${pkgname}" + DESTDIR="${pkgdir}" ninja -C build install + install -Dm644 -t "$pkgdir/usr/share/licenses/${pkgname}" LICENSE +} diff --git a/xdg-desktop-portal-termfilechooser/build.sh b/xdg-desktop-portal-termfilechooser/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +makepkg --sign -f -s -r -c