From a9e3b54f5f88271deaf586a1a736955a3bb33dde Mon Sep 17 00:00:00 2001 From: soyalexman Date: Wed, 12 May 2010 23:29:18 +0200 Subject: games/epsxe: Added to 12.2 repository --- games/epsxe/README | 23 +++++++++++ games/epsxe/doinst.sh | 19 +++++++++ games/epsxe/dot.epsxerc | 35 ++++++++++++++++ games/epsxe/epsxe.SlackBuild | 95 +++++++++++++++++++++++++++++++++++++++++++ games/epsxe/epsxe.desktop | 12 ++++++ games/epsxe/epsxe.info | 8 ++++ games/epsxe/epsxe.png | Bin 0 -> 1897 bytes games/epsxe/slack-desc | 19 +++++++++ games/epsxe/wrapper.epsxe | 25 ++++++++++++ 9 files changed, 236 insertions(+) create mode 100644 games/epsxe/README create mode 100644 games/epsxe/doinst.sh create mode 100644 games/epsxe/dot.epsxerc create mode 100644 games/epsxe/epsxe.SlackBuild create mode 100644 games/epsxe/epsxe.desktop create mode 100644 games/epsxe/epsxe.info create mode 100644 games/epsxe/epsxe.png create mode 100644 games/epsxe/slack-desc create mode 100644 games/epsxe/wrapper.epsxe diff --git a/games/epsxe/README b/games/epsxe/README new file mode 100644 index 0000000000..18e4062a50 --- /dev/null +++ b/games/epsxe/README @@ -0,0 +1,23 @@ +ePSXe (enhanced PSX emulator) is an emulator of the Sony PlayStation video +game console for x86-based PC hardware. It was written by three authors, +using the aliases "Calb", "_Demo_", and "Galtor". It has been described as +the best freeware Playstation emulator available. + +ePSXe makes use of a plugin system to emulate GPU, SPU, and CD drive functions + * GPU: Most GPU plugins run with either Direct3D, OpenGL, or the + Glide API, and are available freeware or open source. + * SPU: The SPU plugins can emulate everything from music to sound + effects, with varying degrees of success depending on the plugin + settings, and of course the plugin being used. + * CD-ROM: ePSXe comes with a core CD-ROM plugin, but many others + are available for freeware download and many can emulate up to + seven different types of read modes. + * Input: The core plugin is sufficient, but there are others that + allow for more functionality. It is even possible to plug in and + use a DualShock controller with a USB adapter. + +If you want to add plugins to the epsxe, go to $HOME/.epsxe, where you +will find the plugins directory. Note that this script installs many +needed directories owned by root:games and writable by that group; if you +want a user to be able to install plugins, then make sure they are in the +games group. diff --git a/games/epsxe/doinst.sh b/games/epsxe/doinst.sh new file mode 100644 index 0000000000..8dbf8e2b06 --- /dev/null +++ b/games/epsxe/doinst.sh @@ -0,0 +1,19 @@ +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 var/games/epsxe/.epsxerc.new + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + diff --git a/games/epsxe/dot.epsxerc b/games/epsxe/dot.epsxerc new file mode 100644 index 0000000000..70585beab2 --- /dev/null +++ b/games/epsxe/dot.epsxerc @@ -0,0 +1,35 @@ +# +# ePSXe config file +# + +# Plugins names +VideoPlugin = libgpuPeteXGL2.so.2.0.8 +SoundPlugin = libspuPeopsOSS.so.1.0.8 +PadPlugin = libpadJoy-0.8.so + +# File paths/names +BiosPath = @INSTALLDIR@/SCPH1001.BIN +CdromDevice = /dev/cdrom +CdromMountPath = /mnt/cdrom +IsoDirectory = / + +# Memory cards [files] +MemcardPath1 = @INSTALLDIR@/memcards/epsxe000.mcr +MemcardPath2 = @INSTALLDIR@/memcards/epsxe001.mcr + +# Sounds options [0-disabled, 1-enabled] +SoundEnabled = 1 +SoundXA = 1 +SoundCDDA = 0 +SoundFakeSpuIrq = 0 + +# Keys [16-keycodes] +Keys1 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +Keys2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +Keys3 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +Keys4 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +Multitap1 = 0 + +# Misc options [0-NTSC, 1-PAL, 255-AUTODETECT, 0-disabled, 1-enabled] +Country = 0 +AutoPpfLoad = 1 diff --git a/games/epsxe/epsxe.SlackBuild b/games/epsxe/epsxe.SlackBuild new file mode 100644 index 0000000000..4eb3baf7f3 --- /dev/null +++ b/games/epsxe/epsxe.SlackBuild @@ -0,0 +1,95 @@ +#!/bin/sh + +# Slackware build script for epsxe + +# Copyright (c) 2009, soyalexman, soyalexman@soyalexman.com +# PSX Controller icon made by soyalexman. +# 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. +# +# 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. + +# NOTE:plugins,bios or cfg are not considered on this script + +PRGNAM=epsxe +VERSION=1.60 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +EPSXEZIP=160lin + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $PKG/usr/games/$PRGNAM-$VERSION $OUTPUT +unzip $CWD/$PRGNAM$EPSXEZIP.zip -d $PKG/usr/games/$PRGNAM-$VERSION +cd $PKG/usr/games/$PRGNAM-$VERSION +chown -R root:root . + +## We'll diverge from upstream a bit in locations but not functionality +## Some of this stuff needs to be writable by users, so it can't be on the +## /usr partition in case it's mounted readonly. Also, we don't want *all* +## users to have write permissions on it, so we'll handle that too. +# First, the global configuration file +mkdir -p $PKG/var/games/$PRGNAM +sed "s%@INSTALLDIR@%/usr/games/$PRGNAM-$VERSION%g" $CWD/dot.epsxerc > \ + $PKG/var/games/$PRGNAM/.epsxerc.new +cd $PKG/usr/games/$PRGNAM-$VERSION + # Link the config file to where it's expected + ln -s ../../../var/games/$PRGNAM/.epsxerc .epsxerc + mv bios cfg cheats memcards plugins sstates snap \ + $PKG/var/games/$PRGNAM + for i in bios cfg cheats memcards plugins sstates snap ; do + ln -s ../../../var/games/$PRGNAM/$i . ; + done +cd - + +# Make the plugins, bios, cfg, cheats, memcards, and snap dirs be owned by +# root:games and mode 2775 ; also make files 0664 +chown -R root:games $PKG/var/games/$PRGNAM +find $PKG/var/games/$PRGNAM -type f -exec chmod 0664 {} \; +find $PKG/var/games/$PRGNAM -type d -exec chmod 2775 {} \; + +# Add a wrapper in PATH (/usr/games) which will run the real executable at +# /usr/games/$PRGNAM-$VERSION/epsxe after handling some config details +sed "s%@INSTALLDIR@%/usr/games/$PRGNAM-$VERSION%g" $CWD/wrapper.epsxe \ + > $PKG/usr/games/epsxe +chmod 0755 $PKG/usr/games/epsxe + +# Add a .desktop file and icon for good menu integration +mkdir -p $PKG/usr/share/{applications,pixmaps} +install -m 0644 $CWD/epsxe.desktop $PKG/usr/share/applications/epsxe.desktop +install -m 0644 $CWD/epsxe.png $PKG/usr/share/pixmaps/epsxe.png + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mv docs/* $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +( cd $PKG/usr/games/$PRGNAM-$VERSION + rm -rf docs ; ln -sf ../../doc/$PRGNAM-$VERSION/ docs +) + +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.tgz diff --git a/games/epsxe/epsxe.desktop b/games/epsxe/epsxe.desktop new file mode 100644 index 0000000000..1dbc352407 --- /dev/null +++ b/games/epsxe/epsxe.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=EPSXE +Comment=PSX Emulator +Exec=epsxe +Icon=epsxe +Terminal=false +Type=Application +Categories=GNOME;GTK;Qt;KDE;Game; +StartupNotify=false +GenericName=PSX Emulation +X-KDE-StartupNotify=false +X-DCOP-ServiceType=Multi diff --git a/games/epsxe/epsxe.info b/games/epsxe/epsxe.info new file mode 100644 index 0000000000..4ac40455a0 --- /dev/null +++ b/games/epsxe/epsxe.info @@ -0,0 +1,8 @@ +PRGNAM="epsxe" +VERSION="1.60" +HOMEPAGE="http://www.epsxe.com" +DOWNLOAD="http://www.epsxe.com/files/epsxe160lin.zip" +MD5SUM="32704cfc77939b9a1bd047f22b70eca2" +MAINTAINER="soyalexman" +EMAIL="soyalexman@soyalexman.com" +APPROVED="rworkman" diff --git a/games/epsxe/epsxe.png b/games/epsxe/epsxe.png new file mode 100644 index 0000000000..49c5295c63 Binary files /dev/null and b/games/epsxe/epsxe.png differ diff --git a/games/epsxe/slack-desc b/games/epsxe/slack-desc new file mode 100644 index 0000000000..766c2dee16 --- /dev/null +++ b/games/epsxe/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 ':'. + + |-----handy-ruler------------------------------------------------------| +epsxe: EPSXE (PSX Emulator) +epsxe: +epsxe: ePSXe (enhanced PSX emulator) is an emulator of the Sony PlayStation +epsxe: video game console for x86-based PC hardware. It was written by +epsxe: three authors, using the aliases "Calb", "_Demo_", and "Galtor". +epsxe: It has been described as the best freeware Playstation emulator +epsxe: available. ((http://en.wikipedia.org/wiki/EPSXe) +epsxe: +epsxe: Homepage: http://www.epsxe.com +epsxe: +epsxe: diff --git a/games/epsxe/wrapper.epsxe b/games/epsxe/wrapper.epsxe new file mode 100644 index 0000000000..af0adb9999 --- /dev/null +++ b/games/epsxe/wrapper.epsxe @@ -0,0 +1,25 @@ +#!/bin/sh + +# This script has 2 reasons to exist. +# 1) Run the real executable, since it looks for the plugins in the same +# directory where it is located; therefore, the file structure given +# by the epsxe team must be preserved. +# 2) Check if the user's $HOME has a ".epsxe" directory. This is only a way +# to have links to the plugins directory, that was given write permissions +# to the games group. + +# Check for the $HOME/.epsxe dir. +if [ ! -d $HOME/.epsxe ]; then + mkdir -p $HOME/.epsxe + cd $HOME/.epsxe + ln -s @INSTALLDIR@/cfg cfg + ln -s @INSTALLDIR@/bios bios + ln -s @INSTALLDIR@/cheats cheats + ln -s @INSTALLDIR@/memcards memcards + ln -s @INSTALLDIR@/plugins plugins + cd - +fi + +# Run the program +@INSTALLDIR@/epsxe + -- cgit v1.2.3