Gentoo Archives: gentoo-commits

From: Stefan Strogin <steils@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-games/mygui/files/, dev-games/mygui/
Date: Wed, 12 Feb 2020 05:34:48
Message-Id: 1581485654.8d9db411331b8bedd40cf819f590a6827ed4dcba.steils@gentoo
1 commit: 8d9db411331b8bedd40cf819f590a6827ed4dcba
2 Author: Stefan Strogin <steils <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 12 05:18:15 2020 +0000
4 Commit: Stefan Strogin <steils <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 12 05:34:14 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d9db411
7
8 dev-games/mygui: version bump to 3.4.0
9
10 Package-Manager: Portage-2.3.88, Repoman-2.3.20
11 Signed-off-by: Stefan Strogin <steils <AT> gentoo.org>
12
13 dev-games/mygui/Manifest | 1 +
14 dev-games/mygui/files/mygui-3.4.0-build.patch | 61 ++++++++
15 .../mygui/files/mygui-3.4.0-underlinking.patch | 21 +++
16 dev-games/mygui/mygui-3.4.0.ebuild | 159 +++++++++++++++++++++
17 4 files changed, 242 insertions(+)
18
19 diff --git a/dev-games/mygui/Manifest b/dev-games/mygui/Manifest
20 index 901646e5996..0a6549d1495 100644
21 --- a/dev-games/mygui/Manifest
22 +++ b/dev-games/mygui/Manifest
23 @@ -1 +1,2 @@
24 DIST MyGUI3.2.2.tar.gz 22081236 BLAKE2B 3a28e0838a8203d20565822d5a19423a733149cca250dc4169de43f22beb7d37fccbf3d282ea9b4f284cb71df2df9a9073bac40124e1d8a90d15c5fda2af798a SHA512 1290ce1d78b9e4bfe72bea3fb1bc6cdd25969b44be2844df62a1f425b3e221a68b61658fdf45271fb50a1957f12b5ada1c9be971e00ecfe41f53ae0a83ae18d4
25 +DIST mygui-3.4.0.tar.gz 22391483 BLAKE2B 5628cca98625285368b9363acd95e541e1ba7d86fd1d471f687c553d0f0abd9ccb2f47981cf0bb91f44a68489bb7ec3fbcb451734758e2435ab9ef320214465a SHA512 3f560fd9c7e5b514da40e41c7753dc20649f80b763f5ee20afc9627df3be14242ea833eff09eac16b9e88b1c9fbed7c09def0c5068c832e710c247191fb53487
26
27 diff --git a/dev-games/mygui/files/mygui-3.4.0-build.patch b/dev-games/mygui/files/mygui-3.4.0-build.patch
28 new file mode 100644
29 index 00000000000..71ed87d8bcb
30 --- /dev/null
31 +++ b/dev-games/mygui/files/mygui-3.4.0-build.patch
32 @@ -0,0 +1,61 @@
33 +diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake
34 +--- a/CMake/ConfigureBuild.cmake
35 ++++ b/CMake/ConfigureBuild.cmake
36 +@@ -4,6 +4,8 @@
37 + # also prepare package files for pkg-config and CMake.
38 + #######################################################################
39 +
40 ++include(GNUInstallDirs)
41 ++
42 + # should we build static libs?
43 + if (MYGUI_STATIC)
44 + set(MYGUI_LIB_TYPE STATIC)
45 +@@ -47,7 +49,7 @@ if (UNIX)
46 + else ()
47 + configure_file(${MYGUI_TEMPLATES_DIR}/MYGUI.pc.in ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc @ONLY)
48 + endif ()
49 +- install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION lib/pkgconfig)
50 ++ install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
51 +
52 + # configure additional packages
53 +
54 +diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
55 +--- a/CMake/Utils/MyGUIConfigTargets.cmake
56 ++++ b/CMake/Utils/MyGUIConfigTargets.cmake
57 +@@ -1,6 +1,8 @@
58 + # Configure settings and install targets
59 + # FIXME: Copypasted from Ogre and need lots of changes
60 +
61 ++include(GNUInstallDirs)
62 ++
63 + if (WIN32)
64 + set(MYGUI_RELEASE_PATH "/Release")
65 + set(MYGUI_RELWDBG_PATH "/RelWithDebInfo")
66 +@@ -32,6 +34,12 @@ endif ()
67 +
68 + # install targets according to current build type
69 + function(mygui_install_target TARGETNAME SUFFIX)
70 ++ install(TARGETS ${TARGETNAME}
71 ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" CONFIGURATIONS Gentoo ""
72 ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo ""
73 ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo ""
74 ++ FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS Gentoo ""
75 ++ )
76 + install(TARGETS ${TARGETNAME}
77 + RUNTIME DESTINATION "bin${MYGUI_RELEASE_PATH}" CONFIGURATIONS Release None ""
78 + LIBRARY DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
79 +@@ -183,7 +191,13 @@ function(mygui_app PROJECTNAME SOLUTIONFOLDER)
80 + endif ()
81 + add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
82 + endif ()
83 +- set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
84 ++
85 ++ # rename demo target
86 ++ if (${SOLUTIONFOLDER} STREQUAL "Demos")
87 ++ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER} OUTPUT_NAME MYGUI-${PROJECTNAME})
88 ++ else()
89 ++ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
90 ++ endif()
91 +
92 + add_dependencies(${PROJECTNAME} MyGUIEngine Common)
93 +
94
95 diff --git a/dev-games/mygui/files/mygui-3.4.0-underlinking.patch b/dev-games/mygui/files/mygui-3.4.0-underlinking.patch
96 new file mode 100644
97 index 00000000000..1dcf2dbbbfd
98 --- /dev/null
99 +++ b/dev-games/mygui/files/mygui-3.4.0-underlinking.patch
100 @@ -0,0 +1,21 @@
101 +From: Julian Ospald <hasufell@g.o>
102 +Date: Fri Jun 15 10:42:42 UTC 2012
103 +Subject: build system
104 +
105 +fix underlinking
106 +
107 +diff --git a/MyGUIEngine/CMakeLists.txt b/MyGUIEngine/CMakeLists.txt
108 +--- a/MyGUIEngine/CMakeLists.txt
109 ++++ b/MyGUIEngine/CMakeLists.txt
110 +@@ -44,7 +44,10 @@ if (MYGUI_USE_FREETYPE)
111 + target_link_libraries(${PROJECTNAME}
112 + ${FREETYPE_LIBRARIES}
113 + ${ZLIB_LIBRARIES}
114 +- )
115 ++ dl)
116 ++else()
117 ++ target_link_libraries(${PROJECTNAME}
118 ++ dl)
119 + endif()
120 +
121 + # platform specific dependencies
122
123 diff --git a/dev-games/mygui/mygui-3.4.0.ebuild b/dev-games/mygui/mygui-3.4.0.ebuild
124 new file mode 100644
125 index 00000000000..15c88e7a864
126 --- /dev/null
127 +++ b/dev-games/mygui/mygui-3.4.0.ebuild
128 @@ -0,0 +1,159 @@
129 +# Copyright 1999-2020 Gentoo Authors
130 +# Distributed under the terms of the GNU General Public License v2
131 +
132 +EAPI=7
133 +
134 +CMAKE_REMOVE_MODULES="yes"
135 +CMAKE_REMOVE_MODULES_LIST="FindFreetype"
136 +inherit cmake-utils flag-o-matic multilib
137 +
138 +MY_PN=MyGUI
139 +MY_P=${MY_PN}${PV}
140 +
141 +DESCRIPTION="A library for creating GUIs for games and 3D applications"
142 +HOMEPAGE="http://mygui.info"
143 +SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
144 +
145 +LICENSE="MIT"
146 +SLOT="0"
147 +KEYWORDS="~amd64 ~x86"
148 +IUSE="debug doc +ogre -opengl plugins samples static-libs test tools l10n_ru"
149 +RESTRICT="!test? ( test )"
150 +REQUIRED_USE="ogre? ( !opengl )
151 + opengl? ( !ogre )"
152 +
153 +RDEPEND="media-libs/freetype:2
154 + sys-libs/zlib
155 + ogre? (
156 + dev-games/ogre:0=[freeimage,opengl]
157 + samples? ( dev-games/ois )
158 + )
159 + opengl? (
160 + virtual/opengl
161 + media-libs/glew:0=
162 + )
163 + tools? ( dev-games/ois )"
164 +DEPEND="${RDEPEND}"
165 +BDEPEND="virtual/pkgconfig
166 + doc? ( app-doc/doxygen )"
167 +
168 +S=${WORKDIR}/mygui-${MY_P}
169 +STATIC_BUILD=${WORKDIR}/${P}_build_static
170 +
171 +PATCHES=(
172 + "${FILESDIR}"/${P}-underlinking.patch
173 + "${FILESDIR}"/${P}-build.patch
174 + "${FILESDIR}"/${PN}-3.2.2-FHS.patch
175 +)
176 +
177 +pkg_setup() {
178 + if use samples && use !ogre ; then
179 + ewarn "Samples disabled, because they only work with ogre!"
180 + ewarn "Enable ogre USE flag if you want to use samples."
181 + fi
182 +}
183 +
184 +src_configure() {
185 + use debug && append-cppflags -DDEBUG
186 +
187 + local mycmakeargs=()
188 +
189 + # static configuration
190 + if use static-libs ; then
191 + mycmakeargs=( -DMYGUI_STATIC=ON
192 + -DMYGUI_BUILD_DOCS=OFF
193 + -DMYGUI_INSTALL_DOCS=OFF
194 + -DMYGUI_USE_FREETYPE=ON
195 + $(cmake-utils_use plugins MYGUI_BUILD_PLUGINS)
196 + -DMYGUI_BUILD_DEMOS=OFF
197 + -DMYGUI_INSTALL_SAMPLES=OFF
198 + -DMYGUI_BUILD_TOOLS=OFF
199 + -DMYGUI_INSTALL_TOOLS=OFF
200 + -DMYGUI_BUILD_WRAPPER=OFF
201 + -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")") )
202 +
203 + CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_configure
204 + unset mycmakeargs
205 + fi
206 +
207 + # main configuration
208 + mycmakeargs=(
209 + -DMYGUI_STATIC=OFF
210 + -DMYGUI_BUILD_DOCS=$(usex doc)
211 + -DMYGUI_INSTALL_DOCS=$(usex doc)
212 + -DMYGUI_USE_FREETYPE=ON
213 + -DMYGUI_BUILD_PLUGINS=$(usex plugins)
214 + -DMYGUI_BUILD_TOOLS=$(usex tools)
215 + -DMYGUI_INSTALL_TOOLS=$(usex tools)
216 + -DMYGUI_USE_SYSTEM_GLEW=$(usex opengl)
217 + -DMYGUI_BUILD_WRAPPER=OFF
218 + -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")")
219 + )
220 +
221 + if use ogre && use samples; then
222 + mycmakeargs+=(
223 + -DMYGUI_BUILD_DEMOS=ON
224 + -DMYGUI_INSTALL_SAMPLES=ON
225 + )
226 + else
227 + mycmakeargs+=(
228 + -DMYGUI_BUILD_DEMOS=OFF
229 + -DMYGUI_INSTALL_SAMPLES=OFF
230 + )
231 +
232 + fi
233 +
234 + if use tools || (use samples && use ogre) ; then
235 + mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=ON )
236 + else
237 + mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=OFF )
238 + fi
239 +
240 + cmake-utils_src_configure
241 +}
242 +
243 +src_compile() {
244 + # build system does not support building static and shared at once,
245 + # run a double build
246 + if use static-libs ; then
247 + CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_compile
248 + fi
249 +
250 + cmake-utils_src_compile
251 +
252 + use doc && emake -C "${CMAKE_BUILD_DIR}"/Docs api-docs
253 +}
254 +
255 +src_install() {
256 + cmake-utils_src_install
257 +
258 + if use static-libs ; then
259 + find "${STATIC_BUILD}" -name "*.a" \! -name "libCommon.a" -exec dolib.a '{}' \;
260 + insinto /usr/$(get_libdir)/pkgconfig
261 + doins "${STATIC_BUILD}"/pkgconfig/MYGUIStatic.pc
262 + fi
263 +
264 + if use doc ; then
265 + dodoc -r "${CMAKE_BUILD_DIR}"/Docs/html/
266 +
267 + if use l10n_ru ; then
268 + docompress -x /usr/share/doc/${PF}/Papers
269 + dodoc -r Docs/Papers
270 + fi
271 + fi
272 +
273 + keepdir /etc/MYGUI
274 + fperms o+w /etc/MYGUI
275 +
276 + # test media not needed at runtime
277 + rm -rf "${ED%/}"/usr/share/MYGUI/Media/UnitTests || die
278 + # wrapper not available for linux, remove related media
279 + rm -rf "${ED%/}"/usr/share/MYGUI/Media/Wrapper || die
280 +}
281 +
282 +pkg_postinst() {
283 + elog
284 + elog "ogre.cfg and Ogre.log are created as"
285 + elog "${EROOT%/}/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log"
286 + elog
287 +}