@inpv this looks like a problem in pikaur. I can't reproduce this with yay.
Search Criteria
Package Details: unrealtournament 469d-1
Package Actions
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.001395 |
First Submitted: | 2016-03-08 14:36 (UTC) |
Last Updated: | 2023-12-12 04:16 (UTC) |
Dependencies (7)
- libfmodAUR
- libxmpAUR (libxmp-gitAUR)
- mpg123 (mpg123-svnAUR, mpg321AUR, mpg321-binAUR)
- openal (openal-gitAUR)
- sdl2 (sdl2-gitAUR, sdl2-compat-gitAUR)
- sdl2_ttf
- innoextract (innoextract-gitAUR) (optional) – Extract GOG release
Required by (5)
Sources (4)
XenGi commented on 2024-01-05 06:04 (UTC)
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.
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!