Files
haikuports/dev-libs/objfw/objfw-1.2.recipe
Jonathan Schleifer 54fdde81be objfw: Update to 1.2
2024-11-03 00:23:48 +01:00

152 lines
4.5 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-2024 Jonathan Schleifer"
LICENSE="GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://objfw.nil.im/downloads/objfw-$portVersion.tar.gz"
CHECKSUM_SHA256="f1d92b64f524a1aaf8e8b572a0edf5817d589c3d3c60cab9bb182ccbac3ee405"
PATCHES="objfw-1.2.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libobjfwVersion="1.2.0"
libobjfwVersionCompat="$libobjfwVersion compat >= 1.0"
libobjfwrtVersion="1.2.0"
libobjfwrtVersionCompat="$libobjfwrtVersion compat >= 1.0"
libobjfwtlsVersion="1.0.2"
libobjfwtlsVersionCompat="$libobjfwrtVersion compat >= 1.0"
libobjfwhidVersion="1.0.2"
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
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:make
"
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
"
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:libobjfwhid$secondaryArchSuffix = $libobjfwVersionCompat
devel:libobjfwrt$secondaryArchSuffix = $libobjfwrtVersionCompat
devel:libobjfwtls$secondaryArchSuffix = $libobjfwtlsVersionCompat
"
REQUIRES_devel="
haiku$secondaryArchSuffix
lib:libobjfw$secondaryArchSuffix == $libobjfwVersionCompat
lib:libobjfwhid$secondaryArchSuffix == $libobjfwVersionCompat
lib:libobjfwrt$secondaryArchSuffix == $libobjfwrtVersionCompat
lib:libobjfwtls$secondaryArchSuffix == $libobjfwtlsVersionCompat
"
BUILD()
{
# Force GCC, as Clang is currently broken on Haiku.
runConfigure ./configure OBJC=gcc
make $jobArgs
}
INSTALL()
{
make install
if [ -n "$secondaryArchSuffix" ]; then
mv $binDir/* $prefix/bin/
binDir=$prefix/bin
fi
prepareInstalledDevelLibs libobjfw libobjfwrt libobjfwtls
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
}