]> Pileus Git - ~andy/sunrise/commitdiff
games-fps/vavoom: Upstream has switched build system to CMake, so i've changed the...
authorDavide Cendron <scen@gentoo.org>
Thu, 31 Jan 2008 23:18:35 +0000 (23:18 +0000)
committerDavide Cendron <scen@gentoo.org>
Thu, 31 Jan 2008 23:18:35 +0000 (23:18 +0000)
svn path=/sunrise/; revision=5581

games-fps/vavoom/ChangeLog
games-fps/vavoom/Manifest
games-fps/vavoom/files/vavoom_cmake_build.patch [new file with mode: 0644]
games-fps/vavoom/vavoom-9999.ebuild

index bb66651f5e831fcafb9c42f096b8369ade48a4f0..fa4318f62d5becff24d2d938f50cceccf0c84d97 100644 (file)
@@ -2,6 +2,11 @@
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  31 Jan 2008; Davide Cendron (scen) <scen@gentoo.org>
+  +files/vavoom_cmake_build.patch, vavoom-9999.ebuild:
+  Upstream has switched build system to CMake, so i've changed the SVN live
+  ebuild accordingly
+
   21 Jan 2008; Davide Cendron (scen) <scen@gentoo.org>
   -files/vavoom-1.25_flac-1.2_fix.patch, -vavoom-1.25.ebuild,
   +vavoom-1.26.ebuild:
index 56789a8728873b0d41e83d6c7e522407dabf08c0..2b36ba7995cc5de232bd9e5594347fa85d7ade3e 100644 (file)
@@ -1,6 +1,7 @@
 AUX vavoom-makefile_nowrapper.patch 3235 RMD160 b04e87de8068e2d290387998d34701e2a3a58b30 SHA1 5e5f3b0da0c9ca975cb9606e5684bb5e21e3d7de SHA256 23266e9e536cafb766155d6b6899f358d7dd0489ce61e2b9bec9ec567d0ac7d9
+AUX vavoom_cmake_build.patch 2901 RMD160 2664ece4d8e3a19d1d0284647a464c0b946e6701 SHA1 39bd191d1839ad5987c9aff2cd49b076075ceba3 SHA256 e6eff3bfb227bc3d87c192f79df0028617c34212a8cd9fabab9b5f6566d842aa
 DIST vavoom-1.26.tar.bz2 1792895 RMD160 5f7cf2542f6bc4233c881fa14bc66b779e9bfe71 SHA1 ec75759d44f4557d4e90bd13ede19711e574597c SHA256 782b0c3c8f7f3fb32a9ea6f3a61e76c1f99ea956a2313e6f890da98bd66590ef
 EBUILD vavoom-1.26.ebuild 6449 RMD160 a8673cc64e5d165f7e11a8d0d666f96a94dc741e SHA1 40b3c40acb6414fba2de66b0611b792e0b3eae9d SHA256 2335b652f5dbb62cae7cf1cc531d22fdb03fe61bac18e100c3059ff2fcae6a75
-EBUILD vavoom-9999.ebuild 6419 RMD160 a3a9656ebbc2a3d378a2c46af44dfda0ce5e05c5 SHA1 eb8793763cf69302738d1fff575b2ae7ab16bed5 SHA256 831d3106f970997d8edbd051245f1f9869f4de2a5aabe90e1bbb505b8873c2d5
-MISC ChangeLog 3191 RMD160 39b26bf9543fd22d41cebb1cb79e1d140d2d52f6 SHA1 961b1904cff8ab7776ad646e48975d620ad85871 SHA256 1adbfebc0c531165e338446e2bc80102e283e6245435c2b8762aa03eae87278e
+EBUILD vavoom-9999.ebuild 6524 RMD160 285b7b8e97dd2a5c657786c59fabe6d242ed1f88 SHA1 af4b387c46dda1781f5f822d5667931fbc6ce59c SHA256 8b1d5363e7fd254ed34143dabfab927f21dc41c000802661a812578739ee5382
+MISC ChangeLog 3399 RMD160 7fc716f08ab47648c651e326a092d11a285a2ebc SHA1 89f1fe34fc3937b42fa2562e5435b26416484741 SHA256 2d1710e9ae87e4e218842ea2752bbd611b5fb644387be27aac1e968e23b8a512
 MISC metadata.xml 303 RMD160 626272995441b20fd23b1d0a94603e98b97b0f1e SHA1 f3cae1ec3568e7717d7265a58d0b2e6d8efe88b5 SHA256 334d9b64af3b010a9fcdcbd8736eba2f81ff9d87dee3eb76b5adacb7d48afa37
