# Maintainer: # Contributor: éclairevoyant ## useful links: # https://astian.org/midori-browser/download/ # https://github.com/goastian/midori-desktop ## options : ${_build_pgo:=true} : ${_build_pgo_reuse:=true} : ${_build_pgo_xvfb:=false} : ${_build_git:=true} unset _pkgtype [[ "${_build_git::1}" == "t" ]] && _pkgtype+="-git" ## basic info _pkgname="midori" pkgname="$_pkgname${_pkgtype:-}" pkgver=11.2.2.r172.g42cde7a pkgrel=1 pkgdesc="Web browser based on Floorp" url="https://github.com/goastian/midori-desktop" arch=('x86_64') license=('MPL-2.0') # main package _main_package() { depends=( dbus-glib ffmpeg gtk3 libevent libjpeg libpulse libvpx.so libwebp.so libxss libxt mime-types nspr nss pipewire ttf-font zlib ) makedepends=( cbindgen clang diffutils dump_syms git imake inetutils jack lld llvm mercurial mesa nasm nodejs python rust unzip wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi yasm zip ) 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 xorg-xwayland xwayland-run # AUR ) fi fi options=( !debug !emptydirs !lto !makeflags !strip ) if [ "${_build_git::1}" != "t" ] ; then _main_stable else _main_git fi : ${_lssver:=v2022.10.12} noextract=("lss-${_lssver}.tar.gz") source+=( "lss-${_lssver}.tar.gz"::"https://chromium.googlesource.com/linux-syscall-support/+archive/refs/tags/${_lssver}.tar.gz" "$_pkgname.desktop" ) sha256sums+=( 'SKIP' '7ef0f85f2b111caa08a3e855cb4b6595b6d0f62b3de13ce59eea94a580eec470' ) } # stable package _main_stable() { : ${_pkgver:=${pkgver%%.r*}} _pkgsrc="midori-tensei" source+=( "$_pkgsrc"::"git+$url.git#tag=v$_pkgver" "goastian.l10n-central"::"git+https://github.com/goastian/l10n-central.git" ) sha256sums+=( 'SKIP' 'SKIP' ) _prepare() ( # submodules cd "$srcdir/$_pkgsrc" local _submodules=( 'goastian.l10n-central'::'l10n-central' ) local _module for _module in "${_submodules[@]}" ; do git submodule init "${_module#*::}" git submodule set-url "${_module#*::}" "$srcdir/${_module%::*}" git -c protocol.file.allow=always submodule update "${_module#*::}" done ) pkgver() { echo "${_pkgver:?}" } } # git package _main_git() { provides=("$_pkgname=${pkgver%%.r*}") conflicts=("$_pkgname") _pkgsrc="midori-tensei" source+=("$_pkgsrc"::"git+$url.git") sha256sums+=('SKIP') _prepare() { : } pkgver() { cd "$_pkgsrc" git describe --long --tags --abbrev=7 --exclude='*[a-zA-Z][a-zA-Z]*' \ | sed -E 's/^[^0-9]*//;s/([^-]*-g)/r\1/;s/-/./g' } } # common functions prepare() { _prepare mkdir -p mozbuild cd "$_pkgsrc" # prepare google breakpad local _lss_path="toolkit/crashreporter/google-breakpad/src/third_party/lss" mkdir -p "$_lss_path" bsdtar -xf "$srcdir/lss-${_lssver}.tar.gz" -C "$_lss_path" # clear forced startup pages sed -E 's&^\s*pref\("startup\.homepage.*$&&' -i "browser/branding/official/pref/firefox-branding.js" # prepare api keys cp "floorp/apis"/api-*-key ./ # configure cat >../mozconfig <>../mozconfig <>../mozconfig <.mozconfig ../mozconfig - <.mozconfig ../mozconfig if [[ -s merged.profdata ]] ; then stat -c "Profile data found (%s bytes)" merged.profdata cat >>.mozconfig - <>.mozconfig - <.mozconfig ../mozconfig ./mach build fi } package() { cd "$_pkgsrc" DESTDIR="$pkgdir" ./mach install local vendorjs="$pkgdir/usr/lib/$_pkgname/browser/defaults/preferences/vendor.js" install -Dvm644 /dev/stdin "$vendorjs" <