diff options
author | Andrew Marshall <andrew@johnandrewmarshall.com> | 2023-10-25 22:29:12 -0400 |
---|---|---|
committer | Andrew Marshall <andrew@johnandrewmarshall.com> | 2023-10-25 22:29:12 -0400 |
commit | 98dc4cfa9c59fb407e208d5a125c77b36d1d0bbf (patch) | |
tree | f85e082da968cda509fafd0553121998557ffec8 /pkgs/applications/emulators | |
parent | 0b8da5fde3a371f9d34bc27da3def771ef0d5401 (diff) |
libretro.mame2016: fix build on Python 3.11+
Since Python 3.11, `open()` etc. no longer accept `U` flag.
Diffstat (limited to 'pkgs/applications/emulators')
-rw-r--r-- | pkgs/applications/emulators/retroarch/cores.nix | 1 | ||||
-rw-r--r-- | pkgs/applications/emulators/retroarch/patches/mame2016-python311.patch | 74 |
2 files changed, 75 insertions, 0 deletions
diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix index c18b26b1b2476..525682c603d25 100644 --- a/pkgs/applications/emulators/retroarch/cores.nix +++ b/pkgs/applications/emulators/retroarch/cores.nix @@ -582,6 +582,7 @@ in mame2016 = mkLibretroCore { core = "mame2016"; + patches = [ ./patches/mame2016-python311.patch ]; extraNativeBuildInputs = [ python3 ]; extraBuildInputs = [ alsa-lib ]; makeFlags = [ "PYTHON_EXECUTABLE=python3" ]; diff --git a/pkgs/applications/emulators/retroarch/patches/mame2016-python311.patch b/pkgs/applications/emulators/retroarch/patches/mame2016-python311.patch new file mode 100644 index 0000000000000..6647e445a08d6 --- /dev/null +++ b/pkgs/applications/emulators/retroarch/patches/mame2016-python311.patch @@ -0,0 +1,74 @@ +diff --git a/scripts/build/verinfo.py b/scripts/build/verinfo.py +index a73d8ad268..82a80c0984 100644 +--- a/scripts/build/verinfo.py ++++ b/scripts/build/verinfo.py +@@ -63,7 +63,7 @@ def extract_version(input): + build, outfmt, srcfile, dstfile = parse_args() + + try: +- fp = open(srcfile, 'rU') ++ fp = open(srcfile, 'r') + except IOError: + sys.stderr.write("Unable to open source file '%s'\n" % srcfile) + sys.exit(1) +diff --git a/src/devices/cpu/m6502/m6502make.py b/src/devices/cpu/m6502/m6502make.py +index 8bcd85f8e2..557b175966 100755 +--- a/src/devices/cpu/m6502/m6502make.py ++++ b/src/devices/cpu/m6502/m6502make.py +@@ -18,7 +18,7 @@ def load_opcodes(fname): + opcodes = [] + logging.info("load_opcodes: %s", fname) + try: +- f = open(fname, "rU") ++ f = open(fname, "r") + except Exception: + err = sys.exc_info()[1] + logging.error("cannot read opcodes file %s [%s]", fname, err) +@@ -41,7 +41,7 @@ def load_disp(fname): + logging.info("load_disp: %s", fname) + states = [] + try: +- f = open(fname, "rU") ++ f = open(fname, "r") + except Exception: + err = sys.exc_info()[1] + logging.error("cannot read display file %s [%s]", fname, err) +diff --git a/src/devices/cpu/m6809/m6809make.py b/src/devices/cpu/m6809/m6809make.py +index 8838b96019..e1ea25db06 100644 +--- a/src/devices/cpu/m6809/m6809make.py ++++ b/src/devices/cpu/m6809/m6809make.py +@@ -16,7 +16,7 @@ def load_file(fname, lines): + if path != "": + path += '/' + try: +- f = open(fname, "rU") ++ f = open(fname, "r") + except Exception: + err = sys.exc_info()[1] + sys.stderr.write("Cannot read opcodes file %s [%s]\n" % (fname, err)) +diff --git a/src/devices/cpu/mcs96/mcs96make.py b/src/devices/cpu/mcs96/mcs96make.py +index b4844942e3..207208d2b6 100644 +--- a/src/devices/cpu/mcs96/mcs96make.py ++++ b/src/devices/cpu/mcs96/mcs96make.py +@@ -73,7 +73,7 @@ def __init__(self, fname, is_196): + self.ea = {} + self.macros = {} + try: +- f = open(fname, "rU") ++ f = open(fname, "r") + except Exception: + err = sys.exc_info()[1] + sys.stderr.write("Cannot read opcodes file %s [%s]\n" % (fname, err)) +diff --git a/src/devices/cpu/tms57002/tmsmake.py b/src/devices/cpu/tms57002/tmsmake.py +index e2e12b5a4b..942ec09537 100755 +--- a/src/devices/cpu/tms57002/tmsmake.py ++++ b/src/devices/cpu/tms57002/tmsmake.py +@@ -323,7 +323,7 @@ def AddInfo(self, line): + def LoadLst(filename): + instructions = [] + ins = None +- for n, line in enumerate(open(filename, "rU")): ++ for n, line in enumerate(open(filename, "r")): + line = line.rstrip() + if not line and ins: + # new lines separate intructions |