diff --git a/games-fps/vavoom/files/vavoom_cmake_build.patch b/games-fps/vavoom/files/vavoom_cmake_build.patch
new file mode 100644 (file)
index 0000000..034c9f7
--- /dev/null
@@ -0,0 +1,92 @@
+--- CMakeLists.txt     2008-01-31 22:32:53.000000000 +0100
++++ CMakeLists.txt     2008-01-31 22:45:47.000000000 +0100
+@@ -16,7 +16,13 @@
+       add_definitions(-DHAVE_INTTYPES_H=1)
+ endif(INTTYPES_INCLUDE_DIR)
+-set(DATADIR share/vavoom)
++IF(NOT DEFINED DATADIR)
++      set(DATADIR share/vavoom)
++ENDIF(NOT DEFINED DATADIR)
++
++IF(NOT DEFINED BINDIR)
++      set(BINDIR bin)
++ENDIF(NOT DEFINED BINDIR)
+ add_subdirectory(utils)
+ add_subdirectory(source)
+--- source/CMakeLists.txt      2008-01-31 22:34:28.000000000 +0100
++++ source/CMakeLists.txt      2008-01-31 23:00:17.000000000 +0100
+@@ -845,8 +845,6 @@
+ add_executable(vavoom ${MAIN_SOURCES})
+ if(UNIX)
+-set_target_properties(vavoom PROPERTIES OUTPUT_NAME ../vavoom.i686)
+-else(UNIX)
+ set_target_properties(vavoom PROPERTIES OUTPUT_NAME ../vavoom)
+ endif(UNIX)
+ if (MAIN_COMPILE_FLAGS)
+@@ -855,21 +853,7 @@
+ target_link_libraries(vavoom ${MAIN_LIBS})
+ add_dependencies(vavoom timidity glbsp libglvis)
+-install(TARGETS vavoom DESTINATION bin)
+-
+-install(FILES vavoom.png DESTINATION ${DATADIR})
+-
+-if(UNIX)
+-      file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/vavoom
+-"#!/bin/sh
+-# Needed to make symlinks/shortcuts work.
+-# the binaries must run with correct working directory
+-cd \"${CMAKE_INSTALL_PREFIX}/${DATADIR}\"
+-\"${CMAKE_INSTALL_PREFIX}/bin/vavoom.i686\" $* ${IWADDIR}
+-exit $?
+-")
+-      install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/vavoom DESTINATION bin)
+-endif(UNIX)
++install(TARGETS vavoom DESTINATION ${BINDIR})
+ endif(ENABLE_CLIENT)
+@@ -889,27 +873,13 @@
+ add_executable(vavoom-dedicated ${SERVER_SOURCES})
+ if(UNIX)
+-set_target_properties(vavoom-dedicated PROPERTIES OUTPUT_NAME ../vavoom-dedicated.i686)
+-else(UNIX)
+-set_target_properties(vavoom-dedicated PROPERTIES OUTPUT_NAME ../vavoom-dedicated)
++set_target_properties(vavoom-dedicated PROPERTIES OUTPUT_NAME ../vavoom-ded)
+ endif(UNIX)
+ set_target_properties(vavoom-dedicated PROPERTIES COMPILE_FLAGS -DSERVER)
+ target_link_libraries(vavoom-dedicated glbsp ${ZLIB_LIBRARY} ${NET_LIBRARIES})
+ add_dependencies(vavoom-dedicated glbsp)
+-install(TARGETS vavoom-dedicated DESTINATION bin)
+-
+-if(UNIX)
+-      file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/vavoom-dedicated
+-"#!/bin/sh
+-# Needed to make symlinks/shortcuts work.
+-# the binaries must run with correct working directory
+-cd \"${CMAKE_INSTALL_PREFIX}/${DATADIR}\"
+-\"${CMAKE_INSTALL_PREFIX}/bin/vavoom-dedicated.i686\" $* ${IWADDIR}
+-exit $?
+-")
+-      install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/vavoom-dedicated DESTINATION bin)
+-endif(UNIX)
++install(TARGETS vavoom-dedicated DESTINATION ${BINDIR})
+ endif(ENABLE_SERVER)
+--- utils/vlaunch/CMakeLists.txt       2008-01-31 22:53:37.000000000 +0100
++++ utils/vlaunch/CMakeLists.txt       2008-01-31 22:53:56.000000000 +0100
+@@ -9,7 +9,7 @@
+       )
+       target_link_libraries(vlaunch ${wxWidgets_LIBRARIES})
+-      install(TARGETS vlaunch DESTINATION bin)
++      install(TARGETS vlaunch DESTINATION ${BINDIR})
+ #EXTRA_DIST = \
+ #     vavoom.xpm \
index 8a3342678b004f0cd7eff5c871a1eb61f671f706..8d6be14202389f82dbfe2627b376c6128c69710e 100644 (file)
@@ -2,8 +2,8 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-WX_GTK_VER="2.6"
-inherit autotools eutils flag-o-matic subversion wxwidgets games
+WX_GTK_VER="2.8"
+inherit cmake-utils eutils subversion wxwidgets games
 
 DESCRIPTION="Advanced source port for Doom/Heretic/Hexen/Strife"
 HOMEPAGE="http://www.vavoom-engine.com/"
