mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
185 lines
3.8 KiB
Bash
185 lines
3.8 KiB
Bash
SUMMARY="Unofficial Haiku port of Mozilla Firefox ESR"
|
|
DESCRIPTION="Iceweasel is an open source web browser. \
|
|
It achieves balance between ease of use and customization, catering to the \
|
|
needs of both casual and power users."
|
|
HOMEPAGE="https://github.com/kenz-gelsoft/gecko-dev"
|
|
COPYRIGHT="1995-2025 Mozilla Developers and Contributors"
|
|
LICENSE="MPL v2.0"
|
|
REVISION="1"
|
|
SOURCE_URI="https://ftp.mozilla.org/pub/firefox/releases/${portVersion}esr/source/firefox-${portVersion}esr.source.tar.xz"
|
|
CHECKSUM_SHA256="0b43b3a1c4f40765d96eb2094d38838f5d01b7280ad8b9b0a17612bed9c36735"
|
|
SOURCE_DIR="firefox-$portVersion"
|
|
PATCHES="
|
|
iceweasel_esr-$portVersion.patchset
|
|
iceweasel_launcher-$portVersion.patchset
|
|
"
|
|
|
|
ADDITIONAL_FILES="
|
|
iceweasel.rdef.in
|
|
iceweasel_launcher.rdef.in
|
|
branding.zip
|
|
mozconfig
|
|
"
|
|
|
|
ARCHITECTURES="!x86_64"
|
|
|
|
PROVIDES="
|
|
iceweasel_esr= $portVersion
|
|
app:Iceweasel= $portVersion
|
|
"
|
|
CONFLICTS="
|
|
iceweasel
|
|
iceweasel_bin
|
|
iceweasel_esr_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
|
|
"
|
|
|
|
PATCH ()
|
|
{
|
|
# extract browser branding for iceweasel
|
|
unzip -o $sourceDir/../../additional-files/branding.zip -o -d $sourceDir/browser/branding
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
chmod +x \
|
|
build/cargo-linker \
|
|
mach
|
|
|
|
rm -f mozconfig
|
|
cp -f $portDir/additional-files/mozconfig mozconfig
|
|
|
|
export DISABLE_ASLR=1
|
|
export MOZBUILD_STATE_PATH="$sourceDir/.mozconfig"
|
|
|
|
./mach -vv \
|
|
--no-interactive bootstrap \
|
|
--application-choice="Firefox for Desktop" \
|
|
--exclude=sysroot-wasm32-wasi
|
|
|
|
./mach python build/gn_processor.py dom/media/webrtc/third_party_build/gn-configs/webrtc.json
|
|
|
|
./mach build
|
|
|
|
cd tools/haiku-launcher
|
|
gcc -o "Iceweasel Browser" launcher.cpp -lbe
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
export DISABLE_ASLR=1
|
|
export MOZBUILD_STATE_PATH="$sourceDir/.mozconfig"
|
|
|
|
./mach install
|
|
|
|
./mach package
|
|
|
|
mkdir -p $appsDir
|
|
|
|
mv /usr/local/lib/Iceweasel $appsDir/Iceweasel
|
|
|
|
cp "tools/haiku-launcher/Iceweasel Browser" $appsDir/Iceweasel
|
|
|
|
mkdir -p $appsDir/Iceweasel/lib
|
|
|
|
# arranging the files in lib directories
|
|
cd $appsDir/Iceweasel
|
|
mv \
|
|
libgkcodecs.so \
|
|
liblgpllibs.so \
|
|
libmozavcodec.so \
|
|
libmozavutil.so \
|
|
libmozgtk.so \
|
|
libmozsqlite3.so \
|
|
libmozwayland.so \
|
|
libxul.so \
|
|
lib
|
|
|
|
local APP_SIGNATURE="application/x-vnd.iceweasel"
|
|
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/iceweasel.rdef.in > iceweasel.rdef
|
|
|
|
sed \
|
|
-e "s|@MAJOR@|$MAJOR|" \
|
|
-e "s|@MIDDLE@|$MIDDLE|" \
|
|
-e "s|@MINOR@|$MINOR|" \
|
|
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
|
$portDir/additional-files/iceweasel_launcher.rdef.in > iceweasel_launcher.rdef
|
|
|
|
addResourcesToBinaries iceweasel.rdef "$appsDir/Iceweasel/Iceweasel"
|
|
addResourcesToBinaries iceweasel_launcher.rdef "$appsDir/Iceweasel/Iceweasel Browser"
|
|
|
|
addAppDeskbarSymlink $appsDir/Iceweasel/Iceweasel
|
|
}
|