diff --git a/games-arcade/supertux/ChangeLog b/games-arcade/supertux/ChangeLog --- a/games-arcade/supertux/ChangeLog +++ b/games-arcade/supertux/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/games-arcade/supertux/ChangeLog,v 1.33 2009/02/23 01:02:56 mr_bones_ Exp $ + 14 May 2010; Nathan Phillip Brink (ohnobinki) + +supertux-0.3.3.ebuild, + +files/supertux-0.3.3-externals.patch: + supertux-0.3.3 unstable release. Patched to use system-installed + libsquirrel, tinygettext, and findlocale. + 11 Mar 2010; Nathan Phillip Brink (ohnobinki) supertux-9999.ebuild: Make mycmakeargs into an array instead of a long string. diff --git a/games-arcade/supertux/Manifest b/games-arcade/supertux/Manifest --- a/games-arcade/supertux/Manifest +++ b/games-arcade/supertux/Manifest @@ -1,6 +1,18 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX supertux-0.3.3-externals.patch 4529 RMD160 16cf352e2bc98a5e21c1acb420796eb480bac4b8 SHA1 b918246b884893ec2b60b6464940017180b20300 SHA256 d37613d4ee7eed30ee9950d4fb4195e15afa2aafb8900ed184447970a40a8ced AUX supertux-9999-tinygettext-external.patch 2171 RMD160 2a349e424c156a127c43144b5b2d8e43f17bd0b5 SHA1 eb205255063f4e51a22c3cc09c2efa91e44c47d6 SHA256 a86cf1f548cba707007791df5db2105c2b855a87f9542169752d59a2e20171df +DIST supertux-0.3.3.tar.bz2 58636270 RMD160 8e10125f687980cae17d7d8c9dfdc9a4dc10a58d SHA1 f89214fd5d997b62753fbba7e1d089d81513f2de SHA256 fceaf95251092d5698211ff0f51f1c50237fa5e2a6690464e9835a66e18301d0 DIST supertux-r6591-crazy-system-findlocale-notinygettext.patch 22681 RMD160 d7fd3cb7f8671640b1d54597b279369113100474 SHA1 2d4cb4aeed8cc330a6c012e143635969cc363da1 SHA256 41af808d1fe235ce8be9fa6109afa19265083230f7780da8a0fe7656043735cf +EBUILD supertux-0.3.3.ebuild 1630 RMD160 95b362020a93493afe26f08bd5a1e24567ed94da SHA1 e1d356670e0929f617d2f1acf8f0b762238799f7 SHA256 01f22b260800eb800614a70cff8d8806b930c0318564df8153f4be0c007d5638 EBUILD supertux-9999.ebuild 1706 RMD160 6a2b59128db66f446733042c5403062f618a46fa SHA1 81280b5f2c6ae415194c83e6a4c29440460b0b79 SHA256 61fabffc7f2cb32c7020535a29466359d6f6ccfecf8ff7f2ae4339eb05222ae5 -MISC ChangeLog 5803 RMD160 1e8e5b4f8473b120ea5cfa30951a05155449f248 SHA1 fbd747bb40bb5e1ca56645e671c440a2667e0120 SHA256 08e623c4b617e8b560a9863c32249efafab67b2857b89af6a418413dfdc505bd -MISC ChangeLog.orig 5856 RMD160 0eb699724c8eff0f5007ea969101dbe9e5b03c97 SHA1 4f9373f855eb129c807ca23033bcc34352b65121 SHA256 e0b80195d27c06953a3dd17e177d9ed94b9f199d64ca1d430d0573f02efb0ef4 +MISC ChangeLog 6061 RMD160 d3fe861e3a42690e090dc43bdf52ffd23759469d SHA1 c8d789ef599b9623f52d2bdbc6ae0277dde780e9 SHA256 7a3635531cc4d52e6839b9f6c891bf2ea36cf49da56f7b7ecc443d7058b92c80 MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEARECAAYFAkvtoe0ACgkQni8M22OVw8DhPgCfdt/ooLtWljHQ2qBfg2dGZxxF +2wkAn2xlXkwQNoqDOsqopUf4qrxLnS+4 +=aEgn +-----END PGP SIGNATURE----- diff --git a/games-arcade/supertux/files/supertux-0.3.3-externals.patch b/games-arcade/supertux/files/supertux-0.3.3-externals.patch new file mode 100644 --- /dev/null +++ b/games-arcade/supertux/files/supertux-0.3.3-externals.patch @@ -0,0 +1,105 @@ +Author: Nathan Phillip Brink +Purpose: To enable supertux to link against system-installed libsquirrel (as installed with pkg-config files by dev-lang/squirrel), tinygettext (whose API will someday change to be more ABI-friendly), and findlocale (which grumbel claims is pointless to externalize). This patch is not upstreamable because 1. upstream squirrel doesn't support system-installed squirrel at all and 2. tinygettext's API is C++ atm and will change. + +diff -r e2cf0ccf00c7 CMakeLists.txt +--- a/CMakeLists.txt Thu May 13 11:06:57 2010 -0400 ++++ b/CMakeLists.txt Fri May 14 02:20:14 2010 -0400 +@@ -102,6 +102,21 @@ + SET(HAVE_LIBCURL TRUE) + ENDIF(CURL_FOUND) + ++INCLUDE(FindPkgConfig) ++pkg_check_modules(TINYGETTEXT tinygettext>=0.1) ++IF(TINYGETTEXT_FOUND) ++ SET(TINYGETTEXT_SOURCES_CXX "") ++ ADD_DEFINITIONS(${TINYGETTEXT_CFLAGS}) ++ELSE(TINYGETTEXT_FOUND) ++ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/) ++ FILE(GLOB TINYGETTEXT_SOURCES_CXX RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/tinygettext/tinygettext/*.cpp) ++ SET_SOURCE_FILES_PROPERTIES(${TINYGETTEXT_SOURCES_CXX} PROPERTIES COMPILE_DEFINITIONS HAVE_SDL) ++ENDIF(TINYGETTEXT_FOUND) ++ ++INCLUDE(FindPkgConfig) ++pkg_check_modules(FINDLOCALE REQUIRED findlocale>=0.47) ++ADD_DEFINITIONS(${FINDLOCALE_CFLAGS}) ++ + #FIND_PACKAGE(ICONV REQUIRED) + #INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR}) + #LINK_LIBRARIES(${ICONV_LIBRARY}) +@@ -149,31 +164,41 @@ + + ## Also execute instructions in src/squirrel/CMakeLists.txt + +-ADD_SUBDIRECTORY(external/squirrel) ++INCLUDE(FindPkgConfig) + +-## Add squirrel lib dir to search path ++## check for external squirrel. To meet grumbel's requirements, must ++## default to internal squirrel. ++OPTION(EXTERNAL_LIBSQUIRREL "Build against external libsquirel libraries" OFF) + +-LINK_DIRECTORIES(external/squirrel) ++IF(EXTERNAL_LIBSQUIRREL) ++ pkg_check_modules(LIBSQUIRREL REQUIRED libsquirrel>=2.2.4 libsqstdlib>=2.2.4) ++ ++ ## libs are handled much further on ++ ADD_DEFINITIONS(${LIBSQUIRREL_CFLAGS}) ++ELSE(EXTERNAL_LIBSQUIRREL) ++ ADD_SUBDIRECTORY(external/squirrel) ++ ++ ## Add squirrel lib dir to search paths ++ ++ LINK_DIRECTORIES(external/squirrel) ++ ++ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/squirrel/include/) ++ SET(LIBSQUIRREL_LIBRARIES squirrel) ++ENDIF(EXTERNAL_LIBSQUIRREL) + + ## Some additional include paths + + include_directories (${CMAKE_BINARY_DIR}/) + include_directories (${CMAKE_CURRENT_SOURCE_DIR}/src/) +-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/squirrel/include/) +-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/) +-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/findlocale/) + include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/obstack/) + include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/binreloc/) + + ## Build list of sources for supertux binary + +-FILE(GLOB SUPERTUX_SOURCES_C RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/obstack/*.c external/findlocale/findlocale.c) ++FILE(GLOB SUPERTUX_SOURCES_C RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/obstack/*.c) + + FILE(GLOB SUPERTUX_SOURCES_CXX RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/main.cpp src/*/*.cpp src/supertux/menu/*.cpp src/video/sdl/*.cpp) + +-FILE(GLOB TINYGETTEXT_SOURCES_CXX RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/tinygettext/tinygettext/*.cpp) +-SET_SOURCE_FILES_PROPERTIES(${TINYGETTEXT_SOURCES_CXX} PROPERTIES COMPILE_DEFINITIONS HAVE_SDL) +- + IF(HAVE_OPENGL) + FILE(GLOB SUPERTUX_OPENGL_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/video/gl/*.cpp) + SET(SUPERTUX_SOURCES_CXX ${SUPERTUX_SOURCES_CXX} ${SUPERTUX_OPENGL_SOURCES}) +@@ -333,12 +358,13 @@ + + ## Link supertux binary with squirrel and other libraries + +-TARGET_LINK_LIBRARIES(supertux2 squirrel) ++TARGET_LINK_LIBRARIES(supertux2 ${LIBSQUIRREL_LIBRARIES}) + TARGET_LINK_LIBRARIES(supertux2 ${SDL_LIBRARY}) + TARGET_LINK_LIBRARIES(supertux2 ${SDLIMAGE_LIBRARY}) + TARGET_LINK_LIBRARIES(supertux2 ${OPENAL_LIBRARY}) + TARGET_LINK_LIBRARIES(supertux2 ${OGGVORBIS_LIBRARIES}) + TARGET_LINK_LIBRARIES(supertux2 ${PHYSFS_LIBRARY}) ++TARGET_LINK_LIBRARIES(supertux2 ${FINDLOCALE_LDFLAGS}) + IF(HAVE_OPENGL) + TARGET_LINK_LIBRARIES(supertux2 ${OPENGL_LIBRARY}) + TARGET_LINK_LIBRARIES(supertux2 ${GLEW_LIBRARY}) +@@ -346,6 +372,9 @@ + IF(HAVE_LIBCURL) + TARGET_LINK_LIBRARIES(supertux2 ${CURL_LIBRARY}) + ENDIF(HAVE_LIBCURL) ++IF(TINYGETTEXT_FOUND) ++ TARGET_LINK_LIBRARIES(supertux2 ${TINYGETTEXT_LDFLAGS}) ++ENDIF(TINYGETTEXT_FOUND) + + ## Install stuff + diff --git a/games-arcade/supertux/supertux-9999.ebuild b/games-arcade/supertux/supertux-0.3.3.ebuild copy from games-arcade/supertux/supertux-9999.ebuild copy to games-arcade/supertux/supertux-0.3.3.ebuild --- a/games-arcade/supertux/supertux-9999.ebuild +++ b/games-arcade/supertux/supertux-0.3.3.ebuild @@ -4,21 +4,21 @@ EAPI=2 -inherit cmake-utils eutils games subversion +inherit cmake-utils eutils games -DESCRIPTION="A game similar to Super Mario Bros." -HOMEPAGE="http://super-tux.sourceforge.net" -SRC_URI="ftp://ohnopub.net/mirror/supertux-r6591-crazy-system-findlocale-notinygettext.patch" - -ESVN_REPO_URI="http://supertux.lethargik.org/svn/supertux/trunk/supertux" -ESVN_PROJECT="${PN}" +DESCRIPTION="A platform game where Tux goes off in search of Penny... and isn't yet able to find her" +HOMEPAGE="http://supertux.lethargik.org/" +SRC_URI="mirror://berlios/${PN}/${P}.tar.bz2 + http://${PN}.googlecode.com/files/${P}.tar.bz2 + ftp://ohnopub.net/mirror/${PN}-r6591-crazy-system-findlocale-notinygettext.patch" LICENSE="GPL-2" SLOT="1" -KEYWORDS="" +KEYWORDS="~amd64" IUSE="opengl curl debug" RDEPEND="dev-games/physfs + dev-lang/squirrel dev-libs/findlocale dev-libs/tinygettext media-libs/libsdl[joystick] @@ -29,17 +29,14 @@ RDEPEND="dev-games/physfs virtual/opengl ) curl? ( net-misc/curl )" -# supertux's CMakeLists.txt needs the svnversion command # boost templates are used DEPEND="${RDEPEND} - dev-libs/boost - dev-util/cmake" + dev-libs/boost" src_prepare() { - epatch "${FILESDIR}/supertux-9999-tinygettext-external.patch" - epatch "${DISTDIR}/supertux-r6591-crazy-system-findlocale-notinygettext.patch" + epatch "${FILESDIR}"/${PN}-0.3.3-externals.patch - rm -rf externals/{findlocale,tinygettext} || die + rm -rf externals/{findlocale,tinygettext,squirrel} || die } src_configure() { @@ -47,6 +44,7 @@ src_configure() { -DINSTALL_SUBDIR_SHARE=share/games/supertux2 -DINSTALL_SUBDIR_BIN=games/bin -DINSTALL_SUBDIR_DOC=share/doc/${P} + -DEXTERNAL_LIBSQUIRREL=YES $(cmake-utils_use_enable opengl OPENGL) $(cmake-utils_use_enable debug SQDBG) $(cmake-utils_use debug DEBUG) )