@@ -12,8 +12,8 @@ ESVN_REPO_URI="https://vavoom.svn.sourceforge.net/svnroot/vavoom/trunk/vavoom"
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="allegro asm debug dedicated external-glbsp flac mad mikmod models music
-openal opengl sdl textures tools wxwindows"
+IUSE="allegro asm debug dedicated flac mad mikmod models music openal opengl
+sdl textures tools vorbis wxwindows"
 
 QA_EXECSTACK="${GAMES_BINDIR:1}/${PN}"
 
@@ -45,7 +45,7 @@ DEPEND="media-libs/libpng
        mikmod? ( media-libs/libmikmod )
        openal? ( media-libs/openal )
        external-glbsp? ( games-util/glbsp )
-       wxwindows? ( =x11-libs/wxGTK-2.6* )"
+       wxwindows? ( =x11-libs/wxGTK-2.8* )"
 RDEPEND="${DEPEND}
        allegro? ( media-sound/timidity++ )"
 PDEPEND="models? ( >=games-fps/vavoom-models-1.4.2 )
@@ -107,91 +107,84 @@ src_unpack() {
        subversion_src_unpack
        cd "${S}"
 
-       ./autogen.sh
-
-       # Patch Makefiles to get rid of executable wrappers
-       epatch "${FILESDIR}/${PN}-makefile_nowrapper.patch"
+       # Patch CMakelists.txt to
+       # - get rid of executable wrappers
+       # - permit custom {bin,dat}dir
+       # - set custom binary names
+       epatch "${FILESDIR}/${PN}_cmake_build.patch"
 
        # Set shared directory
        sed -i \
                -e "s:fl_basedir = \".\":fl_basedir = \"${dir}\":" \
                source/files.cpp || die "sed files.cpp failed"
-
-       eautoreconf
-
-       # Set executable filenames
-       for m in $(find . -type f -name Makefile.in) ; do
-               sed -i \
-                       -e "s:MAIN_EXE = @MAIN_EXE@:MAIN_EXE=${PN}:" \
-                       -e "s:SERVER_EXE = @SERVER_EXE@:SERVER_EXE=${PN}-ded:" \
-                       "${m}" || die "sed ${m} failed"
-       done
 }
 
 src_compile() {
        local \
-               allegro="--without-allegro" \
-               sdl="--without-sdl"
+               with_allegro="-DWITH_ALLEGRO=OFF" \
+               with_sdl="-DWITH_SDL=OFF" \
+               with_vorbis=$(cmake-utils_use_with vorbis)
 
        # Sdl is the default, unless sdl=off & allegro=on
        if ! use sdl && use allegro ; then
-               allegro="--with-allegro"
+               with_allegro="-DWITH_ALLEGRO=ON"
        else
-               sdl="--with-sdl"
+               with_sdl="-DWITH_SDL=ON"
        fi
 
-       use debug && append-flags -g2
-
-       egamesconf \
-               --enable-client \
-               ${sdl} \
-               ${allegro} \
-               $(use_with opengl) \
-               $(use_with openal) \
-               $(use_with external-glbsp) \
-               $(use_with music vorbis) \
-               $(use_with mad libmad) \
-               $(use_with mikmod) \
-               $(use_with flac) \
-               $(use_enable asm) \
-               $(use_enable dedicated server) \
-               $(use_enable debug) \
-               $(use_enable debug zone-debug) \
-               $(use_enable wxwindows launcher) \
-               --with-wx-config=${WX_CONFIG} \
-               --with-iwaddir="${dir}" \
-               --disable-dependency-tracking \
-               --disable-maintainer-mode \
-               || die "egamesconf failed"
-
-       emake || die "emake failed"
+       # Forcibly enable vorbis support if "music" USE flag is enabled
+       if ! use vorbis && use music ; then
+               ewarn "\"music\" USE flag requires Vorbis support enabled."
+               ewarn "Forced enabling of \"vorbis\" USE flag"
+               with_vorbis="-DWITH_VORBIS=ON"
+       fi
+
+       mycmakeargs="${mycmakeargs}
+                                       -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG
+                                       -DCMAKE_CXX_FLAGS_DEBUG=-g2
+                                       -DDATADIR=${GAMES_DATADIR}/${PN}
+                                       -DBINDIR=${GAMES_BINDIR}
+                                       -DENABLE_CLIENT=ON
+                                       ${with_allegro}
+                                       ${with_sdl}
+                                       ${with_vorbis}
+                                       $(cmake-utils_use_with opengl OPENGL)
+                                       $(cmake-utils_use_with openal OPENAL)
+                                       $(cmake-utils_use_with mad LIBMAD)
+                                       $(cmake-utils_use_with mikmod MIKMOD)
+                                       $(cmake-utils_use_with flac FLAC)
+                                       $(cmake-utils_use_enable debug ZONE_DEBUG)
+                                       $(cmake-utils_use_enable dedicated SERVER)
+                                       $(cmake-utils_use_enable asm ASM)
+                                       $(cmake-utils_use_enable wxwindows LAUNCHER)
+                                       -DwxWidgets_CONFIG_EXECUTABLE=${WX_CONFIG}"
+
+       cmake-utils_src_configurein
+
+       cmake-utils_src_make -j1
 }
 
 src_install() {
        local de_cmd="${PN}"
 
-       emake DESTDIR="${D}" install || die "emake install failed"
-
-       # Remove unneeded icon
-       rm -f "${D}/${dir}/${PN}.png"
+       cmake-utils_src_install
 
        # Enable OpenGL in desktop entry, if relevant USE flag is enabled
        use opengl && de_cmd="${PN} -opengl"
-       doicon source/${PN}.png || die "doicon ${PN}.png failed"
+       doicon "source/${PN}.png" || die "doicon ${PN}.png failed"
        make_desktop_entry "${de_cmd}" "Vavoom"
 
-       dodoc docs/${PN}.txt || die "dodoc vavoom.txt failed"
+       dodoc "docs/${PN}.txt" || die "dodoc vavoom.txt failed"
 
        if use tools ; then
                # The tools are always built
-               dobin utils/bin/{acc,fixmd2,vcc,vlumpy} || die "dobin utils failed"
+               dogamesbin utils/bin/{acc,fixmd2,vcc,vlumpy} || die "dobin utils failed"
                dodoc utils/vcc/vcc.txt || die "dodoc vcc.txt failed"
        fi
 
        if use wxwindows ; then
-               # Install graphical launcher
+               # Install graphical launcher shortcut
                doicon utils/vlaunch/vlaunch.xpm || die "doicon vlaunch.xpm failed"
-               dogamesbin utils/bin/vlaunch || die "dogamesbin vlaunch failed"
                make_desktop_entry "vlaunch" "Vavoom Launcher" "vlaunch.xpm"
        fi