SUMMARY="Unofficial Haiku port of Mozilla Firefox" 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-2026 Mozilla Developers and Contributors" LICENSE="MPL v2.0" REVISION="1" SOURCE_URI="https://ftp.mozilla.org/pub/firefox/releases/${portVersion}/source/firefox-${portVersion}.source.tar.xz" CHECKSUM_SHA256="b861fdee999d9b6404e1e865d6f707c41b4bded1b5ea62affc176288c1484b8a" SOURCE_DIR="firefox-$portVersion" PATCHES=" iceweasel-$portVersion.patchset iceweasel_launcher-$portVersion.patchset " ADDITIONAL_FILES=" iceweasel.rdef.in iceweasel_launcher.rdef.in branding.zip mozconfig_gcc " ARCHITECTURES="!x86_64" PROVIDES=" iceweasel= $portVersion app:Iceweasel= $portVersion " CONFLICTS=" iceweasel iceweasel_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: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_gcc mozconfig #export DISABLE_ASLR=1 export MOZBUILD_STATE_PATH="$sourceDir/.mozconfig" export RUSTFLAGS="-C link-arg=-Wl,--no-gc-sections" python3 -m ensurepip --default-pip ./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="0" 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 }