From 64eef3c2094c4749a6450229d5a8c77815653a3f Mon Sep 17 00:00:00 2001 From: leycec Date: Tue, 9 Oct 2012 03:55:04 -0400 Subject: [PATCH] Added The Slimy Lichmummy (TSL). Also, slightly altered ToME4 and labelnation. --- .gitignore | 2 +- app-text/labelnation/labelnation-1.212.ebuild | 19 ++-- .../tome4/tome4-1.0.0_beta41-r4.ebuild | 2 +- games-roguelike/tsl/Manifest | 1 + games-roguelike/tsl/metadata.xml | 22 ++++ games-roguelike/tsl/tsl-0.40.ebuild | 100 ++++++++++++++++++ licenses/tsl | 67 ++++++++++++ 7 files changed, 202 insertions(+), 11 deletions(-) create mode 100644 games-roguelike/tsl/Manifest create mode 100644 games-roguelike/tsl/metadata.xml create mode 100644 games-roguelike/tsl/tsl-0.40.ebuild create mode 100644 licenses/tsl diff --git a/.gitignore b/.gitignore index deecf55..52e2be4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # ====================[ .gitignore ]==================== # # --------------------( SYNOPSIS )-------------------- -# Avoid committing all paths matching the following glob expressions. +# Avoid committing paths matching the following glob expressions. # ....................{ TEMPORARIES }.................... *~ diff --git a/app-text/labelnation/labelnation-1.212.ebuild b/app-text/labelnation/labelnation-1.212.ebuild index 45fccaf..073c7a6 100644 --- a/app-text/labelnation/labelnation-1.212.ebuild +++ b/app-text/labelnation/labelnation-1.212.ebuild @@ -1,18 +1,19 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ - EAPI=4 +# Enforce Bash scrictness. +set -e + # While the installed "labelnation" script requires only Python 2.x, the # installed "csv_to_ln" script requires at least Python 2.3. Since # "python.eclass" fails with error for less than Python 2.5, use that instead. PYTHON_DEPEND="2:2.5" -# "labelnation" installs only stand-alone scripts. +# "labelnation" installs only Python 2.x-specific stand-alone scripts. SUPPORT_PYTHON_ABIS= -#Python 2.x-specific -#RESTRICT_PYTHON_ABIS="3.*" +RESTRICT_PYTHON_ABIS="3.*" inherit python @@ -34,9 +35,9 @@ src_prepare() { } src_install() { - # "labelnation" provides no makefiles, so this is it. - dobin csv_to_ln labelnation - dodoc README - docinto examples - dodoc examples/* + # "labelnation" bundles no makefiles, so this is it. + dobin csv_to_ln labelnation + dodoc README + docinto examples + dodoc examples/* } diff --git a/games-roguelike/tome4/tome4-1.0.0_beta41-r4.ebuild b/games-roguelike/tome4/tome4-1.0.0_beta41-r4.ebuild index fb8aa39..2bb53a9 100644 --- a/games-roguelike/tome4/tome4-1.0.0_beta41-r4.ebuild +++ b/games-roguelike/tome4/tome4-1.0.0_beta41-r4.ebuild @@ -138,6 +138,6 @@ src_install() { exeinto "${tome4_home}" doexe t-engine - # Force games-specific user and group permissions. + # Force game-specific user and group permissions. prepgamesdirs } diff --git a/games-roguelike/tsl/Manifest b/games-roguelike/tsl/Manifest new file mode 100644 index 0000000..d0397b2 --- /dev/null +++ b/games-roguelike/tsl/Manifest @@ -0,0 +1 @@ +DIST tsl-0.40.tar.gz 325267 SHA256 95c4d3e8abd6a4a13a851f154adee6888800ec74b13ae773bb5d6bcef1a7c70a SHA512 a46a8afc67470c1f364b2870d305dc5c45c8f31bd12afa01c5c8044fff2e53a6489af9bd946bd0507b896241ada5dedf63b8f9077df2426abd71669d75ea93ae WHIRLPOOL be45f3e47ee1c9b1534658792519edf2b0a6c79814ffcc5edc81b43c1fbb6b9bad089af60bc15cc348f25991f752a1716a1c4060f0f1031add298e88b6d1b869 diff --git a/games-roguelike/tsl/metadata.xml b/games-roguelike/tsl/metadata.xml new file mode 100644 index 0000000..78bcfda --- /dev/null +++ b/games-roguelike/tsl/metadata.xml @@ -0,0 +1,22 @@ + + + + + leycec@gmail.com + leycec + + The Slimy Lichmummy (TSL) is an adventure game by Ulf Åström, similar in style to the classic "Rogue". + +You play the role of an adventurer exploring a bleak and hostile world. Battle peculiar beasts and overcome sinister traps. Improve your character by replacing body parts with machinery. This is no ordinary "fantasy" setting. Everyone loses, everyone dies. + +TSL has quick gameplay and high replay value. Each game is randomly generated and has different levels, item and monster placement. Turn-based gameplay gives you ample time to think about each move. There is more than one way to deal with each situation. There is no need to "grind" and "level up" - only player skill counts. You start each game with the accumulated knowledge of previous sessions. + +TSL is not easy and forgiving - it is actively trying to kill you and requires great skill to outsmart. Death is permanent: when you die, there is no way to bring a character back. While this might sound discouraging at first, the appeal lies in the trial and error, discovery itself. Even death tries to be fair and educational: every time you die, you will know what killed you and learn not to do that again. Eventually you will master the rules. + +TSL has a delicious grayscale interface (using Allegro for graphics or curses for textmode). + + + Build Allegro-driven GUI + Build ncurses-driven CLI + + diff --git a/games-roguelike/tsl/tsl-0.40.ebuild b/games-roguelike/tsl/tsl-0.40.ebuild new file mode 100644 index 0000000..42fa422 --- /dev/null +++ b/games-roguelike/tsl/tsl-0.40.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +EAPI=4 + +# Enforce Bash strictness. +set -e + +inherit games + +DESCRIPTION="The Slimy Lichmummy, an adventure game similar in style to the classic Rogue" +HOMEPAGE="http://www.happyponyland.net/roguelike.php" +SRC_URI="http://www.happyponyland.net/files/${P}.tar.gz" + +LICENSE="tsl" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="allegro ncurses" +REQUIRED_USE="|| ( allegro ncurses )" + +RDEPEND=" + virtual/libc + allegro? ( media-libs/allegro ) + ncurses? ( sys-libs/ncurses ) +" + +# TSL leverages shell scripts explicitly calling "gcc". We are most displeased. +DEPEND="${RDEPEND} + sys-devel/gcc +" + +src_prepare() { + # Inject user $CFLAGS into the TSL shell scripts. + sed -ie 's~^\(gcc.*\)\\$~\1 '"${CFLAGS}"' \\~' *.sh +} + +# Technically, we should be running "nbuild.php" to rebuild TSL shell scripts on +# a per-system basis. But that requires adding a build-time PHP dependency, +# which smacks of overkill. For now, just run the bundled shell scripts. +src_compile() { + # If the current requests requests both graphical and console builds, rename + # the executable output by the latter but not former. The former retains the + # default executable filename, as expected. + if use allegro && use ncurses; then + einfo 'Compiling console interface...' + ./build_console.sh + mv tsl tsl_console + einfo 'Compiling graphical interface...' + ./build_gui.sh + # Otherwise, accept the default executable of "tsl". + elif use allegro; then + einfo 'Compiling graphical interface...' + ./build_gui.sh + else # use ncurses + einfo 'Compiling console interface...' + ./build_console.sh + fi +} + +src_install() { + # The console build is entirely self-contained in the compiled executable. + # Install such executable directly, if compiled. + if use ncurses; then + if use allegro + then dogamesbin tsl_console + else dogamesbin tsl + fi + fi + + # The graphical build requires assets external to the compiled executable. + # Install such files in a dedicated directory, if compiled. + if use allegro; then + # Install graphical assets. + local tsl_home="${GAMES_PREFIX}/${PN}" + insinto "${tsl_home}" + doins *.{png,tga} + + # Install the graphical executable, which expects to be executed from + # within such directory. + exeinto "${tsl_home}" + doexe tsl + + # Since "games_make_wrapper" fails to produce a working wrapper, do so + # manually. + cat < tsl_wrapper +#!/bin/sh +cd "${tsl_home}" +./tsl +EOF + newgamesbin tsl_wrapper tsl + fi + + # Install documentation and configuration examples. + dodoc CHANGES.TXT README.TXT + docinto examples + dodoc tsl_conf_* + + # Force game-specific user and group permissions. + prepgamesdirs +} diff --git a/licenses/tsl b/licenses/tsl new file mode 100644 index 0000000..2c03260 --- /dev/null +++ b/licenses/tsl @@ -0,0 +1,67 @@ +This is The Slimy Lichmummy (TSL). +It can be retrieved from www.happyponyland.net. +Copyright Ulf Åström (ulf.astrom@gmail.com) + +TSL is not free software. For several reasons I have not placed it +under any conventional open source license. I might do so in the +future, but for now the following shall apply: + +The source code is provided so you can compile it on any architecture +and verify what runs inside your computer. + +You may distribute unmodified copies of the source package. + +I don't really mind unofficial patches or ports, but I prefer if you +contact me first. + +You are not allowed to sell TSL in any form (source code or binaries). + +TSL comes with no warranty. Use it at your own risk. + +Some parts of the program are licensed under other conditions: + +mt19937ar.c is distributed under a BSD license; see COPYING_MT.TXT for details. + +The font is a modified "Terminus". See OFL.TXT for details. +TSL contains a Mersenne-Twister implementation (mt19937ar.c). + + A C-program for MT19937, with initialization improved 2002/1/26. + Coded by Takuji Nishimura and Makoto Matsumoto. + + Before using, initialize the state by using init_genrand(seed) + or init_by_array(init_key, key_length). + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Any feedback is very welcome. + http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html + email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)