diff options
author | jylefort <jylefort@FreeBSD.org> | 2005-07-16 23:05:22 +0800 |
---|---|---|
committer | jylefort <jylefort@FreeBSD.org> | 2005-07-16 23:05:22 +0800 |
commit | 203d574915efa2d870a7062e774a250700e42292 (patch) | |
tree | f25f79b9dd4a0094b49e3e6b8cbcc7e9a77aa449 /emulators | |
parent | 4411b70fd64f44b3182ecfea44eb8f59504998ae (diff) | |
download | freebsd-ports-gnome-203d574915efa2d870a7062e774a250700e42292.tar.gz freebsd-ports-gnome-203d574915efa2d870a7062e774a250700e42292.tar.zst freebsd-ports-gnome-203d574915efa2d870a7062e774a250700e42292.zip |
- Remove epsxe-install; the epsxe shell script now maintains ~/.epsxe
- Explicitly depend on linux_base-8
- Reword and improve pkg-message
- Polish the Makefile
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/linux-ePSXe/Makefile | 50 | ||||
-rw-r--r-- | emulators/linux-ePSXe/files/epsxe | 15 | ||||
-rw-r--r-- | emulators/linux-ePSXe/files/epsxe-install.in | 72 | ||||
-rw-r--r-- | emulators/linux-ePSXe/files/epsxe-wrapper.in | 54 | ||||
-rw-r--r-- | emulators/linux-ePSXe/pkg-message | 32 | ||||
-rw-r--r-- | emulators/linux-ePSXe/pkg-plist | 1 |
6 files changed, 77 insertions, 147 deletions
diff --git a/emulators/linux-ePSXe/Makefile b/emulators/linux-ePSXe/Makefile index 4d328358dc62..1bbdba50df36 100644 --- a/emulators/linux-ePSXe/Makefile +++ b/emulators/linux-ePSXe/Makefile @@ -7,6 +7,7 @@ PORTNAME= epsxe PORTVERSION= 1.6.0 +PORTREVISION= 1 CATEGORIES= emulators linux MASTER_SITES= http://www.epsxe.com/files/ PKGNAMEPREFIX= linux- @@ -15,66 +16,33 @@ DISTNAME= epsxe160lin MAINTAINER= jylefort@FreeBSD.org COMMENT= A Sony Playstation emulator (Linux version) -# The binary is built against glibc 2.3, so we need linux_base-8. RUN_DEPENDS= ${LINUXBASE}/usr/lib/libgtk-1.2.so.0:${PORTSDIR}/x11-toolkits/linux-gtk -USE_LINUX= yes +USE_LINUX= 8 # the epsxe binary is linked against glibc 2.3 USE_X_PREFIX= yes USE_ZIP= yes NO_WRKSUBDIR= yes +NO_BUILD= yes ONLY_FOR_ARCHS= i386 -.include <bsd.port.pre.mk> - -EPSXE= ${PREFIX}/libexec/epsxe - -PSEMUPRO_PLUGINS_DIR= ${PREFIX}/lib/psemupro/plugins -PSEMUPRO_CFGBINS_DIR= ${PREFIX}/libexec/psemupro/cfg -PSEMUPRO_CFGFILES_DIR= ${PREFIX}/share/psemupro/cfg - -do-build: - ${MKDIR} ${WRKSRC}/FreeBSD - ${SED} \ - -e "s,@EPSXE@,${EPSXE},g" \ - -e "s,@DATADIR@,${DATADIR},g" \ - -e "s,@PSEMUPRO_PLUGINS_DIR@,${PSEMUPRO_PLUGINS_DIR},g" \ - -e "s,@PSEMUPRO_CFGBINS_DIR@,${PSEMUPRO_CFGBINS_DIR},g" \ - -e "s,@PSEMUPRO_CFGFILES_DIR@,${PSEMUPRO_CFGFILES_DIR},g" \ - ${FILESDIR}/epsxe-install.in \ - >${WRKSRC}/FreeBSD/epsxe-install +SUB_FILES= epsxe-wrapper do-install: - ${MKDIR} ${PREFIX}/bin - ${INSTALL_SCRIPT} \ - ${FILESDIR}/epsxe \ - ${WRKSRC}/FreeBSD/epsxe-install \ - ${PREFIX}/bin - - ${MKDIR} ${PREFIX}/libexec - ${INSTALL_PROGRAM} ${WRKSRC}/epsxe ${EPSXE} - ${BRANDELF} -t Linux ${EPSXE} + ${INSTALL_SCRIPT} ${WRKDIR}/epsxe-wrapper ${PREFIX}/bin/epsxe + ${INSTALL_PROGRAM} ${WRKSRC}/epsxe ${PREFIX}/libexec ${MKDIR} ${DATADIR} ${INSTALL_DATA} ${WRKSRC}/keycodes.lst ${DATADIR} ${MKDIR} ${DATADIR}/cheats - ${INSTALL_DATA} \ - ${WRKSRC}/cheats/breath_of_fire_4_usa.cht \ - ${WRKSRC}/cheats/chrono_cross_ntsc.cht \ - ${WRKSRC}/cheats/tarzan_pal.cht \ - ${DATADIR}/cheats + ${INSTALL_DATA} ${WRKSRC}/cheats/* ${DATADIR}/cheats .if !defined(NOPORTDOCS) ${MKDIR} ${DOCSDIR} - ${INSTALL_DATA} \ - ${WRKSRC}/docs/epsxe_en.txt \ - ${WRKSRC}/docs/epsxe_linux_en.txt \ - ${WRKSRC}/docs/epsxe_linux_sp.txt \ - ${WRKSRC}/docs/epsxe_sp.txt \ - ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/* ${DOCSDIR} .endif post-install: @${CAT} ${PKGMESSAGE} -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/emulators/linux-ePSXe/files/epsxe b/emulators/linux-ePSXe/files/epsxe deleted file mode 100644 index b50f5f52c02a..000000000000 --- a/emulators/linux-ePSXe/files/epsxe +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# epsxe - ePSXe launcher -# -# (c) 2002-2003 Jean-Yves Lefort. -# All rights reserved. - -USERDIR=$HOME/.epsxe - -if [ ! -x $USERDIR/epsxe ]; then - echo "$USERDIR/epsxe not found or not executable." - echo "You should run epsxe-install." - exit 1 -fi - -cd $USERDIR && exec ./epsxe "$@" diff --git a/emulators/linux-ePSXe/files/epsxe-install.in b/emulators/linux-ePSXe/files/epsxe-install.in deleted file mode 100644 index 5c0e81eee4c8..000000000000 --- a/emulators/linux-ePSXe/files/epsxe-install.in +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# epsxe-install - ePSXe user installation -# -# (c) 2002-2003 Jean-Yves Lefort. -# All rights reserved. - -EPSXE=@EPSXE@ -DATADIR=@DATADIR@ -PSEMUPRO_PLUGINS_DIR=@PSEMUPRO_PLUGINS_DIR@ -PSEMUPRO_CFGBINS_DIR=@PSEMUPRO_CFGBINS_DIR@ -PSEMUPRO_CFGFILES_DIR=@PSEMUPRO_CFGFILES_DIR@ - -USERDIR=$HOME/.epsxe - -_mkdir () { - if [ ! -e $1 ]; then - echo "Creating directory $1" - mkdir -p $1 - fi -} - -_ln () { - if [ ! -e $2 ]; then - echo "Creating symlink $2" - ln -sf $1 $2 - fi -} - -_install () { - if [ ! -e $2 ]; then - echo "Copying $1 to $2" - install -m $3 $1 $2 - fi -} - -for d in \ - $USERDIR \ - $USERDIR/bios \ - $USERDIR/cfg \ - $USERDIR/cheats \ - $USERDIR/memcards \ - $USERDIR/patches \ - $USERDIR/plugins \ - $USERDIR/snap \ - $USERDIR/sstates; do - _mkdir $d || exit $? -done - -_ln $EPSXE $USERDIR/epsxe || exit $? - -for f in \ - keycodes.lst \ - cheats/breath_of_fire_4_usa.cht \ - cheats/chrono_cross_ntsc.cht \ - cheats/tarzan_pal.cht; do - _ln $DATADIR/$f $USERDIR/$f || exit $? -done - -for p in $PSEMUPRO_PLUGINS_DIR/*; do - [ -e $p ] || break - _ln $p $USERDIR/plugins/`basename $p` || exit $? -done - -for c in $PSEMUPRO_CFGBINS_DIR/*; do - [ -e $c ] || break - _ln $c $USERDIR/cfg/`basename $c` || exit $? -done - -for c in $PSEMUPRO_CFGFILES_DIR/*; do - [ -e $c ] || break - _install $c $USERDIR/cfg/`basename $c` 0644 || exit $? -done diff --git a/emulators/linux-ePSXe/files/epsxe-wrapper.in b/emulators/linux-ePSXe/files/epsxe-wrapper.in new file mode 100644 index 000000000000..e50fd69ad8e2 --- /dev/null +++ b/emulators/linux-ePSXe/files/epsxe-wrapper.in @@ -0,0 +1,54 @@ +#!/bin/sh +# $FreeBSD$ + +EPSXE=%%PREFIX%%/libexec/epsxe +DATADIR=%%DATADIR%% +PSEMUPRO_PLUGINS_DIR=%%PREFIX%%/lib/psemupro/plugins +PSEMUPRO_CFGBINS_DIR=%%PREFIX%%/libexec/psemupro/cfg +PSEMUPRO_CFGFILES_DIR=%%PREFIX%%/share/psemupro/cfg + +USERDIR=$HOME/.epsxe + +remove_stale_symlinks () { + dir="$1" + + for f in $dir/*; do + [ "x$f" = "x$dir/*" ] && break + + target=`readlink $f` + if [ -n "$target" ] && [ ! -e "$target" ]; then + rm -f $f + fi + done +} + +### create $USERDIR hierarchy + +for d in bios cfg cheats memcards patches plugins snap sstates; do + mkdir -p $USERDIR/$d || exit 1 +done + +### remove stale symlinks + +for d in plugins cfg; do + remove_stale_symlinks $USERDIR/$d || exit 1 +done + +### populate $USERDIR + +ln -sf $EPSXE $USERDIR/epsxe || exit 1 + +for f in keycodes.lst cheats/breath_of_fire_4_usa.cht \ + cheats/chrono_cross_ntsc.cht cheats/tarzan_pal.cht; do + ln -sf $DATADIR/$f $USERDIR/$f || exit 1 +done + +ln -sf $PSEMUPRO_PLUGINS_DIR/* $USERDIR/plugins 2>/dev/null +ln -sf $PSEMUPRO_CFGBINS_DIR/* $USERDIR/cfg 2>/dev/null +cp -n $PSEMUPRO_CFGFILES_DIR/* $USERDIR/cfg 2>/dev/null +chmod u+w $USERDIR/cfg/* 2>/dev/null + +### run the emulator + +cd $USERDIR || exit 1 +exec ./epsxe "$@" diff --git a/emulators/linux-ePSXe/pkg-message b/emulators/linux-ePSXe/pkg-message index 44c607c3a89c..0dee003525eb 100644 --- a/emulators/linux-ePSXe/pkg-message +++ b/emulators/linux-ePSXe/pkg-message @@ -1,25 +1,21 @@ -------------------------------------------------------------------------------- -You should now log into your normal user account and issue a +=============================================================================== +To do anything useful with the emulator, you need: - epsxe-install + - a GPU (graphical processing unit) plugin, choose between: -in order to create and populate ~/.epsxe, needed to run the program. + emulators/linux-peops-softgpu + emulators/linux-pete-xgl2gpu + emulators/linux-pete-mesagpu -To do anything useful with the emulator, you'll need a GPU and a SPU -plugin (the Ports Collection contains a number of those), and a -Playstation BIOS image. From the port's documentation: + - a SPU (sound processing unit) plugin: - "During testing we found out that the scph1001.bin and - scph7502.bin BIOS are compatible, but the scph1000.bin - won't work." + emulators/linux-peops-spu -Note that you may only be in possession of the copyrighted BIOS if -you're legally entitled to do so. + - a Playstation BIOS image: -When you install a PSEmu Pro plugin from a FreeBSD port or package, -you should re-run + The port documentation says: "during testing we found out that the + scph1001.bin and scph7502.bin BIOS are compatible, but the scph1000.bin + won't work". - epsxe-install - -in order to make the plugin available to ePSXe. -------------------------------------------------------------------------------- + Please keep in mind that the Playstation BIOS is copyrighted software. +=============================================================================== diff --git a/emulators/linux-ePSXe/pkg-plist b/emulators/linux-ePSXe/pkg-plist index a02f45649850..2c66b1cef76c 100644 --- a/emulators/linux-ePSXe/pkg-plist +++ b/emulators/linux-ePSXe/pkg-plist @@ -1,5 +1,4 @@ bin/epsxe -bin/epsxe-install libexec/epsxe share/epsxe/keycodes.lst share/epsxe/cheats/breath_of_fire_4_usa.cht |