139 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Copyright 2011 Elias Pipping <pipping@exherbo.org>
 | ||
| # Copyright 2016 Julian Ospald <hasufell@posteo.de>
 | ||
| # Distributed under the terms of the GNU General Public License v2
 | ||
| 
 | ||
| require gtk-icon-cache game
 | ||
| 
 | ||
| MY_PN=stone_soup
 | ||
| MY_PNV=${MY_PN}-${PV}
 | ||
| 
 | ||
| SUMMARY="Single-player, role-playing roguelike game"
 | ||
| DESCRIPTION="
 | ||
|     Dungeon Crawl Stone Soup is a free roguelike game of exploration
 | ||
|     and treasure-hunting in dungeons filled with dangerous and
 | ||
|     unfriendly monsters in a quest for the mystifyingly fabulous Orb
 | ||
|     of Zot.
 | ||
| 
 | ||
|     Dungeon Crawl Stone Soup has diverse species and many different
 | ||
|     character backgrounds to choose from, deep tactical game-play,
 | ||
|     sophisticated magic, religion and skill systems, and a grand
 | ||
|     variety of monsters to fight and run from, making each game
 | ||
|     unique and challenging.
 | ||
| 
 | ||
|     Dungeon Crawl Stone Soup can be played offline, or online on a
 | ||
|     public telnet/ssh server thanks to the good folks at
 | ||
|     crawl.akrasiac.org (CAO) and crawl.develz.org (CDO). These public
 | ||
|     servers allow you to meet other players’ ghosts, watch other people
 | ||
|     playing, and, in general, have a blast!
 | ||
| "
 | ||
| HOMEPAGE="https://crawl.develz.org/wordpress/"
 | ||
| DOWNLOADS="https://crawl.develz.org/release/${MY_PNV}-nodeps.tar.xz"
 | ||
| 
 | ||
| LICENCES="
 | ||
|     GPL-2
 | ||
|     BSD-3 [[ note = [ mt19937ar.cc, MSVC/stdint.h ] ]]
 | ||
|     BSD-2 [[ note = [ all contributions by Steve Noonan and Jesse Luehrs ] ]]
 | ||
|     public-domain [[ note = [ most of tiles ] ]]
 | ||
|     CC0 [[ note = [ most of tiles ] ]]
 | ||
|     MIT [[ note = [ json.cc/json.h, some .js files in
 | ||
|                     webserver/static/scripts/contrib/ ] ]]
 | ||
| "
 | ||
| SLOT="0"
 | ||
| PLATFORMS="~amd64 ~x86"
 | ||
| MYOPTIONS="
 | ||
|     tiles [[ description = [ Do graphical (tiled) build instead of
 | ||
|                              ncurses build ] ]]
 | ||
| "
 | ||
| RESTRICT="test" # lots of sydbox access violations
 | ||
| 
 | ||
| DEPENDENCIES="
 | ||
|     build:
 | ||
|         dev-lang/perl:*
 | ||
|         sys-devel/bison
 | ||
|         sys-devel/flex
 | ||
|         virtual/pkg-config
 | ||
|         tiles? ( sys-libs/ncurses )
 | ||
|     build+run:
 | ||
|         dev-db/sqlite:3
 | ||
|         dev-lang/lua:5.1
 | ||
|         sys-libs/zlib
 | ||
|         !tiles? ( sys-libs/ncurses )
 | ||
|         tiles? (
 | ||
|             fonts/dejavu
 | ||
|             media-libs/freetype:2
 | ||
|             media-libs/libpng:=
 | ||
|             media-libs/SDL:2[X]
 | ||
|             media-libs/SDL_image:2
 | ||
|             x11-dri/glu
 | ||
|             x11-dri/mesa
 | ||
|         )
 | ||
| "
 | ||
| 
 | ||
| WORK=${WORKBASE}/${MY_PNV}/source
 | ||
| 
 | ||
| MY_SAVEDIR=/var/lib/games/${MY_PN}
 | ||
| 
 | ||
| # merged upstream: https://github.com/crawl/crawl/pull/237
 | ||
| DEFAULT_SRC_PREPARE_PATCHES=(
 | ||
|     -p3 "${FILES}"/0001-${PV}-MAKE-use-PKGCONFIG-to-get-ncurses-flags-if-available.patch
 | ||
|     -p3 "${FILES}"/0002-${PV}-MAKE-always-use-PKGCONFIG-instead-of-pkg-config.patch
 | ||
|     -p3 "${FILES}"/0003-${PV}-MAKE-allow-to-skip-automagic-gold-linker-detection.patch
 | ||
| )
 | ||
| 
 | ||
| DEFAULT_SRC_COMPILE_PARAMS=(
 | ||
|     DATADIR="/usr/share/${PN}"
 | ||
|     SAVEDIR=${MY_SAVEDIR}
 | ||
|     DESTDIR="${IMAGE}"
 | ||
|     bin_prefix="${IMAGE}/usr/$(exhost --target)/bin"
 | ||
|     prefix_fp=""
 | ||
|     prefix="/usr"
 | ||
| 
 | ||
|     USE_LUAJIT=
 | ||
|     BUILD_ALL=
 | ||
|     NO_TRY_GOLD=y
 | ||
|     V=1
 | ||
| 
 | ||
|     INSTALL_UGRP=wizard:games
 | ||
|     MCHMOD=ug+s
 | ||
| 
 | ||
|     EXTERNAL_FLAGS="${CXXFLAGS}"
 | ||
|     EXTERNAL_LDFLAGS="${LDFLAGS}"
 | ||
| 
 | ||
|     AR="${AR}"
 | ||
|     RANLIB="${RANLIB}"
 | ||
|     CC="${CC}"
 | ||
|     CXX="${CXX}"
 | ||
|     PKGCONFIG="${PKG_CONFIG}"
 | ||
|     STRIP=echo
 | ||
| )
 | ||
| 
 | ||
| src_compile() {
 | ||
|     export HOSTCXX=${CXX} GXX=${CXX}
 | ||
| 
 | ||
|     emake "${DEFAULT_SRC_COMPILE_PARAMS[@]}" \
 | ||
|         $(option tiles "TILES=y" "")
 | ||
| }
 | ||
| 
 | ||
| src_install() {
 | ||
|     emake "${DEFAULT_SRC_COMPILE_PARAMS[@]}" \
 | ||
|         $(option tiles "TILES=y" "") \
 | ||
|         install
 | ||
| 
 | ||
|     keepdir ${MY_SAVEDIR}/morgue
 | ||
|     keepdir ${MY_SAVEDIR}/saves/db
 | ||
|     preserve_scores "${IMAGE}"${MY_SAVEDIR}
 | ||
| 
 | ||
|     dovarlibgames -R
 | ||
| }
 | ||
| 
 | ||
| pkg_preinst() {
 | ||
|     game_pkg_preinst
 | ||
|     gtk-icon-cache_pkg_preinst
 | ||
| }
 | ||
| 
 | ||
| pkg_postinst() {
 | ||
|     game_pkg_postinst
 | ||
|     gtk-icon-cache_pkg_postinst
 | ||
| }
 | ||
| 
 |