1 |
commit: cf938e7183d49f0da60052ddc884bc99643a49cc |
2 |
Author: Craig Andrews <candrews <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Dec 28 16:43:33 2020 +0000 |
4 |
Commit: Craig Andrews <candrews <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Dec 28 16:43:56 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf938e71 |
7 |
|
8 |
dev-libs/rapidjson: Drop dependency on valgrind; remove -march=native |
9 |
|
10 |
Closes: https://bugs.gentoo.org/760881 |
11 |
Package-Manager: Portage-3.0.12, Repoman-3.0.2 |
12 |
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org> |
13 |
|
14 |
.../files/rapidjson-1.1.0-system_gtest.patch | 44 ++++++++++++++++++++++ |
15 |
.../files/rapidjson-1.1.0-valgrind_optional.patch | 21 +++++++++++ |
16 |
.../files/rapidjson-1.1.1-valgrind_optional.patch | 21 +++++++++++ |
17 |
...djson-9999.ebuild => rapidjson-1.1.0-r3.ebuild} | 19 ++++++---- |
18 |
dev-libs/rapidjson/rapidjson-9999.ebuild | 18 +++++---- |
19 |
5 files changed, 108 insertions(+), 15 deletions(-) |
20 |
|
21 |
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch b/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch |
22 |
new file mode 100644 |
23 |
index 00000000000..bdc720e8cf8 |
24 |
--- /dev/null |
25 |
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch |
26 |
@@ -0,0 +1,44 @@ |
27 |
+--- /CMakeModules/FindGTestSrc.cmake |
28 |
++++ /CMakeModules/FindGTestSrc.cmake |
29 |
+@@ -1,30 +1,9 @@ |
30 |
+- |
31 |
+-SET(GTEST_SEARCH_PATH |
32 |
+- "${GTEST_SOURCE_DIR}" |
33 |
+- "${CMAKE_CURRENT_LIST_DIR}/../thirdparty/gtest/googletest") |
34 |
+- |
35 |
+-IF(UNIX) |
36 |
+- IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST) |
37 |
+- LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest") |
38 |
+- ELSE() |
39 |
+- LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest") |
40 |
+- ENDIF() |
41 |
+-ENDIF() |
42 |
+- |
43 |
+-FIND_PATH(GTEST_SOURCE_DIR |
44 |
+- NAMES CMakeLists.txt src/gtest_main.cc |
45 |
+- PATHS ${GTEST_SEARCH_PATH}) |
46 |
+- |
47 |
+- |
48 |
+ # Debian installs gtest include directory in /usr/include, thus need to look |
49 |
+ # for include directory separately from source directory. |
50 |
+ FIND_PATH(GTEST_INCLUDE_DIR |
51 |
+ NAMES gtest/gtest.h |
52 |
+- PATH_SUFFIXES include |
53 |
+- HINTS ${GTEST_SOURCE_DIR} |
54 |
+- PATHS ${GTEST_SEARCH_PATH}) |
55 |
++ PATH_SUFFIXES include) |
56 |
+ |
57 |
+ INCLUDE(FindPackageHandleStandardArgs) |
58 |
+ find_package_handle_standard_args(GTestSrc DEFAULT_MSG |
59 |
+- GTEST_SOURCE_DIR |
60 |
+ GTEST_INCLUDE_DIR) |
61 |
+--- /test/CMakeLists.txt |
62 |
++++ /test/CMakeLists.txt |
63 |
+@@ -8,7 +8,6 @@ |
64 |
+ set(gtest_force_shared_crt ON) |
65 |
+ endif() |
66 |
+ |
67 |
+- add_subdirectory(${GTEST_SOURCE_DIR} ${CMAKE_BINARY_DIR}/googletest) |
68 |
+ include_directories(SYSTEM ${GTEST_INCLUDE_DIR}) |
69 |
+ |
70 |
+ set(TEST_LIBRARIES gtest gtest_main) |
71 |
|
72 |
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch b/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch |
73 |
new file mode 100644 |
74 |
index 00000000000..071a3d2392d |
75 |
--- /dev/null |
76 |
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch |
77 |
@@ -0,0 +1,21 @@ |
78 |
+https://github.com/Tencent/rapidjson/issues/1808 |
79 |
+ |
80 |
+--- /test/unittest/CMakeLists.txt |
81 |
++++ /test/unittest/CMakeLists.txt |
82 |
+@@ -77,12 +77,15 @@ |
83 |
+ COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest |
84 |
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) |
85 |
+ |
86 |
+-if(NOT MSVC) |
87 |
++find_program(VALGRIND_EXECUTABLE valgrind) |
88 |
++if(VALGRIND_EXECUTABLE) |
89 |
+ # Not running SIMD.* unit test cases for Valgrind |
90 |
+ add_test(NAME valgrind_unittest |
91 |
+ COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest --gtest_filter=-SIMD.* |
92 |
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) |
93 |
++endif(VALGRIND_EXECUTABLE) |
94 |
+ |
95 |
++if(NOT MSVC) |
96 |
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") |
97 |
+ add_test(NAME symbol_check |
98 |
+ COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0" |
99 |
|
100 |
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch b/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch |
101 |
new file mode 100644 |
102 |
index 00000000000..b40a39fb13d |
103 |
--- /dev/null |
104 |
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch |
105 |
@@ -0,0 +1,21 @@ |
106 |
+https://github.com/Tencent/rapidjson/issues/1808 |
107 |
+ |
108 |
+--- /test/unittest/CMakeLists.txt |
109 |
++++ /test/unittest/CMakeLists.txt |
110 |
+@@ -78,12 +78,15 @@ |
111 |
+ COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest |
112 |
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) |
113 |
+ |
114 |
+-if(NOT MSVC) |
115 |
++find_program(VALGRIND_EXECUTABLE valgrind) |
116 |
++if(VALGRIND_EXECUTABLE) |
117 |
+ # Not running SIMD.* unit test cases for Valgrind |
118 |
+ add_test(NAME valgrind_unittest |
119 |
+ COMMAND valgrind --suppressions=${CMAKE_SOURCE_DIR}/test/valgrind.supp --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest --gtest_filter=-SIMD.* |
120 |
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) |
121 |
++endif(VALGRIND_EXECUTABLE) |
122 |
+ |
123 |
++if(NOT MSVC) |
124 |
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") |
125 |
+ add_test(NAME symbol_check |
126 |
+ COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0" |
127 |
|
128 |
diff --git a/dev-libs/rapidjson/rapidjson-9999.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild |
129 |
similarity index 72% |
130 |
copy from dev-libs/rapidjson/rapidjson-9999.ebuild |
131 |
copy to dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild |
132 |
index 7abb247fd71..546127329df 100644 |
133 |
--- a/dev-libs/rapidjson/rapidjson-9999.ebuild |
134 |
+++ b/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild |
135 |
@@ -15,27 +15,29 @@ SLOT="0" |
136 |
|
137 |
if [[ ${PV} == *9999 ]] ; then |
138 |
EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git" |
139 |
- EGIT_SUBMODULES=() |
140 |
inherit git-r3 |
141 |
else |
142 |
SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
143 |
- KEYWORDS="~amd64 ~x86" |
144 |
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86" |
145 |
S="${WORKDIR}/rapidjson-${PV}" |
146 |
fi |
147 |
|
148 |
DEPEND=" |
149 |
doc? ( app-doc/doxygen ) |
150 |
- test? ( |
151 |
- dev-cpp/gtest |
152 |
- dev-util/valgrind |
153 |
- )" |
154 |
+ test? ( dev-cpp/gtest )" |
155 |
RDEPEND="" |
156 |
|
157 |
+PATCHES=( |
158 |
+ "${FILESDIR}/${P}-gcc-7.patch" |
159 |
+ "${FILESDIR}/${P}-system_gtest.patch" |
160 |
+ "${FILESDIR}/${P}-valgrind_optional.patch" |
161 |
+) |
162 |
+ |
163 |
src_prepare() { |
164 |
cmake_src_prepare |
165 |
|
166 |
- sed -i -e 's|-Werror||g' CMakeLists.txt || die |
167 |
- sed -i -e 's|-Werror||g' example/CMakeLists.txt || die |
168 |
+ sed -i -e 's| -march=native||g' CMakeLists.txt || die |
169 |
+ sed -i -e 's| -Werror||g' CMakeLists.txt example/CMakeLists.txt test/unittest/CMakeLists.txt || die |
170 |
} |
171 |
|
172 |
src_configure() { |
173 |
@@ -46,6 +48,7 @@ src_configure() { |
174 |
-DRAPIDJSON_BUILD_EXAMPLES=$(usex examples) |
175 |
-DRAPIDJSON_BUILD_TESTS=$(usex test) |
176 |
-DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF |
177 |
+ -DVALGRIND_EXECUTABLE= |
178 |
) |
179 |
cmake_src_configure |
180 |
} |
181 |
|
182 |
diff --git a/dev-libs/rapidjson/rapidjson-9999.ebuild b/dev-libs/rapidjson/rapidjson-9999.ebuild |
183 |
index 7abb247fd71..081c33172b8 100644 |
184 |
--- a/dev-libs/rapidjson/rapidjson-9999.ebuild |
185 |
+++ b/dev-libs/rapidjson/rapidjson-9999.ebuild |
186 |
@@ -19,23 +19,26 @@ if [[ ${PV} == *9999 ]] ; then |
187 |
inherit git-r3 |
188 |
else |
189 |
SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
190 |
- KEYWORDS="~amd64 ~x86" |
191 |
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86" |
192 |
S="${WORKDIR}/rapidjson-${PV}" |
193 |
fi |
194 |
|
195 |
DEPEND=" |
196 |
doc? ( app-doc/doxygen ) |
197 |
- test? ( |
198 |
- dev-cpp/gtest |
199 |
- dev-util/valgrind |
200 |
- )" |
201 |
+ test? ( dev-cpp/gtest )" |
202 |
RDEPEND="" |
203 |
|
204 |
+PATCHES=( |
205 |
+ "${FILESDIR}/${PN}-1.1.0-system_gtest.patch" |
206 |
+ "${FILESDIR}/${PN}-1.1.1-valgrind_optional.patch" |
207 |
+) |
208 |
+ |
209 |
src_prepare() { |
210 |
cmake_src_prepare |
211 |
|
212 |
- sed -i -e 's|-Werror||g' CMakeLists.txt || die |
213 |
- sed -i -e 's|-Werror||g' example/CMakeLists.txt || die |
214 |
+ sed -i -e 's| -march=native||g' CMakeLists.txt || die |
215 |
+ sed -i -e 's| -mcpu=native||g' CMakeLists.txt || die |
216 |
+ sed -i -e 's| -Werror||g' CMakeLists.txt || die |
217 |
} |
218 |
|
219 |
src_configure() { |
220 |
@@ -46,6 +49,7 @@ src_configure() { |
221 |
-DRAPIDJSON_BUILD_EXAMPLES=$(usex examples) |
222 |
-DRAPIDJSON_BUILD_TESTS=$(usex test) |
223 |
-DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF |
224 |
+ -DVALGRIND_EXECUTABLE= |
225 |
) |
226 |
cmake_src_configure |
227 |
} |