]> Pileus Git - ~andy/sunrise/commitdiff
games-rpg/dwarf-fortress: New live-ebuild for bug 290294 thanks to floppym and ssuominen
authorhasufell <julian.ospald@googlemail.com>
Thu, 15 Mar 2012 16:19:43 +0000 (16:19 +0000)
committerhasufell <julian.ospald@googlemail.com>
Thu, 15 Mar 2012 16:19:43 +0000 (16:19 +0000)
svn path=/sunrise/; revision=12800

games-rpg/dwarf-fortress/ChangeLog
games-rpg/dwarf-fortress/Manifest
games-rpg/dwarf-fortress/dwarf-fortress-9999.ebuild [new file with mode: 0644]
games-rpg/dwarf-fortress/files/SConscript-gentoo [new file with mode: 0644]

index 27575799d23ec8cedf54679e0176d00d40e0b9ee..45e31bbb7e517bd1df49c54f127f944f486aa88b 100644 (file)
@@ -2,6 +2,12 @@
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*dwarf-fortress-9999 (15 Mar 2012)
+
+  15 Mar 2012; hasufell <julian.ospald@googlemail.com>
+  +dwarf-fortress-9999.ebuild, +files/SConscript-gentoo:
+  New live-ebuild for bug 290294 thanks to floppym and ssuominen
+
   15 Mar 2012; hasufell <julian.ospald@googlemail.com>
   files/dwarf-fortress-wrapper:
   comment out dirty hack in wrapper
index 6db70d3abdfd517532d74ee699b4c0f860fa06bb..68aed39e7d6ceb3e1814289cb58da7284a327873 100644 (file)
@@ -1,5 +1,7 @@
+AUX SConscript-gentoo 1832 RMD160 c09b6950156790a1d4c97761cca09d0d63057a2a SHA1 dff416e364fa8a2723b66c3cf7137ddd68f96b74 SHA256 1d358becb1879e54924d4f237464b77e46aa45d05bd64bb49937481d36365733
 AUX dwarf-fortress-wrapper 281 RMD160 4b12c4d3d236b79699b016ede86e8996e0be6b1f SHA1 9ddafcc36e50a1b0aab63f73cd9439ea28843d34 SHA256 1a489f8422f67aaedfcfcaa573b96b71ed871197be1dd9ca659842f848806bff
 DIST df_34_05_linux.tar.bz2 11218076 RMD160 d01f2560981b51d10ee382c209a418ab2f5e5b6f SHA1 992e30a95b7271323b90254349d26083d54b3e48 SHA256 a4852863224c9276d30eb914f5b6d73ae3d4320ae91679c9cb2b572168d32919
 EBUILD dwarf-fortress-0.34.05.ebuild 2536 RMD160 c5170b91f2890848b7a87b18a37fe13e40f876e4 SHA1 1c8c54a4a24af46174c00708610f536d03c153c1 SHA256 9cb1b8c1774dd1676af466b218a12460d929254bad55e376dae4d3e25ed0ca33
-MISC ChangeLog 692 RMD160 4f9d16b7613e3bb111a9012960c8edb009513a37 SHA1 c9ed9955102072104ed2ca9ee054db17886f0073 SHA256 f418aa4019dd045246b20b33e74855bd53ba5b85eba9fa92129c232fa01e8587
+EBUILD dwarf-fortress-9999.ebuild 3058 RMD160 2d48ae57eaf7193912dc360701f2482083ce706b SHA1 f76a0577cc4d66c7e244cd3a7e2a31d0841e33d8 SHA256 c99a3fb3a69245c099e2b4ff3c638522dd129c67bfaa5c310e3b4530ffbf5eed
+MISC ChangeLog 906 RMD160 485f60ac0e5cdad4b193b8989998c62b128cab43 SHA1 0670efc28ceb05350f8c51baf8ba6418e582f74f SHA256 5b26b16b94f754a90d48b05c26a01e3d4646c093fd870d81b4c813076e3efb1b
 MISC metadata.xml 208 RMD160 c18611400760e42bdd001905be0a63c2e963bcea SHA1 595816105cac477cb85792a182e15888029118a1 SHA256 c4841c87f0c2b9b5e679a27dc72180be8d508fb3f5df0fbab2ec2c805c0a6d82
