# Copyright 1999-2015 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 ) !luajit? ( >=dev-lang/lua-5.1.4[deprecated] ) 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 \ "${FILESDIR}"/${P}-system-lua.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=( $(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 -DWITH_BUNDLED_LUA=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 }