mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
Take over maintainership, and upgrade to 1.62.
Add a wrapper script that creates a client directory with symlinks to the data files so users don't need any privileges to play the game. Use the linux-sdl port instead of the SDL library that comes with the client.
This commit is contained in:
parent
94a4c195fc
commit
4527f50121
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=102688
@ -5,71 +5,46 @@
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= linux_nwnclient
|
||||
PORTVERSION= 1.30
|
||||
PORTNAME= nwnclient
|
||||
PKGNAMEPREFIX= linux-
|
||||
PORTVERSION= 1.62
|
||||
CATEGORIES= games linux
|
||||
MASTER_SITES= http://nwdownloads.bioware.com/neverwinternights/linux/${PORTVERSION:S/.//}/ \
|
||||
http://nwdownloads.bioware.com/neverwinternights/linux/129/
|
||||
DISTFILES= nwclient129.tar.gz linuxclientupdate129to${PORTVERSION:S/.//}.tar.gz
|
||||
DISTFILES= nwclient129.tar.gz \
|
||||
linuxclientupdate129to${PORTVERSION:S/.//}eng.tar.gz
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
MAINTAINER= des@FreeBSD.org
|
||||
COMMENT= Neverwinter Nights Linux (x86) Client
|
||||
|
||||
RUN_DEPENDS= /compat/linux/usr/games/nwn/nwm:${PORTSDIR}/games/linux_nwndata \
|
||||
/compat/linux/usr/X11R6/lib/libGL.so.1.2:${PORTSDIR}/graphics/linux_dri
|
||||
RUN_DEPENDS= ${LOCALBASE}/share/nwndata/NWNv129.txt:${PORTSDIR}/games/nwndata \
|
||||
/compat/linux/usr/X11R6/lib/libGL.so.1.2:${PORTSDIR}/graphics/linux_dri \
|
||||
/compat/linux/usr/lib/libSDL-1.2.so.0:${PORTSDIR}/devel/linux-sdl12
|
||||
|
||||
USE_LINUX= yes
|
||||
USE_LINUX_PREFIX= yes
|
||||
NO_BUILD= yes
|
||||
ONLY_FOR_ARCHS= i386
|
||||
NWNDIR= usr/games/nwn
|
||||
WRKSRC= ${WRKDIR}
|
||||
INSTALL_DIR= ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755
|
||||
PLIST_SUB+= NWNDIR="${NWNDIR}"
|
||||
# Linux binary should not be stripped by INSTALL_PROGRAM
|
||||
# because as a side effect it brands the binary as FreeBSD.
|
||||
STRIP=
|
||||
NWNDATADIR= ${LOCALBASE}/share/nwndata
|
||||
|
||||
do-extract:
|
||||
${MKDIR} ${WRKSRC}
|
||||
.for _distfile in ${DISTFILES}
|
||||
(cd ${WRKSRC} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
|
||||
${DISTDIR}/${_distfile} ${EXTRACT_AFTER_ARGS})
|
||||
.endfor
|
||||
${RM} ${WRKSRC}/lib/libSDL* ${WRKSRC}/fixinstall ${WRKSRC}/nwn
|
||||
|
||||
do-configure:
|
||||
${SED} -e 's|%%NWNDATADIR%%|${NWNDATADIR}|' \
|
||||
-e 's|%%NWNCLIENTDIR%%|${DATADIR}|' \
|
||||
<${FILESDIR}/nwn.sh >${WRKDIR}/nwn
|
||||
|
||||
do-install:
|
||||
${INSTALL_DIR} ${PREFIX}/${NWNDIR}
|
||||
${INSTALL_DIR} ${PREFIX}/${NWNDIR}/miles
|
||||
${INSTALL_DIR} ${PREFIX}/${NWNDIR}/override
|
||||
${INSTALL_DIR} ${PREFIX}/${NWNDIR}/lib
|
||||
${INSTALL_DIR} ${PREFIX}/${NWNDIR}/nwm
|
||||
${INSTALL_DIR} ${PREFIX}/${NWNDIR}/data
|
||||
.for f in nwmain nwserver
|
||||
${INSTALL_PROGRAM} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}
|
||||
.endfor
|
||||
.for f in dmclient fixinstall nwn
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}
|
||||
.endfor
|
||||
.for f in nwn.ini movies-OC.txt dialog.tlk patch.key
|
||||
${INSTALL_DATA} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}
|
||||
.endfor
|
||||
.for f in miles/mssdsp.flt miles/mssmp3.asi miles/msssoft.m3d miles/libmss.so.6.5.2 miles/libmss.so.6 miles/libmss.so
|
||||
${INSTALL_DATA} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}/miles
|
||||
.endfor
|
||||
.for f in data/patch.bif
|
||||
${INSTALL_DATA} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}/data
|
||||
.endfor
|
||||
.for f in nwm/Chapter1.nwm nwm/Chapter1E.nwm nwm/Chapter2.nwm nwm/Chapter3.nwm nwm/Prelude.nwm
|
||||
${INSTALL_DATA} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}/nwm
|
||||
.endfor
|
||||
.for f in override/soundprovider.2da override/load_legal2.tga override/load_legal.tga
|
||||
# Removed - override/gui_srv_lst_pnl.tga
|
||||
${INSTALL_DATA} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}/override
|
||||
.endfor
|
||||
.for f in lib/libSDL-1.2.so.0 lib/libSDL-1.2.so.0.0.5
|
||||
${INSTALL_PROGRAM} ${WRKDIR}/${f} ${PREFIX}/${NWNDIR}/lib
|
||||
.endfor
|
||||
.ifndef (NOPORTDOCS)
|
||||
@${MKDIR} ${DOCSDIR}
|
||||
.for f in readme.txt readme-SDL.txt EULA.txt NWNv130.txt readme.linuxserver.txt
|
||||
${INSTALL_DATA} ${WRKDIR}/${f} ${DOCSDIR}
|
||||
.endfor
|
||||
.endif
|
||||
# cd ${PREFIX}/${NWNDIR}/ ; /compat/linux/bin/bash ./fixinstall
|
||||
${CHOWN} -R root:games ${PREFIX}/${NWNDIR}/
|
||||
${CHMOD} -R 775 ${PREFIX}/${NWNDIR}/
|
||||
${MKDIR} ${DATADIR}
|
||||
(cd ${WRKSRC} && ${FIND} . -print | \
|
||||
${CPIO} -pdmuv -R${SHAREOWN}:${SHAREGRP} ${DATADIR})
|
||||
${LN} -s ${LINUXBASE}/usr/lib/libstdc++-2-libc6.1-1-2.9.0.so \
|
||||
${DATADIR}/lib/libstdc++-libc6.1-2.so.3
|
||||
${INSTALL_PROGRAM} ${WRKDIR}/nwn ${PREFIX}/bin/
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,4 +1,4 @@
|
||||
MD5 (nwclient129.tar.gz) = 73c6515fd6aa5f860802098a55000ae8
|
||||
SIZE (nwclient129.tar.gz) = 5504342
|
||||
MD5 (linuxclientupdate129to130.tar.gz) = 658bd6a2865eeb599c6730b743a852c8
|
||||
SIZE (linuxclientupdate129to130.tar.gz) = 40640188
|
||||
MD5 (linuxclientupdate129to162eng.tar.gz) = 89f373e0a5e0042912a3a214ebf4436b
|
||||
SIZE (linuxclientupdate129to162eng.tar.gz) = 71917130
|
||||
|
82
games/linux-nwnclient/files/nwn.sh
Normal file
82
games/linux-nwnclient/files/nwn.sh
Normal file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
NWNDATADIR="%%NWNDATADIR%%"
|
||||
NWNCLIENTDIR="%%NWNCLIENTDIR%%"
|
||||
NWNUSERDIR="${HOME}/.nwn"
|
||||
LCDIRS="ambient data dmvault hak localvault music override portraits"
|
||||
|
||||
set -e
|
||||
|
||||
# Copy a directory structure and symlink its contents
|
||||
copydir() {
|
||||
set -e
|
||||
cd "$1"
|
||||
find . -type d | cut -c 3- | while read dir ; do
|
||||
[ -d "${NWNUSERDIR}/${dir}" ] ||
|
||||
mkdir "${NWNUSERDIR}/${dir}"
|
||||
done
|
||||
find . -type l | cut -c 3- | while read file ; do
|
||||
[ -L "${NWNUSERDIR}/${file}" ] ||
|
||||
cp -R "${file}" "${NWNUSERDIR}/${file}"
|
||||
done
|
||||
find . -type f | cut -c 3- | while read file ; do
|
||||
[ -e "${NWNUSERDIR}/${file}" ] ||
|
||||
ln -s "${1}/${file}" "${NWNUSERDIR}/${file}"
|
||||
done
|
||||
}
|
||||
|
||||
# Print arguments in lowercase
|
||||
tolower() {
|
||||
set -e
|
||||
echo "$@" | tr '[:upper:]' '[:lower:]'
|
||||
}
|
||||
|
||||
# Rename all files in a directory to lowercase
|
||||
lowerdir() {
|
||||
set -e
|
||||
find "${@}" -name '*[A-Z]*' | while read name ; do
|
||||
mv -v "${name}" "$(tolower ${name})"
|
||||
done
|
||||
}
|
||||
|
||||
if [ ! -d "${NWNUSERDIR}" ] ; then
|
||||
echo "Creating user directory"
|
||||
mkdir "${NWNUSERDIR}"
|
||||
|
||||
# Copy the ini file so the user can tweak it
|
||||
cp "${NWNCLIENTDIR}/nwn.ini" "${NWNUSERDIR}"
|
||||
|
||||
# Create a non-empty CD key file to work around a bug in the
|
||||
# client: it will ask for the key twice if the file is
|
||||
# initally empty or missing
|
||||
echo '[CDKEY]' >"${NWNUSERDIR}/nwncdkey.ini"
|
||||
|
||||
# Copy ${NWNCLIENTDIR} first since it may contain files which
|
||||
# override parts of ${NWNDATADIR}
|
||||
copydir "${NWNCLIENTDIR}"
|
||||
copydir "${NWNDATADIR}"
|
||||
|
||||
# Some files need to have their names converted to lowercase
|
||||
lowerdir "${LCDIRS}"
|
||||
|
||||
echo "Your Neverwinter Nights directory (~/.nwn) has now been"
|
||||
echo "created and populated. Press ENTER to start the game."
|
||||
read dummy
|
||||
fi
|
||||
|
||||
echo "Saved games will be stored in ${NWNUSERDIR}/.nwn/saves/"
|
||||
|
||||
cd "${NWNUSERDIR}"
|
||||
|
||||
# SDL settings
|
||||
export SDL_MOUSE_RELATIVE=0
|
||||
export SDL_VIDEO_X11_DGAMOUSE=0
|
||||
|
||||
# Library locations
|
||||
export LD_LIBRARY_PATH="${NWNUSERDIR}/lib:${NWNUSERDIR}/miles"
|
||||
|
||||
echo "Starting Neverwinter Nights..."
|
||||
exec ./nwmain
|
@ -1,14 +0,0 @@
|
||||
--- nwn.orig Sun Jun 15 00:36:06 2003
|
||||
+++ nwn Sun Jun 15 00:38:15 2003
|
||||
@@ -9,4 +9,11 @@
|
||||
# ./lib from LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH
|
||||
|
||||
+##
|
||||
+# FreeBSD Additions
|
||||
+export R200_NO_TCL=1
|
||||
+cd /usr/compat/linux/usr/games/nwn
|
||||
+#
|
||||
+###
|
||||
+
|
||||
./nwmain $@
|
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$2" = "POST-INSTALL" -o -n "${BATCH}" -o -n "${PACKAGE_BUILDING}"
|
||||
]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
/usr/bin/dialog --msgbox "In order to play Neverwinter Nights, you will
|
||||
need the data files from the game. This can be accomplished in a few
|
||||
different ways. You can copy them manually into the
|
||||
/usr/compat/linux/games/nwn directory, or you use the
|
||||
games/linux-nwndata port. The files will be automatically checked for.
|
||||
If they are not available, then the games/linux-nwndata port will
|
||||
automatically be installed. NOTE: This port is installed so that you
|
||||
will need to be a member of the games group in order to play." 12 70 ||
|
||||
/usr/bin/false
|
@ -1,38 +1,38 @@
|
||||
%%NWNDIR%%/dmclient
|
||||
%%DOCSDIR%%/EULA.txt
|
||||
%%NWNDIR%%/fixinstall
|
||||
%%NWNDIR%%/lib/libSDL-1.2.so.0.0.5
|
||||
%%NWNDIR%%/lib/libSDL-1.2.so.0
|
||||
%%NWNDIR%%/miles/mssdsp.flt
|
||||
%%NWNDIR%%/miles/mssmp3.asi
|
||||
%%NWNDIR%%/miles/msssoft.m3d
|
||||
%%NWNDIR%%/miles/libmss.so.6.5.2
|
||||
%%NWNDIR%%/miles/libmss.so.6
|
||||
%%NWNDIR%%/miles/libmss.so
|
||||
%%NWNDIR%%/movies-OC.txt
|
||||
%%NWNDIR%%/nwmain
|
||||
%%NWNDIR%%/nwn
|
||||
%%NWNDIR%%/nwn.ini
|
||||
%%NWNDIR%%/nwserver
|
||||
%%NWNDIR%%/override/soundprovider.2da
|
||||
%%NWNDIR%%/override/load_legal2.tga
|
||||
%%NWNDIR%%/override/load_legal.tga
|
||||
%%DOCSDIR%%/readme.linuxserver.txt
|
||||
%%DOCSDIR%%/readme-SDL.txt
|
||||
%%DOCSDIR%%/readme.txt
|
||||
%%NWNDIR%%/data/patch.bif
|
||||
%%NWNDIR%%/dialog.tlk
|
||||
%%NWNDIR%%/nwm/Chapter1.nwm
|
||||
%%NWNDIR%%/nwm/Chapter1E.nwm
|
||||
%%NWNDIR%%/nwm/Chapter2.nwm
|
||||
%%NWNDIR%%/nwm/Chapter3.nwm
|
||||
%%NWNDIR%%/nwm/Prelude.nwm
|
||||
%%DOCSDIR%%/NWNv130.txt
|
||||
%%NWNDIR%%/patch.key
|
||||
@unexec rmdir %D/%%NWNDIR%%/lib 2>/dev/null || true
|
||||
@unexec rmdir %D/%%NWNDIR%%/miles 2>/dev/null || true
|
||||
@unexec rmdir %D/%%NWNDIR%%/override 2>/dev/null || true
|
||||
@unexec rmdir %D/%%NWNDIR%%/data 2>/dev/null || true
|
||||
@unexec rmdir %D/%%NWNDIR%%/nwm 2>/dev/null || true
|
||||
@unexec rmdir %D/%%NWNDIR%% 2>/dev/null || true
|
||||
@unexec rmdir %D/%%DOCSDIR%% 2>/dev/null || true
|
||||
%%DATADIR%%/EULA.txt
|
||||
%%DATADIR%%/NWNv162.txt
|
||||
%%DATADIR%%/data/patch.bif
|
||||
%%DATADIR%%/dialog.tlk
|
||||
%%DATADIR%%/dmclient
|
||||
%%DATADIR%%/lib/libstdc++-libc6.1-2.so.3
|
||||
%%DATADIR%%/miles/libmss.so
|
||||
%%DATADIR%%/miles/libmss.so.6
|
||||
%%DATADIR%%/miles/libmss.so.6.5.2
|
||||
%%DATADIR%%/miles/mssdsp.flt
|
||||
%%DATADIR%%/miles/mssmp3.asi
|
||||
%%DATADIR%%/miles/msssoft.m3d
|
||||
%%DATADIR%%/movies-OC.txt
|
||||
%%DATADIR%%/nwm/Chapter1.nwm
|
||||
%%DATADIR%%/nwm/Chapter1E.nwm
|
||||
%%DATADIR%%/nwm/Chapter2.nwm
|
||||
%%DATADIR%%/nwm/Chapter2E.nwm
|
||||
%%DATADIR%%/nwm/Chapter3.nwm
|
||||
%%DATADIR%%/nwm/Chapter4.nwm
|
||||
%%DATADIR%%/nwm/Prelude.nwm
|
||||
%%DATADIR%%/nwmain
|
||||
%%DATADIR%%/nwn.ini
|
||||
%%DATADIR%%/nwserver
|
||||
%%DATADIR%%/override/iit_medkit_001.tga
|
||||
%%DATADIR%%/override/load_legal.tga
|
||||
%%DATADIR%%/override/load_legal2.tga
|
||||
%%DATADIR%%/override/soundprovider.2da
|
||||
%%DATADIR%%/patch.key
|
||||
%%DATADIR%%/readme-SDL.txt
|
||||
%%DATADIR%%/readme.linuxclientupdate.txt
|
||||
%%DATADIR%%/readme.linuxserver.txt
|
||||
%%DATADIR%%/readme.txt
|
||||
@dirrm %%DATADIR%%/override
|
||||
@dirrm %%DATADIR%%/nwm
|
||||
@dirrm %%DATADIR%%/miles
|
||||
@dirrm %%DATADIR%%/lib
|
||||
@dirrm %%DATADIR%%/data
|
||||
@dirrm %%DATADIR%%
|
||||
|
Loading…
Reference in New Issue
Block a user