Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde-sunset:master commit in: dev-libs/qjson/, dev-libs/qjson/files/
Date: Sun, 16 Aug 2020 15:57:50
Message-Id: 1597593127.a4ef05fdd3eed1ada510fc359e6e328eb7d07fba.asturm@gentoo
1 commit: a4ef05fdd3eed1ada510fc359e6e328eb7d07fba
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 14 22:35:33 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 16 15:52:07 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/kde-sunset.git/commit/?id=a4ef05fd
7
8 dev-libs/qjson: Import from Gentoo ebuild repo before last-rites
9
10 Required by kde-apps/libkgapi.
11
12 Package-Manager: Portage-3.0.2, Repoman-2.3.23
13 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
14
15 .../qjson/files/qjson-0.9.0-featuresummary.patch | 73 ++++++++++++
16 .../qjson/files/qjson-0.9.0-gnuinstalldirs.patch | 123 +++++++++++++++++++++
17 dev-libs/qjson/metadata.xml | 10 ++
18 dev-libs/qjson/qjson-0.9.0.ebuild | 49 ++++++++
19 4 files changed, 255 insertions(+)
20
21 diff --git a/dev-libs/qjson/files/qjson-0.9.0-featuresummary.patch b/dev-libs/qjson/files/qjson-0.9.0-featuresummary.patch
22 new file mode 100644
23 index 00000000..6613410f
24 --- /dev/null
25 +++ b/dev-libs/qjson/files/qjson-0.9.0-featuresummary.patch
26 @@ -0,0 +1,73 @@
27 +From 7288382029f30b5e6ba7ac91b3b2e5d7f96d239a Mon Sep 17 00:00:00 2001
28 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
29 +Date: Sun, 9 Apr 2017 18:41:15 +0200
30 +Subject: [PATCH 2/2] Use FeatureSummary and simplify by requiring Qt-4.8
31 +
32 +---
33 + CMakeLists.txt | 26 ++++++++++----------------
34 + 1 file changed, 10 insertions(+), 16 deletions(-)
35 +
36 +diff --git a/CMakeLists.txt b/CMakeLists.txt
37 +index d0c44bb..5f1305e 100755
38 +--- a/CMakeLists.txt
39 ++++ b/CMakeLists.txt
40 +@@ -12,6 +12,7 @@ if(POLICY CMP0020)
41 + endif()
42 +
43 + include(GNUInstallDirs)
44 ++include(FeatureSummary)
45 +
46 + set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
47 +
48 +@@ -42,14 +43,14 @@ SET(FRAMEWORK_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/Library/Frameworks"
49 + # (This will have no effect with CMake < 2.8)
50 + SET(QT_USE_IMPORTED_TARGETS TRUE)
51 +
52 +-option(QT4_BUILD "Force building with Qt4 even if Qt5 is found")
53 ++option(QT4_BUILD "Force building with Qt4 even if Qt5 is found" OFF)
54 + IF (NOT QT4_BUILD)
55 +- FIND_PACKAGE( Qt5Core QUIET )
56 ++ FIND_PACKAGE( Qt5Core )
57 ++ELSE()
58 ++ MESSAGE ("Forced build with Qt4")
59 + ENDIF()
60 +
61 + IF (Qt5Core_FOUND)
62 +- MESSAGE ("Qt5 found")
63 +-
64 + INCLUDE_DIRECTORIES(${Qt5Core_INCLUDE_DIRS})
65 + ADD_DEFINITIONS(${Qt5Core_DEFINITIONS})
66 + SET(PC_Requires "Qt5Core")
67 +@@ -59,20 +60,11 @@ IF (Qt5Core_FOUND)
68 + # As moc files are generated in the binary dir, tell CMake
69 + # to always look for includes there:
70 + set(CMAKE_INCLUDE_CURRENT_DIR ON)
71 +- set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_USE_QSTRINGBUILDER" )
72 +- MESSAGE ("Enable QStringBuilder")
73 ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_USE_QSTRINGBUILDER" )
74 + ELSE()
75 +- MESSAGE ("Qt5 not found, searching for Qt4")
76 + # Find Qt4
77 +- FIND_PACKAGE( Qt4 4.5 REQUIRED )
78 +- # QStringBuilder is supported since Qt 4.8 for both QString and QByteArray
79 +- IF (NOT (${QT_VERSION_MINOR} STRLESS "8"))
80 +- MESSAGE ("Enable QStringBuilder")
81 +- set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_USE_QSTRINGBUILDER" )
82 +- ELSE()
83 +- MESSAGE ("Disable QStringBuilder")
84 +- ENDIF()
85 +-
86 ++ FIND_PACKAGE( Qt4 4.8 REQUIRED QtCore)
87 ++ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_USE_QSTRINGBUILDER" )
88 + # Include the cmake file needed to use qt4
89 + INCLUDE( ${QT_USE_FILE} )
90 + SET(PC_Requires "QtCore")
91 +@@ -131,3 +123,5 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/QJSON${QJSON_SUFFIX}Config.cmake
92 +
93 + ADD_CUSTOM_TARGET(uninstall
94 + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
95 ++
96 ++FEATURE_SUMMARY(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
97 +--
98 +2.12.2
99 +
100
101 diff --git a/dev-libs/qjson/files/qjson-0.9.0-gnuinstalldirs.patch b/dev-libs/qjson/files/qjson-0.9.0-gnuinstalldirs.patch
102 new file mode 100644
103 index 00000000..f51c2600
104 --- /dev/null
105 +++ b/dev-libs/qjson/files/qjson-0.9.0-gnuinstalldirs.patch
106 @@ -0,0 +1,123 @@
107 +From bec00c5c1b0a3da65de82e38bdd633ce8f284ec4 Mon Sep 17 00:00:00 2001
108 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
109 +Date: Sun, 9 Apr 2017 18:36:24 +0200
110 +Subject: [PATCH 1/2] Use GNUInstallDirs
111 +
112 +---
113 + CMakeLists.txt | 15 +++++----------
114 + QJSONConfig.cmake.in | 2 +-
115 + QJson.pc.in | 6 +++---
116 + src/CMakeLists.txt | 12 ++++++------
117 + 4 files changed, 15 insertions(+), 20 deletions(-)
118 +
119 +diff --git a/CMakeLists.txt b/CMakeLists.txt
120 +index 2fde79f..d0c44bb 100755
121 +--- a/CMakeLists.txt
122 ++++ b/CMakeLists.txt
123 +@@ -11,7 +11,9 @@ if(POLICY CMP0020)
124 + cmake_policy(SET CMP0020 OLD)
125 + endif()
126 +
127 +-set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
128 ++include(GNUInstallDirs)
129 ++
130 ++set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
131 +
132 + IF("${CMAKE_BUILD_TYPE}" MATCHES "^Rel.*")
133 + ADD_DEFINITIONS("-DQT_NO_DEBUG_OUTPUT")
134 +@@ -80,12 +82,7 @@ IF (NOT WIN32)
135 + SET( QT_DONT_USE_QTGUI TRUE )
136 + ENDIF()
137 +
138 +-
139 +-#add extra search paths for libraries and includes
140 +-SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
141 +-SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Directory where lib will install")
142 +-SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The directory the headers are installed in")
143 +-SET (CMAKECONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/${CMAKE_PROJECT_NAME}${QJSON_SUFFIX}" CACHE PATH "Directory where to install QJSONConfig.cmake")
144 ++SET (CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}${QJSON_SUFFIX}" CACHE PATH "Directory where to install QJSONConfig.cmake")
145 +
146 + set(QJSON_LIB_MAJOR_VERSION "0")
147 + set(QJSON_LIB_MINOR_VERSION "9")
148 +@@ -93,15 +90,13 @@ set(QJSON_LIB_PATCH_VERSION "0")
149 +
150 + set(QJSON_LIB_VERSION_STRING "${QJSON_LIB_MAJOR_VERSION}.${QJSON_LIB_MINOR_VERSION}.${QJSON_LIB_PATCH_VERSION}")
151 +
152 +-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
153 +-
154 + # pkg-config
155 + IF (NOT WIN32)
156 + CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/QJson.pc.in
157 + ${CMAKE_CURRENT_BINARY_DIR}/QJson${QJSON_SUFFIX}.pc
158 + @ONLY)
159 + INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/QJson${QJSON_SUFFIX}.pc
160 +- DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
161 ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
162 + ENDIF (NOT WIN32)
163 +
164 + # Subdirs
165 +diff --git a/QJSONConfig.cmake.in b/QJSONConfig.cmake.in
166 +index 0c4a1e6..22394cb 100644
167 +--- a/QJSONConfig.cmake.in
168 ++++ b/QJSONConfig.cmake.in
169 +@@ -1,6 +1,6 @@
170 + GET_FILENAME_COMPONENT(myDir ${CMAKE_CURRENT_LIST_FILE} PATH)
171 +
172 + SET(QJSON_LIBRARIES qjson)
173 +-SET(QJSON_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@")
174 ++SET(QJSON_INCLUDE_DIR "@CMAKE_INSTALL_INCLUDEDIR@")
175 +
176 + include(${myDir}/QJSON@QJSON_SUFFIX@×××××××.cmake)
177 +diff --git a/QJson.pc.in b/QJson.pc.in
178 +index 55abc28..4cb3de8 100644
179 +--- a/QJson.pc.in
180 ++++ b/QJson.pc.in
181 +@@ -1,11 +1,11 @@
182 + prefix=@CMAKE_INSTALL_PREFIX@
183 + exec_prefix=${prefix}
184 +-libdir=@LIB_INSTALL_DIR@
185 +-includedir=@INCLUDE_INSTALL_DIR@
186 ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
187 ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
188 +
189 + Name: QJson
190 + Description: QJson is a qt-based library that maps JSON data to QVariant objects
191 + Version: @QJSON_LIB_MAJOR_VERSION@.@QJSON_LIB_MINOR_VERSION@.@QJSON_LIB_PATCH_VERSION@
192 + Requires: @PC_Requires@
193 + Libs: -L${libdir} -lqjson
194 +-Cflags: -I${includedir}
195 +\ No newline at end of file
196 ++Cflags: -I${includedir}
197 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
198 +index 0ae7c40..0e461f7 100755
199 +--- a/src/CMakeLists.txt
200 ++++ b/src/CMakeLists.txt
201 +@@ -55,19 +55,19 @@ set_target_properties(qjson${QJSON_SUFFIX} PROPERTIES
202 + )
203 +
204 + INSTALL(TARGETS qjson${QJSON_SUFFIX} EXPORT qjson-export
205 +- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
206 +- RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
207 +- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
208 ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
209 ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
210 ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
211 + FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
212 +- PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/qjson${QJSON_SUFFIX}
213 ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/qjson${QJSON_SUFFIX}
214 + )
215 +
216 + if(MSVC)
217 + get_target_property(LOCATION qjson LOCATION_DEBUG)
218 + string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}")
219 +- install(FILES ${LOCATION} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin CONFIGURATIONS Debug)
220 ++ install(FILES ${LOCATION} DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS Debug)
221 +
222 + get_target_property(LOCATION qjson LOCATION_RELWITHDEBINFO)
223 + string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}")
224 +- install(FILES ${LOCATION} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin CONFIGURATIONS RelWithDebInfo)
225 ++ install(FILES ${LOCATION} DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS RelWithDebInfo)
226 + endif(MSVC)
227 +--
228 +2.12.2
229 +
230
231 diff --git a/dev-libs/qjson/metadata.xml b/dev-libs/qjson/metadata.xml
232 new file mode 100644
233 index 00000000..103cb8db
234 --- /dev/null
235 +++ b/dev-libs/qjson/metadata.xml
236 @@ -0,0 +1,10 @@
237 +<?xml version="1.0" encoding="UTF-8"?>
238 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
239 +<pkgmetadata>
240 + <!-- maintainer-needed -->
241 + <upstream>
242 + <remote-id type="github">flavio/qjson</remote-id>
243 + <bugs-to>https://github.com/flavio/qjson/issues</bugs-to>
244 + <remote-id type="sourceforge">qjson</remote-id>
245 + </upstream>
246 +</pkgmetadata>
247
248 diff --git a/dev-libs/qjson/qjson-0.9.0.ebuild b/dev-libs/qjson/qjson-0.9.0.ebuild
249 new file mode 100644
250 index 00000000..0daddec9
251 --- /dev/null
252 +++ b/dev-libs/qjson/qjson-0.9.0.ebuild
253 @@ -0,0 +1,49 @@
254 +# Copyright 1999-2020 Gentoo Authors
255 +# Distributed under the terms of the GNU General Public License v2
256 +
257 +EAPI=6
258 +
259 +inherit cmake-multilib
260 +
261 +DESCRIPTION="Library for mapping JSON data to QVariant objects"
262 +HOMEPAGE="http://qjson.sourceforge.net"
263 +SRC_URI="https://github.com/flavio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
264 +
265 +LICENSE="LGPL-2.1"
266 +SLOT="0"
267 +KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
268 +IUSE="debug doc test"
269 +
270 +RDEPEND="
271 + dev-qt/qtcore:4[${MULTILIB_USEDEP}]
272 +"
273 +DEPEND="${RDEPEND}
274 + doc? ( app-doc/doxygen )
275 + test? ( dev-qt/qttest:4[${MULTILIB_USEDEP}] )
276 +"
277 +
278 +DOCS=( ChangeLog README.md )
279 +
280 +PATCHES=(
281 + "${FILESDIR}/${P}-gnuinstalldirs.patch"
282 + "${FILESDIR}/${P}-featuresummary.patch"
283 +)
284 +
285 +multilib_src_configure() {
286 + local mycmakeargs=(
287 + -DQT4_BUILD=ON
288 + -DQJSON_BUILD_TESTS=$(usex test)
289 + )
290 +
291 + cmake-utils_src_configure
292 +}
293 +
294 +multilib_src_install_all() {
295 + if use doc && is_final_abi; then
296 + pushd doc > /dev/null || die
297 + doxygen Doxyfile || die "Generating documentation failed"
298 + HTML_DOCS=( doc/html/. )
299 + popd > /dev/null || die
300 + einstalldocs
301 + fi
302 +}