Package Details: unrealtournament 469c-4

Git Clone URL: https://aur.archlinux.org/unrealtournament.git (read-only, click to copy)
Package Base: unrealtournament
Description: The classic Unreal Tournament from 1999 (Retail CD or DVD required)
Upstream URL: http://www.unrealtournament.com/
Keywords: game unreal ut
Licenses: custom
Submitter: XenGi
Maintainer: XenGi
Last Packager: XenGi
Votes: 13
Popularity: 0.171355
First Submitted: 2016-03-08 14:36 (UTC)
Last Updated: 2023-06-12 10:08 (UTC)

Pinned Comments

XenGi commented on 2023-05-03 19:35 (UTC) (edited on 2023-06-03 15:59 (UTC) by XenGi)

The package is now purely based on the OldUnreal patch and the installation is massively simplified. Let me know if anything doesn't work. Happy fragging!

Latest Comments

1 2 3 Next › Last »

travisghansen commented on 2023-06-12 17:07 (UTC)

Awesome! Thanks for the consideration!

XenGi commented on 2023-06-12 09:40 (UTC) (edited on 2023-06-12 10:09 (UTC) by XenGi)

thx @travisghansen I integrated your changes into the package. I didn't change the games install path because mappacks depend on it being stable.

travisghansen commented on 2023-06-12 06:09 (UTC)

You can add me as a co-maintainer but this is what I've put together:

diff --git a/.SRCINFO b/.SRCINFO
index 6a29d92..df8bdc4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -6,15 +6,22 @@ pkgbase = unrealtournament
    arch = i686
    arch = x86_64
    license = custom
+   depends = libfmod
+   depends = libxmp
+   depends = mpg123
+   depends = openal
+   depends = sdl2
+   depends = sdl2_ttf
    optdepends = innoextract: Extract GOG release
-   noextract = OldUnreal-UTPatch469c-Linux.tar.bz2
+   noextract = OldUnreal-UTPatch469c-Linux-x86.tar.bz2
+   noextract = OldUnreal-UTPatch469c-Linux-amd64.tar.bz2
    source = ut.desktop
    source = ut.svg.zstd
    sha256sums = fea5efdcac67564f2b5b8ef215115990739243a53a5f86e67f9414081d5b28dc
    sha256sums = 8fc6bc71f20b8395d75fad8b30d18fc6c9d39fee1f9633be090ad8fd779e8827
-   source_i686 = OldUnreal-UTPatch469c-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-x86.tar.bz2
+   source_i686 = https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-x86.tar.bz2
    sha256sums_i686 = 30978800c100e8c5a20fbc66a04b9e12f843424b3a811b04e6fb8e1b6b5d6543
-   source_x86_64 = OldUnreal-UTPatch469c-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-amd64.tar.bz2
+   source_x86_64 = https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-amd64.tar.bz2
    sha256sums_x86_64 = 4c99bde06d26b724f14471d374d4d6105dbdc98c56ec2a40af3fa541956eeed9

 pkgname = unrealtournament
diff --git a/PKGBUILD b/PKGBUILD
index 1abd024..d4183d5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,16 +8,17 @@ pkgdesc="The classic Unreal Tournament from 1999 (Retail CD or DVD required)"
 arch=('i686' 'x86_64')
 url="http://www.unrealtournament.com/"
 license=('custom')
+depends=('libfmod' 'libxmp' 'mpg123' 'openal' 'sdl2' 'sdl2_ttf')
 optdepends=('innoextract: Extract GOG release')
 source=("ut.desktop"
         "ut.svg.zstd")
