# Contributor: Jonathan Schleifer <js@nil.im>
# Maintainer: Jonathan Schleifer <js@nil.im>
pkgname=objfw
pkgver=1.3.2
pkgrel=0
pkgdesc="Portable, lightweight framework for the Objective-C language"
url="https://objfw.nil.im/"
arch="all"
license="LGPL-3.0-only"
_llvmver=19
makedepends="
	clang$_llvmver
	openssl-dev
	zlib-dev
	doxygen
	autoconf
	automake
	linux-headers"
subpackages="$pkgname-dev $pkgname-dbg $pkgname-doc
	libobjfw1:_libobjfw
	libobjfwhid1:_libobjfwhid
	libobjfwrt1:_libobjfwrt
	libobjfwtls1:_libobjfwtls
	ofarc:_ofarc
	ofdns:_ofdns
	ofhash:_ofhash
	ofhttp:_ofhttp"
source="https://objfw.nil.im/downloads/objfw-$pkgver.tar.gz"

prepare() {
	default_prepare
	./autogen.sh
}

build() {
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--disable-rpath \
		OBJC="clang-$_llvmver -target $CHOST"
	make
	make docs
}

check() {
	make check
}

package() {
	depends="libobjfw1=$pkgver-r$pkgrel libobjfwrt1=$pkgver-r$pkgrel
		libobjfwtls1=$pkgver-r$pkgrel libobjfwhid1=$pkgver-r$pkgrel
		objfw-dev=$pkgver-r$pkgrel objfw-doc=$pkgver-r$pkgrel
		ofarc=$pkgver-r$pkgrel ofdns=$pkgver-r$pkgrel
		ofhash=$pkgver-r$pkgrel ofhttp=$pkgver-r$pkgrel"

	make DESTDIR="$pkgdir" install
}

dev() {
	amove usr/bin/objfw-compile
	amove usr/bin/objfw-config
	amove usr/bin/objfw-embed
	amove usr/bin/objfw-new
	amove usr/include
	amove usr/lib/*.so
	amove usr/lib/objfw-config
}

doc() {
	default_doc

	mkdir -p "$subpkgdir"/usr/share/doc/objfw
	cp -r "$builddir/docs" "$subpkgdir"/usr/share/doc/objfw/html
}

_libobjfw() {
	pkgdesc="Library needed by programs using ObjFW"

	amove usr/lib/libobjfw.so.*
}

_libobjfwrt() {
	pkgdesc="ObjFW Objective-C runtime library"

	amove usr/lib/libobjfwrt.so.*
}

_libobjfwtls() {
	pkgdesc="Library for TLS support for ObjFW"

	amove usr/lib/libobjfwtls.so.*
}

_libobjfwhid() {
	pkgdesc="Library for HID support for ObjFW"

	amove usr/lib/libobjfwhid.so.*
}

_ofarc() {
	pkgdesc="Utility for handling ZIP, Tar and LHA archives"

	amove usr/bin/ofarc
	amove usr/share/ofarc
}

_ofdns() {
	pkgdesc="Utility for performing DNS requests on the command line"

	amove usr/bin/ofdns
	amove usr/share/ofdns
}

_ofhash() {
	pkgdesc="Utility to hash files with various cryptographic hashes"

	amove usr/bin/ofhash
	amove usr/share/ofhash
}

_ofhttp() {
	pkgdesc="Command line downloader for HTTP(S)"

	amove usr/bin/ofhttp
	amove usr/share/ofhttp
}

sha512sums="
9304495af5f0e5f9725ddd4f72acb68792632ae54a79b2ead6bc3198c7b6e4c9ebb703c342b24fa407b9ce57782e4341c548e09aed91dc82fdbef2469a32f5ef  objfw-1.3.2.tar.gz
"
