From ecb92e4043e563c51c8c6a092f1732ab4453aea1 Mon Sep 17 00:00:00 2001 From: Philip Lacroix Date: Thu, 5 Dec 2013 23:08:53 +0700 Subject: games/fgo: Added (FlightGear Flight Simulator Front End). Signed-off-by: Willy Sudiarto Raharjo --- games/fgo/README | 6 +++ games/fgo/doinst.sh | 29 ++++++++++++ games/fgo/fgo.SlackBuild | 112 +++++++++++++++++++++++++++++++++++++++++++++++ games/fgo/fgo.desktop | 27 ++++++++++++ games/fgo/fgo.info | 10 +++++ games/fgo/fgo.presets | 3 ++ games/fgo/slack-desc | 19 ++++++++ 7 files changed, 206 insertions(+) create mode 100644 games/fgo/README create mode 100644 games/fgo/doinst.sh create mode 100644 games/fgo/fgo.SlackBuild create mode 100644 games/fgo/fgo.desktop create mode 100644 games/fgo/fgo.info create mode 100644 games/fgo/fgo.presets create mode 100644 games/fgo/slack-desc diff --git a/games/fgo/README b/games/fgo/README new file mode 100644 index 000000000000..7be51dd15696 --- /dev/null +++ b/games/fgo/README @@ -0,0 +1,6 @@ +FGo! is a simple and fast graphical front end for FlightGear, written +in Python by Robert Leda. It combines a simple graphical interface, +where users can select an aircraft, airport, runway, parking position +and scenario, with a text window which provides a way to specify more +advanced command-line options that will be passed to FlightGear. These +features allow FGo! to keep a simple, yet powerful design. diff --git a/games/fgo/doinst.sh b/games/fgo/doinst.sh new file mode 100644 index 000000000000..9204f9027b9f --- /dev/null +++ b/games/fgo/doinst.sh @@ -0,0 +1,29 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +CONFIG=${CONFIG:-/opt/fgo/data/config} +for lang in de en es fr it pl ; do + config $CONFIG/config_${lang}.new +done +config $CONFIG/presets.new + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + diff --git a/games/fgo/fgo.SlackBuild b/games/fgo/fgo.SlackBuild new file mode 100644 index 000000000000..57f64c18a02e --- /dev/null +++ b/games/fgo/fgo.SlackBuild @@ -0,0 +1,112 @@ +#!/bin/sh + +# Slackware build script for FGo! + +# Copyright 2013 Philip Lacroix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 AUTHOR 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. + +PRGNAM=fgo +VERSION=${VERSION:-1.4.5} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=${PKG:-$TMP/package-$PRGNAM} +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz + +cd $PRGNAM +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +PRGDIR=${PRGDIR:-$PKG/opt/$PRGNAM} +PRGSHR=${PRGSHR:-$PKG/usr/share} +PRGDOC=${PRGDOC:-$PKG/usr/doc/$PRGNAM-$VERSION} +PRGETC=${PRGETC:-$PKG/etc/$PRGNAM} + +mkdir -p $PRGDIR +cp -a * $PRGDIR + +# Symlink to executable +mkdir -p $PKG/usr/bin +ln -sf /opt/$PRGNAM/$PRGNAM $PKG/usr/bin/ + +# Desktop entry +mkdir -p $PRGSHR/applications/ +cat $CWD/$PRGNAM.desktop > $PRGSHR/applications/$PRGNAM.desktop + +# Symlinks to icons +for size in 32 48 64 128 ; do + mkdir -p $PRGSHR/icons/hicolor/${size}x${size}/apps + ln -sf /opt/$PRGNAM/data/pics/icon${size}.png \ + $PRGSHR/icons/hicolor/${size}x${size}/apps/$PRGNAM.png +done +mkdir -p $PRGSHR/icons/hicolor/scalable/apps +ln -sf /opt/$PRGNAM/data/pics/icon.svg \ + $PRGSHR/icons/hicolor/scalable/apps/$PRGNAM.svg + +# Copy documentation, replace broken symlinks +mkdir -p $PRGDOC +cp -a $PRGDIR/docs/* $PRGDOC +rm -f $PRGDOC/README/* +cp -a $PRGDIR/data/help/* $PRGDOC/README + +# Symlink to config directory +mkdir -p $PRGETC +ln -sf /opt/$PRGNAM/data/config $PRGETC + +# Set some basic variables (paths to fgfs and shared data) +cat $CWD/$PRGNAM.presets > $CWD/presets.tmp +cat $PRGDIR/data/config/presets >> $CWD/presets.tmp +mv $CWD/presets.tmp $PRGDIR/data/config/presets + +# Don't clobber config files +CONFIG=${CONFIG:-$PRGDIR/data/config} +for lang in de en es fr it pl ; do + mv $CONFIG/config_${lang} $CONFIG/config_${lang}.new +done +mv $CONFIG/presets $CONFIG/presets.new + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/games/fgo/fgo.desktop b/games/fgo/fgo.desktop new file mode 100644 index 000000000000..b6184e9067f6 --- /dev/null +++ b/games/fgo/fgo.desktop @@ -0,0 +1,27 @@ +[Desktop Entry] +Name=FGo! (front-end for FlightGear) +Name[de]=FGo! (Front-End für FlightGear) +Name[es]=FGo! (lanzador para FlightGear) +Name[fr]=FGo! (front-end pour FlightGear) +Name[it]=FGo! (front-end per FlightGear) +Name[nl]=FGo! (frontend voor FlightGear) +Name[pl]=FGo! (front-end dla FlightGear) +GenericName=front-end for FlightGear +GenericName[de]=Front-End für FlightGear +GenericName[es]=Lanzador para FlightGear +GenericName[fr]=front-end pour FlightGear +GenericName[it]=front-end per FlightGear +GenericName[nl]=frontend voor FlightGear +GenericName[pl]=front-end dla FlightGear +Comment=A simple and fast front-end for FlightGear Flight Simulator +Comment[de]=Einfaches und schnelles Front-End für FlightGear Flight Simulator +Comment[es]=Un simple y rápido lanzador para FlightGear Flight Simulator +Comment[fr]=Front-end simple et rapide pour FlightGear Flight Simulator +Comment[it]=Un front-end semplice e veloce per FlightGear Flight Simulator +Comment[nl]=Een eenvoudige en snelle frontend voor FlightGear Flight Simulator +Comment[pl]=Prosty i szybki front-end dla FlightGear Flight Simulator +Exec=fgo +Terminal=false +Type=Application +Icon=fgo +Categories=Game; diff --git a/games/fgo/fgo.info b/games/fgo/fgo.info new file mode 100644 index 000000000000..35ecda2b66a1 --- /dev/null +++ b/games/fgo/fgo.info @@ -0,0 +1,10 @@ +PRGNAM="fgo" +VERSION="1.4.5" +HOMEPAGE="http://sites.google.com/site/erobosprojects/flightgear/add-ons/fgo" +DOWNLOAD="https://sites.google.com/site/erobosprojects/flightgear/add-ons/fgo/download/fgo-1.4.5.tar.gz" +MD5SUM="48336087a41e23b87e134b37c39742e9" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="FlightGear" +MAINTAINER="Philip Lacroix" +EMAIL="philnx at bluebottle dot com" diff --git a/games/fgo/fgo.presets b/games/fgo/fgo.presets new file mode 100644 index 000000000000..80fdd353eef9 --- /dev/null +++ b/games/fgo/fgo.presets @@ -0,0 +1,3 @@ +FG_BIN=/usr/bin/fgfs +--fg-root=/usr/share/FlightGear +--fg-scenery=/usr/share/FlightGear/Scenery diff --git a/games/fgo/slack-desc b/games/fgo/slack-desc new file mode 100644 index 000000000000..1706475fc792 --- /dev/null +++ b/games/fgo/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +fgo: FGo! (a simple and fast front end for FlightGear Flight Simulator) +fgo: +fgo: FGo! is a simple and fast graphical front end for FlightGear, written +fgo: in Python by Robert Leda. It combines a simple graphical interface, +fgo: where users can select an aircraft, airport, runway, parking position +fgo: and scenario, with a text window which provides a way to specify more +fgo: advanced command-line options that will be passed to FlightGear. These +fgo: features allow FGo! to keep a simple, yet powerful design. +fgo: +fgo: Homepage: +fgo: http://sites.google.com/site/erobosprojects/flightgear/add-ons/fgo -- cgit v1.2.3