1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Replacement Obj-C runtime for modern lang features
9 HOMEPAGE= https://github.com/gnustep/libobjc2/
10 CONTACT= Michael_Reim[kraileth@elderlinux.org]
12 DOWNLOAD_GROUPS= main tessil
13 SITES[main]= GITHUB/gnustep:libobjc2:v2.1
14 SITES[tessil]= GITHUB/Tessil:robin-map:757de82
15 DISTFILE[1]= generated:main
16 DISTFILE[2]= generated:tessil
19 SPKGS[standard]= complete
23 OPTIONS_AVAILABLE= none
24 OPTIONS_STANDARD= none
26 BUILD_DEPENDS= gnustep-make-bootstrap:primary:standard
28 USES= c++:primary clang cmake ninja
31 LICENSE_FILE= MIT:{{WRKSRC}}/COPYING
34 FPC_EQUIVALENT= lang/libobjc2
41 CMAKE_ARGS= -DLIB_INSTALL_PATH=lib
43 -DGNUSTEP_INSTALL_TYPE=SYSTEM
49 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobjc.so
52 ${MV} ${WRKDIR}/robin-map-757de82/* ${WRKSRC}/third_party/robin-map
54 [FILE:1192:descriptions/desc.primary]
55 The GNUstep Objective-C runtime was designed as a drop-in replacement for
56 the GCC runtime. It supports three ABIs:
58 * The old GCC ABI, which provides support for Objective-C 1.0 features.
59 This can be selected via the -fobjc-runtime=gcc flag in Clang or by
61 * The initial GNUstep non-fragile ABI, which was intended to be
62 compatible with the GCC ABI, but provide support for modern Objective-C
63 features. This can be selected with the -fobjc-runtime=gnustep-1.9 flag in
65 * The modern (v2) ABI, which provides richer reflection metadata, smaller
66 binaries and reduced memory usage. This is selected with the
67 -fobjc-runtime=gnustep-2.0 flag in Clang 7.0 or later.
69 All ABIs support the following feature above and beyond the GCC runtime:
71 * The modern Objective-C runtime APIs, initially introduced with OS X
74 * Synthesised property accessors.
75 * Efficient support for @synchronized()
76 * Type-dependent dispatch, eliminating stack corruption from mismatched
78 * Support for the associated reference APIs introduced with Mac OS X 10.6.
79 * Support for the automatic reference counting APIs introduced with Mac
85 78fc3711db14bf863040ae98f7bdca08f41623ebeaf7efaea7dd49a38b5f054c 200290 gnustep/gnustep-libobjc2-2.1.tar.gz
86 b365d847a23ce48a4e5c76c4a8194693f18323bf7cacdc0f57ada92ee275bd45 63288 gnustep/Tessil-robin-map-757de82.tar.gz
89 [FILE:29:manifests/plist.primary]
90 lib/libobjc.so.%%SOVERSION%%
93 [FILE:359:manifests/plist.dev]
119 lib/pkgconfig/libobjc.pc
122 [FILE:812:patches/patch-CMakeLists.txt]
123 diff --git a/CMakeLists.txt b/CMakeLists.txt
124 index e2746e9..80b7dfe 100644
125 --- CMakeLists.txt.orig 2020-08-23 15:10:20 UTC
127 @@ -317,7 +317,7 @@ if (ENABLE_OBJCXX)
130 add_custom_command(OUTPUT eh_trampoline.s
131 - COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS} -fPIC -S "${CMAKE_SOURCE_DIR}/eh_trampoline.cc" -o - -fexceptions -fno-inline | sed "s/__gxx_personality_v0/test_eh_personality/g" > "${CMAKE_BINARY_DIR}/eh_trampoline.s"
132 + COMMAND ${CMAKE_CXX_COMPILER} -fPIC -S "${CMAKE_SOURCE_DIR}/eh_trampoline.cc" -o - -fexceptions -fno-inline | sed "s/__gxx_personality_v0/test_eh_personality/g" > "${CMAKE_BINARY_DIR}/eh_trampoline.s"
133 MAIN_DEPENDENCY eh_trampoline.cc)
134 list(APPEND libobjc_ASM_SRCS eh_trampoline.s)
135 list(APPEND libobjc_CXX_SRCS objcxx_eh.cc)
138 [FILE:382:patches/patch-objcxx_eh.cc]
139 --- objcxx_eh.cc 2020-08-23 08:10:20.000000000 -0700
140 +++ objcxx_eh.cc.new 2023-10-13 22:07:26.543624000 -0700
143 uint64_t cxx_exception_class;
145 -extern "C" void *__cxa_allocate_exception(size_t) noexcept;
148 * Our own definitions of C++ ABI functions and types. These are provided
149 * because this file must not include cxxabi.h. We need to handle subtly