Overlay/games-action/minetest/minetest-0.4.9.ebuild

148 lines
3.5 KiB
Bash

# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-action/minetest/minetest-0.4.9.ebuild,v 1.1 2014/01/03 15:24:24 hasufell Exp $
EAPI=5
inherit eutils cmake-utils gnome2-utils vcs-snapshot user games
DESCRIPTION="An InfiniMiner/Minecraft inspired game"
HOMEPAGE="http://minetest.net/"
SRC_URI="http://github.com/minetest/minetest/tarball/${PV} -> ${P}.tar.gz"
LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+curl dedicated leveldb luajit nls +server +sound +truetype"
RDEPEND="dev-db/sqlite:3
>=dev-games/irrlicht-1.8-r2
sys-libs/zlib
curl? ( net-misc/curl )
!dedicated? (
app-arch/bzip2
media-libs/libpng:0
virtual/jpeg
virtual/opengl
x11-libs/libX11
x11-libs/libXxf86vm
sound? (
media-libs/libogg
media-libs/libvorbis
media-libs/openal
)
truetype? ( media-libs/freetype:2 )
)
leveldb? ( dev-libs/leveldb )
luajit? ( dev-lang/luajit:2 )
!luajit? ( >=dev-lang/lua-5.1.4[deprecated] )
nls? ( virtual/libintl )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
pkg_setup() {
games_pkg_setup
if use server || use dedicated ; then
enewuser ${PN} -1 -1 /var/lib/${PN} ${GAMES_GROUP}
fi
}
src_unpack() {
vcs-snapshot_src_unpack
}
src_prepare() {
epatch \
"${FILESDIR}"/${P}-lua-luajit-option.patch \
"${FILESDIR}"/${P}-shared-irrlicht.patch \
"${FILESDIR}"/${P}-as-needed.patch \
"${FILESDIR}"/${P}-opengles.patch \
"${FILESDIR}"/${P}-freetype.patch
# correct gettext behavior
if [[ -n "${LINGUAS+x}" ]] ; then
for i in $(cd po ; echo *) ; do
if ! has ${i} ${LINGUAS} ; then
rm -r po/${i} || die
fi
done
fi
# jthread is modified
# json is modified
rm -r src/{lua,sqlite} || die
# set paths
sed \
-e "s#@BINDIR@#${GAMES_BINDIR}#g" \
-e "s#@GROUP@#${GAMES_GROUP}#g" \
"${FILESDIR}"/minetestserver.confd > "${T}"/minetestserver.confd || die
}
src_configure() {
local mycmakeargs=(
-DENABLE_GLES2=0
-DRUN_IN_PLACE=0
-DCUSTOM_SHAREDIR="${GAMES_DATADIR}/${PN}"
-DCUSTOM_BINDIR="${GAMES_BINDIR}"
-DCUSTOM_DOCDIR="/usr/share/doc/${PF}"
-DCUSTOM_LOCALEDIR="/usr/share/locale"
$(usex dedicated "-DBUILD_SERVER=ON -DBUILD_CLIENT=OFF" "$(cmake-utils_use_build server SERVER) -DBUILD_CLIENT=ON")
$(cmake-utils_use_enable nls GETTEXT)
$(cmake-utils_use_enable curl CURL)
$(cmake-utils_use_use luajit LUAJIT)
$(cmake-utils_use_enable truetype FREETYPE)
$(cmake-utils_use_enable sound SOUND)
$(cmake-utils_use_enable leveldb LEVELDB)
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
if use server || use dedicated ; then
newinitd "${FILESDIR}"/minetestserver.initd minetest-server
newconfd "${T}"/minetestserver.confd minetest-server
fi
prepgamesdirs
}
pkg_preinst() {
games_pkg_preinst
gnome2_icon_savelist
}
pkg_postinst() {
games_pkg_postinst
gnome2_icon_cache_update
if ! use dedicated ; then
elog
elog "optional dependencies:"
elog " games-action/minetest_game (official mod)"
elog " games-action/minetest_common (official mod)"
elog " games-action/minetest_build (official mod)"
elog " games-action/minetest_survival (official mod)"
elog
fi
if use server || use dedicated ; then
elog
elog "Configure your server via /etc/conf.d/minetest-server"
elog "The user \"minetest\" is created with /var/lib/${PN} homedir."
elog "Default logfile is ~/minetest-server.log"
elog
fi
}
pkg_postrm() {
gnome2_icon_cache_update
}