This commit is contained in:
xiota 2024-02-19 09:13:06 +00:00
parent b012e22834
commit 1a510228ad
2 changed files with 50 additions and 23 deletions

View file

@ -1,6 +1,6 @@
pkgbase = floorp
pkgdesc = Firefox-based web browser focused on performance and customizability
pkgver = 11.9.0
pkgver = 11.10.0
pkgrel = 1
url = https://github.com/Floorp-Projects/Floorp
arch = x86_64
@ -29,6 +29,7 @@ pkgbase = floorp
makedepends = yasm
makedepends = zip
makedepends = weston
makedepends = xorg-xwayland
makedepends = xwayland-run
depends = dbus-glib
depends = ffmpeg
@ -51,17 +52,18 @@ pkgbase = floorp
optdepends = networkmanager: Location detection via available WiFi networks
optdepends = speech-dispatcher: Text-to-Speech
optdepends = xdg-desktop-portal: Screensharing with Wayland
provides = floorp=11.9.0
provides = floorp=11.10.0
conflicts = floorp
options = !debug
options = !emptydirs
options = !lto
options = !makeflags
options = !strip
source = floorp-11.9.0.tar.gz::https://github.com/Floorp-Projects/Floorp/archive/refs/tags/v11.9.0.tar.gz
source = floorp-11.10.0.tar.gz::https://github.com/Floorp-Projects/Floorp/archive/refs/tags/v11.10.0.tar.gz
source = floorp-projects.floorp-core::git+https://github.com/Floorp-Projects/Floorp-core.git
source = floorp-projects.unified-l10n-central::git+https://github.com/Floorp-Projects/Unified-l10n-central.git
source = floorp.desktop
sha256sums = 11a7b2bfc2582220e0e0f0be90b9575249f52856fe21b55cbce9b72c516d654e
sha256sums = 0b69d37ec427adedaa8f5fe5c6d399ccf55b35492539f227cc026e8386bbd487
sha256sums = SKIP
sha256sums = SKIP
sha256sums = 07a63f189beaafe731237afed0aac3e1cfd489e432841bd2a61daa42977fb273

View file

@ -7,11 +7,12 @@
## options
: ${_build_pgo:=true}
: ${_build_pgo_reuse:=true}
: ${_build_pgo_xvfb:=false}
## basic info
_pkgname="floorp"
pkgname="$_pkgname${_pkgtype:-}"
pkgver=11.9.0
pkgver=11.10.0
pkgrel=1
pkgdesc="Firefox-based web browser focused on performance and customizability"
url="https://github.com/Floorp-Projects/Floorp"
@ -72,10 +73,17 @@ _main_package() {
)
if [[ "${_build_pgo::1}" == "t" ]] ; then
makedepends+=(
weston
xwayland-run # AUR
)
if [[ "${_build_pgo_xvfb::1}" == "t" ]] ; then
makedepends+=(
xorg-server-xvfb
)
else
makedepends+=(
weston
xorg-xwayland
xwayland-run # AUR
)
fi
fi
provides=("$_pkgname=${pkgver%%.r*}")
@ -85,6 +93,7 @@ _main_package() {
!debug
!emptydirs
!lto
!makeflags
!strip
)
@ -98,7 +107,7 @@ _main_package() {
)
sha256sums=(
'11a7b2bfc2582220e0e0f0be90b9575249f52856fe21b55cbce9b72c516d654e'
'0b69d37ec427adedaa8f5fe5c6d399ccf55b35492539f227cc026e8386bbd487'
'SKIP'
'SKIP'
'07a63f189beaafe731237afed0aac3e1cfd489e432841bd2a61daa42977fb273'
@ -107,9 +116,6 @@ _main_package() {
# common functions
prepare() {
export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-$srcdir/xdg}"
[ ! -d "$XDG_RUNTIME_DIR" ] && install -dm700 "${XDG_RUNTIME_DIR:?}"
mkdir -p mozbuild
cd "$_pkgsrc"
@ -152,8 +158,6 @@ ac_add_options --enable-linker=lld
ac_add_options --disable-elf-hack
ac_add_options --disable-bootstrap
ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland
export MOZ_ENABLE_WAYLAND=1
# Branding
ac_add_options --with-app-basename=$_pkgname
@ -164,7 +168,6 @@ ac_add_options --with-distribution-id=org.archlinux
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --allow-addon-sideload
export MOZILLA_OFFICIAL=1
export NIGHTLY_BUILD=1
export MOZ_APP_REMOTINGNAME=$_pkgname
# Floorp Upstream
@ -234,6 +237,11 @@ END
build() {
cd "$_pkgsrc"
export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-$srcdir/xdg-runtime}"
[ ! -d "$XDG_RUNTIME_DIR" ] && install -dm700 "${XDG_RUNTIME_DIR:?}"
export LIBGL_ALWAYS_SOFTWARE=true
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)"
@ -286,16 +294,29 @@ build() {
# Make new profile
if [[ "${_build_pgo_reuse::1}" != "t" ]] || [[ ! -s merged.profdata ]] ; then
echo "Building instrumented browser..."
cat >.mozconfig ../mozconfig
echo >>.mozconfig "ac_add_options --enable-profile-generate=cross"
cat >.mozconfig ../mozconfig - <<END
ac_add_options --enable-profile-generate=cross
export MOZ_ENABLE_FULL_SYMBOLS=1
END
./mach build
echo "Profiling instrumented browser..."
./mach package
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
LLVM_PROFDATA=llvm-profdata JARLOG_FILE=${PWD@Q}/jarlog \
wlheadless-run -c weston --width=1920 --height=1080 \
-- ./mach python build/pgo/profileserver.py
"${_headless_run[@]}" -- ./mach python build/pgo/profileserver.py
echo "Removing instrumented browser..."
./mach clobber
@ -306,8 +327,10 @@ build() {
if [[ -s merged.profdata ]] ; then
stat -c "Profile data found (%s bytes)" merged.profdata
echo >>.mozconfig "ac_add_options --enable-profile-use=cross"
echo >>.mozconfig "ac_add_options --with-pgo-profile-path=${PWD@Q}/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 --reflink=auto -f merged.profdata "$_old_profdata"
@ -317,7 +340,9 @@ build() {
if [[ -s jarlog ]] ; then
stat -c "Jar log found (%s bytes)" jarlog
echo >>.mozconfig "ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog"
cat >>.mozconfig - <<END
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
END
# save jarlog for reuse
cp --reflink=auto -f jarlog "$_old_jarlog"