Files
haikuports/dev-libs/objfw/objfw-1.3.2.recipe
Jonathan Schleifer 49f1683b25 objfw: Update to 1.3.2
2025-06-08 15:47:40 +02:00

159 lines
4.6 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="8148df0d55d1a3218fe9965144b5c3ee2a7f4d8e43e430a6107e294043872cab"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libobjfwVersion="1.3.2"
libobjfwVersionCompat="$libobjfwVersion compat >= 1.0"
libobjfwrtVersion="1.3.0"
libobjfwrtVersionCompat="$libobjfwrtVersion compat >= 1.0"
libobjfwtlsVersion="1.3.2"
libobjfwtlsVersionCompat="$libobjfwrtVersion compat >= 1.0"
libobjfwhidVersion="1.3.0"
libobjfwhidVersionCompat="$libobjfwrtVersion compat >= 1.0"
PROVIDES="objfw$secondaryArchSuffix = $portVersion"
REQUIRES="
objfw${secondaryArchSuffix}_hid == $portVersion
objfw${secondaryArchSuffix}_libs == $portVersion
objfw${secondaryArchSuffix}_tls == $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 \
$binDir/ofdns $dataDir/ofdns \
$binDir/ofhash $dataDir/ofhash \
$binDir/ofhttp $dataDir/ofhttp
packageEntries devel \
$binDir/objfw-compile \
$binDir/objfw-config \
$binDir/objfw-embed \
$binDir/objfw-new \
$libDir/objfw-config \
$developDir
}
TEST()
{
make check
}