diff --git a/games-rpg/dwarf-fortress/dwarf-fortress-9999.ebuild b/games-rpg/dwarf-fortress/dwarf-fortress-9999.ebuild
new file mode 100644 (file)
index 0000000..a5bc4d7
--- /dev/null
@@ -0,0 +1,124 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit games git-2 multilib scons-utils
+
+DESCRIPTION="A single-player fantasy game"
+HOMEPAGE="http://www.bay12games.com/dwarves"
+EGIT_REPO_URI="git://github.com/Baughn/Dwarf-Fortress--libgraphics-.git"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+COMMON_DEPEND="
+               media-libs/fmod:1
+               media-libs/freetype
+               media-libs/libsdl[opengl,video,X]
+               media-libs/libsndfile[alsa]
+               media-libs/openal
+               media-libs/sdl-image[png,tiff,jpeg]
+               media-libs/sdl-ttf
+               sys-libs/zlib
+               x11-libs/cairo[xcb,X]
+               x11-libs/gtk+:2[xinerama]
+               x11-libs/libXcomposite
+               x11-libs/libXcursor
+               x11-libs/pango[X]"
+RDEPEND="
+       virtual/glu
+       amd64? (
+               app-emulation/emul-linux-x86-baselibs
+               app-emulation/emul-linux-x86-gtklibs
+               app-emulation/emul-linux-x86-opengl
+               app-emulation/emul-linux-x86-sdl
+               app-emulation/emul-linux-x86-soundlibs
+               app-emulation/emul-linux-x86-xlibs
+       )
+       x86? (
+               ${COMMON_DEPEND}
+       )"
+DEPEND="
+       ${RDEPEND}
+       dev-util/pkgconfig
+       amd64? (
+               ${COMMON_DEPEND}
+       )"
+
+QA_PREBUILT="opt/${PN}/libs/Dwarf_Fortress"
+
+pkg_setup() {
+       games_pkg_setup
+
+       if use amd64; then
+               if ! has_multilib_profile; then
+                       ewarn "You must be on a multilib profile to use dwarf fortress!"
+                       die "No multilib profile"
+               fi
+               multilib_toolchain_setup x86
+       fi
+}
+
+src_prepare() {
+       # fix broken build system...
+       cp -f "${FILESDIR}"/SConscript-gentoo g_src/SConscript || die
+}
+
+src_compile() {
+       # compile libgraphics.so
+       escons || die
+}
+
+src_install() {
+       # install config stuff
+       insinto "${GAMES_SYSCONFDIR}"/${PN}
+       doins -r data/init/* || die
+
+       # keep saves, movies and objects directories
+       keepdir "${GAMES_STATEDIR}"/${PN}/save \
+               "${GAMES_STATEDIR}"/${PN}/movies \
+               "${GAMES_STATEDIR}"/${PN}/objects || die
+
+       # install data-files and libs
+       local gamesdir="${GAMES_PREFIX_OPT}/${PN}"
+       insinto "${gamesdir}"
+       rm -r data/init || die
+       doins -r raw data || die
+       insinto "${gamesdir}"/libs
+       doins libs/Dwarf_Fortress || die
+
+       # install compiled lib and wrapper
+       dogameslib libs/libgraphics.so || die
+       newgamesbin "${FILESDIR}"/${PN}-wrapper ${PN} || die
+
+       dodoc README.linux *.txt || die
+
+       # create symlinks for several directories we want to have 
+       # in a different place
+       dosym "${GAMES_SYSCONFDIR}"/${PN} "${gamesdir}"/data/init || die
+       dosym "${GAMES_STATEDIR}"/${PN}/save "${gamesdir}"/data/save || die
+       dosym "${GAMES_STATEDIR}"/${PN}/movies "${gamesdir}"/data/movies || die
+       dosym "${GAMES_STATEDIR}"/${PN}/objects "${gamesdir}"/data/objects || die
+
+       prepgamesdirs
+
+       # fix a few permissions
+       fperms 0755 "${gamesdir}"/libs/Dwarf_Fortress || die
+       fperms -R g+w "${GAMES_STATEDIR}"/${PN} || die
+       fperms g+w "${gamesdir}"/data/index || die
+       fperms -R g+w "${gamesdir}"/data/{announcement,dipscript,help} || die
+}
+
+pkg_postinst() {
+       games_pkg_postinst
+
+       einfo ""
+       einfo "If you use a different OpenGL implementation than xorg-x11"
+       einfo "libgraphics.so library will be linked against it."
+       einfo "That dependency is _not_ covered by this ebuild."
+       einfo ""
+}
diff --git a/games-rpg/dwarf-fortress/files/SConscript-gentoo b/games-rpg/dwarf-fortress/files/SConscript-gentoo
new file mode 100644 (file)
index 0000000..62c90a9
--- /dev/null
@@ -0,0 +1,53 @@
+# -*- mode: python -*-
+from sys import platform
+import os
+import SCons.Util
+
+src_dll = ["basics.cpp","command_line.cpp","enabler.cpp","files.cpp",
+           "find_files_posix.cpp","graphics.cpp","init.cpp","interface.cpp",
+           "keybindings.cpp","music_and_sound_openal.cpp", "random.cpp",
+           "textlines.cpp","glew.c","enabler_input.cpp","ViewBase.cpp",
+           "KeybindingScreen.cpp", "win32_compat.cpp", "textures.cpp",
+           "resize++.cpp", "renderer_offscreen.cpp",
+           "ttf_manager.cpp"]
+
+dll  = '#libs/libgraphics.so'
+
+libgraphics = True
+tetris = False
+
+# Propagate PATH. We'll just take our chances with non-repeatable builds.
+env = Environment(ENV = {'PATH' : os.environ['PATH']})
+
+# Libraries and linking
+env['LIBS']=["SDL_image","z","SDL_ttf","sndfile"]
+#env['LINKFLAGS']=['-Wl,-rpath=\$$ORIGIN/libs']
+
+# GLEW
+# latest portage version is incompatible, lets stick to the bundled one
+env.Append(CPPPATH = ['glext/'])
+env["CCFLAGS"].append("-DGLEW_STATIC") # Should only be needed on windows, but can't hurt.
+
+# Generic unix, including Linux
+env.ParseConfig('pkg-config gtk+-2.0 --cflags --libs')
+env.ParseConfig('pkg-config openal --cflags')
+env.ParseConfig('pkg-config sndfile --cflags')
+env.ParseConfig('pkg-config sdl --cflags --libs')
+env.ParseConfig('pkg-config glu --cflags --libs')
+
+# flags and compiler
+env['CCFLAGS'].append("-Dunix")
+env['CXXFLAGS'].append("-std=gnu++0x")
+# this is gentoo, respect my flags
+env['CC'] = os.environ['CC']
+env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+env['CXX'] = os.environ['CXX']
+env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS'])
+env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
+
+# Finally, do the build
+if libgraphics:
+   env.SharedLibrary(dll, src_dll)
+
+if tetris:
+   env.Program("#tetris", src_dll + ["tetris.cpp"])