Package Details: unrealtournament 469d-1

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: 14
Popularity: 0.032717
First Submitted: 2016-03-08 14:36 (UTC)
Last Updated: 2023-12-12 04:16 (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 4 Next › Last »

XenGi commented on 2024-01-05 06:04 (UTC)

@inpv this looks like a problem in pikaur. I can't reproduce this with yay.

inpv commented on 2023-12-13 09:43 (UTC) (edited on 2023-12-30 13:04 (UTC) by inpv)

@XenGi The build still has the error when it's trying to install into home dir, even before there's a possibility to edit PKGBUILD. Using pikaur. Logs:

Can't pull 'unrealtournament' in '/home/%USERNAME%/.local/share/pikaur/aur_repos/unrealtournament' from AUR:
Updating 9918f5d..17fc8ef

From https://aur.archlinux.org/unrealtournament
 * branch            master     -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
    PKGBUILD
Please commit your changes or stash them before you merge.
Aborting

UPD: was happening to multiple packages, had to git checkout, that solved it.

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.