mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-23 00:43:28 +00:00
eccf5db03a
Maintainers for these ports have been notified on 5 separate occasions over the course of several months about pending actions required. We really appreciate the time and effort you put in to maintain these ports. If you are still interested in helping to maintain these ports just reply to me or file a PR and I will happily assign the port to you again. Approved by: portmgr (implicit)
262 lines
8.4 KiB
Makefile
262 lines
8.4 KiB
Makefile
# Created by: Sean Farley <sean-freebsd@farley.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= linux-ut
|
|
PORTVERSION= ${UTVERSION}
|
|
PORTREVISION= 4
|
|
PORTEPOCH= 1
|
|
CATEGORIES= games linux
|
|
MASTER_SITES= http://liflg.holarse-linuxgaming.de/files/final/:p436 \
|
|
http://www.utpg.org/patches/:p451
|
|
DISTFILES= ${PATCH436FILES} \
|
|
${PATCH451FILES}
|
|
DIST_SUBDIR= ${PORTNAME}
|
|
|
|
MAINTAINER= ports@FreeBSD.org
|
|
COMMENT= Unreal Tournament for Linux
|
|
|
|
ONLY_FOR_ARCHS= i386 amd64
|
|
USE_LINUX= yes
|
|
USE_LINUX_APPS= xorglibs sdl12
|
|
NO_BUILD= yes
|
|
NO_PACKAGE= Distribution is 340MB; set FORCE_PACKAGE if you really want\
|
|
to build this package
|
|
MANUAL_PACKAGE_BUILD= Requires CD
|
|
RESTRICTED= Redistribution is limited, see license
|
|
WRKSRC= ${WRKDIR}/${PKGNAME}
|
|
|
|
CONFLICTS_INSTALL= exult-[0-9]* ucc-[0-9]*
|
|
|
|
# Patch files.
|
|
PATCH436FILES= unreal.tournament_436-multilanguage.run:p436 \
|
|
unreal.tournament.official.bonus.pack.collection.run:p436
|
|
.if defined(WITH_451PATCH)
|
|
PATCH451FILES= UTPGPatch451.tar.bz2:p451
|
|
UTVERSION= 451
|
|
PLIST_SUB+= 451PATCH=""
|
|
.else
|
|
PATCH451FILES= # Empty
|
|
UTVERSION= 436
|
|
PLIST_SUB+= 451PATCH="@comment "
|
|
.endif
|
|
|
|
CDDIRS= Help Logs Maps Music Sounds System Textures Web
|
|
|
|
# Anthology install.
|
|
.if exists(${CDROM_MOUNT}/Disk1/data1.cab)
|
|
ANTHOLOGY= yes
|
|
RELEASE_MSG= "Unreal Anthology"
|
|
CDDIRS+= Manual
|
|
BUILD_DEPENDS+= ${LOCALBASE}/bin/unshield:${PORTSDIR}/archivers/unshield
|
|
UNSHIELD= ${LOCALBASE}/bin/unshield
|
|
PLIST_SUB+= ANTHOLOGY="" ORIGINAL="@comment "
|
|
.else
|
|
RELEASE_MSG= "original/GOTY"
|
|
PLIST_SUB+= ANTHOLOGY="@comment " ORIGINAL=""
|
|
.endif
|
|
|
|
# Maps.
|
|
.if defined(WITHOUT_MAPS)
|
|
PLIST_SUB+= MAPS="@comment "
|
|
MAPS_EXCLUDE= --exclude 'AS*' --exclude 'CTF*' --exclude 'DM*'\
|
|
--exclude 'DOM*' --exclude 'EOL*'
|
|
.else
|
|
PLIST_SUB+= MAPS=""
|
|
MAPS_EXCLUDE= # Empty
|
|
.endif
|
|
|
|
NO_STAGE= yes
|
|
do-extract:
|
|
@${CAT} ${PKGMESSAGE}
|
|
@${MKDIR} ${WRKSRC}
|
|
.for file in ${PATCH436FILES:C/:.*//}
|
|
@cd ${WRKSRC} &&\
|
|
${SED} -e '1,/exit $$res/d' ${_DISTDIR}/${file} |\
|
|
${GUNZIP_CMD} -q | ${TAR} xf -
|
|
.endfor
|
|
@${MV} ${WRKSRC}/bin/Linux/x86/ucc ${WRKSRC}/bin/.
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e "s|\(UT_DATA_PATH=\).*|\1\"${DATADIR}/System\"|"\
|
|
${WRKSRC}/bin/ucc
|
|
@${REINPLACE_CMD} -e "s|^\(GAME_DIR=\).*|\1\"${DATADIR}\"|"\
|
|
-e "/ll=/{N;d;}" ${WRKSRC}/bin/ut
|
|
|
|
# Installation steps performed:
|
|
# - Verify path to CD content.
|
|
# - Verify CD was correctly mounted by checking for incorrect NetGamesUSA.com.
|
|
# -b option may be needed to mount it.
|
|
# - Copy desired content off of CD to drive. Windows files left behind.
|
|
# - Extract files from Linux patch minus various language files (necessary?).
|
|
# - Extract bonus pack.
|
|
# - Patch .ini file to also use absolute paths to content in addition to the
|
|
# relative paths for user saved content.
|
|
# - Apply Linux patches.
|
|
# - Install scripts and README's.
|
|
# - Set permissions on files and directories.
|
|
do-install:
|
|
.if !defined(CDROM_MOUNT)
|
|
@${ECHO_CMD} "${PKGNAME} requires CDROM_MOUNT set to mount point of CD"
|
|
@${FALSE}
|
|
.endif
|
|
.if exists(${CDROM_MOUNT}/netgam~1.com)
|
|
@${ECHO_CMD} \
|
|
"This CD requires mounting with the -b option"
|
|
@${FALSE}
|
|
.endif
|
|
@${ECHO_CMD} "Detected ${RELEASE_MSG} release"
|
|
@${ECHO_CMD} "Installing data from CD"
|
|
@${MKDIR} ${DATADIR}
|
|
####################################
|
|
# Anthology release CD
|
|
####################################
|
|
.if defined(ANTHOLOGY)
|
|
@cd ${DATADIR} && ${MKDIR} ${CDDIRS}
|
|
|
|
# We need to create a single directory with all the cab files so unshield can
|
|
# find them.
|
|
@${MKDIR} ${WRKDIR}/cab ${WRKDIR}/unshield
|
|
@${LN} -sf ${CDROM_MOUNT}/Disk*/data* ${WRKDIR}/cab/
|
|
|
|
# Extract the files.
|
|
.for group in Maps Manual_English Web Textures Music Sounds_English Sounds_All\
|
|
System_All System_English Help
|
|
@${UNSHIELD} -g 3_UnrealTournament_${group} -d ${WRKDIR}/unshield x\
|
|
${WRKDIR}/cab/data1.cab
|
|
|
|
@cd ${WRKDIR}/unshield/3_UnrealTournament_${group} &&\
|
|
${TAR} c --exclude '*.ICD' --exclude '*.bat' --exclude '*.dll'\
|
|
--exclude '*.est*' --exclude '*.[Ee][Xx][Ee]'\
|
|
--exclude '*.frt*' --exclude '*.ico' --exclude '*.itt*'\
|
|
--exclude '*.mpi' --exclude '*.url' --exclude 'D3D*'\
|
|
--exclude 'mplay*' --exclude 'Splash*' ${MAPS_EXCLUDE}\
|
|
--exclude 'edsplash.bmp' --exclude 'UnrealEd.ini'\
|
|
--exclude 'editorres*' -f - . |\
|
|
${TAR} x -C ${DATADIR}/`${ECHO_CMD}\
|
|
3_UnrealTournament_${group} | ${SED} -e\
|
|
's/3_UnrealTournament_//; s/_All//; s/_English//;'` -f -
|
|
.endfor
|
|
|
|
@cd ${DATADIR}/System &&\
|
|
${MV} -f epiccustommodels.u EpicCustomModels.u &&\
|
|
${MV} -f multimesh.u MultiMesh.u &&\
|
|
${MV} -f multimesh.int MultiMesh.int &&\
|
|
${MV} -f relics.u Relics.u &&\
|
|
${MV} -f relics.int Relics.int &&\
|
|
${MV} -f relicsbindings.u RelicsBindings.u &&\
|
|
${MV} -f relicsbindings.int RelicsBindings.int &&\
|
|
${MV} -f tcowmeshskins.int TCowMeshSkins.int &&\
|
|
${MV} -f tnalimeshskins.int TNaliMeshSkins.int &&\
|
|
${MV} -f tskmskins.int TSkMSkins.int
|
|
@cd ${DATADIR}/Textures &&\
|
|
${MV} -f tcowmeshskins.utx TCowMeshSkins.utx &&\
|
|
${MV} -f tnalimeshskins.utx TNaliMeshSkins.utx &&\
|
|
${MV} -f tskmskins.utx TSkMSkins.utx
|
|
####################################
|
|
# Original/GOTY release CD
|
|
####################################
|
|
.else
|
|
# Install the files from CD.
|
|
.for dir in ${CDDIRS}
|
|
@cd ${CDROM_MOUNT} &&\
|
|
${TAR} c --exclude '*.ICD' --exclude '*.bat' --exclude '*.dll'\
|
|
--exclude '*.est*' --exclude '*.[Ee][Xx][Ee]'\
|
|
--exclude '*.frt*' --exclude '*.ico' --exclude '*.itt*'\
|
|
--exclude '*.mpi' --exclude '*.url' --exclude 'D3D*'\
|
|
--exclude 'edsplash.bmp' --exclude 'UnrealEd.ini'\
|
|
--exclude 'editorres*' --exclude 'mplay*'\
|
|
${MAPS_EXCLUDE} -f - ${dir} |\
|
|
${TAR} x -C ${DATADIR} -f -
|
|
.endfor
|
|
@${RM} ${DATADIR}/Logs/delete_me.txt
|
|
@${RMDIR} ${DATADIR}/Logs
|
|
.endif
|
|
####################################
|
|
# End of CD release-specific install
|
|
####################################
|
|
|
|
# Install v436 Linux binaries.
|
|
@${ECHO_CMD} "Installing v436 patch files"
|
|
.for tarfile in Credits OpenGL.ini data
|
|
@${TAR} zox -C ${DATADIR} --exclude '*.exe'\
|
|
-f ${WRKSRC}/${tarfile}.tar.gz
|
|
.endfor
|
|
|
|
# Anthology does not need v436 patch applied.
|
|
.if !defined(ANTHOLOGY)
|
|
# Apply v436 files.
|
|
@${ECHO_CMD} "Applying v436 patch"
|
|
@${WRKSRC}/setup.data/bin/FreeBSD/x86/loki_patch\
|
|
${WRKSRC}/setup.data/patch.dat ${DATADIR}
|
|
.endif
|
|
|
|
# Adjust paths in configuration.
|
|
@${SED} -i "" -e 's|\\|/|g'\
|
|
-e "/^Paths=/{h;s|\(Paths=\)\.\./|\1${DATADIR}/|;x;p;x;}"\
|
|
${DATADIR}/System/UnrealTournament.ini
|
|
.for script in ucc ut
|
|
@${INSTALL_SCRIPT} ${WRKSRC}/bin/${script} ${PREFIX}/bin/
|
|
.endfor
|
|
|
|
# Install bonus packs
|
|
@${ECHO_CMD} "Installing bonus packs"
|
|
.for ndx in 1 2 3 4
|
|
.if defined(WITHOUT_MAPS)
|
|
@${TAR} jx -C ${DATADIR} --exclude '*.unr' -f ${WRKSRC}/bp${ndx}.tar.bz2
|
|
.else
|
|
@${TAR} jx -C ${DATADIR} -f ${WRKSRC}/bp${ndx}.tar.bz2
|
|
.endif
|
|
.endfor
|
|
|
|
# Install bonus packs.
|
|
.for datafile in README README.Loki README.bonus.pack.collection
|
|
@${INSTALL_DATA} ${WRKSRC}/${datafile} ${DATADIR}
|
|
.endfor
|
|
|
|
# Install 451 Patch
|
|
.if defined(WITH_451PATCH)
|
|
@${ECHO_CMD} "Installing v${UTVERSION} patch files"
|
|
@${TAR} jx -C ${DATADIR} --exclude 'checkfiles.sh'\
|
|
--exclude 'patch.md5' --exclude 'd3ddrv.int'\
|
|
--exclude 'edsplash.bmp' --exclude 'UnrealEd.ini'\
|
|
--exclude 'editorres*' -f ${_DISTDIR}/${PATCH451FILES:C/:.*//}
|
|
@cd ${DATADIR}/System &&\
|
|
${MV} -f glidedrv.int GlideDrv.int &&\
|
|
${MV} -f softdrv.int SoftDrv.int &&\
|
|
${MV} -f opengldrv.int OpenGlDrv.int &&\
|
|
${MV} -f galaxy.int Galaxy.int &&\
|
|
${MV} -f editor.int Editor.int &&\
|
|
${MV} -f windrv.int WinDrv.int
|
|
.endif
|
|
|
|
# Replace older libSDL included with UT; it has issues with the Nvidia driver
|
|
# when using Fedora 8 at the base.
|
|
@${LN} -sf ${LINUXBASE}/usr/lib/libSDL-1.2.so.0\
|
|
${DATADIR}/System/libSDL-1.1.so.0
|
|
|
|
# Remove /usr/local from ut-bin lib search path
|
|
@${ECHO_CMD} "Removing /usr/local from ut-bin's library search path"
|
|
@UTBIN=${DATADIR}/System/ut-bin &&\
|
|
FILESIZE=`/usr/bin/stat -f "%z" $${UTBIN}` &&\
|
|
${MV} $${UTBIN} $${UTBIN}.orig &&\
|
|
${SED} -Ee 's|:/usr/local|:/USR-LOCAL|' $${UTBIN}.orig |\
|
|
${HEAD} -c $${FILESIZE} > $${UTBIN} &&\
|
|
${RM} $${UTBIN}.orig
|
|
|
|
# Set file permissions
|
|
@${ECHO_CMD} "Setting permissions"
|
|
@${FIND} ${DATADIR} -print0 |\
|
|
${XARGS} -0 ${CHOWN} ${SHAREOWN}:${SHAREGRP}
|
|
@${FIND} ${DATADIR} -type d -print0 | ${XARGS} -0 ${CHMOD} ${BINMODE}
|
|
@${FIND} ${DATADIR} -type f -print0 | ${XARGS} -0 ${CHMOD} ${NOBINMODE}
|
|
@${FIND} ${DATADIR} \( -name "*.so" -o -name "lib*.so*" \) -print0 |\
|
|
${XARGS} -0 ${CHMOD} ${BINMODE}
|
|
.for exec in ucc-bin ut-bin
|
|
@${CHMOD} ${BINMODE} ${DATADIR}/System/${exec}
|
|
.endfor
|
|
|
|
@${TOUCH} ${DATADIR}/Help/ReleaseNotes.htm
|
|
@${ECHO_CMD} "Install complete"
|
|
|
|
.include <bsd.port.mk>
|