devel/objfw: Portable, lightweight framework for the Objective-C language
ObjFW is a highly portable, lightweight, general purpose, open source Objective-C framework with full Objective-C 2.0, blocks and ARC support, providing not only basic classes like strings, arrays and dictionaries, but also providing abstractions for OS-dependant functionality like asynchronous sockets. While a lot of the core API is similar to Foundation, it breaks with Foundation's API on purpose in many places to embrace new features which Foundation can't use completely due to its backwards compatibility. One such example are exceptions, which are a first class citizen in ObjFW and not merely to inform the programmer of his wrongdoings like in Foundation. ObjFW runs on a huge list of platforms and offers the same API on all of them so that software written using ObjFW runs on all platforms supported by ObjFW without #ifdef hells or the like. It does not only run on almost any POSIX system that supports GCC >= 4, but it also works on Windows and niche platforms like the PlayStation Portable. WWW: https://objfw.nil.im/ PR: 273835
This commit is contained in:
parent
6db214401e
commit
6e494f266b
5 changed files with 1666 additions and 0 deletions
|
@ -1663,6 +1663,7 @@
|
|||
SUBDIR += obby
|
||||
SUBDIR += objconv
|
||||
SUBDIR += objecthash
|
||||
SUBDIR += objfw
|
||||
SUBDIR += ocaml-annexlib
|
||||
SUBDIR += ocaml-calendar
|
||||
SUBDIR += ocaml-camljava
|
||||
|
|
67
devel/objfw/Makefile
Normal file
67
devel/objfw/Makefile
Normal file
|
@ -0,0 +1,67 @@
|
|||
PORTNAME= objfw
|
||||
DISTVERSION= 1.0.3
|
||||
CATEGORIES= devel lang
|
||||
MASTER_SITES= https://objfw.nil.im/downloads/
|
||||
|
||||
MAINTAINER= js@nil.im
|
||||
COMMENT= Portable, lightweight framework for the Objective-C language
|
||||
WWW= https://objfw.nil.im/
|
||||
|
||||
LICENSE= QPL GPLv2 GPLv3
|
||||
LICENSE_COMB= dual
|
||||
LICENSE_NAME_QPL= Q Public License
|
||||
LICENSE_FILE_QPL= ${WRKSRC}/LICENSE.QPL
|
||||
LICENSE_PERMS_QPL= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
|
||||
|
||||
BROKEN_armv6= test suite fails
|
||||
BROKEN_armv7= test suite fails
|
||||
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
TEST_TARGET= check
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
OPTIONS_SINGLE= SSL
|
||||
OPTIONS_SINGLE_SSL= OPENSSL GNUTLS NOSSL
|
||||
OPTIONS_DEFAULT= OPENSSL
|
||||
NOSSL_DESC= no SSL/TLS support
|
||||
|
||||
DOCS_BUILD_DEPENDS= doxygen:devel/doxygen
|
||||
|
||||
OPENSSL_CONFIGURE_ON= --with-tls=openssl
|
||||
OPENSSL_PLIST_SUB= TLS=""
|
||||
OPENSSL_CPPFLAGS= -I${OPENSSLINC}
|
||||
OPENSSL_LDFLAGS= -L${OPENSSLLIB}
|
||||
OPENSSL_USES= ssl
|
||||
|
||||
GNUTLS_CONFIGURE_ON= --with-tls=gnutls
|
||||
GNUTLS_PLIST_SUB= TLS=""
|
||||
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
|
||||
GNUTLS_USES= pkgconfig
|
||||
|
||||
NOSSL_CONFIGURE_ON= --without-tls
|
||||
NOSSL_PLIST_SUB= TLS="@comment "
|
||||
|
||||
do-build-DOCS-on:
|
||||
cd ${WRKSRC} && ${DO_MAKE_BUILD} docs
|
||||
|
||||
do-install-DOCS-on:
|
||||
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
(cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/objfw)
|
||||
|
||||
post-install:
|
||||
.for i in objfw-new ofarc ofdns ofhash ofhttp
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/$i
|
||||
.endfor
|
||||
.for i in libobjfw.so.1 libobjfwrt.so.1
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/$i
|
||||
.endfor
|
||||
|
||||
post-install-OPENSSL-on:
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobjfwtls.so.1
|
||||
|
||||
post-install-GNUTLS-on:
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobjfwtls.so.1
|
||||
|
||||
.include <bsd.port.mk>
|
3
devel/objfw/distinfo
Normal file
3
devel/objfw/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1694727422
|
||||
SHA256 (objfw-1.0.3.tar.gz) = 1c81d7d03578b2d9084fc5d8722d4eaa4bdc2f3f09ce41231e7ceab8212fae17
|
||||
SIZE (objfw-1.0.3.tar.gz) = 787055
|
18
devel/objfw/pkg-descr
Normal file
18
devel/objfw/pkg-descr
Normal file
|
@ -0,0 +1,18 @@
|
|||
ObjFW is a highly portable, lightweight, general purpose, open source
|
||||
Objective-C framework with full Objective-C 2.0, blocks and ARC support,
|
||||
providing not only basic classes like strings, arrays and dictionaries,
|
||||
but also providing abstractions for OS-dependant functionality like
|
||||
asynchronous sockets.
|
||||
|
||||
While a lot of the core API is similar to Foundation, it breaks with
|
||||
Foundation's API on purpose in many places to embrace new features which
|
||||
Foundation can't use completely due to its backwards compatibility. One
|
||||
such example are exceptions, which are a first class citizen in ObjFW
|
||||
and not merely to inform the programmer of his wrongdoings like in
|
||||
Foundation.
|
||||
|
||||
ObjFW runs on a huge list of platforms and offers the same API on all of
|
||||
them so that software written using ObjFW runs on all platforms
|
||||
supported by ObjFW without #ifdef hells or the like. It does not only
|
||||
run on almost any POSIX system that supports GCC >= 4, but it also works
|
||||
on Windows and niche platforms like the PlayStation Portable.
|
1577
devel/objfw/pkg-plist
Normal file
1577
devel/objfw/pkg-plist
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue