Files
haikuports/haiku-libs/haikuwebkit/haikuwebkit-1.9.26.recipe
2026-01-24 08:03:14 +01:00

129 lines
4.0 KiB
Bash

SUMMARY="Open source web browser engine"
DESCRIPTION="
WebKit is an open source web browser engine. WebKit is also the name of the \
Mac OS X system framework version of the engine that's used by Safari, \
Dashboard, Mail, and many other OS X applications. WebKit's HTML and \
JavaScript code began as a branch of the KHTML and KJS libraries from KDE."
HOMEPAGE="https://www.webkit.org/"
COPYRIGHT="1998-2025 Apple Inc., Google Inc., Sony, Samsung, Igalia, et al"
LICENSE="GNU LGPL v2
GNU LGPL v2.1
MIT"
REVISION="1"
# For downloads from autogenerated Github archives
#SOURCE_URI="https://github.com/haiku/haikuwebkit/archive/HaikuWebKit-$portVersion.tar.gz"
#SOURCE_DIR="haikuwebkit-HaikuWebKit-$portVersion"
# For downloads from manually generated archives when Github doesn't want to make one
SOURCE_URI="https://github.com/haiku/haikuwebkit/releases/download/HaikuWebKit-$portVersion/HaikuWebKit-$portVersion.tar.gz"
SOURCE_FILENAME="haikuwebkit-$portVersion.tar.gz"
SOURCE_DIR="haikuwebkit-$portVersion"
CHECKSUM_SHA256="078698ebd87c7253482125f81aa8166c6846904202895af7356e45342193b8a5"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
haikuwebkit$secondaryArchSuffix = $portVersion
cmd:jsc
lib:libJavaScriptCore$secondaryArchSuffix = $portVersion compat >= 1
lib:libWebKitLegacy$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libatomic$secondaryArchSuffix
lib:libavif$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix >= 74
lib:libgpg_error$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libjxl$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpsl$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libwebp$secondaryArchSuffix
lib:libwoff2dec$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
haikuwebkit${secondaryArchSuffix}_devel = $portVersion
devel:libJavaScriptCore$secondaryArchSuffix = $portVersion
devel:libwebcore$secondaryArchSuffix = $portVersion
devel:libWebKitLegacy$secondaryArchSuffix = $portVersion
devel:libwtf$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
haikuwebkit$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
gcc${secondaryArchSuffix}_syslibs
gcc${secondaryArchSuffix}_syslibs_devel
devel:libavif$secondaryArchSuffix >= 16
devel:libcurl$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 74
devel:libjpeg$secondaryArchSuffix
devel:libjxl$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpsl$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libwebp$secondaryArchSuffix >= 7
devel:libwoff2dec$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
# Note: llvm_ar is the command needed from llvm, not llvm_config, but only llvm_config
# has a version constraint in current llvm packages.
BUILD_PREREQUIRES="
cmd:bison
cmd:cmake
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:llvm_config >= 21
cmd:m4
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config
cmd:python3
cmd:ruby
cmd:which
"
BUILD()
{
export DISABLE_ASLR=1
export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig"
Tools/Scripts/build-webkit --haiku --no-webkit2 --no-fatal-warnings --makeargs "$jobArgs" \
--cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix -DCMAKE_BUILD_TYPE=Release -DSHOULD_INSTALL_JS_SHELL=ON -DCMAKE_CXX_FLAGS='-ftrack-macro-expansion=0 --param ggc-min-expand=10'"
}
INSTALL()
{
cd WebKitBuild/Release
ninja $jobArgs install
prepareInstalledDevelLibs libWebKitLegacy libJavaScriptCore
# devel package
packageEntries devel \
$developDir
}