1 |
commit: 857dd9c2e19f23e46a0b3e9121eb417caa858693 |
2 |
Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Sep 3 09:32:49 2020 +0000 |
4 |
Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 3 09:33:03 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=857dd9c2 |
7 |
|
8 |
gnustep-base/libobjc2: 2.1 bump |
9 |
|
10 |
Fixes quite a few bugs |
11 |
Migrated to cmake eclass |
12 |
No longer depends on libcxx |
13 |
|
14 |
Package-Manager: Portage-3.0.5, Repoman-3.0.1 |
15 |
Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org> |
16 |
|
17 |
gnustep-base/libobjc2/Manifest | 2 ++ |
18 |
.../files/libobjc2-2.1-eh_trampoline.patch | 27 ++++++++++++++ |
19 |
.../libobjc2/files/libobjc2-2.1-pthread_link.patch | 12 +++++++ |
20 |
gnustep-base/libobjc2/libobjc2-2.1.ebuild | 42 ++++++++++++++++++++++ |
21 |
4 files changed, 83 insertions(+) |
22 |
|
23 |
diff --git a/gnustep-base/libobjc2/Manifest b/gnustep-base/libobjc2/Manifest |
24 |
index a9afd544951..cfca9d8effe 100644 |
25 |
--- a/gnustep-base/libobjc2/Manifest |
26 |
+++ b/gnustep-base/libobjc2/Manifest |
27 |
@@ -1 +1,3 @@ |
28 |
+DIST 757de82.tar.gz 63372 BLAKE2B 74078c6c16d7ac1891ce63b21ae2f06c8759f3a95db74a6acef2d51d605a7631ac37b8c8698752699e5c30d2e95876b1967e6c2c429403f1094b6b99dd4d272c SHA512 732e7f5b4ec0dc18c0c7b2b567e4fd65727918db76863aabb4433db22630e1e3c5ba3063de6dcf32f099c0d8cfd70b0d811d59f73a2cda362f6bd7054d14f999 |
29 |
DIST libobjc2-2.0.tar.gz 191800 BLAKE2B 71f54b1410e20bb638dce4cae8c2cc48ea07acf31a97f1994587a9f6401b725ac393abaef355e9476ef6a0622d80fb6fbe4b3c7f39294e7bedbba17cd4108278 SHA512 2b72506204b8fea6a76688ee96611613c4b7cf98942acc89905c531f4dc997ae0482ff10fa819c2471df6c06d5ebcd251167d8903a4f18d47507cd42baec3748 |
30 |
+DIST libobjc2-2.1.tar.gz 200290 BLAKE2B 67cd78238afad9afa4311669403be06ec8d001978e997128acc67cdba9c2b18482f66af4597c4a484556ce38bbfc4416b1b1cb8cde1d8f27f3b4d744d4581309 SHA512 a93c385f9ad53fce0f736088c3a18e72119c0128690725e435a35fe4250830d13e18899f98c7d80e6ea41cbfe1404f055d9d6c3d891ad7c770d47dcd0244fc7f |
31 |
|
32 |
diff --git a/gnustep-base/libobjc2/files/libobjc2-2.1-eh_trampoline.patch b/gnustep-base/libobjc2/files/libobjc2-2.1-eh_trampoline.patch |
33 |
new file mode 100644 |
34 |
index 00000000000..c956d15fbd5 |
35 |
--- /dev/null |
36 |
+++ b/gnustep-base/libobjc2/files/libobjc2-2.1-eh_trampoline.patch |
37 |
@@ -0,0 +1,27 @@ |
38 |
+From 4e07fb8457266b76311b2bf3dc5dbe8db790c0b5 Mon Sep 17 00:00:00 2001 |
39 |
+From: David Chisnall <github@×××××××××××××.org> |
40 |
+Date: Wed, 26 Aug 2020 16:37:06 +0100 |
41 |
+Subject: [PATCH] Don't use CXXFLAGS when compiling eh_trampoline.cc |
42 |
+ |
43 |
+The way that we were doing this didn't handle multiple flags and we |
44 |
+actually don't want the user to override these flags because that file |
45 |
+needs to be compiled in a very specific way. |
46 |
+ |
47 |
+Fixes #177 |
48 |
+--- |
49 |
+ CMakeLists.txt | 2 +- |
50 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
51 |
+ |
52 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
53 |
+index e2746e9..80b7dfe 100644 |
54 |
+--- a/CMakeLists.txt |
55 |
++++ b/CMakeLists.txt |
56 |
+@@ -317,7 +317,7 @@ if (ENABLE_OBJCXX) |
57 |
+ endif() |
58 |
+ endif () |
59 |
+ add_custom_command(OUTPUT eh_trampoline.s |
60 |
+- 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" |
61 |
++ 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" |
62 |
+ MAIN_DEPENDENCY eh_trampoline.cc) |
63 |
+ list(APPEND libobjc_ASM_SRCS eh_trampoline.s) |
64 |
+ list(APPEND libobjc_CXX_SRCS objcxx_eh.cc) |
65 |
|
66 |
diff --git a/gnustep-base/libobjc2/files/libobjc2-2.1-pthread_link.patch b/gnustep-base/libobjc2/files/libobjc2-2.1-pthread_link.patch |
67 |
new file mode 100644 |
68 |
index 00000000000..4d6f1d517db |
69 |
--- /dev/null |
70 |
+++ b/gnustep-base/libobjc2/files/libobjc2-2.1-pthread_link.patch |
71 |
@@ -0,0 +1,12 @@ |
72 |
+diff -Naur libobjc2-2.1.orig/CMakeLists.txt libobjc2-2.1/CMakeLists.txt |
73 |
+--- libobjc2-2.1.orig/CMakeLists.txt 2020-08-23 17:10:20.000000000 +0200 |
74 |
++++ libobjc2-2.1/CMakeLists.txt 2020-09-03 10:51:38.716078009 +0200 |
75 |
+@@ -344,7 +344,7 @@ |
76 |
+ # threading implementation (we do for everything except thread-local storage) |
77 |
+ set(CMAKE_THREAD_PREFER_PTHREAD) |
78 |
+ include(FindThreads) |
79 |
+-set(objc_LINK_FLAGS "${objc_LINK_FLAGS} ${CMAKE_THREAD_LIBS_INIT}") |
80 |
++target_link_libraries(objc Threads::Threads) |
81 |
+ |
82 |
+ |
83 |
+ |
84 |
|
85 |
diff --git a/gnustep-base/libobjc2/libobjc2-2.1.ebuild b/gnustep-base/libobjc2/libobjc2-2.1.ebuild |
86 |
new file mode 100644 |
87 |
index 00000000000..98b36a4a4fa |
88 |
--- /dev/null |
89 |
+++ b/gnustep-base/libobjc2/libobjc2-2.1.ebuild |
90 |
@@ -0,0 +1,42 @@ |
91 |
+# Copyright 1999-2020 Gentoo Authors |
92 |
+# Distributed under the terms of the GNU General Public License v2 |
93 |
+ |
94 |
+EAPI=7 |
95 |
+inherit cmake |
96 |
+ |
97 |
+DESCRIPTION="GNUstep Objective-C runtime" |
98 |
+HOMEPAGE="http://www.gnustep.org" |
99 |
+SRC_URI="https://github.com/gnustep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz |
100 |
+ https://github.com/Tessil/robin-map/archive/757de82.tar.gz" |
101 |
+ |
102 |
+LICENSE="MIT" |
103 |
+SLOT="0" |
104 |
+KEYWORDS="~amd64 ~x86" |
105 |
+IUSE="boehm-gc test" |
106 |
+RESTRICT="!test? ( test )" |
107 |
+ |
108 |
+RDEPEND="boehm-gc? ( dev-libs/boehm-gc )" |
109 |
+BDEPEND="${RDEPEND} |
110 |
+ sys-devel/clang" |
111 |
+ |
112 |
+PATCHES=( |
113 |
+ "${FILESDIR}"/${P}-eh_trampoline.patch |
114 |
+ "${FILESDIR}"/${P}-pthread_link.patch |
115 |
+) |
116 |
+ |
117 |
+src_prepare() { |
118 |
+ cmake_src_prepare |
119 |
+ cp -a "${WORKDIR}"/robin-map-757de829927489bee55ab02147484850c687b620/* \ |
120 |
+ "${S}"/third_party/robin-map || die |
121 |
+} |
122 |
+ |
123 |
+src_configure() { |
124 |
+ export CC="clang" |
125 |
+ export CXX="clang++" |
126 |
+ local mycmakeargs=( |
127 |
+ -DGNUSTEP_CONFIG=GNUSTEP_CONFIG-NOTFOUND |
128 |
+ -DBOEHM_GC="$(usex boehm-gc)" |
129 |
+ -DTESTS="$(usex test)" |
130 |
+ ) |
131 |
+ cmake_src_configure |
132 |
+} |