]> Pileus Git - ~andy/sunrise/blob - games-roguelike/dwarf-fortress/dwarf-fortress-9999.ebuild
app-admin/jailkit: Add ~amd64 keyword, EAPI bump
[~andy/sunrise] / games-roguelike / dwarf-fortress / dwarf-fortress-9999.ebuild
1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
4
5 EAPI=3
6
7 inherit games git-2 multilib scons-utils
8
9 DESCRIPTION="A single-player fantasy game"
10 HOMEPAGE="http://www.bay12games.com/dwarves"
11 EGIT_REPO_URI="git://github.com/Baughn/Dwarf-Fortress--libgraphics-.git"
12
13 LICENSE="as-is"
14 SLOT="0"
15 KEYWORDS=""
16 IUSE=""
17
18 COMMON_DEPEND="
19                 media-libs/fmod:1
20                 media-libs/freetype
21                 media-libs/libsdl[opengl,video,X]
22                 media-libs/libsndfile[alsa]
23                 media-libs/openal
24                 media-libs/sdl-image[png,tiff,jpeg]
25                 media-libs/sdl-ttf
26                 sys-libs/zlib
27                 x11-libs/cairo[xcb,X]
28                 x11-libs/gtk+:2[xinerama]
29                 x11-libs/libXcomposite
30                 x11-libs/libXcursor
31                 x11-libs/pango[X]"
32 RDEPEND="
33         virtual/glu
34         amd64? (
35                 app-emulation/emul-linux-x86-baselibs
36                 app-emulation/emul-linux-x86-gtklibs
37                 app-emulation/emul-linux-x86-opengl
38                 app-emulation/emul-linux-x86-sdl
39                 app-emulation/emul-linux-x86-soundlibs
40                 app-emulation/emul-linux-x86-xlibs
41         )
42         x86? (
43                 ${COMMON_DEPEND}
44         )"
45 DEPEND="
46         ${RDEPEND}
47         virtual/pkgconfig
48         amd64? (
49                 ${COMMON_DEPEND}
50         )"
51
52 QA_PREBUILT="opt/${PN}/libs/Dwarf_Fortress"
53
54 pkg_setup() {
55         games_pkg_setup
56
57         if use amd64; then
58                 if ! has_multilib_profile; then
59                         ewarn "You must be on a multilib profile to use dwarf fortress!"
60                         die "No multilib profile"
61                 fi
62                 multilib_toolchain_setup x86
63         fi
64 }
65
66 src_prepare() {
67         # fix broken build system...
68         cp -f "${FILESDIR}"/SConscript-gentoo g_src/SConscript || die
69 }
70
71 src_compile() {
72         # compile libgraphics.so
73         escons || die
74 }
75
76 src_install() {
77         # install config stuff
78         insinto "${GAMES_SYSCONFDIR}"/${PN}
79         doins -r data/init/* || die
80
81         # keep saves, movies and objects directories
82         keepdir "${GAMES_STATEDIR}"/${PN}/save \
83                 "${GAMES_STATEDIR}"/${PN}/movies \
84                 "${GAMES_STATEDIR}"/${PN}/objects || die
85
86         # install data-files and libs
87         local gamesdir="${GAMES_PREFIX_OPT}/${PN}"
88         insinto "${gamesdir}"
89         rm -r data/init || die
90         doins -r raw data || die
91         insinto "${gamesdir}"/libs
92         doins libs/Dwarf_Fortress || die
93
94         # install compiled lib and wrapper
95         dogameslib libs/libgraphics.so || die
96         newgamesbin "${FILESDIR}"/${PN}-wrapper ${PN} || die
97
98         dodoc README.linux *.txt || die
99
100         # create symlinks for several directories we want to have
101         # in a different place
102         dosym "${GAMES_SYSCONFDIR}"/${PN} "${gamesdir}"/data/init || die
103         dosym "${GAMES_STATEDIR}"/${PN}/save "${gamesdir}"/data/save || die
104         dosym "${GAMES_STATEDIR}"/${PN}/movies "${gamesdir}"/data/movies || die
105         dosym "${GAMES_STATEDIR}"/${PN}/objects "${gamesdir}"/data/objects || die
106
107         prepgamesdirs
108
109         # fix a few permissions
110         fperms 0755 "${gamesdir}"/libs/Dwarf_Fortress || die
111         fperms -R g+w "${GAMES_STATEDIR}"/${PN} || die
112         fperms g+w "${gamesdir}"/data/index || die
113         fperms -R g+w "${gamesdir}"/data/{announcement,dipscript,help} || die
114 }
115
116 pkg_postinst() {
117         games_pkg_postinst
118
119         einfo ""
120         einfo "If you use a different OpenGL implementation than xorg-x11"
121         einfo "libgraphics.so library will be linked against it."
122         einfo "That dependency is _not_ covered by this ebuild."
123         einfo ""
124 }