0ad: patch for Python 3.11

This commit is contained in:
Đoàn Trần Công Danh 2022-11-28 23:52:56 +07:00 committed by Đoàn Trần Công Danh
parent a9bba7faa0
commit 6df45d6fe8
4 changed files with 140 additions and 2 deletions

View File

@ -0,0 +1,81 @@
From 95f1e91ef71d912be5f6dddb6fac68671d850fd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Sun, 24 Jul 2022 11:11:01 +0200
Subject: [PATCH] Python/Build: Use r instead of rU file read modes
Fixes Python 3.11 build
---
python/mozbuild/mozbuild/action/process_define_files.py | 2 +-
python/mozbuild/mozbuild/preprocessor.py | 6 +++---
python/mozbuild/mozbuild/util.py | 4 +++-
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
index 6fff0d1..de2bcf4 100644
--- a/python/mozbuild/mozbuild/action/process_define_files.py
+++ b/python/mozbuild/mozbuild/action/process_define_files.py
@@ -36,7 +36,7 @@ def process_define_file(output, input):
not config.substs.get('JS_STANDALONE'):
config = PartialConfigEnvironment(mozpath.join(topobjdir, 'js', 'src'))
- with open(path, 'rU') as input:
+ with open(path, 'r') as input:
r = re.compile('^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?', re.U)
for l in input:
m = r.match(l)
diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
index 0e3a750..66f5cf7 100644
--- a/python/mozbuild/mozbuild/preprocessor.py
+++ b/python/mozbuild/mozbuild/preprocessor.py
@@ -517,7 +517,7 @@ class Preprocessor:
if args:
for f in args:
- with io.open(f, 'rU', encoding='utf-8') as input:
+ with io.open(f, 'r', encoding='utf-8') as input:
self.processFile(input=input, output=out)
if depfile:
mk = Makefile()
@@ -807,7 +807,7 @@ class Preprocessor:
args = self.applyFilters(args)
if not os.path.isabs(args):
args = os.path.join(self.curdir, args)
- args = io.open(args, 'rU', encoding='utf-8')
+ args = io.open(args, 'r', encoding='utf-8')
except Preprocessor.Error:
raise
except Exception:
@@ -862,7 +862,7 @@ def preprocess(includes=[sys.stdin], defines={},
pp = Preprocessor(defines=defines,
marker=marker)
for f in includes:
- with io.open(f, 'rU', encoding='utf-8') as input:
+ with io.open(f, 'r', encoding='utf-8') as input:
pp.processFile(input=input, output=output)
return pp.includes
diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
index 044cf64..eb992ce 100644
--- a/python/mozbuild/mozbuild/util.py
+++ b/python/mozbuild/mozbuild/util.py
@@ -54,6 +54,8 @@ def exec_(object, globals=None, locals=None):
def _open(path, mode):
+ if mode == "rU":
+ mode = "r"
if 'b' in mode:
return io.open(path, mode)
return io.open(path, mode, encoding='utf-8', newline='\n')
@@ -220,7 +222,7 @@ class FileAvoidWrite(BytesIO):
still occur, as well as diff capture if requested.
"""
- def __init__(self, filename, capture_diff=False, dry_run=False, readmode='rU'):
+ def __init__(self, filename, capture_diff=False, dry_run=False, readmode='r'):
BytesIO.__init__(self)
self.name = filename
assert type(capture_diff) == bool
--
2.37.1

View File

@ -0,0 +1,15 @@
Index: 0ad-0.0.26/build/workspaces/update-workspaces.sh
===================================================================
--- 0ad-0.0.26.orig/build/workspaces/update-workspaces.sh
+++ 0ad-0.0.26/build/workspaces/update-workspaces.sh
@@ -1,10 +1,5 @@
#!/bin/sh
-if [ "$(id -u)" = "0" ]; then
- echo "Running as root will mess up file permissions. Aborting ..." 1>&2
- exit 1
-fi
-
die()
{
echo ERROR: $*

View File

@ -0,0 +1,35 @@
Index: 0ad-0.0.26/libraries/source/spidermonkey/patch.sh
===================================================================
--- 0ad-0.0.26.orig/libraries/source/spidermonkey/patch.sh
+++ 0ad-0.0.26/libraries/source/spidermonkey/patch.sh
@@ -2,6 +2,21 @@
# Apply patches if needed
# This script gets called from build.sh.
+unset GIT_DIR
+HOME=/tmp
+PATH=/usr/libexec/chroot-git:$PATH
+GIT_CEILING_DIRECTORIES="$(cd .. && pwd)"
+export GIT_CEILING_DIRECTORIES HOME
+git config --global --add safe.directory "$PWD"
+git config --global user.name 'Void Linux'
+git config --global user.email 'none@voidlinux.org'
+git init . -b for-build
+git add . >/dev/null 2>&1
+git commit -m needs-git-because-virtual-env-has-binaries-diff
+
+git am --keep-cr ../1654457-virtualenv.patch
+git am --keep-cr ../python-3.11.patch
+
# SM78 fails to create virtual envs on macs with python > 3.7
# Unfortunately, 3.7 is mostly unavailable on ARM macs.
# Therefore, replace the custom script with a more up-to-date version from pip
@@ -26,7 +41,7 @@ else
#
# It is assumed that the updated version fetched for macOS systems
# above does not have this problem.
- patch -p1 < ../FixVirtualenvForPython310.diff
+ : patch -p1 < ../FixVirtualenvForPython310.diff
fi
# Mozglue symbols need to be linked against static builds.

View File

@ -12,11 +12,15 @@ short_desc="Historically-based real-time strategy game"
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="GPL-2.0-or-later, CC-BY-SA-3.0, MPL-2.0, MIT"
homepage="https://play0ad.com"
distfiles="https://releases.wildfiregames.com/${pkgname}-${version}-alpha-unix-build.tar.xz"
checksum=2e1c6df7e3312e77c5f82788664cffc3a78d3bf60606c00039275e1d13c0ee4b
distfiles="https://releases.wildfiregames.com/${pkgname}-${version}-alpha-unix-build.tar.xz
https://github.com/mozilla/gecko-dev/commit/74641307d32a59806b75cd2b8c7161aca50d5cb7.patch>1654457-virtualenv.patch"
checksum="2e1c6df7e3312e77c5f82788664cffc3a78d3bf60606c00039275e1d13c0ee4b
f18fa3adae7acb07a49148354b6804028e6c9d7344991622fb7c00f638173e03"
nocross="uses bundled third-party libraries that do not cross-compile"
lib32disabled=yes
skip_extraction="1654457-virtualenv.patch"
CXXFLAGS="-fpermissive"
# Use BFD linker to avoid erroneous detection of llvm pr8927 with *-musl
LDFLAGS="-fuse-ld=bfd"
@ -32,6 +36,9 @@ post_patch() {
echo "TARGET_LINK_LIBRARIES(nvcore execinfo)" >> \
libraries/source/nvtt/src/src/nvcore/CMakeLists.txt
fi
cp ${FILESDIR}/python-3.11.patch libraries/source/spidermonkey/
cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/1654457-virtualenv.patch \
libraries/source/spidermonkey/
}
do_configure() {