diff options
Diffstat (limited to 'games-action/openclonk')
-rw-r--r-- | games-action/openclonk/Manifest | 6 | ||||
-rw-r--r-- | games-action/openclonk/files/openclonk-7.0-paths.patch | 68 | ||||
-rw-r--r-- | games-action/openclonk/files/openclonk-7.0-postinst.patch | 14 | ||||
-rw-r--r-- | games-action/openclonk/files/openclonk-wrapper-script.sh | 9 | ||||
-rw-r--r-- | games-action/openclonk/metadata.xml | 23 | ||||
-rw-r--r-- | games-action/openclonk/openclonk-7.0.ebuild | 122 |
6 files changed, 242 insertions, 0 deletions
diff --git a/games-action/openclonk/Manifest b/games-action/openclonk/Manifest new file mode 100644 index 000000000000..37921f643a59 --- /dev/null +++ b/games-action/openclonk/Manifest @@ -0,0 +1,6 @@ +AUX openclonk-7.0-paths.patch 2792 BLAKE2B e8ff47e3881236795cabb3c3c7374059da692bbdf8edd1866d303c6f63389d529ccbf854a80e70a73cabbabe06c41a9820ddd5a918798319ec31c1ec6c3dd5a4 SHA512 3079ce128cba9b822bdb2df404a51a28df4152041d86bc55f10f6ddd057e29127b57da71471dd256fe48de9e30c1a33c760d99868c6611806e7468a2164d886c +AUX openclonk-7.0-postinst.patch 668 BLAKE2B 7f39cf553e209fad91466ad99682bf92eaee809616828e558562d28fac088d2cdc5fde744093e855eb7d4153dbe3bc98d9424559fa5e1ca17bbe8bed05679136 SHA512 77258633e8a4601f53666520561c40a533699d8de3429463d66a2b9659105c7838a099371648a92d91d1b1226abd6dd277717645e7409aed7ee40439bfab3634 +AUX openclonk-wrapper-script.sh 229 BLAKE2B 5645fe9fd40d59a8284a71fdbea5d3c9728d1209cc11ce6e0d6a67ecba6bdc1b43e55c58c3664d452097c7236bd0f0b226c3fefb3a78ffdd9c960ca9f8c1c32d SHA512 d31a2ffa6dbb014cfe3761d5a8b52b33f6b658cda317d0f7fc91ad8cc869fd93c486f9808da9ebe03e75255b7b2fedc2ef6c4f6372f1dce0575771ae9471a8a3 +DIST openclonk-7.0-src.tar.bz2 102143348 BLAKE2B 2ea6aa1aaca21795c80ee668b17fbfbfe0d5bc4fb4607066eb75e3d25ba0e81de06959e335ab8076cda04b05c4569ea1fcc02d9856e010f12e7ad678ead8519b SHA512 b7ea557b5441986c0527abcb9c074c462f73bf45dd7ac4835329169d63ace5cc02e122d0dee7241da8621a7727ce9b09a2ad17e06dfc5610fcb529d350a51577 +EBUILD openclonk-7.0.ebuild 2574 BLAKE2B 97e471d2120b211476cc7eb8777d033aebc5f6ed249b198b2352abdb92f9c1d856d03a382c1268536458cef001d988eb724a55763b03856a044f3ed86492acfe SHA512 de817e06328ceb5ea2d3e520db5336da3125002874a84d8c6e2f8c91546ccb0710d03d48ac4a2e80ce43f307b7e6ae20cc1a9eff15594e4c5d71e9c739e73e81 +MISC metadata.xml 1027 BLAKE2B 65056dd55948b37edd79afa73dfd801581b9aa178fe515b387a3a41bee4d4e500a5a4572592d4eba328e8ea0250d2f2d16278ebc1a18ee9b57db158e0829efe7 SHA512 566eb22d22644a7a16f94246b0f461ac7cac26702e2a21c443790f735155b8d30507862728847ab93f4e9c036561580363ef29de2173499e4b802a828ab1616f diff --git a/games-action/openclonk/files/openclonk-7.0-paths.patch b/games-action/openclonk/files/openclonk-7.0-paths.patch new file mode 100644 index 000000000000..4ebd6034a59b --- /dev/null +++ b/games-action/openclonk/files/openclonk-7.0-paths.patch @@ -0,0 +1,68 @@ +Updated for openclonk-6.0, based on this patch: + From: Julian Ospald <hasufell@gentoo.org> + Date: Thu Feb 6 19:58:45 UTC 2014 + Subject: make paths modifiable + +--- openclonk-release-6.0-src.orig/CMakeLists.txt ++++ openclonk-release-6.0-src/CMakeLists.txt +@@ -42,6 +42,16 @@ + set(${_var} "${_string}" PARENT_SCOPE) + endfunction() + ++ ++############################################################################ ++# User selectable paths ++############################################################################ ++set(INSTALL_BINDIR "bin/" CACHE PATH "Binary install destination") ++set(INSTALL_GAMES_BINDIR "games/bin" CACHE PATH "Games binary install destination") ++set(INSTALL_DATAROOTDIR "share/" CACHE PATH "Data root install destination") ++set(INSTALL_DATADIR "${INSTALL_DATAROOTDIR}" CACHE PATH "Data install destination") ++ ++ + ############################################################################ + # User selectable options + ############################################################################ +@@ -1212,10 +1222,16 @@ + # Assemble compiler flags + ############################################################################ + if(UNIX) ++ if(NOT IS_ABSOLUTE "${INSTALL_DATADIR}") ++ set(ABSOLUTE_INSTALL_DATADIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_DATADIR}") ++ else() ++ set(ABSOLUTE_INSTALL_DATADIR "${INSTALL_DATADIR}") ++ endif() ++ + # Don't put this into CMAKE_CXX_FLAGS because otherwise it is cached, + # and when the path is changed both the old and new definition appears + # in the list of flags. +- add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/games/openclonk\"") ++ add_definitions("-DOC_SYSTEM_DATA_DIR=\"${ABSOLUTE_INSTALL_DATADIR}/openclonk\"") + endif() + if(OC_CXX_FLAGS) + list(REMOVE_DUPLICATES OC_CXX_FLAGS) +@@ -1537,7 +1553,7 @@ + DEPENDS "${native_c4group}" + VERBATIM + ) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION "${INSTALL_DATADIR}/openclonk") + endif() + endforeach() + +@@ -1546,13 +1562,13 @@ + add_dependencies(data groups) + + # Install new files +- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION share/applications) ++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION "${INSTALL_DATAROOTDIR}/applications") + # Update the MIME cache -- this makes the clonk:// protocol handler actually work + install(CODE "execute_process(COMMAND update-desktop-database)") + + # Install binaries +- install(TARGETS openclonk DESTINATION games) +- install(TARGETS c4group DESTINATION bin) ++ install(TARGETS openclonk DESTINATION "${INSTALL_GAMES_BINDIR}") ++ install(TARGETS c4group DESTINATION "${INSTALL_BINDIR}") + else() + install(TARGETS openclonk + BUNDLE DESTINATION . diff --git a/games-action/openclonk/files/openclonk-7.0-postinst.patch b/games-action/openclonk/files/openclonk-7.0-postinst.patch new file mode 100644 index 000000000000..26ad61ec6784 --- /dev/null +++ b/games-action/openclonk/files/openclonk-7.0-postinst.patch @@ -0,0 +1,14 @@ +update-desktop-database is called from the pkg_postinst stage instead. + +--- openclonk-release-6.0-src.orig/CMakeLists.txt ++++ openclonk-release-6.0-src/CMakeLists.txt +@@ -1564,7 +1564,8 @@ + # Install new files + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION "${INSTALL_DATAROOTDIR}/applications") + # Update the MIME cache -- this makes the clonk:// protocol handler actually work +- install(CODE "execute_process(COMMAND update-desktop-database)") ++ # --> ebuild, pkg_postinst stage ++ #install(CODE "execute_process(COMMAND update-desktop-database)") + + # Install binaries + install(TARGETS openclonk DESTINATION "${INSTALL_GAMES_BINDIR}") diff --git a/games-action/openclonk/files/openclonk-wrapper-script.sh b/games-action/openclonk/files/openclonk-wrapper-script.sh new file mode 100644 index 000000000000..9f7e64442887 --- /dev/null +++ b/games-action/openclonk/files/openclonk-wrapper-script.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# wrapper prevents the game to look for .ocp files in the current dir +# which can lead to weird behavior and game freeze + +[ -d ~/.clonk/openclonk ] || mkdir -p ~/.clonk/openclonk + +cd ~/.clonk/openclonk + +exec clonk "$@" diff --git a/games-action/openclonk/metadata.xml b/games-action/openclonk/metadata.xml new file mode 100644 index 000000000000..8d041fd7d412 --- /dev/null +++ b/games-action/openclonk/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <upstream> + <changelog>http://hg.openclonk.org/openclonk/</changelog> + <doc lang="en">http://wiki.openclonk.org/w/C4Script_Documentation</doc> + <bugs-to>http://bugs.openclonk.org/</bugs-to> + </upstream> + <longdescription lang="en"> + OpenClonk is the Open source successor of the Clonk gaming series. + OpenClonk is a project dedicated to the further development of the + Clonk game series. Our goal is to improve and make the real strengths + of Clonk more fun to play: Bustling mining, production lines and + economy, fast and fiddly melees. Another focus lies on the further + enchancement of the game engine and the extensibility/modability of + the game content with C4Script which has always been one of the most + important features of Clonk. + </longdescription> +</pkgmetadata> diff --git a/games-action/openclonk/openclonk-7.0.ebuild b/games-action/openclonk/openclonk-7.0.ebuild new file mode 100644 index 000000000000..46aeb31b45a4 --- /dev/null +++ b/games-action/openclonk/openclonk-7.0.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +inherit cmake-utils eutils gnome2-utils python-any-r1 fdo-mime toolchain-funcs games + +MY_P=${PN}-release-${PV}-src + +DESCRIPTION="A free multiplayer action game where you control clonks" +HOMEPAGE="https://openclonk.org/" +SRC_URI="http://www.openclonk.org/builds/release/${PV}/openclonk-${PV}-src.tar.bz2" + +LICENSE="BSD ISC CLONK-trademark LGPL-2.1 POSTGRESQL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dedicated doc" + +RDEPEND=" + >=dev-libs/boost-1.40:= + dev-libs/tinyxml + net-libs/libupnp + media-libs/libpng:0= + sys-libs/zlib + !dedicated? ( + dev-libs/glib:2 + media-libs/freealut + media-libs/freetype:2 + media-libs/glew + media-libs/libsdl[X,opengl,sound,video] + media-libs/libvorbis + media-libs/openal + media-libs/sdl-mixer[mp3,vorbis,wav] + virtual/jpeg:0= + virtual/opengl + virtual/glu + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libXrandr + x11-libs/libX11 + ) + dedicated? ( sys-libs/readline:0= )" +DEPEND="${RDEPEND} + || ( >=sys-devel/gcc-4.9 >=sys-devel/clang-3.3 ) + virtual/pkgconfig + doc? ( + ${PYTHON_DEPS} + dev-libs/libxml2[python] + sys-devel/gettext + )" + +PATCHES=( + "${FILESDIR}"/${P}-paths.patch + "${FILESDIR}"/${P}-postinst.patch +) +S=${WORKDIR}/${P}-src + +pkg_pretend() { + if [[ $(tc-getCXX) == *g++* && $(gcc-version) < 4.9 ]] ; then + die 'The active compiler needs to be gcc 4.9 (or newer) or clang' + else + einfo 'The active compiler should be ok' + fi +} + +pkg_setup() { + games_pkg_setup + use doc && python-any-r1_pkg_setup +} + +src_prepare() { + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + $(usex dedicated \ + "-DUSE_CONSOLE=ON -DUSE_X11=OFF -DUSE_GTK=OFF -DUSE_GTK3=OFF" \ + "-DUSE_CONSOLE=OFF -DUSE_X11=ON -DUSE_GTK=ON -DUSE_GTK3=ON") + -DWITH_AUTOMATIC_UPDATE=OFF + -DINSTALL_GAMES_BINDIR="${GAMES_BINDIR}" + -DINSTALL_DATADIR="${GAMES_DATADIR}" + -DUSE_STATIC_BOOST=OFF + -DUSE_SYSTEM_TINYXML=ON + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + use doc && emake -C docs +} + +src_install() { + cmake-utils_src_install + + if ! use dedicated; then + mv "${ED%/}${GAMES_BINDIR}/"{openclonk,clonk} || die + newgamesbin "${FILESDIR}"/${PN}-wrapper-script.sh ${PN} + fi + use doc && dohtml -r docs/online/* + + prepgamesdirs +} + +pkg_preinst() { + games_pkg_preinst + gnome2_icon_savelist +} + +pkg_postinst() { + games_pkg_postinst + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} |