Skip to content

Commit

Permalink
Add 2.4 branch of freeciv.
Browse files Browse the repository at this point in the history
  • Loading branch information
o01eg committed Oct 5, 2012
1 parent 4bb1e54 commit b21e31b
Show file tree
Hide file tree
Showing 3 changed files with 156 additions and 0 deletions.
1 change: 1 addition & 0 deletions games-strategy/freeciv/Manifest
@@ -0,0 +1 @@
DIST freeciv-2.4.0-beta1.tar.bz2 37081142 SHA256 b20c0c0d6138e589b359be49546a034ca4f8deeba2c0b99a894333d306d2234b SHA512 5d101c8330e5ab1c655a09e3fa17d86c4c5163446b760539fc0c264dd0b4af12616a931531d5c4ed2b5e02f26eb234585bc30d8aa0b355b86c6e351dc4927ab9 WHIRLPOOL dfcdeebf7bf9d761e6d1ae06e08cb6f6f85491531016af708014e2674a0690e60acba4746f797d0024cbf38d81105c62b12a7e2c490e791e5be1efc86f39b6d5
19 changes: 19 additions & 0 deletions games-strategy/freeciv/files/freeciv-2.4.0_beta1-clean-man.patch
@@ -0,0 +1,19 @@
--- doc/man/Makefile.in.orig
+++ doc/man/Makefile.in
@@ -358,7 +358,6 @@
top_srcdir = @top_srcdir@
MAN_PAGES = \
freeciv-server.6 \
- freeciv-client.6 \
freeciv-modpack.6

MAN_LINKS = \
@@ -368,7 +367,7 @@
freeciv-win32.6 \
freeciv-ftwl.6

-man_MANS = $(MAN_PAGES) $(MAN_LINKS)
+man_MANS = $(MAN_PAGES)
EXTRA_DIST = $(MAN_LINKS)
all: all-am

136 changes: 136 additions & 0 deletions games-strategy/freeciv/freeciv-2.4.0_beta1.ebuild
@@ -0,0 +1,136 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-strategy/freeciv/freeciv-2.3.2.ebuild,v 1.4 2012/05/21 10:10:10 phajdan.jr Exp $

EAPI=4
inherit eutils gnome2-utils games-ggz games

DESCRIPTION="multiplayer strategy game (Civilization Clone)"
HOMEPAGE="http://www.freeciv.org/"
SRC_URI="mirror://sourceforge/freeciv/${P/_/-}.tar.bz2"

LICENSE="GPL-2"
SLOT="2.4"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="auth dedicated ggz gtk gtk3 ipv6 nls readline sdl +sound"

RDEPEND="readline? ( sys-libs/readline )
sys-libs/zlib
app-arch/bzip2
auth? ( virtual/mysql )
!dedicated? (
nls? ( virtual/libintl )
gtk? ( x11-libs/gtk+:2 )
gtk3? ( >=x11-libs/gtk+-3.4:3 )
sdl? (
media-libs/libsdl[video]
media-libs/sdl-image[png]
media-libs/freetype
)
!gtk3? ( !gtk? ( !sdl? ( x11-libs/gtk+:2 ) ) )
sound? (
media-libs/libsdl[audio]
media-libs/sdl-mixer
)
ggz? ( games-board/ggz-gtk-client )
media-libs/libpng
)"
DEPEND="${RDEPEND}
virtual/pkgconfig
!dedicated? (
nls? ( sys-devel/gettext )
x11-proto/xextproto
)"

S=${WORKDIR}/${P/_/-}

src_prepare() {
sh ./autogen.sh

# install the .desktop in /usr/share/applications
# install the icons in /usr/share/pixmaps
sed -i \
-e 's:^.*\(desktopfiledir = \).*:\1/usr/share/applications:' \
-e 's:^\(icon[0-9]*dir = \)$(prefix)\(.*\):\1/usr\2:' \
-e 's:^\(icon[0-9]*dir = \)$(datadir)\(.*\):\1/usr/share\2:' \
client/Makefile.in \
server/Makefile.in \
modinst/Makefile.in \
data/Makefile.in \
data/icons/Makefile.in \
|| die "sed failed"

# install data to freeciv-2.4 folder
sed -i -e 's:AC_INIT(\[freeciv\(.*\):AC_INIT(\[freeciv-2.4\1:' configure.ac || die "sed failed"

# remove civclient manpage if dedicated server
if use dedicated ; then
epatch "${FILESDIR}"/${P}-clean-man.patch
fi
}

src_configure() {
local myclient myopts

if use dedicated ; then
myclient="no"
else
use sdl && myclient="${myclient} sdl"
use gtk && myclient="${myclient} gtk2"
use gtk3 && myclient="${myclient} gtk3"
[[ -z ${myclient} ]] && myclient="gtk2" # default to gtk if none specified
myopts=$(use_with ggz ggz-client)
fi

egamesconf \
--program-suffix=-2.4
--disable-dependency-tracking \
--localedir=/usr/share/locale \
--with-ggzconfig=/usr/bin \
--enable-noregistry="${GGZ_MODDIR}" \
$(use_enable auth) \
$(use_enable ipv6) \
$(use_enable nls) \
$(use_with readline) \
$(use_enable sound sdl-mixer) \
${myopts} \
--enable-client="${myclient}"
}

src_install() {
emake DESTDIR="${D}" install || die "emake install failed"

if ! use dedicated ; then
# Create and install the html manual. It can't be done for dedicated
# servers, because the 'civmanual' tool is then not built. Also
# delete civmanual from the GAMES_BINDIR, because it's then useless.
# Note: to have it localized, it should be ran from _postinst, or
# something like that, but then it's a PITA to avoid orphan files...
./manual/freeciv-manual || die "freeciv-manual failed"
dohtml manual*.html || die "dohtml failed"
rm -f "${D}/${GAMES_BINDIR}"/civmanual
use sdl && make_desktop_entry freeciv-sdl-2.4 "Freeciv 2.4 (SDL)"
freeciv-client-2.4
fi

dodoc ChangeLog NEWS doc/{BUGS,CodingStyle,HACKING,HOWTOPLAY,README*,TODO}
rm -rf "${D}$(games_get_libdir)"

prepgamesdirs
}

pkg_preinst() {
games_pkg_preinst
gnome2_icon_savelist
}

pkg_postinst() {
games_pkg_postinst
games-ggz_update_modules
gnome2_icon_cache_update
}

pkg_postrm() {
games-ggz_update_modules
gnome2_icon_cache_update
}

0 comments on commit b21e31b

Please sign in to comment.