@@ -7,7 +7,7 @@ pkgver=2.2
7
7
pkgrel=1
8
8
pkgdesc=" Objective-C runtime library intended for use with Clang. (mingw-w64)"
9
9
arch=(' any' )
10
- mingw_arch=(' mingw64' ' ucrt64' )
10
+ mingw_arch=(' mingw64' ' ucrt64' ' clang64 ' )
11
11
url=" https://github.com/gnustep/libobjc2"
12
12
license=(' spdx:MIT' )
13
13
makedepends=(" ${MINGW_PACKAGE_PREFIX} -cmake"
@@ -16,14 +16,18 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
16
16
' git' )
17
17
source=(" https://github.com/gnustep/${_realname} /archive/refs/tags/v${pkgver} .zip"
18
18
# Install runtime files in CMAKE_INSTALL_BINDIR when GNUstep is not installed
19
- " https://github.com/gnustep/libobjc2/commit/639c676bb8033422539e19a2e2888bdbd06507e5.patch" )
19
+ " https://github.com/gnustep/libobjc2/commit/639c676bb8033422539e19a2e2888bdbd06507e5.patch"
20
+ # Support building on msys/clang64
21
+ " https://github.com/gnustep/libobjc2/commit/1ff5e1298dd76aa370d5a12b690857f9a47b4b56.patch" )
20
22
sha256sums=(' 3f72ea4955e3e4671d64c64c339f4947b6112b1b2dd02377c5c982057bbeda04'
21
- ' aaa23146b3c2ec442b5dbf20606020bddd15230041ad738ef3a06e92d13605c3' )
23
+ ' aaa23146b3c2ec442b5dbf20606020bddd15230041ad738ef3a06e92d13605c3'
24
+ ' fba7d33aa03ee7383b559c5b845063acd16b45396520250849f22559577adcc9' )
22
25
23
26
prepare () {
24
27
cd ${srcdir} /${_realname} -${pkgver}
25
28
26
29
patch -p1 -i ${srcdir} /639c676bb8033422539e19a2e2888bdbd06507e5.patch
30
+ patch -p1 -i ${srcdir} /1ff5e1298dd76aa370d5a12b690857f9a47b4b56.patch
27
31
}
28
32
29
33
build () {
@@ -36,7 +40,14 @@ build() {
36
40
extra_config+=(" -DCMAKE_BUILD_TYPE=Debug" )
37
41
fi
38
42
39
- export LDFLAGS=" -fuse-ld=lld -lstdc++ -lgcc_s"
43
+ case ${MSYSTEM} in
44
+ MINGW* |UCRT* )
45
+ export LDFLAGS=" -fuse-ld=lld -lstdc++ -lgcc_s"
46
+ ;;
47
+ CLANG* )
48
+ export LDFLAGS=" -lc++"
49
+ ;;
50
+ esac
40
51
41
52
MSYS2_ARG_CONV_EXCL=" -DCMAKE_INSTALL_PREFIX=" \
42
53
" ${MINGW_PREFIX} " /bin/cmake.exe \
@@ -54,14 +65,19 @@ build() {
54
65
check () {
55
66
cd " ${srcdir} /build-${MSYSTEM} "
56
67
57
- " ${MINGW_PREFIX} " /bin/cmake.exe --build . --target test
68
+ declare -a extra_flags
69
+
70
+ if [[ ${MSYSTEM} == CLANG* ]]; then
71
+ extra_flags=" -E UnexpectedException*"
72
+ fi
73
+
74
+ " ${MINGW_PREFIX} " /bin/ctest.exe $extra_flags
58
75
}
59
76
60
77
package () {
61
78
cd " ${srcdir} /build-${MSYSTEM} "
62
79
63
80
DESTDIR=" ${pkgdir} " " ${MINGW_PREFIX} " /bin/cmake.exe --install .
64
81
65
- mv ${pkgdir}${MINGW_PREFIX} /lib/objc.lib ${pkgdir}${MINGW_PREFIX} /lib/objc.dll.a
66
82
install -Dm644 " ${srcdir} /${_realname} -${pkgver} /COPYING" " ${pkgdir}${MINGW_PREFIX} /share/licenses/${_realname} /COPYING"
67
83
}
0 commit comments