-source_i686+=("OldUnreal-UTPatch${pkgver}-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2")
-source_x86_64+=("OldUnreal-UTPatch${pkgver}-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
-noextract=("OldUnreal-UTPatch${pkgver}-Linux.tar.bz2")
+source_i686+=("https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2")
+source_x86_64+=("https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
+noextract=("OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2" "OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
 sha256sums=('fea5efdcac67564f2b5b8ef215115990739243a53a5f86e67f9414081d5b28dc'
             '8fc6bc71f20b8395d75fad8b30d18fc6c9d39fee1f9633be090ad8fd779e8827')
-sha256sums_i686+=('30978800c100e8c5a20fbc66a04b9e12f843424b3a811b04e6fb8e1b6b5d6543')
-sha256sums_x86_64+=('4c99bde06d26b724f14471d374d4d6105dbdc98c56ec2a40af3fa541956eeed9')
+sha256sums_i686=('30978800c100e8c5a20fbc66a04b9e12f843424b3a811b04e6fb8e1b6b5d6543')
+sha256sums_x86_64=('4c99bde06d26b724f14471d374d4d6105dbdc98c56ec2a40af3fa541956eeed9')

 prepare() {
     # Mount the UT (GOTY) cd/image or unpack the GOG distribution with the innoextract tool.
@@ -54,16 +55,30 @@ EOF

 package() {
     # Set game destination
-    export _game_dir="/opt/ut"
+    export _game_dir="/opt/${pkgname}"
+
+    [ "$CARCH" = "i686" ] && _system_dir=${_game_dir}/System
+    [ "$CARCH" = "x86_64" ] && _system_dir=${_game_dir}/System64
+
+    [ "$CARCH" = "i686" ] && _srctar=OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2
+    [ "$CARCH" = "x86_64" ] && _srctar=OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2

     # Create game directory
     install --mode=755 -d -- ${pkgdir}${_game_dir}/{Music,Sounds,Maps}

     # Unpack patch into game directory
-    tar xaf ${srcdir}/OldUnreal-UTPatch${pkgver}-Linux.tar.bz2 -C ${pkgdir}${_game_dir}
+    tar xaf ${srcdir}/${_srctar} -C ${pkgdir}${_game_dir}
     # fix permissions
     find ${pkgdir}${_game_dir} -type d -exec chmod 755 {} \;

+    # https://github.com/OldUnreal/UnrealTournamentPatches#linux-installation
+    # distro deps
+    rm ${pkgdir}${_system_dir}/libfmod.so*
+    rm ${pkgdir}${_system_dir}/libmpg123.so*
+    rm ${pkgdir}${_system_dir}/libopenal.so*
+    rm ${pkgdir}${_system_dir}/libSDL2*
+    rm ${pkgdir}${_system_dir}/libxmp.so*
+
     # Copy the Music and Sounds directories from the distribution directory into the game directory
     install --mode=644 -t ${pkgdir}${_game_dir}/Music ${srcdir}/dist_dir/Music/*
     install --mode=644 -t ${pkgdir}${_game_dir}/Sounds ${srcdir}/dist_dir/Sounds/*
@@ -81,9 +96,8 @@ package() {
     # Extract all compressed maps (i.e., maps with a .uz extension) into your game's Maps directory as follows.
     # If there are no compressed maps in your game distribution folder, you may ignore this step.
     #for i in /mnt/Maps/*.uz; do ./System64/ucc-bin decompress $i; done
-    [ "$CARCH" = "i686" ] && _system_dir=${_game_dir}/System
-    [ "$CARCH" = "x86_64" ] && _system_dir=${_game_dir}/System64
-    find ${srcdir}/dist_dir/Maps/ -name "*.uz" -exec ${pkgdir}${_system_dir}/ucc-bin decompress {} \;
+    find ${srcdir}/dist_dir/Maps/ -name "*.uz" -exec ${pkgdir}${_system_dir}/ucc-bin decompress {} -nohomedir \;
+    mv ${pkgdir}${_system_dir}/*.unr ${pkgdir}${_game_dir}/Maps

     install --mode 755 -d -- ${pkgdir}/usr/bin
     ln -s ${_system_dir}/ut-bin ${pkgdir}/usr/bin/ut

travisghansen commented on 2023-06-12 01:56 (UTC)

I just tried to install this with yay and all the maps ending up in my home dir as well. Not sure what the fix is but I can mess with it for a bit and see if I can get it to package correctly.

XenGi commented on 2023-06-03 15:56 (UTC) (edited on 2023-06-03 15:58 (UTC) by XenGi)

@alex.pyattaev thx for testing. No idea how this could get through my tests. It should work now. I fixed all the permissions and ownerships too. The bonuspacks are also happy now. unrealtournament-bonuspack1 is the only one which is still not able to install because it tries to overwrite /opt/ut/System/epiccustommodels.u and /opt/ut/System/relics.u.

alex.pyattaev commented on 2023-06-02 05:04 (UTC)

Hi! We've tried this package and found a couple of issues: 1. when installer is used via yay, it fails to find /Music however, when used via makepkg directly, it finds all the files, but unpacks them into the user's home instead of /opt/ut/ . Naturally, one needs to manually copy the maps etc into /opt/ut/Maps for stuff to work. 2. Certain files such as multimesh.u and de.u are not copied to /opt/ut, as a result game fails to host multiplayer sessions. Again, manually copying them solves the issue.

XenGi commented on 2023-05-03 19:35 (UTC) (edited on 2023-06-03 15:59 (UTC) by XenGi)

The package is now purely based on the OldUnreal patch and the installation is massively simplified. Let me know if anything doesn't work. Happy fragging!

XenGi commented on 2023-05-03 10:17 (UTC)

I'll try to revamp the whole package in the next few days. Based on the OldUnreal patches much of the stuff in the PKGBUILD is not needed anymore.

freeartist commented on 2022-10-21 20:58 (UTC)

installed but not launch https://controlc.com/74531477

xordspar0 commented on 2022-06-24 15:58 (UTC)

ossp isn't necessary with the OldUnreal patches. There's an OpenAL sound driver now.