diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-06-24 21:39:09 +0200 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-06-24 21:39:09 +0200 |
commit | da24d067d0954cc8f8d75fa9099ad6d8a01e1098 (patch) | |
tree | f287391c8ebbb15df5890d6b5911128408ff438e /gnu/packages/patches | |
parent | 909788c0aebd8098084c009afa98d1209c9ec869 (diff) | |
parent | f25529b08e356f89ca7cecc44295085531a8faba (diff) | |
download | guix-da24d067d0954cc8f8d75fa9099ad6d8a01e1098.tar.gz |
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/packages/patches')
10 files changed, 383 insertions, 108 deletions
diff --git a/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch b/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch new file mode 100644 index 0000000000..eeee337f57 --- /dev/null +++ b/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch @@ -0,0 +1,41 @@ +This patch is from upstream + +From 3a236241bbec3f15b012b6f0dbe94353d8094557 Mon Sep 17 00:00:00 2001 +From: Andrew Childs <lorne@cons.org.nz> +Date: Sat, 2 May 2020 12:36:46 +0900 +Subject: [PATCH] davinci: fix build with glibc >= 2.28 + +From glibc 2.28 release notes: + +* The macros 'major', 'minor', and 'makedev' are now only available from + the header <sys/sysmacros.h>; not from <sys/types.h> or various other + headers that happen to include <sys/types.h>. These macros are rarely + used, not part of POSIX nor XSI, and their names frequently collide with + user code; see https://sourceware.org/bugzilla/show_bug.cgi?id=19239 for + further explanation. + + <sys/sysmacros.h> is a GNU extension. Portable programs that require + these macros should first include <sys/types.h>, and then include + <sys/sysmacros.h> if __GNU_LIBRARY__ is defined. + +https://lists.gnu.org/archive/html/info-gnu/2018-08/msg00000.html +--- + gfxdrivers/davinci/davinci_c64x.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gfxdrivers/davinci/davinci_c64x.c b/gfxdrivers/davinci/davinci_c64x.c +index 431ffdd99..351250a03 100644 +--- a/gfxdrivers/davinci/davinci_c64x.c ++++ b/gfxdrivers/davinci/davinci_c64x.c +@@ -39,6 +39,11 @@ + #include <sys/types.h> + #include <unistd.h> + ++// Required for `makedev` in glibc >= 2.28 ++#if defined(__GNU_LIBRARY__) ++#include <sys/sysmacros.h> ++#endif ++ + #include <directfb_util.h> + + #include <direct/clock.h> diff --git a/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch b/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch deleted file mode 100644 index 9f54305b47..0000000000 --- a/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch +++ /dev/null @@ -1,89 +0,0 @@ -commit da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d -Author: Pyry Kontio <pyry.kontio@drasa.eu> -Date: Mon Jul 6 12:57:35 2020 +0900 - - Makefile: Fix building on AArch64 NixOS - - The parsing of the output of archtest.c produced an unexpected - value on AArch64 NixOS. For example, the make variable ARCH was set to: - - ``` - bit outside of fd_set selected - arm - ``` - - This made the arch and OS checks fail. - - This commit simplifies the parsing, making it more robust. - - The C files archtest.c, endiantest.c and os.h used to set the - TARGET_OS, ARCH and ENDIAN variables, respectively, output - the result of the test as the final line, so just extracting - the final line and removing double quoting is enough. - - This commit also fixes a bug with debug_shell lacking escaping - single quotes, which prevented using the single quote in the - debug_shell calls. It used to work by accident before this fix; - the line in the call happened to contain a balanced pair of double - quotes and lacked other characters that needed escaping, which - didn't break the debug_shell, but this was accidental and very - brittle. - - Signed-off-by: Pyry Kontio <pyry.kontio@drasa.eu> - Change-Id: Iaa4477a71e758cf9ecad2c22f3b77bc6508a3510 - Reviewed-on: https://review.coreboot.org/c/flashrom/+/43140 - Tested-by: build bot (Jenkins) <no-reply@coreboot.org> - Reviewed-by: Angel Pons <th3fanbus@gmail.com> - -diff --git a/Makefile b/Makefile -index f3f7717e..e475cbdb 100644 ---- a/Makefile -+++ b/Makefile -@@ -83,7 +83,8 @@ dummy_for_make_3_80:=$(shell printf "Build started on %s\n\n" "$$(date)" >$(BUIL - - # Provide an easy way to execute a command, print its output to stdout and capture any error message on stderr - # in the build details file together with the original stdout output. --debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(1) ; }' >&2; { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE)) -+debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(subst ','\'',$(1)) ; }' >&2; \ -+ { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE)) - - ############################################################################### - # General OS-specific settings. -@@ -106,7 +107,8 @@ endif - # IMPORTANT: The following line must be placed before TARGET_OS is ever used - # (of course), but should come after any lines setting CC because the line - # below uses CC itself. --override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) -+override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null \ -+ | tail -1 | cut -f 2 -d'"')) - - ifeq ($(TARGET_OS), Darwin) - override CPPFLAGS += -I/opt/local/include -I/usr/local/include -@@ -490,8 +492,10 @@ endif - # IMPORTANT: The following line must be placed before ARCH is ever used - # (of course), but should come after any lines setting CC because the line - # below uses CC itself. --override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) --override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#')) -+override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \ -+ | tail -1 | cut -f 2 -d'"')) -+override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \ -+ | tail -1)) - - # Disable the internal programmer on unsupported architectures (everything but x86 and mipsel) - ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN)) -@@ -1299,12 +1303,12 @@ compiler: featuresavailable - @printf "Target arch is " - @# FreeBSD wc will output extraneous whitespace. - @echo $(ARCH)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ -- ( echo "unknown. Aborting."; exit 1) -+ ( echo "unknown (\"$(ARCH)\"). Aborting."; exit 1) - @printf "%s\n" '$(ARCH)' - @printf "Target OS is " - @# FreeBSD wc will output extraneous whitespace. - @echo $(TARGET_OS)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ -- ( echo "unknown. Aborting."; exit 1) -+ ( echo "unknown (\"$(TARGET_OS)\"). Aborting."; exit 1) - @printf "%s\n" '$(TARGET_OS)' - ifeq ($(TARGET_OS), libpayload) - @$(CC) --version 2>&1 | grep -q coreboot || \ diff --git a/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch b/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch new file mode 100644 index 0000000000..bcf297be94 --- /dev/null +++ b/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch @@ -0,0 +1,57 @@ +This patch is from upstream glibc after 2.33 and is needed in Guix to +fix glibc-2.33 compilation for riscv64-linux. + +From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Fri, 19 Feb 2021 13:29:00 +0100 +Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr + +--- + string/rawmemchr.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/string/rawmemchr.c b/string/rawmemchr.c +index 59bbeeaa42..b8523118e5 100644 +--- a/string/rawmemchr.c ++++ b/string/rawmemchr.c +@@ -22,24 +22,28 @@ + # define RAWMEMCHR __rawmemchr + #endif + ++/* The pragmata should be nested inside RAWMEMCHR below, but that ++ triggers GCC PR 98512. */ ++DIAG_PUSH_NEEDS_COMMENT; ++#if __GNUC_PREREQ (7, 0) ++/* GCC 8 warns about the size passed to memchr being larger than ++ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); ++#endif ++#if __GNUC_PREREQ (11, 0) ++/* Likewise GCC 11, with a different warning option. */ ++DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); ++#endif ++ + /* Find the first occurrence of C in S. */ + void * + RAWMEMCHR (const void *s, int c) + { +- DIAG_PUSH_NEEDS_COMMENT; +-#if __GNUC_PREREQ (7, 0) +- /* GCC 8 warns about the size passed to memchr being larger than +- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ +- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); +-#endif +-#if __GNUC_PREREQ (11, 0) +- /* Likewise GCC 11, with a different warning option. */ +- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); +-#endif + if (c != '\0') + return memchr (s, c, (size_t)-1); +- DIAG_POP_NEEDS_COMMENT; + return (char *)s + strlen (s); + } + libc_hidden_def (__rawmemchr) + weak_alias (__rawmemchr, rawmemchr) ++ ++DIAG_POP_NEEDS_COMMENT; +-- diff --git a/gnu/packages/patches/guile-fibers-libevent-32-bit.patch b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch new file mode 100644 index 0000000000..a1cc99fdbe --- /dev/null +++ b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch @@ -0,0 +1,18 @@ +This fixes a bug with the libevent backend on 32-bit platforms: + + https://github.com/wingo/fibers/issues/86 + +diff --git a/extensions/libevent.c b/extensions/libevent.c +index 4f44de9..52c9d73 100644 +--- a/extensions/libevent.c ++++ b/extensions/libevent.c +@@ -215,7 +215,8 @@ run_event_loop (void *p) + microsec = -1; + else if (data->timeout >= 0) + { +- microsec = data->timeout / time_units_per_microsec; ++ microsec = (time_units_per_microsec == 0) ++ ? 0 : data->timeout / time_units_per_microsec; + tv.tv_sec = 0; + tv.tv_usec = microsec; + } diff --git a/gnu/packages/patches/hubbub-maybe-uninitialized.patch b/gnu/packages/patches/hubbub-maybe-uninitialized.patch new file mode 100644 index 0000000000..6f289a770e --- /dev/null +++ b/gnu/packages/patches/hubbub-maybe-uninitialized.patch @@ -0,0 +1,40 @@ +From 69d81a8a4d4c223aad67cde0fdf64d64351b9802 Mon Sep 17 00:00:00 2001 +From: Andy Tai <atai@atai.org> +Date: Sat, 27 May 2023 00:01:34 -0700 +Subject: [PATCH] prevent -Werror=maybe-uninitialized build failure with gcc 11 + when building tests tokeniser2 and tokeniser3 + +--- + test/tokeniser2.c | 2 +- + test/tokeniser3.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/tokeniser2.c b/test/tokeniser2.c +index c8ab9c0..4caae38 100644 +--- a/test/tokeniser2.c ++++ b/test/tokeniser2.c +@@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) + /* Expected token only contained part of the data + * Calculate how much is left, then try again with + * the next expected token */ +- hubbub_token t; ++ hubbub_token t = { 0 }; + + t.type = HUBBUB_TOKEN_CHARACTER; + t.data.character.ptr += len; +diff --git a/test/tokeniser3.c b/test/tokeniser3.c +index e33d018..b3be901 100644 +--- a/test/tokeniser3.c ++++ b/test/tokeniser3.c +@@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) + /* Expected token only contained part of the data + * Calculate how much is left, then try again with + * the next expected token */ +- hubbub_token t; ++ hubbub_token t = { 0 }; + + t.type = HUBBUB_TOKEN_CHARACTER; + t.data.character.ptr += len; +-- +2.40.1 + diff --git a/gnu/packages/patches/ibus-anthy-fix-tests.patch b/gnu/packages/patches/ibus-anthy-fix-tests.patch new file mode 100644 index 0000000000..6934358980 --- /dev/null +++ b/gnu/packages/patches/ibus-anthy-fix-tests.patch @@ -0,0 +1,49 @@ +Submitted upstream: https://github.com/ibus/ibus-anthy/pull/35 + +diff --git a/tests/test-build.sh b/tests/test-build.sh +index e83b78f..a0efe32 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -63,26 +63,27 @@ parse_args() + done; + } + ++maybe_install_pycotap() { ++ # Check if pycotap is already available. ++ python3 -m pycotap >/dev/null && return 0 ++ ++ # Red Hat specific hint. ++ if test -f /etc/redhat-release ; then ++ if ! rpm -q --quiet python3-pycotap; then ++ echo "Please install python3-pycotap" ++ exit -1 ++ fi ++ fi; ++} ++ + init_environment() + { + if test x$FORCE_TEST != x ; then + RUN_ARGS="$RUN_ARGS --force"; + fi; +- HAS_TAP=0; +- if test -f /etc/redhat-release ; then +- rpm -q --quiet python3-pycotap +- if test $? -ne 0 ; then +- echo "Not found python3-pycotap"; +- exit -1; +- fi; +- HAS_TAP=1; +- fi; +- TAP_DIR=`python -m site --user-site`/pycotap; +- if test $HAS_TAP -ne 1 && \ +- test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then +- echo "pip install pycotap --user"; +- pip install pycotap --user; +- fi; ++ ++ maybe_install_pycotap ++ + if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then + echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; + exit -1; diff --git a/gnu/packages/patches/libtree-fix-check-non-x86.patch b/gnu/packages/patches/libtree-fix-check-non-x86.patch new file mode 100644 index 0000000000..51f020c5d3 --- /dev/null +++ b/gnu/packages/patches/libtree-fix-check-non-x86.patch @@ -0,0 +1,50 @@ +From 061d3ec62707a526a83482e57d202a66f9d776cd Mon Sep 17 00:00:00 2001 +From: Ismael Luceno <ismael@iodev.co.uk> +Date: Tue, 23 Aug 2022 19:34:39 +0200 +Subject: [PATCH] Test the -m32 and -m64 compiler flags before use + +Fixes: https://github.com/haampie/libtree/issues/78 +Signed-off-by: Ismael Luceno <ismael@iodev.co.uk> +--- + tests/05_32_bits/Makefile | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/tests/05_32_bits/Makefile b/tests/05_32_bits/Makefile +index 2c0bece..5628f42 100644 +--- a/tests/05_32_bits/Makefile ++++ b/tests/05_32_bits/Makefile +@@ -3,7 +3,7 @@ + + LD_LIBRARY_PATH= + +-.PHONY: clean ++.PHONY: clean check + + all: check + +@@ -21,11 +21,21 @@ exe64: lib64/libx.so + exe32: lib32/libx.so + echo 'extern int a(); int _start(){return a();}' | $(CC) -m32 "-Wl,-rpath,$(CURDIR)/lib64" "-Wl,-rpath,$(CURDIR)/lib32" -o $@ -nostdlib -x c - -Llib32 -lx + +-check: exe32 exe64 +- ../../libtree exe32 +- ../../libtree exe64 +- + clean: + rm -rf lib32 lib64 exe* + + CURDIR ?= $(.CURDIR) ++ ++test-flag = 2>/dev/null ${CC} -E /dev/null ++test-end = && echo y || echo n ++support-m32 != ${test-flag} -m32 ${test-end} ++support-m64 != ${test-flag} -m64 ${test-end} ++ ++check${support-m32:y=}:: exe32 ++ ../../libtree exe32 ++ ++check${support-m64:y=}:: exe64 ++ ../../libtree exe64 ++ ++check${support-m32:n=} check${support-m64:n=}:: ++ @echo WARNING: test skipped at ${CURDIR} diff --git a/gnu/packages/patches/python-keras-integration-test.patch b/gnu/packages/patches/python-keras-integration-test.patch deleted file mode 100644 index aa2b1a273d..0000000000 --- a/gnu/packages/patches/python-keras-integration-test.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix a test failure with recent versions of ... Pytest? Python? - -Taken from upstream: -https://github.com/keras-team/keras/commit/fe35050a8f18dc52304aa8da4e463eececa25240 - -diff --git a/tests/integration_tests/applications_test.py b/tests/integration_tests/applications_test.py -index 979f2f2abd6..6e3b57fa8e2 100644 ---- a/tests/integration_tests/applications_test.py -+++ b/tests/integration_tests/applications_test.py -@@ -58,7 +58,8 @@ def _test_application_basic(app, last_dim=1000): - def _test_application_notop(app, last_dim): - output_shape = _get_output_shape( - lambda: app(weights=None, include_top=False)) -- assert output_shape == (None, None, None, last_dim) -+ assert len(output_shape) == 4 -+ assert output_shape[-1] == last_dim - - - def test_mobilenet_v2_legacy_import(): diff --git a/gnu/packages/patches/quodlibet-fix-invalid-glob.patch b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch new file mode 100644 index 0000000000..95f95d8aab --- /dev/null +++ b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch @@ -0,0 +1,89 @@ +From 5f55431a28509fd4f4f7b40dc246f3d34fa8549e Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sun, 26 Jun 2022 23:14:28 +0200 +Subject: [PATCH] builtin cover: fix handling of invalid glob ranges with + Python 3.10.5+ (#4027) + +Previously Python would raise if an invalid range was given +to glob, but with 3.10.5 they fixed it to not match anything. +https://github.com/python/cpython/issues/89973 + +Our tests depended on the previous logic and treating the glob pattern +as a literal file name in that case. + +One could argue that this is wrong since a range that doesn't contain anything +should also not match anything, so wrap glob() to make it not match for all +Python versions in that case and adjust the tests accordingly. + +This should fix the Windows CI, which is currently the only job using 3.10.5 +--- + quodlibet/util/cover/built_in.py | 22 +++++++++++----------- + tests/test_util_cover.py | 12 +++--------- + 2 files changed, 14 insertions(+), 20 deletions(-) + +diff --git a/quodlibet/util/cover/built_in.py b/quodlibet/util/cover/built_in.py +index f2a8791a2..01474c9b6 100644 +--- a/quodlibet/util/cover/built_in.py ++++ b/quodlibet/util/cover/built_in.py +@@ -100,6 +100,15 @@ class FilesystemCover(CoverSourcePlugin): + base = self.song('~dirname') + images = [] + ++ def safe_glob(*args, **kwargs): ++ try: ++ return glob.glob(*args, **kwargs) ++ except sre_constants.error: ++ # https://github.com/python/cpython/issues/89973 ++ # old glob would fail with invalid ranges, newer one ++ # handles it correctly. ++ return [] ++ + if config.getboolean("albumart", "force_filename"): + score = 100 + for filename in config.get("albumart", "filename").split(","): +@@ -107,17 +116,8 @@ class FilesystemCover(CoverSourcePlugin): + filename = filename.strip() + + escaped_path = os.path.join(glob.escape(base), filename) +- try: +- for path in glob.glob(escaped_path): +- images.append((score, path)) +- except sre_constants.error: +- # Use literal filename if globbing causes errors +- path = os.path.join(base, filename) +- +- # We check this here, so we can search for alternative +- # files in case no preferred file was found. +- if os.path.isfile(path): +- images.append((score, path)) ++ for path in safe_glob(escaped_path): ++ images.append((score, path)) + + # So names and patterns at the start are preferred + score -= 1 +diff --git a/tests/test_util_cover.py b/tests/test_util_cover.py +index db81e4d1f..71a48ad9a 100644 +--- a/tests/test_util_cover.py ++++ b/tests/test_util_cover.py +@@ -105,15 +105,9 @@ class TCoverManager(TestCase): + config.set("albumart", "force_filename", str(True)) + config.set("albumart", "filename", "[a-2].jpg") + +- # Should match +- f = self.add_file("[a-2].jpg") +- assert path_equal( +- os.path.abspath(self._find_cover(self.song).name), f) +- +- # Should not crash +- f = self.add_file("test.jpg") +- assert not path_equal( +- os.path.abspath(self._find_cover(self.song).name), f) ++ # Invalid glob range, should not match anything ++ self.add_file("a.jpg") ++ assert self._find_cover(self.song) is None + + def test_invalid_glob_path(self): + config.set("albumart", "force_filename", str(True)) +-- +2.39.2 + diff --git a/gnu/packages/patches/quodlibet-fix-mtime-tests.patch b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch new file mode 100644 index 0000000000..037f77d868 --- /dev/null +++ b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch @@ -0,0 +1,39 @@ +From 06a32b319f065550efe0d2a9ff10ca6bdc32b893 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sat, 23 Jul 2022 20:15:18 +0200 +Subject: [PATCH] operon: hopefully better fix for flaky mtime tests + +copy the mtime after we write everything, so there is no chance of +it changing before we note the initial value. +--- + quodlibet/operon/commands.py | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/quodlibet/operon/commands.py b/quodlibet/operon/commands.py +index e0a5ef33a..af2dcfa8b 100644 +--- a/quodlibet/operon/commands.py ++++ b/quodlibet/operon/commands.py +@@ -227,16 +227,16 @@ class EditCommand(Command): + # write to tmp file + fd, path = tempfile.mkstemp(suffix=".txt") + +- # XXX: copy mtime here so we can test for changes in tests by +- # setting a out of date mtime on the source song file +- copy_mtime(args[0], path) +- + try: + try: + os.write(fd, dump) + finally: + os.close(fd) + ++ # XXX: copy mtime here so we can test for changes in tests by ++ # setting a out of date mtime on the source song file ++ copy_mtime(args[0], path) ++ + # only parse the result if the editor returns 0 and the mtime has + # changed + old_mtime = mtime(path) +-- +2.39.2 + |