Files
haikuports/dev-libs/objfw/objfw-1.4.2.recipe
Jonathan Schleifer 73c2e221ba objfw: Update to 1.4.2
2025-10-05 16:18:39 +02:00

159 lines
4.8 KiB
Bash

SUMMARY="Portable, lightweight framework for the Objective-C language"
DESCRIPTION="ObjFW is a portable, lightweight framework for the Objective-C \
language. It enables you to write an application in Objective-C that will run \
on any platform supported by ObjFW without having to worry about differences \
between operating systems or various frameworks you would otherwise need if \
you want to be portable."
HOMEPAGE="https://objfw.nil.im/"
COPYRIGHT="2008-2025 Jonathan Schleifer"
LICENSE="GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://objfw.nil.im/downloads/objfw-$portVersion.tar.gz"
CHECKSUM_SHA256="8e6d0cd39271130a0b6c2789fa08f2598c77d9b88acbd0e2c15c8eb1144baa08"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libobjfwVersion="1.4.2"
libobjfwVersionCompat="$libobjfwVersion compat >= 1.0"
libobjfwrtVersion="1.4.2"
libobjfwrtVersionCompat="$libobjfwrtVersion compat >= 1.0"
libobjfwtlsVersion="1.4.0"
libobjfwtlsVersionCompat="$libobjfwrtVersion compat >= 1.0"
libobjfwhidVersion="1.4.0"
libobjfwhidVersionCompat="$libobjfwrtVersion compat >= 1.0"
PROVIDES="objfw$secondaryArchSuffix = $portVersion"
REQUIRES="
objfw${secondaryArchSuffix}_libs == $portVersion
objfw${secondaryArchSuffix}_tls == $portVersion
objfw${secondaryArchSuffix}_hid == $portVersion
objfw${secondaryArchSuffix}_utils == $portVersion
objfw${secondaryArchSuffix}_devel == $portVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:make
llvm19${secondaryArchSuffix}_clang
"
PROVIDES_libs="
objfw${secondaryArchSuffix}_libs = $portVersion
lib:libobjfw$secondaryArchSuffix = $libobjfwVersionCompat
lib:libobjfwrt$secondaryArchSuffix = $libobjfwrtVersionCompat
"
REQUIRES_libs="
haiku$secondaryArchSuffix
"
PROVIDES_tls="
objfw${secondaryArchSuffix}_tls = $portVersion
lib:libobjfwtls$secondaryArchSuffix = $libobjfwtlsVersionCompat
"
REQUIRES_tls="
haiku$secondaryArchSuffix
lib:libobjfw$secondaryArchSuffix == $libobjfwVersionCompat
lib:libobjfwrt$secondaryArchSuffix == $libobjfwrtVersionCompat
lib:libcrypto$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_hid="
objfw${secondaryArchSuffix}_hid = $portVersion
lib:libobjfwhid$secondaryArchSuffix = $libobjfwhidVersionCompat
"
REQUIRES_hid="
haiku$secondaryArchSuffix
lib:libobjfw$secondaryArchSuffix == $libobjfwVersionCompat
lib:libobjfwrt$secondaryArchSuffix == $libobjfwrtVersionCompat
"
PROVIDES_utils="
objfw${secondaryArchSuffix}_utils = $portVersion
cmd:ofarc = $portVersion compat >= 1.0
cmd:ofdns = $portVersion compat >= 1.0
cmd:ofhash = $portVersion compat >= 1.0
cmd:ofhttp = $portVersion compat >= 1.0
"
REQUIRES_utils="
haiku$secondaryArchSuffix
lib:libobjfw$secondaryArchSuffix == $libobjfwVersionCompat
lib:libobjfwrt$secondaryArchSuffix == $libobjfwrtVersionCompat
lib:libobjfwtls$secondaryArchSuffix == $libobjfwtlsVersionCompat
lib:libcrypto$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
"
PROVIDES_devel="
objfw${secondaryArchSuffix}_devel = $portVersion
cmd:objfw_compile = $portVersion compat >= 1.0
cmd:objfw_config = $portVersion compat >= 1.0
cmd:objfw_embed = $portVersion compat >= 1.0
cmd:objfw_new = $portVersion compat >= 1.0
devel:libobjfw$secondaryArchSuffix = $libobjfwVersionCompat
devel:libobjfwrt$secondaryArchSuffix = $libobjfwrtVersionCompat
devel:libobjfwtest$secondaryArchSuffix
devel:libobjfwtls$secondaryArchSuffix = $libobjfwtlsVersionCompat
devel:libobjfwhid$secondaryArchSuffix = $libobjfwhidVersionCompat
"
REQUIRES_devel="
haiku$secondaryArchSuffix
lib:libobjfw$secondaryArchSuffix == $libobjfwVersionCompat
lib:libobjfwhid$secondaryArchSuffix == $libobjfwhidVersionCompat
lib:libobjfwrt$secondaryArchSuffix == $libobjfwrtVersionCompat
lib:libobjfwtls$secondaryArchSuffix == $libobjfwtlsVersionCompat
"
BUILD()
{
runConfigure ./configure OBJC=clang
make $jobArgs
}
INSTALL()
{
make install
if [ -n "$secondaryArchSuffix" ]; then
mv $binDir/* $prefix/bin/
binDir=$prefix/bin
fi
prepareInstalledDevelLibs \
libobjfw \
libobjfwrt \
libobjfwtest \
libobjfwtls \
libobjfwhid
packageEntries libs \
$libDir/libobjfw.so.* \
$libDir/libobjfwrt.so.*
packageEntries tls $libDir/libobjfwtls.so.*
packageEntries hid $libDir/libobjfwhid.so.*
packageEntries utils \
$binDir/ofarc $dataDir/ofarc $manDir/ofarc.1 \
$binDir/ofdns $dataDir/ofdns $manDir/ofdns.1 \
$binDir/ofhash $dataDir/ofhash $manDir/ofhash.1 \
$binDir/ofhttp $dataDir/ofhttp $manDir/ofhttp.1
packageEntries devel \
$binDir/objfw-compile $manDir/objfw-compile.1 \
$binDir/objfw-config $manDir/objfw-config.1 \
$binDir/objfw-embed $manDir/objfw-embed.1 \
$binDir/objfw-new $manDir/objfw-new.1 \
$libDir/objfw-config \
$developDir
}
TEST()
{
make check
}