summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--Makefile6
-rw-r--r--PKGBUILD31
-rw-r--r--UnrealVersionSelector-register.patch11
-rw-r--r--clang60-support.patch15
-rw-r--r--disable-pie.patch7
-rw-r--r--ignore-clang50-install.patch11
-rw-r--r--only-generate-makefile.patch6
-rw-r--r--recompile-version-selector.patch11
-rw-r--r--unreal-engine.install5
-rw-r--r--use-arch-mono.patch23
11 files changed, 101 insertions, 47 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f7ca011deaad..a1386039820f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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)
diff --git a/PKGBUILD b/PKGBUILD
index b01dc4bd7622..37e8ffd97607 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+