diff options
author | Julian Ospald <hasufell@gentoo.org> | 2012-07-20 21:20:00 +0000 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2012-07-20 21:20:00 +0000 |
commit | 81cba4704de5ed6ff7fcaf4662c82d65c86227b4 (patch) | |
tree | 2c040373093f9d7425c752ad4f9328b3503fc305 /games-engines/odamex | |
parent | Mask next Calligra rc (diff) | |
download | gentoo-2-81cba4704de5ed6ff7fcaf4662c82d65c86227b4.tar.gz gentoo-2-81cba4704de5ed6ff7fcaf4662c82d65c86227b4.tar.bz2 gentoo-2-81cba4704de5ed6ff7fcaf4662c82d65c86227b4.zip |
initial import with Mike Wood wrt bug #197228
(Portage version: 2.2.0_alpha120/cvs/Linux x86_64)
Diffstat (limited to 'games-engines/odamex')
-rw-r--r-- | games-engines/odamex/ChangeLog | 8 | ||||
-rw-r--r-- | games-engines/odamex/files/odamex-0.6.1-build.patch | 212 | ||||
-rw-r--r-- | games-engines/odamex/metadata.xml | 36 | ||||
-rw-r--r-- | games-engines/odamex/odamex-0.6.1.ebuild | 96 |
4 files changed, 352 insertions, 0 deletions
diff --git a/games-engines/odamex/ChangeLog b/games-engines/odamex/ChangeLog new file mode 100644 index 000000000000..f397fcf11e19 --- /dev/null +++ b/games-engines/odamex/ChangeLog @@ -0,0 +1,8 @@ +# ChangeLog for games-engines/odamex +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/games-engines/odamex/ChangeLog,v 1.1 2012/07/20 21:20:00 hasufell Exp $ + + 20 Jul 2012; Julian Ospald <hasufell@gentoo.org> + +files/odamex-0.6.1-build.patch, +metadata.xml: + initial import with Mike Wood wrt bug #197228 + diff --git a/games-engines/odamex/files/odamex-0.6.1-build.patch b/games-engines/odamex/files/odamex-0.6.1-build.patch new file mode 100644 index 000000000000..152d19211200 --- /dev/null +++ b/games-engines/odamex/files/odamex-0.6.1-build.patch @@ -0,0 +1,212 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Sun Jul 15 10:08:51 UTC 2012 +Subject: build system + +a. add install rules and make paths modifiable +b. add odamex.wad install destination to wad search path +c. add various cmake options +d. use CMAKE_BINDIR as default bin patch in odalauncher + +--- odamex-src-0.6.1/CMakeLists.txt ++++ odamex-src-0.6.1/CMakeLists.txt +@@ -2,6 +2,26 @@ + project(Odamex)
+ cmake_minimum_required(VERSION 2.8)
+
++# cmake modules
++include( CMakeDependentOption )
++include( GNUInstallDirs )
++
++# options
++option(BUILD_CLIENT "Build client target" 1)
++option(BUILD_SERVER "Build server target" 1)
++option(BUILD_MASTER "Build master server target" 1)
++cmake_dependent_option( BUILD_ODALAUNCH "Build odalaunch target" 1 BUILD_CLIENT 0 )
++cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
++
++configure_file (
++ "${PROJECT_SOURCE_DIR}/config.h.in"
++ "${PROJECT_BINARY_DIR}/config.h"
++ )
++
++include_directories(
++ ${PROJECT_BINARY_DIR}
++)
++
+ set(PROJECT_VERSION 0.6.1)
+ set(PROJECT_COPYRIGHT "2006-2012")
+
+@@ -40,13 +60,31 @@ + set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+
+ # Subdirectories for individual projects
+-add_subdirectory(client)
+-add_subdirectory(server)
+-add_subdirectory(master)
+-add_subdirectory(odalaunch)
++if(BUILD_CLIENT)
++ add_subdirectory(client)
++endif()
++if(BUILD_SERVER)
++ add_subdirectory(server)
++endif()
++if(BUILD_MASTER)
++ add_subdirectory(master)
++endif()
++if(BUILD_ODALAUNCH)
++ add_subdirectory(odalaunch)
++endif()
++
++if(NOT BUILD_CLIENT AND NOT BUILD_SERVER AND NOT BUILD_MASTER)
++ message(FATAL_ERROR "No target chosen, doing nothing.")
++endif()
++
+
+ # Disable the ag-odalaunch target completely: -DNO_AG-ODALAUNCH_TARGET
+ # This is only really useful when setting up a universal build.
+ if(NOT NO_AG-ODALAUNCH_TARGET)
+ add_subdirectory(ag-odalaunch)
+ endif()
++
++# global install rules
++if(UNIX)
++ install(FILES odamex.wad DESTINATION ${CMAKE_INSTALL_DATADIR})
++endif()
+--- odamex-src-0.6.1/client/CMakeLists.txt ++++ odamex-src-0.6.1/client/CMakeLists.txt +@@ -52,7 +52,7 @@ +
+ # Portmidi configuration
+ find_package(PortMidi)
+-if(PortMidi_FOUND)
++if(PortMidi_FOUND AND ENABLE_PORTMIDI)
+ include_directories(${PortMidi_INCLUDE_DIR})
+ ADD_DEFINITIONS(-DPORTMIDI ${PortMidi_CFLAGS})
+ else()
+@@ -141,5 +141,8 @@ + " )
+ endif()
+
++ # UNIX install rules
++ elseif(UNIX)
++ install( TARGETS odamex DESTINATION ${CMAKE_INSTALL_BINDIR} )
+ endif()
+ endif()
+--- odamex-src-0.6.1/master/CMakeLists.txt ++++ odamex-src-0.6.1/master/CMakeLists.txt +@@ -12,3 +12,9 @@ + elseif(SOLARIS)
+ target_link_libraries(odamast socket nsl)
+ endif()
++
++# install rules
++if(UNIX)
++ install( TARGETS odamast DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
++
+--- odamex-src-0.6.1/odalaunch/CMakeLists.txt ++++ odamex-src-0.6.1/odalaunch/CMakeLists.txt +@@ -61,3 +61,9 @@ + )
+ endif()
+ endif()
++
++# install rules
++if(UNIX)
++ install( TARGETS odalaunch DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
++
+--- odamex-src-0.6.1/server/CMakeLists.txt ++++ odamex-src-0.6.1/server/CMakeLists.txt +@@ -39,3 +39,8 @@ + elseif(SOLARIS)
+ target_link_libraries(odasrv socket nsl)
+ endif()
++
++# install rules
++if(UNIX)
++ install( TARGETS odasrv DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
+--- /dev/null ++++ odamex-src-0.6.1/config.h.in +@@ -0,0 +1,7 @@ ++#ifndef CONFIG_H ++#define CONFIG_H ++ ++#define CMAKE_WADDIR "@CMAKE_INSTALL_DATADIR@" ++#define CMAKE_BINDIR "@CMAKE_INSTALL_BINDIR@" ++ ++#endif +--- odamex-src-0.6.1/client/src/d_main.cpp ++++ odamex-src-0.6.1/client/src/d_main.cpp +@@ -25,6 +25,7 @@ + //----------------------------------------------------------------------------- + + #include "version.h" ++#include "config.h" + + #include <sstream> + #include <string> +@@ -836,6 +837,7 @@ + D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator); + D_AddSearchDir(dirs, getenv("HOME"), separator); + D_AddSearchDir(dirs, waddirs.cstring(), separator); ++ D_AddSearchDir(dirs, CMAKE_WADDIR, separator); + + dirs.erase(std::unique(dirs.begin(), dirs.end()), dirs.end()); + +--- odamex-src-0.6.1/server/src/d_main.cpp ++++ odamex-src-0.6.1/server/src/d_main.cpp +@@ -25,6 +25,7 @@ + //----------------------------------------------------------------------------- + + #include "version.h" ++#include "config.h" + + #include <sstream> + #include <string> +@@ -628,9 +629,9 @@ + D_AddSearchDir(dirs, Args.CheckValue("-waddir"), separator); + D_AddSearchDir(dirs, getenv("DOOMWADDIR"), separator); + D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator); +- D_AddSearchDir(dirs, getenv("HOME"), separator); +- D_AddSearchDir(dirs, waddirs.cstring(), separator); +- ++ D_AddSearchDir(dirs, getenv("HOME"), separator); ++ D_AddSearchDir(dirs, waddirs.cstring(), separator); ++ D_AddSearchDir(dirs, CMAKE_WADDIR, separator); + + dirs.erase(std::unique(dirs.begin(), dirs.end()), dirs.end()); + +--- odamex-src-0.6.1/odalaunch/src/dlg_main.cpp ++++ odamex-src-0.6.1/odalaunch/src/dlg_main.cpp +@@ -27,6 +27,7 @@ + #include "str_utils.h" + + #include "md5.h" ++#include "config.h" + + #include <wx/settings.h> + #include <wx/menu.h> +@@ -42,6 +43,7 @@ + #include <wx/process.h> + #include <wx/toolbar.h> + #include <wx/xrc/xmlres.h> ++#include <wx/string.h> + + #ifdef __WXMSW__ + #include <windows.h> +@@ -190,10 +192,12 @@ + } + #endif + ++ const char *cmake_bindir_str = CMAKE_BINDIR; ++ wxString cmake_bindir = wxString::FromAscii(cmake_bindir_str); + launchercfg_s.get_list_on_start = 1; + launchercfg_s.show_blocked_servers = 0; + launchercfg_s.wad_paths = wxGetCwd(); +- launchercfg_s.odamex_directory = wxGetCwd(); ++ launchercfg_s.odamex_directory = cmake_bindir; + + m_LstCtrlServers = XRCCTRL(*this, "Id_LstCtrlServers", LstOdaServerList); + m_LstCtrlPlayers = XRCCTRL(*this, "Id_LstCtrlPlayers", LstOdaPlayerList); diff --git a/games-engines/odamex/metadata.xml b/games-engines/odamex/metadata.xml new file mode 100644 index 000000000000..403b5348bbb7 --- /dev/null +++ b/games-engines/odamex/metadata.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>games</herd> + <maintainer> + <email>hasufell@gentoo.org</email> + <name>Julian Ospald</name> + <description>Maintainer, assign bugs to him</description> + </maintainer> + <maintainer> + <email>mwoodj@knology.net</email> + <name>Mike Wood</name> + <description>Proxy maintainer. CC him on bugs</description> + </maintainer> + <use> + <flag name="odalaunch">Build the wxwidgets based launcher.</flag> + <flag name="master">Build master server target (advertises odamex server list)</flag> + <flag name="portmidi">Enable portmidi support.</flag> + <flag name="server">Build server target.</flag> + </use> + <upstream> + <changelog>http://odamex.net/changelog.php</changelog> + <doc lang="en">http://odamex.net/wiki/Odamex</doc> + <bugs-to>http://odamex.net/bugs/</bugs-to> + </upstream> + <longdescription lang="en"> + Odamex is a free and open source port for the classic + first-person-shooter Doom. Odamex's goal is to emulate the feel of and + retain many aspects of the original Doom executables while offering a + broader expanse of security features, personal configuration, gameplay + options, and editing features. Odamex can run on a wide range of + operating systems and hardware, so players should be able to play + on almost any platform. + </longdescription> +</pkgmetadata> + diff --git a/games-engines/odamex/odamex-0.6.1.ebuild b/games-engines/odamex/odamex-0.6.1.ebuild new file mode 100644 index 000000000000..d56751a0eed6 --- /dev/null +++ b/games-engines/odamex/odamex-0.6.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-engines/odamex/odamex-0.6.1.ebuild,v 1.1 2012/07/20 21:20:00 hasufell Exp $ + +EAPI=4 +WX_GTK_VER="2.8" +inherit cmake-utils eutils gnome2-utils wxwidgets games + +MY_P=${PN}-src-${PV} +DESCRIPTION="An online multiplayer, free software engine for Doom and Doom II" +HOMEPAGE="http://odamex.net/" +SRC_URI="mirror://sourceforge/${PN}/Odamex/${PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dedicated +odalaunch master portmidi server" + +RDEPEND=" + !dedicated? ( + >=media-libs/libsdl-1.2.9[X,audio,joystick,video] + >=media-libs/sdl-mixer-1.2.6 + odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) + portmidi? ( media-libs/portmidi ) + )" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}"/${P}-build.patch +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_BINDIR="${GAMES_BINDIR}" + -DCMAKE_INSTALL_DATADIR="${GAMES_DATADIR}"/${PN} + $(cmake-utils_use_build master MASTER) + ) + + if use dedicated ; then + mycmakeargs+=( + -DBUILD_CLIENT=OFF + -DBUILD_ODALAUNCH=OFF + -DBUILD_SERVER=ON + -DENABLE_PORTMIDI=OFF + ) + else + mycmakeargs+=( + -DBUILD_CLIENT=ON + $(cmake-utils_use_build odalaunch ODALAUNCH) + $(cmake-utils_use_build server SERVER) + $(cmake-utils_use_enable portmidi PORTMIDI) + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + if ! use dedicated ; then + newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png" + make_desktop_entry ${PN} + + if use odalaunch ; then + newicon -s 128 "${S}/media/icon_odalaunch_128.png" "odalaunch.png" + make_desktop_entry odalaunch "Odamex Launcher" odalaunch + fi + fi + + prepgamesdirs +} + +pkg_preinst() { + games_pkg_preinst + gnome2_icon_savelist +} + +pkg_postinst() { + games_pkg_postinst + einfo + elog "This is just the engine, you will need doom resource files in order to play." + elog "Check: http://odamex.net/wiki/FAQ#What_data_files_are_required.3F" + einfo + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} |