blob: ad1921e8e796fa44c3b26f8367d18047864fe300 [file] [log] [blame]
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils cmake-utils gnome2-utils vcs-snapshot user games
DESCRIPTION="An InfiniMiner/Minecraft inspired game"
HOMEPAGE="http://minetest.net/"
SRC_URI="https://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 redis +server +sound +truetype"
RDEPEND="dev-db/sqlite:3
sys-libs/zlib
curl? ( net-misc/curl )
!dedicated? (
app-arch/bzip2
>=dev-games/irrlicht-1.8-r2
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 )
nls? ( virtual/libintl )
redis? ( dev-libs/hiredis )"
DEPEND="${RDEPEND}
>=dev-games/irrlicht-1.8-r2
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}-shared-irrlicht.patch \
"${FILESDIR}"/${P}-as-needed.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/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=(
$(usex dedicated "-DBUILD_SERVER=ON -DBUILD_CLIENT=OFF" "$(cmake-utils_use_build server SERVER) -DBUILD_CLIENT=ON")
-DCUSTOM_BINDIR="${GAMES_BINDIR}"
-DCUSTOM_DOCDIR="/usr/share/doc/${PF}"
-DCUSTOM_LOCALEDIR="/usr/share/locale"
-DCUSTOM_SHAREDIR="${GAMES_DATADIR}/${PN}"
$(cmake-utils_use_enable curl CURL)
$(cmake-utils_use_enable truetype FREETYPE)
$(cmake-utils_use_enable nls GETTEXT)
-DENABLE_GLES=0
$(cmake-utils_use_enable leveldb LEVELDB)
$(cmake-utils_use_enable redis REDIS)
$(cmake-utils_use_enable sound SOUND)
$(cmake-utils_use !luajit DISABLE_LUAJIT)
-DRUN_IN_PLACE=0
$(use dedicated && {
echo "-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source"
echo "-DIRRLICHT_INCLUDE_DIR=/usr/include/irrlicht"
})
)
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
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
}