summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2012-12-15 23:23:42 +0000
committerJulian Ospald <hasufell@gentoo.org>2012-12-15 23:23:42 +0000
commit04459e466ab6e62f603e2766630c7ddfc838015e (patch)
tree3bf4dfb0caef8b187b219f996ea951c26d3f0994 /games-engines
parentMigrate to distutils-r1. (diff)
downloadgentoo-2-04459e466ab6e62f603e2766630c7ddfc838015e.tar.gz
gentoo-2-04459e466ab6e62f603e2766630c7ddfc838015e.tar.bz2
gentoo-2-04459e466ab6e62f603e2766630c7ddfc838015e.zip
version bump
(Portage version: 2.2.0_alpha148/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/odamex/ChangeLog8
-rw-r--r--games-engines/odamex/files/odamex-0.6.2-build.patch204
-rw-r--r--games-engines/odamex/odamex-0.6.2.ebuild96
3 files changed, 307 insertions, 1 deletions
diff --git a/games-engines/odamex/ChangeLog b/games-engines/odamex/ChangeLog
index 1fae40a0a30e..5e8aa3fad467 100644
--- a/games-engines/odamex/ChangeLog
+++ b/games-engines/odamex/ChangeLog
@@ -1,6 +1,12 @@
# 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.3 2012/09/23 08:04:24 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-engines/odamex/ChangeLog,v 1.4 2012/12/15 23:23:42 hasufell Exp $
+
+*odamex-0.6.2 (15 Dec 2012)
+
+ 15 Dec 2012; Julian Ospald <hasufell@gentoo.org> +odamex-0.6.2.ebuild,
+ +files/odamex-0.6.2-build.patch:
+ version bump
23 Sep 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> odamex-0.6.1.ebuild:
x86 stable wrt bug #432726
diff --git a/games-engines/odamex/files/odamex-0.6.2-build.patch b/games-engines/odamex/files/odamex-0.6.2-build.patch
new file mode 100644
index 000000000000..f5a7905e3788
--- /dev/null
+++ b/games-engines/odamex/files/odamex-0.6.2-build.patch
@@ -0,0 +1,204 @@
+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.2/CMakeLists.txt
++++ odamex-src-0.6.2/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.2)
+ 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.2/client/CMakeLists.txt
++++ odamex-src-0.6.2/client/CMakeLists.txt
+@@ -55,11 +55,11 @@
+ "Path to PortMIDI base directory. Only necessary if you get errors about PortMIDI not being found, or if you want to use a different installation of PortMIDI.")
+ set(ENV{PORTMIDI_DIR} ${PORTMIDI_DIR})
+ find_package(PortMidi)
+-if(PORTMIDI_FOUND)
++if(PORTMIDI_FOUND AND ENABLE_PORTMIDI)
+ include_directories(${PORTMIDI_INCLUDE_DIR})
+ add_definitions(-DPORTMIDI)
+ else()
+- message(WARNING "PortMidi not found, client will not be built with PortMidi support.")
++ message(WARNING "PortMidi not found or disabled, client will not be built with PortMidi support.")
+ endif()
+
+ # Find Mac frameworks
+@@ -79,7 +79,7 @@
+ ${CLIENT_SOURCES} ${CLIENT_HEADERS} ${CLIENT_WIN32_RESOURCES}
+ ${CLIENT_MAC_OBJC_SOURCES})
+ target_link_libraries(odamex ${SDL_LIBRARY} ${SDLMIXER_LIBRARY})
+- if(PORTMIDI_FOUND)
++ if(PORTMIDI_FOUND AND ENABLE_PORTMIDI)
+ target_link_libraries(odamex ${PORTMIDI_LIBRARIES})
+ endif()
+ if(WIN32)
+@@ -146,6 +146,8 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/odamex.app/Contents/MacOS/odamex)
+ " )
+ endif()
+-
++ # UNIX install rules
++ elseif(UNIX)
++ install( TARGETS odamex DESTINATION ${CMAKE_INSTALL_BINDIR} )
+ endif()
+ endif()
+--- odamex-src-0.6.2/master/CMakeLists.txt
++++ odamex-src-0.6.2/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.2/odalaunch/CMakeLists.txt
++++ odamex-src-0.6.2/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.2/server/CMakeLists.txt
++++ odamex-src-0.6.2/server/CMakeLists.txt
+@@ -50,3 +50,8 @@
+ target_link_libraries(odasrv socket nsl)
+ endif()
+ #endif()
++
++# install rules
++if(UNIX)
++ install( TARGETS odasrv DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
+--- /dev/null
++++ odamex-src-0.6.2/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.2/common/d_main.cpp
++++ odamex-src-0.6.2/common/d_main.cpp
+@@ -23,6 +23,7 @@
+ //-----------------------------------------------------------------------------
+
+ #include "version.h"
++#include "config.h"
+
+ #include <sstream>
+ #include <string>
+@@ -493,6 +494,7 @@
+ D_AddSearchDir(dirs, getenv("DOOMWADDIR"), separator);
+ D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator);
+ D_AddSearchDir(dirs, getenv("HOME"), separator);
++ D_AddSearchDir(dirs, CMAKE_WADDIR, separator);
+
+ // [AM] Search additional paths based on platform
+ D_AddPlatformSearchDirs(dirs);
+--- odamex-src-0.6.2/odalaunch/src/dlg_main.cpp
++++ odamex-src-0.6.2/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/odamex-0.6.2.ebuild b/games-engines/odamex/odamex-0.6.2.ebuild
new file mode 100644
index 000000000000..242d6ebf8987
--- /dev/null
+++ b/games-engines/odamex/odamex-0.6.2.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.2.ebuild,v 1.1 2012/12/15 23:23:42 hasufell Exp $
+
+EAPI=5
+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
+}