diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | PKGBUILD | 31 | ||||
-rw-r--r-- | UnrealVersionSelector-register.patch | 11 | ||||
-rw-r--r-- | clang60-support.patch | 15 | ||||
-rw-r--r-- | disable-pie.patch | 7 | ||||
-rw-r--r-- | ignore-clang50-install.patch | 11 | ||||
-rw-r--r-- | only-generate-makefile.patch | 6 | ||||
-rw-r--r-- | recompile-version-selector.patch | 11 | ||||
-rw-r--r-- | unreal-engine.install | 5 | ||||
-rw-r--r-- | use-arch-mono.patch | 23 |
11 files changed, 101 insertions, 47 deletions
@@ -1,8 +1,8 @@ # Generated by mksrcinfo v8 -# Thu May 10 23:36:59 UTC 2018 +# Fri Jul 20 20:22:58 UTC 2018 pkgbase = unreal-engine pkgdesc = A 3D game engine by Epic Games which can be used non-commercially for free. - pkgver = 4.19.2 + pkgver = 4.20.0 pkgrel = 1 url = https://www.unrealengine.com/ install = unreal-engine.install @@ -20,20 +20,26 @@ pkgbase = unreal-engine depends = python depends = lld options = strip - source = git+ssh://git@github.com/EpicGames/UnrealEngine.git#tag=4.19.2-release + source = git+ssh://git@github.com/EpicGames/UnrealEngine.git#tag=4.20.0-release source = UE4Editor.desktop source = ignore-return-value-error.patch - source = disable-pie.patch source = only-generate-makefile.patch source = html5-build.patch - source = clang60-support.patch + source = UnrealVersionSelector-register.patch + source = recompile-version-selector.patch + source = Makefile + source = ignore-clang50-install.patch + source = use-arch-mono.patch sha256sums = SKIP sha256sums = 46871ed662a3c97698be609d27da280d9000ec97183f1fa6592986f9910a2118 sha256sums = 918dff809a7e815343a8d233f704f52a910b8f01a9cb3d29de541a0334fecc7c - sha256sums = a8bb46ad630c077dd302cd8397f2c8d79d6bb13dbff1cbfbbdad447033ad3c6e - sha256sums = dba4b1910dd6424d50a8d95a461c5cf3a96f3e7df0b015624d9bf1c97dc317d3 + sha256sums = ab3e7981da6da4473717aef0bce9d550aacad02f9260f98d5b7a0bb3374a959a sha256sums = 9fd6d16d56fbe0489a2580b86359df84b83a6987b5760a9e57ae0898f51943ac - sha256sums = 5583481dc7e08ebce1d0865b36bd50124b8be0d2347fec20aad3c37a346b3eb4 + sha256sums = 23f55f7dffc98f5a8ef84520c7ef82bc9cca447433ad0405e3f9a319a29301ef + sha256sums = 1dd876fa48c6fb4fcd4ccbdb8ed4ceccfa294685911e91be58bbc5e95726c279 + sha256sums = f07f66c6784c82b3629bfad5a2c01515e012d5feec08f63dcf15c2c06cc8b62e + sha256sums = c1bb149410d6871a1858513d6253694452925a892d672f5705b2a7f96e5a1f36 + sha256sums = 006bfc6dc6c4258b55768cac34a3c42f033a2777332272d8c47c340282bf400f pkgname = unreal-engine diff --git a/Makefile b/Makefile new file mode 100644 index 000000000000..57a9fa1cd39c --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +UNREALROOTPATH = /tmp/makepkg/unreal-engine/src/UnrealEngine + +BUILD = bash "$(UNREALROOTPATH)/Engine/Build/BatchFiles/Linux/Build.sh" + +UnrealVersionSelector-Linux-Shipping: + $(BUILD) UnrealVersionSelector Linux Shipping $(ARGS) @@ -10,7 +10,7 @@ pkgname='unreal-engine' install="$pkgname.install" -pkgver=4.19.2 +pkgver=4.20.0 # shellcheck disable=SC2034 { pkgrel=1 @@ -25,22 +25,28 @@ pkgver=4.19.2 "git+ssh://git@github.com/EpicGames/UnrealEngine.git#tag=$pkgver-release" 'UE4Editor.desktop' 'ignore-return-value-error.patch' - 'disable-pie.patch' 'only-generate-makefile.patch' 'html5-build.patch' - 'clang60-support.patch' + 'UnrealVersionSelector-register.patch' + 'recompile-version-selector.patch' + 'Makefile' + 'ignore-clang50-install.patch' + 'use-arch-mono.patch' ) sha256sums=('SKIP' '46871ed662a3c97698be609d27da280d9000ec97183f1fa6592986f9910a2118' '918dff809a7e815343a8d233f704f52a910b8f01a9cb3d29de541a0334fecc7c' - 'a8bb46ad630c077dd302cd8397f2c8d79d6bb13dbff1cbfbbdad447033ad3c6e' - 'dba4b1910dd6424d50a8d95a461c5cf3a96f3e7df0b015624d9bf1c97dc317d3' + 'ab3e7981da6da4473717aef0bce9d550aacad02f9260f98d5b7a0bb3374a959a' '9fd6d16d56fbe0489a2580b86359df84b83a6987b5760a9e57ae0898f51943ac' - '5583481dc7e08ebce1d0865b36bd50124b8be0d2347fec20aad3c37a346b3eb4') + '23f55f7dffc98f5a8ef84520c7ef82bc9cca447433ad0405e3f9a319a29301ef' + '1dd876fa48c6fb4fcd4ccbdb8ed4ceccfa294685911e91be58bbc5e95726c279' + 'f07f66c6784c82b3629bfad5a2c01515e012d5feec08f63dcf15c2c06cc8b62e' + 'c1bb149410d6871a1858513d6253694452925a892d672f5705b2a7f96e5a1f36' + '006bfc6dc6c4258b55768cac34a3c42f033a2777332272d8c47c340282bf400f') # Package is 3 Gib smaller with "strip" but it's skipped because it takes a long time and generates many warnings - options=(!strip) + options=(!strip staticlibs) } prepare() { @@ -48,10 +54,14 @@ prepare() { # shellcheck disable=SC2154 ue4src="$srcdir/UnrealEngine/Engine/Source" + patch "$ue4src/Programs/UnrealVersionSelector/Private/UnrealVersionSelector.cpp" UnrealVersionSelector-register.patch + patch "$srcdir/UnrealEngine/Engine/Build/BatchFiles/Linux/Setup.sh" ignore-clang50-install.patch + patch "$srcdir/UnrealEngine/Engine/Build/BatchFiles/Linux/SetupMono.sh" use-arch-mono.patch + patch "$srcdir/UnrealEngine/Setup.sh" recompile-version-selector.patch linuxToolChain="$ue4src/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs" - patch "$linuxToolChain" clang60-support.patch patch "$linuxToolChain" ignore-return-value-error.patch - patch "$linuxToolChain" disable-pie.patch + + cp "$srcdir/Makefile" "$srcdir/UnrealEngine/Makefile" patch -p0 -i only-generate-makefile.patch # Source Code Accessors @@ -75,9 +85,8 @@ prepare() { ./Setup.sh - dos2unix "$ue4src/ThirdParty/Linux/LibCxx/include/c++/v1/__locale" - #patch "$ue4src/ThirdParty/Linux/LibCxx/include/c++/v1/__locale" "$srcdir/xlocale-crash.patch" patch "$ue4src/Programs/UnrealBuildTool/Platform/HTML5/HTML5SDKInfo.cs" "$srcdir/html5-build.patch" + echo "generating project files" ./GenerateProjectFiles.sh } diff --git a/UnrealVersionSelector-register.patch b/UnrealVersionSelector-register.patch new file mode 100644 index 000000000000..34c0ed400faf --- /dev/null +++ b/UnrealVersionSelector-register.patch @@ -0,0 +1,11 @@ +--- UnrealVersionSelector.cpp 2018-07-19 18:48:39.554416589 -0500 ++++ UnrealVersionSelector.cpp_new 2018-07-19 20:08:45.702952782 -0500 +@@ -261,7 +261,7 @@ + else if (Arguments.Num() == 1 && Arguments[0] == TEXT("-register")) + { + // Add the current directory to the list of installations +- bRes = RegisterCurrentEngineDirectory(true); ++ bRes = RegisterCurrentEngineDirectory(false); + } + else if (Arguments.Num() == 1 && Arguments[0] == TEXT("-fileassociations")) + { diff --git a/clang60-support.patch b/clang60-support.patch deleted file mode 100644 index f15bc28be33e..000000000000 --- a/clang60-support.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- LinuxToolChain.cs 2018-04-08 08:35:31.859546383 -0500 -+++ LinuxToolChain_new.cs 2018-04-08 08:49:48.646351026 -0500 -@@ -95,10 +95,10 @@ - throw new BuildException("clang 3.4.x is known to miscompile the engine - refusing to register the Linux toolchain."); - } - // prevent unknown clangs since the build is likely to fail on too old or too new compilers -- else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 50 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 35) -+ else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 60 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 35) - { - throw new BuildException( -- string.Format("This version of the Unreal Engine can only be compiled with clang 5.0, 4.0, 3.9, 3.8, 3.7, 3.6 and 3.5. clang {0} may not build it - please use a different version.", -+ string.Format("This version of the Unreal Engine can only be compiled with clang 6.0, 5.0, 4.0, 3.9, 3.8, 3.7, 3.6 and 3.5. clang {0} may not build it - please use a different version.", - CompilerVersionString) - ); - } diff --git a/disable-pie.patch b/disable-pie.patch deleted file mode 100644 index 17e71ba5e8d2..000000000000 --- a/disable-pie.patch +++ /dev/null @@ -1,7 +0,0 @@ -406a407,408 -> // disable PIE which is on by default in Arch since July 2017 -> Result += " -fno-pie"; -594a597,599 -> -> // disable PIE which is on by default in Arch since July 2017 -> Result += " -nopie"; Result += " -Wno-unused-command-line-argument"; diff --git a/ignore-clang50-install.patch b/ignore-clang50-install.patch new file mode 100644 index 000000000000..acffdfc286c0 --- /dev/null +++ b/ignore-clang50-install.patch @@ -0,0 +1,11 @@ +--- Setup.sh 2018-07-20 11:21:40.054921036 -0500 ++++ Setup_new.sh 2018-07-20 11:25:08.190071301 -0500 +@@ -126,7 +126,7 @@ + fi + + # Install our bundled toolchain unless we are running a Perforce build +-if [ ! -f Build/PerforceBuild.txt ]; then ++if [ ! -f Build/PerforceBuild.txt ] && [[ "$ID" != "arch" ]]; then + echo "Installing a bundled clang toolchain" + pushd Build/BatchFiles/Linux > /dev/null + ./SetupToolchain.sh diff --git a/only-generate-makefile.patch b/only-generate-makefile.patch index cb732d5e0479..0c0ee93b1de6 100644 --- a/only-generate-makefile.patch +++ b/only-generate-makefile.patch @@ -1,9 +1,7 @@ --- UnrealEngine/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh 2017-09-18 16:43:36.818934026 -0500 +++ - 2017-09-18 16:54:43.349891714 -0500 @@ -28,5 +28,5 @@ - /p:Configuration="Development" # pass all parameters to UBT --mono Binaries/DotNET/UnrealBuildTool.exe -projectfiles "$@" -+mono Binaries/DotNET/UnrealBuildTool.exe -makefile #-kdevelopfile -qmakefile -cmakefile -codelitefile "$@" - set +x +-mono "$BASE_PATH/../../../Binaries/DotNET/UnrealBuildTool.exe" -projectfiles "$@" ++mono "$BASE_PATH/../../../Binaries/DotNET/UnrealBuildTool.exe" -makefile diff --git a/recompile-version-selector.patch b/recompile-version-selector.patch new file mode 100644 index 000000000000..2e9342d5c53a --- /dev/null +++ b/recompile-version-selector.patch @@ -0,0 +1,11 @@ +--- Setup.sh 2018-07-20 11:07:26.136221539 -0500 ++++ Setup_new.sh 2018-07-20 11:10:00.662078181 -0500 +@@ -41,6 +41,8 @@ + + echo Register the engine installation... + if [ -f Engine/Binaries/Linux/UnrealVersionSelector-Linux-Shipping ]; then ++ make ++ + pushd Engine/Binaries/Linux > /dev/null + ./UnrealVersionSelector-Linux-Shipping -register + popd > /dev/null diff --git a/unreal-engine.install b/unreal-engine.install index ec0eb9bb448e..c0c74c11c51a 100644 --- a/unreal-engine.install +++ b/unreal-engine.install @@ -1,8 +1,9 @@ install_unreal() { - /opt/unreal-engine/GenerateProjectFiles.sh - sed -ri 's|(^,*)-makefile.*|\1-projectfiles "$@"|' /opt/unreal-engine/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh + sed -ri 's|(..*)-makefile.*|\1-projectfiles "$@"|' /opt/unreal-engine/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh + sed -ri '/(..*)make.*/,+1d' /opt/unreal-engine/Setup.sh + #/opt/unreal-engine/GenerateProjectFiles.sh } post_install() { diff --git a/use-arch-mono.patch b/use-arch-mono.patch new file mode 100644 index 000000000000..5dccce5aa899 --- /dev/null +++ b/use-arch-mono.patch @@ -0,0 +1,23 @@ +--- SetupMono.sh 2018-07-20 12:52:21.496049854 -0500 ++++ SetupMono_new.sh 2018-07-20 12:57:46.307955647 -0500 +@@ -12,16 +12,19 @@ + + IS_MONO_INSTALLED=0 + MONO_VERSION_PATH=`which mono` || true ++UE_USE_SYSTEM_MONO=1 + if [ "$UE_USE_SYSTEM_MONO" == "1" ] && [ ! $MONO_VERSION_PATH == "" ] && [ -f $MONO_VERSION_PATH ]; then + # If Mono is installed, check if it's 4.0.2 or higher + MONO_VERSION_PREFIX="Mono JIT compiler version " + MONO_VERSION_PREFIX_LEN=${#MONO_VERSION_PREFIX} + MONO_VERSION=`"${MONO_VERSION_PATH}" --version |grep "$MONO_VERSION_PREFIX"` + MONO_VERSION=(`echo ${MONO_VERSION:MONO_VERSION_PREFIX_LEN} |tr '.' ' '`) +- if [ ${MONO_VERSION[0]} -ge 4 ]; then ++ if [ ${MONO_VERSION[0]} -eq 4 ]; then + if [ ${MONO_VERSION[1]} -ge 0 ] || [ ${MONO_VERSION[2]} -ge 2 ]; then + IS_MONO_INSTALLED=1 + fi ++ elif [ ${MONO_VERSION[0]} -eq 5 ]; then ++ IS_MONO_INSTALLED=1 + fi + fi + |