Package Details: unreal-engine 5.4.2-0

Git Clone URL: https://aur.archlinux.org/unreal-engine.git (read-only, click to copy)
Package Base: unreal-engine
Description: A 3D game engine by Epic Games which can be used non-commercially for free.
Upstream URL: https://www.unrealengine.com/
Keywords: 3D engine game ue5 Unreal
Licenses: GPL3, custom:UnrealEngine
Submitter: acerix
Maintainer: Shatur (Neko-san)
Last Packager: Neko-san
Votes: 74
Popularity: 0.97
First Submitted: 2016-05-01 18:37 (UTC)
Last Updated: 2024-06-17 03:29 (UTC)

Required by (1)

Sources (5)

Pinned Comments

Neko-san commented on 2022-11-01 02:32 (UTC) (edited on 2023-06-25 01:19 (UTC) by Neko-san)

@juancarlospaco this is easily done on your own system, not in a PKGBUILD, given that building packages runs as root:

sudo groupadd unrealengine-users
sudo usermod -aG unrealengine-users (your-username)
sudo chown -R root:unrealengine-users /opt/unreal-engine
sudo chmod -R 775 /opt/unreal-engine

Permission issues like this are already mentioned on the UE Arch wiki page: https://wiki.archlinux.org/title/Unreal_Engine_4#Installing_from_the_AUR

This is a user system problem; I already did what I could without needing users to do the above by giving the 777 permissions. If it still gives you trouble, you'll have to use the example to solve it or change the install location to somewhere you have user permissions by default (as I cannot do this for you).

zerophase commented on 2021-05-27 08:15 (UTC) (edited on 2021-05-30 08:41 (UTC) by zerophase)

Will update to 5.0 when it is released.

Latest Comments

« First ‹ Previous 1 .. 8 9 10 11 12 13 14 15 16 17 18 .. 80 Next › Last »

Neko-san commented on 2022-12-09 23:06 (UTC)

Good, then; I added you to the contributors list, by the way, for helping out with the packaging function

shawarden commented on 2022-12-09 19:57 (UTC)

That seems to work. Both with git / makepkg and with yay.

Neko-san commented on 2022-12-09 10:12 (UTC)

Sorry about that, I misinterpreted something I read on how to prevent a Bash SC2115 warning:

https://www.shellcheck.net/wiki/SC2115

juancarlospaco commented on 2022-12-09 09:39 (UTC)

pkgrel=24 Errors:

rm: cannot remove 'unreal-engine/src/unreal-engine/*$': No such file or directory

shawarden commented on 2022-12-09 09:37 (UTC) (edited on 2022-12-09 09:38 (UTC) by shawarden)

Looks like a stray $ found its way onto the end of L217

Neko-san commented on 2022-12-09 01:38 (UTC)

Interesting, I didn't know that. I wasn't really familiar with hardlinks, only symlinks.

I'll use that, then; I'll update it in a moment

shawarden commented on 2022-12-09 01:28 (UTC)

cp -l creates hardlinks so no data duplication occurs. rming the file's duplicate inode does not remove the file, only that inode.

Neko-san commented on 2022-12-09 01:16 (UTC)

I was already aware that using cp was a "better" alternative here for packaging than mv in this circumstance, but I can't permit it to be what's used for everyone by default because the engine is massive as-is and doing this would quickly cause people with "just enough" storage space to compile the engine to suddenly not have enough just because the packaging function doubles the engine size before makepkg is done. Unfortunately, there needs to be a better solution.

Also, thanks for pointing out the issue with the launching mechanism; that's what I get for being half-asleep when I wrote that... Lol

shawarden commented on 2022-12-08 19:16 (UTC) (edited on 2022-12-08 19:16 (UTC) by shawarden)

Depending on how you feel about replacing the mvs with cp and rm since mv does not merge, if you replace the entire for loop from L207 to L218 with...

# Copy LocalBuilds to pkg...
cp -flr "${srcdir}"/"${pkgname}"/LocalBuilds/Engine/Linux/* "${pkgdir}"/"${_install_dir}"/
if [ -f "${srcdir}"/"${pkgname}"/LocalBuilds/Engine/Linux/Engine/Binaries/Linux/UnrealEditor ]; then
  # Can never be too careful with recursive rm...
  rm -r "${srcdir}"/"${pkgname}"/LocalBuilds
fi

# Copy the rest of it to pkg... Should we be overwriting LocalBuilds?
cp -flr "${srcdir}"/"${pkgname}"/* "${pkgdir}"/"${_install_dir}"/
if [ -f "${srcdir}"/"${pkgname}"/Engine/Binaries/Linux/UnrealEditor ]; then
  rm -r "${srcdir}"/"${pkgname}"/*
fi

...it produces a working install. Someone else will need to test it as my system is mine, yours is yours.

I have also tweaked L254 & L255 because they were seding the .desktop file instead of the unreal-engine-5.sh script. The user's .desktop should now work as expected instead of opening itself in an editor. Additionally on L255 the substitution needs to be more specific as there is a second UnrealEditor binary in .../Engine/Saved/... which would break the script's search of the base install directory.

# Replaced .desktop file with launch script
sed -i "s/ChecksumPlaceholder/${DesktopFileChecksum}/" "${pkgdir}/usr/bin/unreal-engine-5.sh"
# Searching install_dir finds multiple binaries (in Saved) so limit the scope
sed -i "s|InstalledLocationPlaceholder|/${_install_dir}/Engine/Binaries|" "${pkgdir}/usr/bin/unreal-engine-5.sh"

juancarlospaco commented on 2022-12-07 09:08 (UTC)

Any updates about a fix?, I am using only git and makepkg -si.