forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
games-roguelike/stone-soup: bump trunk build
Signed-off-by: Erik Mackdanz <[email protected]> Package-Manager: Portage-3.0.28, Repoman-3.0.3
- Loading branch information
Erik Mackdanz
committed
Nov 1, 2021
1 parent
5b11bde
commit d7b2f04
Showing
2 changed files
with
202 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
201 changes: 201 additions & 0 deletions
201
games-roguelike/stone-soup/stone-soup-0.28.0_pre20211031.ebuild
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,201 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
LUA_COMPAT=( lua5-{1..3} ) | ||
PYTHON_COMPAT=( python3_{7,8,9,10} ) | ||
VIRTUALX_REQUIRED="manual" | ||
inherit desktop python-any-r1 lua-single xdg-utils toolchain-funcs | ||
|
||
DESCRIPTION="Role-playing roguelike game of exploration and treasure-hunting in dungeons" | ||
HOMEPAGE="https://crawl.develz.org" | ||
SLOT="0.28" | ||
|
||
# Leave empty string if not a _pre release | ||
COMMITSHA="91a516d0e768b6e4232327f2d9d008fc577132f3" | ||
if [ -z "${COMMITSHA}" ]; then | ||
# This is a proper release | ||
SRC_URI=" | ||
https://github.com/crawl/crawl/releases/download/${PV}/${PN/-/_}-${PV}.zip | ||
https://dev.gentoo.org/~stasibear/distfiles/${PN}.png -> ${PN}-${SLOT}.png | ||
https://dev.gentoo.org/~stasibear/distfiles/${PN}.svg -> ${PN}-${SLOT}.svg | ||
" | ||
MY_P="stone_soup-${PV}" | ||
else | ||
# This is a _pre release | ||
SRC_URI=" | ||
https://github.com/crawl/crawl/archive/${COMMITSHA}.tar.gz -> ${P}.tar.gz | ||
https://dev.gentoo.org/~stasibear/distfiles/${PN}.png -> ${PN}-${SLOT}.png | ||
https://dev.gentoo.org/~stasibear/distfiles/${PN}.svg -> ${PN}-${SLOT}.svg | ||
" | ||
MY_P="crawl-${COMMITSHA}/crawl-ref" | ||
fi | ||
|
||
# 3-clause BSD: mt19937ar.cc, MSVC/stdint.h | ||
# 2-clause BSD: all contributions by Steve Noonan and Jesse Luehrs | ||
# Public Domain|CC0: most of tiles | ||
# MIT: json.cc/json.h, some .js files in webserver/static/scripts/contrib/ | ||
LICENSE="GPL-2 BSD BSD-2 public-domain CC0-1.0 MIT" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="debug ncurses sound +tiles" | ||
|
||
S=${WORKDIR}/${MY_P}/source | ||
RDEPEND=" | ||
${LUA_DEPS} | ||
dev-db/sqlite:3 | ||
sys-libs/zlib | ||
!ncurses? ( !tiles? ( sys-libs/ncurses:0 ) ) | ||
ncurses? ( sys-libs/ncurses:0 ) | ||
tiles? ( | ||
media-fonts/dejavu | ||
media-libs/freetype:2 | ||
media-libs/libpng:0 | ||
sound? ( | ||
media-libs/libsdl2[X,opengl,sound,video] | ||
media-libs/sdl2-mixer | ||
) | ||
!sound? ( media-libs/libsdl2[X,opengl,video] ) | ||
media-libs/sdl2-image[png] | ||
virtual/glu | ||
virtual/opengl | ||
)" | ||
DEPEND="${RDEPEND} | ||
app-arch/unzip | ||
dev-lang/perl | ||
${PYTHON_DEPS} | ||
$(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') | ||
sys-devel/flex | ||
tiles? ( | ||
media-gfx/pngcrush | ||
sys-libs/ncurses:0 | ||
) | ||
virtual/pkgconfig | ||
virtual/yacc | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/make.patch | ||
"${FILESDIR}"/rltiles-make.patch | ||
) | ||
|
||
python_check_deps() { | ||
has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" | ||
} | ||
|
||
pkg_setup() { | ||
|
||
python-any-r1_pkg_setup | ||
|
||
if use !ncurses && use !tiles ; then | ||
ewarn "Neither ncurses nor tiles frontend" | ||
ewarn "selected, choosing ncurses only." | ||
ewarn "Note that you can also enable both." | ||
fi | ||
|
||
if use sound && use !tiles ; then | ||
ewarn "Sound support is only available with tiles." | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
default | ||
python_fix_shebang "${S}/util/species-gen.py" | ||
|
||
sed -i -e "s/GAME = crawl$/GAME = crawl-${SLOT}/" "${S}/Makefile" \ | ||
|| die "Couldn't append slot to executable name" | ||
|
||
# File required for a _pre build | ||
if ! [ -f "${S}/util/release_ver" ]; then | ||
echo "${SLOT}" >"${S}/util/release_ver" || die "Couldn't write release_ver" | ||
fi | ||
} | ||
|
||
src_compile() { | ||
|
||
# Insurance that we're not using bundled lib sources | ||
rm -rf contrib || die "Couldn't delete contrib directory" | ||
|
||
myemakeargs=( | ||
$(usex debug "FULLDEBUG=y DEBUG=y" "") | ||
BUILD_LUA= | ||
AR="$(tc-getAR)" | ||
CFOPTIMIZE='' | ||
CFOTHERS="${CXXFLAGS}" | ||
CONTRIBS= | ||
DATADIR="/usr/share/${PN}-${SLOT}" | ||
FORCE_CC="$(tc-getCC)" | ||
FORCE_CXX="$(tc-getCXX)" | ||
LDFLAGS="${LDFLAGS}" | ||
MAKEOPTS="${MAKEOPTS}" | ||
PKGCONFIG="$(tc-getPKG_CONFIG)" | ||
RANLIB="$(tc-getRANLIB)" | ||
SAVEDIR="~/.crawl-${SLOT}" | ||
SOUND=$(usex sound "y" "") | ||
STRIP=touch | ||
USE_LUAJIT= | ||
V=1 | ||
prefix="/usr" | ||
) | ||
|
||
if use ncurses || (use !ncurses && use !tiles) ; then | ||
emake "${myemakeargs[@]}" | ||
# move it in case we build both variants | ||
use tiles && { mv "crawl-${SLOT}" "${WORKDIR}"/crawl-ncurses-${SLOT} || die ;} | ||
fi | ||
|
||
if use tiles ; then | ||
emake "${myemakeargs[@]}" clean | ||
emake "${myemakeargs[@]}" "TILES=y" | ||
fi | ||
} | ||
|
||
src_test() { | ||
emake "${myemakeargs[@]}" \ | ||
$(usex tiles "TILES=y" "") \ | ||
catch2-tests | ||
} | ||
|
||
src_install() { | ||
emake "${myemakeargs[@]}" \ | ||
$(usex tiles "TILES=y" "") \ | ||
DESTDIR="${D}" \ | ||
prefix_fp="" \ | ||
bin_prefix="${D}/usr/bin" \ | ||
install | ||
|
||
[[ -e "${WORKDIR}/crawl-ncurses-${SLOT}" ]] && dobin "${WORKDIR}/crawl-ncurses-${SLOT}" | ||
|
||
# don't relocate docs, needed at runtime | ||
rm -rf "${D}/usr/share/${PN}-${SLOT}"/docs/license | ||
|
||
mv "${WORKDIR}/${MY_P}"/docs/crawl.6 "${WORKDIR}/${MY_P}/docs/crawl-${SLOT}.6" \ | ||
|| die "Couldn't append slot to man page name" | ||
doman "${WORKDIR}/${MY_P}/docs/crawl-${SLOT}.6" | ||
|
||
# icons and menu for graphical build | ||
if use tiles ; then | ||
doicon -s 48 "${DISTDIR}"/${PN}-${SLOT}.png | ||
doicon -s scalable "${DISTDIR}"/${PN}-${SLOT}.svg | ||
make_desktop_entry "crawl-${SLOT}" "crawl-${SLOT}" "crawl-${SLOT}" | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_icon_cache_update | ||
|
||
elog "crawl is a slotted install that supports having" | ||
elog "multiple versions installed. The binary has the" | ||
elog "slot appended, e.g. 'crawl-"${SLOT}"'." | ||
|
||
if use tiles && use ncurses ; then | ||
elog | ||
elog "Since you have enabled both tiles and ncurses frontends" | ||
elog "the ncurses binary is called 'crawl-ncurses-"${SLOT}"' and the" | ||
elog "tiles binary is called 'crawl-"${SLOT}"'." | ||
fi | ||
} | ||
|
||
pkg_postrm() { | ||
xdg_icon_cache_update | ||
} |