Files
haikuports/www-client/floorp/floorp-12.0.15.recipe
Gerasim Troeglazov 89097f51f6 floorp: bump version
2025-08-02 11:19:34 +10:00

205 lines
5.0 KiB
Bash

SUMMARY=" A new Firefox based browser from Japan with excellent privacy & flexibility"
DESCRIPTION="Floorp is a free and open-source web browser based on Firefox, developed by \
Floorp Projects.
It focuses on providing a highly customizable and privacy-oriented browsing \
experience, making it an excellent choice for users who value both flexibility and security. \
The browser includes features like strong tracking protection, side panels, workspaces, \
and vertical tabs for better organization and convenience. With its emphasis on speed, \
security, and user freedom, Floorp strikes a balance between versatility, privacy, and web \
openness.
Being cross-platform, it ensures accessibility across different devices without \
collecting personal information."
HOMEPAGE="https://floorp.app/"
COPYRIGHT="1995-2025 Mozilla Developers, Floorp Projects & Ablaze"
LICENSE="MPL v2.0"
REVISION="1"
SOURCE_URI="https://github.com/Floorp-Projects/Floorp/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="3784e31f42cec861c2597ba7ac2f3005822a1fb29043d3f2457fdd25a507cf3f"
SOURCE_DIR="Floorp-$portVersion"
srcGitRev2="41d0b3f178657964fad54feadfb43946df131664"
SOURCE_URI_2="https://github.com/Floorp-Projects/Floorp-core/archive/$srcGitRev2.tar.gz"
CHECKSUM_SHA256_2="40491e4064da89ef52334c58f351d2fa7cb9c6e470fda45da6defa50a032de09"
SOURCE_DIR_2="Floorp-core-$srcGitRev2"
srcGitRev3="29bb9bed37ae970fbac4c8222010328b7fbf7e15"
SOURCE_URI_3="https://github.com/Floorp-Projects/Unified-l10n-central/archive/$srcGitRev3.tar.gz"
CHECKSUM_SHA256_3="5c848efe5be9fcbe73adea56f78d3c2d6de10f7b802f6380bf853242822858aa"
SOURCE_DIR_3="Unified-l10n-central-$srcGitRev3"
PATCHES="
floorp-$portVersion.patchset
floorp_launcher-$portVersion.patchset
"
ADDITIONAL_FILES="
floorp.rdef.in
floorp_launcher.rdef.in
mozconfig
"
ARCHITECTURES="!x86_64"
PROVIDES="
floorp= $portVersion
app:Floorp= $portVersion
"
CONFLICTS="
floorp_bin
"
REQUIRES="
haiku
lib:libatk_1.0
lib:libcairo
lib:libcairo_gobject
lib:libdbus_1
lib:libevent_2.1
lib:libgdk_3
lib:libgdk_pixbuf_2.0
lib:libglib_2.0
lib:libgtk_3
lib:libharfbuzz
lib:libintl
lib:libmediahelpers
lib:libnotify
lib:libnspr4
lib:libnss3
lib:libpango_1.0
lib:libpangocairo_1.0
lib:libpng16
lib:libz
"
BUILD_REQUIRES="
haiku_devel
devel:libdbus_1
devel:libdbus_glib_1
devel:libevent
devel:libglib_2.0
devel:libgtk_3
devel:libmediahelpers
devel:libnotify
devel:libnspr4
devel:libnss3
devel:libpng16
devel:libvpx
devel:libwebp
devel:libzstd
"
BUILD_PREREQUIRES="
llvm20
nodejs20
rust_bin
cmd:autoconf_2.13
cmd:cbindgen
cmd:clang++
cmd:gawk
cmd:gcc
cmd:git
cmd:gn
cmd:lld >= 20
cmd:m4
cmd:make
cmd:nasm
cmd:perl
cmd:pip3
cmd:pkg_config
cmd:python3
cmd:tar
cmd:unzip
cmd:xargs
cmd:zip
"
BUILD()
{
chmod +x \
build/cargo-linker \
mach
rm -f .mozconfig
cp -f $portDir/additional-files/mozconfig .mozconfig
echo "export MOZ_APP_VERSION=$portVersion" >> .mozconfig
echo "export MOZ_APP_VERSION_DISPLAY=$portVersion" >> .mozconfig
echo $portVersion >> browser/config/version.txt
echo $portVersion >> browser/config/version_display.txt
rm -rf floorp
ln -s $sourceDir2 floorp
rm -rf floorp/browser/locales/l10n-central
ln -s $sourceDir3 floorp/browser/locales/l10n-central
export DISABLE_ASLR=1
export MOZBUILD_STATE_PATH="$sourceDir/.buildstate"
./mach -vv \
--no-interactive bootstrap \
--application-choice="Firefox for Desktop" \
--exclude=sysroot-wasm32-wasi
./mach python python/mozbuild/mozbuild/gn_processor.py dom/media/webrtc/third_party_build/gn-configs/webrtc.json
./mach build
cd tools/haiku-launcher
gcc -o "Floorp Browser" launcher.cpp -lbe
}
INSTALL()
{
export DISABLE_ASLR=1
export MOZBUILD_STATE_PATH="$sourceDir/.buildstate"
./mach install
./mach package
mkdir -p $appsDir
mv /usr/local/lib/floorp $appsDir/Floorp
mv $appsDir/Floorp/floorp $appsDir/Floorp/Floorp
cp "tools/haiku-launcher/Floorp Browser" $appsDir/Floorp
mkdir -p $appsDir/Floorp/lib
# arranging the files in lib directories
cd $appsDir/Floorp
mv \
libgkcodecs.so \
libipcclientcerts.so \
liblgpllibs.so \
libmozavcodec.so \
libmozavutil.so \
libmozgtk.so \
libmozsqlite3.so \
libmozwayland.so \
libxul.so \
lib
local APP_SIGNATURE="application/x-vnd.floorp-browser"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/floorp.rdef.in > floorp.rdef
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/floorp_launcher.rdef.in > floorp_launcher.rdef
addResourcesToBinaries floorp.rdef $appsDir/Floorp/Floorp
addResourcesToBinaries floorp_launcher.rdef "$appsDir/Floorp/Floorp Browser"
addAppDeskbarSymlink $appsDir/Floorp/Floorp
}