diff options
Diffstat (limited to 'games')
-rw-r--r-- | games/megaglest/README | 7 | ||||
-rw-r--r-- | games/megaglest/gcc-4.7.patch | 28 | ||||
-rw-r--r-- | games/megaglest/megaglest-3.6.0.2-help2man.patch | 11 | ||||
-rw-r--r-- | games/megaglest/megaglest.SlackBuild | 11 | ||||
-rw-r--r-- | games/megaglest/megaglest.info | 14 | ||||
-rw-r--r-- | games/megaglest/xvfb-run | 172 |
6 files changed, 202 insertions, 41 deletions
diff --git a/games/megaglest/README b/games/megaglest/README index 39510170d2..4e77e64e9f 100644 --- a/games/megaglest/README +++ b/games/megaglest/README @@ -4,5 +4,8 @@ Magic, Egyptians, Indians, Norsemen, Persian or Romans. The game is setup in one of 16 naturally looking settings, which (like the unit models) are crafted with great appreciation for detail. -Optional dependencies are libircclient and miniupnpc, as well as -help2man if you want to build manual pages. +Optional dependencies are libircclient, miniupnpc and vlc, as well +as help2man if you want to build man pages. + +Note to parallel builders: don't user more than 2 jobs or build +will break. diff --git a/games/megaglest/gcc-4.7.patch b/games/megaglest/gcc-4.7.patch deleted file mode 100644 index 3d118b1a9c..0000000000 --- a/games/megaglest/gcc-4.7.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- trunk/source/shared_lib/sources/util/util.cpp 2012/04/14 21:21:09 3244 -+++ trunk/source/shared_lib/sources/util/util.cpp 2012/05/01 14:55:06 3279 -@@ -22,6 +22,8 @@ - - #ifdef WIN32 - #include <io.h> // for open() -+#else -+ #include <unistd.h> - #endif - - #include <sys/stat.h> // for open() ---- trunk/source/shared_lib/include/graphics/math_util.h 2012/04/16 20:15:57 3252 -+++ trunk/source/shared_lib/include/graphics/math_util.h 2012/05/01 14:55:06 3279 -@@ -184,10 +184,10 @@ - - Rect2<T> computeBoundingRect() const{ - return Rect2i( -- min(p[0].x, p[1].x), -- min(p[0].y, p[2].y), -- max(p[2].x, p[3].x), -- max(p[1].y, p[3].y)); -+ std::min(p[0].x, p[1].x), -+ std::min(p[0].y, p[2].y), -+ std::max(p[2].x, p[3].x), -+ std::max(p[1].y, p[3].y)); - } - - bool isInside(const Vec2<T> &pt) const{ diff --git a/games/megaglest/megaglest-3.6.0.2-help2man.patch b/games/megaglest/megaglest-3.6.0.2-help2man.patch new file mode 100644 index 0000000000..6c71b8afe5 --- /dev/null +++ b/games/megaglest/megaglest-3.6.0.2-help2man.patch @@ -0,0 +1,11 @@ +--- megaglest-3.6.0.2/source/g3d_viewer/CMakeLists.txt.orig 2012-01-01 12:28:16.744930699 -0200 ++++ megaglest-3.6.0.2/source/g3d_viewer/CMakeLists.txt 2012-01-01 12:29:41.693429413 -0200 +@@ -157,7 +157,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) + MESSAGE("***-- Found xvfb-run: ${XVFB_EXEC} about to build manpage with it.") + + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME_MANPAGE} ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME} ++ COMMAND ${XVFB_EXEC} --auto-servernum ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME_MANPAGE} ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ELSE() + add_custom_target(${TARGET_NAME_MANPAGE} ALL diff --git a/games/megaglest/megaglest.SlackBuild b/games/megaglest/megaglest.SlackBuild index 6501b9b28e..0bb57a7de9 100644 --- a/games/megaglest/megaglest.SlackBuild +++ b/games/megaglest/megaglest.SlackBuild @@ -5,8 +5,8 @@ # Written by Larry Hajali <larryhaj[at]gmail[dot]com> PRGNAM=megaglest -VERSION=${VERSION:-3.6.0.3} -BUILD=${BUILD:-2} +VERSION=${VERSION:-3.7.1} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -62,8 +62,11 @@ find . \ sed -i "/^const string glestVersionString/ s|=.*|= \"v${VERSION}\";|" \ source/glest_game/facilities/game_util.cpp -# From upstream. Fixes gcc 4.7.x compile issues. -patch -p1 < $CWD/gcc-4.7.patch +# Fix megaglest help2man when no X display is available. Use a wrapper +# script from upstream for Xvfb that create a temporary *fake* framebuffer +install -m 0755 -D $CWD/xvfb-run $TMP/$SRCDIR/bin/xvfb-run +export PATH="$PATH:$TMP/$SRCDIR/bin" +patch -p1 < $CWD/megaglest-3.6.0.2-help2man.patch mkdir build cd build diff --git a/games/megaglest/megaglest.info b/games/megaglest/megaglest.info index 6cb80237c6..156c10c265 100644 --- a/games/megaglest/megaglest.info +++ b/games/megaglest/megaglest.info @@ -1,12 +1,12 @@ PRGNAM="megaglest" -VERSION="3.6.0.3" +VERSION="3.7.1" HOMEPAGE="http://megaglest.org/" -DOWNLOAD="http://downloads.sourceforge.net/megaglest/megaglest-source-3.6.0.3.tar.xz \ - http://downloads.sourceforge.net/megaglest/megaglest-data-3.6.0.3.tar.xz \ - http://downloads.sourceforge.net/megaglest/megaglest-source-embedded-3.6.0.3.tar.xz" -MD5SUM="5a4a2429435031d9f9cc5d9535a9de9d \ - 63f360b52ad000af3fc71c33fc52106a \ - 200be8b61dbe3a9a2c1aaa008e3dc432" +DOWNLOAD="http://downloads.sourceforge.net/megaglest/megaglest-source-3.7.1.tar.xz \ + http://downloads.sourceforge.net/megaglest/megaglest-data-3.7.1.tar.xz \ + http://downloads.sourceforge.net/megaglest/megaglest-source-embedded-3.7.1.tar.xz" +MD5SUM="e7a960ec73784aa0f7b951d2ad963456 \ + a73205fe02b684547dfe1fedc2d712b2 \ + 9852ab186c23580950a2dfe995e3b9b6" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="xerces-c OpenAL lua ftgl wxPython" diff --git a/games/megaglest/xvfb-run b/games/megaglest/xvfb-run new file mode 100644 index 0000000000..9dd1d919f2 --- /dev/null +++ b/games/megaglest/xvfb-run @@ -0,0 +1,172 @@ +#!/bin/sh + +# This script starts an instance of Xvfb, the "fake" X server, runs a command +# with that server available, and kills the X server when done. The return +# value of the command becomes the return value of this script. +# +# If anyone is using this to build a Debian package, make sure the package +# Build-Depends on xvfb, xbase-clients, and xfonts-base. + +set -e + +PROGNAME=xvfb-run +SERVERNUM=99 +AUTHFILE= +ERRORFILE=/dev/null +STARTWAIT=3 +XVFBARGS="-screen 0 640x480x8" +LISTENTCP="-nolisten tcp" +XAUTHPROTO=. + +PATH=$PATH:/usr/bin/X11:/usr/X11R6/bin + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the event +# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the +# script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true +if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then + DEFCOLUMNS=80 +fi + +# Display a message, wrapping lines at the terminal width. +message () { + echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} +} + +# Display an error message. +error () { + message "error: $*" >&2 +} + +# Display a usage message. +usage () { + if [ -n "$*" ]; then + message "usage error: $*" + fi + cat <<EOF +Usage: $PROGNAME [OPTION ...] COMMAND +Run COMMAND (usually an X client) in a virtual X server environment. +Options: +-a --auto-servernum try to get a free server number, starting at + --server-num +-e FILE --error-file=FILE file used to store xauth errors and Xvfb + output (default: $ERRORFILE) +-f FILE --auth-file=FILE file used to store auth cookie + (default: ./.Xauthority) +-h --help display this usage message and exit +-n NUM --server-num=NUM server number to use (default: $SERVERNUM) +-l --listen-tcp enable TCP port listening in the X server +-p PROTO --xauth-protocol=PROTO X authority protocol name to use + (default: xauth command's default) +-s ARGS --server-args=ARGS arguments (other than server number and + "-nolisten tcp") to pass to the Xvfb server + (default: "$XVFBARGS") +-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start + before running COMMAND (default: $STARTWAIT) +EOF +} + +# Find a free server number by looking at .X*-lock files in /tmp. +find_free_servernum() { + # Sadly, the "local" keyword is not POSIX. Leave the next line commented in + # the hope Debian Policy eventually changes to allow it in /bin/sh scripts + # anyway. + #local i + + i=$SERVERNUM + while [ -f /tmp/.X$i-lock ]; do + i=$(($i + 1)) + done + echo $i +} + +# Parse the command line. +ARGS=$(getopt --options +ae:f:hn:lp:s:w: \ + --long auto-servernum,error-file:auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \ + --name "$PROGNAME" -- "$@") +GETOPT_STATUS=$? + +if [ $GETOPT_STATUS -ne 0 ]; then + error "internal error; getopt exited with status $GETOPT_STATUS" + exit 6 +fi + +eval set -- "$ARGS" + +while :; do + case "$1" in + -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;; + -e|--error-file) ERRORFILE="$2"; shift ;; + -f|--auth-file) AUTHFILE="$2"; shift ;; + -h|--help) SHOWHELP="yes" ;; + -n|--server-num) SERVERNUM="$2"; shift ;; + -l|--listen-tcp) LISTENTCP="" ;; + -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;; + -s|--server-args) XVFBARGS="$2"; shift ;; + -w|--wait) STARTWAIT="$2"; shift ;; + --) shift; break ;; + *) error "internal error; getopt permitted \"$1\" unexpectedly" + exit 6 + ;; + esac + shift +done + +if [ "$SHOWHELP" ]; then + usage + exit 0 +fi + +if [ -z "$*" ]; then + usage "need a command to run" >&2 + exit 2 +fi + +if ! which xauth >/dev/null; then + error "xauth command not found" + exit 3 +fi + +# If the user did not specify an X authorization file to use, set up a temporary +# directory to house one. +if [ -z "$AUTHFILE" ]; then + XVFB_RUN_TMPDIR="${TMPDIR:-/tmp}/$PROGNAME.$$" + if ! mkdir -p -m 700 "$XVFB_RUN_TMPDIR"; then + error "temporary directory $XVFB_RUN_TMPDIR already exists" + exit 4 + fi + AUTHFILE=$(tempfile -n "$XVFB_RUN_TMPDIR/Xauthority") +fi + +# Start Xvfb. +MCOOKIE=$(mcookie) +XAUTHORITY=$AUTHFILE xauth add ":$SERVERNUM" "$XAUTHPROTO" "$MCOOKIE" \ + >"$ERRORFILE" 2>&1 +XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >"$ERRORFILE" \ + 2>&1 & +XVFBPID=$! +sleep "$STARTWAIT" + +# Start the command and save its exit status. +set +e +DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 +RETVAL=$? +set -e + +# Kill Xvfb now that the command has exited. +kill $XVFBPID + +# Clean up. +XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >"$ERRORFILE" 2>&1 +if [ -n "$XVFB_RUN_TMPDIR" ]; then + if ! rm -r "$XVFB_RUN_TMPDIR"; then + error "problem while cleaning up temporary directory" + exit 5 + fi +fi + +# Return the executed command's exit status. +exit $RETVAL + +# vim:set ai et sts=4 sw=4 tw=80: |