diff options
Diffstat (limited to 'gnu/packages/patches')
25 files changed, 1218 insertions, 821 deletions
diff --git a/gnu/packages/patches/appstream-force-reload-stemmer.patch b/gnu/packages/patches/appstream-force-reload-stemmer.patch deleted file mode 100644 index a2cf84c8b1..0000000000 --- a/gnu/packages/patches/appstream-force-reload-stemmer.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 32182d7a7a67d0d204cd0a37bd211bfd0177bc27 Mon Sep 17 00:00:00 2001 -Message-ID: <32182d7a7a67d0d204cd0a37bd211bfd0177bc27.1700093066.git.vivien@planete-kraus.eu> -From: Matthias Klumpp <matthias@tenstral.net> -Date: Thu, 16 Nov 2023 00:59:15 +0100 -Subject: [PATCH] stemmer: Resolve potential issue where stemmer may never be - initialized - -If the initial locale was equal to the current stemming language, we may -never have initialized the stemmer (which could lead to crashes or -stemming being disabled). - -So we force the reload to always happen on initialization. -CC: #558 ---- - src/as-stemmer.c | 33 +++++++++++++++++++++------------ - 1 file changed, 21 insertions(+), 12 deletions(-) - -diff --git a/src/as-stemmer.c b/src/as-stemmer.c -index 63d45267..16ebd09b 100644 ---- a/src/as-stemmer.c -+++ b/src/as-stemmer.c -@@ -47,6 +47,8 @@ G_DEFINE_TYPE (AsStemmer, as_stemmer, G_TYPE_OBJECT) - - static gpointer as_stemmer_object = NULL; - -+static void as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force); -+ - /** - * as_stemmer_finalize: - **/ -@@ -76,21 +78,14 @@ as_stemmer_init (AsStemmer *stemmer) - - /* we don't use the locale in XML, so it can be POSIX */ - locale = as_get_current_locale_posix (); -- stemmer->current_lang = as_utils_locale_to_language (locale); - -- as_stemmer_reload (stemmer, stemmer->current_lang); -+ /* force a reload for initialization */ -+ as_stemmer_reload_internal (stemmer, locale, TRUE); - #endif - } - --/** -- * as_stemmer_reload: -- * @stemmer: A #AsStemmer -- * @locale: The stemming language as POSIX locale. -- * -- * Allows realoading the #AsStemmer with a different language. -- */ --void --as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) -+static void -+as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force) - { - #ifdef HAVE_STEMMING - g_autofree gchar *lang = NULL; -@@ -99,7 +94,7 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) - /* check if we need to reload */ - lang = as_utils_locale_to_language (locale); - locker = g_mutex_locker_new (&stemmer->mutex); -- if (as_str_equal0 (lang, stemmer->current_lang)) { -+ if (!force && as_str_equal0 (lang, stemmer->current_lang)) { - g_mutex_locker_free (locker); - return; - } -@@ -119,6 +114,20 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) - #endif - } - -+/** -+ * as_stemmer_reload: -+ * @stemmer: A #AsStemmer -+ * @locale: The stemming language as POSIX locale. -+ * -+ * Allows realoading the #AsStemmer with a different language. -+ * Does nothing if the stemmer is already using the selected language. -+ */ -+void -+as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) -+{ -+ as_stemmer_reload_internal (stemmer, locale, FALSE); -+} -+ - /** - * as_stemmer_stem: - * @stemmer: A #AsStemmer --- -2.41.0 - diff --git a/gnu/packages/patches/ark-skip-xar-test.patch b/gnu/packages/patches/ark-skip-xar-test.patch index 525201997b..be891ad139 100644 --- a/gnu/packages/patches/ark-skip-xar-test.patch +++ b/gnu/packages/patches/ark-skip-xar-test.patch @@ -1,44 +1,36 @@ Guix libarchive no support xar. ---- ark-20.04.1.orig/autotests/kerfuffle/loadtest.cpp 2020-12-23 08:46:15.780782601 +0800 -+++ ark-20.04.1/autotests/kerfuffle/loadtest.cpp 2020-12-23 11:13:17.101724042 +0800 -@@ -181,13 +181,6 @@ +--- ark-24.05.2.orig/autotests/kerfuffle/loadtest.cpp 2024-07-08 11:19:30.347366493 +0800 ++++ ark-24.05.2/autotests/kerfuffle/loadtest.cpp 2024-07-08 11:19:47.495641516 +0800 +@@ -125,8 +125,6 @@ qDebug() << "lz4 executable not found in path. Skipping lz4 test."; } -- QTest::newRow("xar archive") -- << QFINDTESTDATA("data/simplearchive.xar") -- << QStringLiteral("simplearchive") -- << true << false << false << false << false << 0 << Archive::Unencrypted -- << QStringLiteral("simplearchive") -- << QString(); -- - QTest::newRow("mimetype child of application/zip") - << QFINDTESTDATA("data/test.odt") - << QStringLiteral("test") ---- ark-20.04.1.orig/autotests/kerfuffle/extracttest.cpp 2020-12-23 08:46:15.780782601 +0800 -+++ ark-20.04.1/autotests/kerfuffle/extracttest.cpp 2020-12-23 11:14:02.801809620 +0800 -@@ -350,23 +350,6 @@ +- QTest::newRow("xar archive") << QFINDTESTDATA("data/simplearchive.xar") << QStringLiteral("simplearchive") << true << false << false << false << false << 0 +- << Archive::Unencrypted << 6 << QStringLiteral("simplearchive") << QString(); + + QTest::newRow("mimetype child of application/zip") << QFINDTESTDATA("data/test.odt") << QStringLiteral("test") << false << true << false << false << false + << 0 << Archive::Unencrypted << 17 << QStringLiteral("test") << QString(); + + +--- ark-24.05.2.orig/autotests/kerfuffle/extracttest.cpp 2024-07-08 11:21:25.849219202 +0800 ++++ ark-24.05.2/autotests/kerfuffle/extracttest.cpp 2024-07-08 11:22:01.413789814 +0800 +@@ -329,18 +329,5 @@ qDebug() << "lz4 executable not found in path. Skipping lz4 test."; } - archivePath = QFINDTESTDATA("data/simplearchive.xar"); -- QTest::newRow("extract selected entries from a xar archive without path") -- << archivePath -- << QVector<Archive::Entry*> { -- new Archive::Entry(this, QStringLiteral("dir1/file11.txt"), QString()), -- new Archive::Entry(this, QStringLiteral("file4.txt"), QString()) -- } -- << optionsNoPaths -- << 2; +- setupRow("extract selected entries from a xar archive without path", +- archivePath, +- QList<Archive::Entry *>{ +- new Archive::Entry(this, QStringLiteral("dir1/file11.txt"), QString()), +- new Archive::Entry(this, QStringLiteral("file4.txt"), QString()), +- }, +- optionsNoPaths, +- 2); - - archivePath = QFINDTESTDATA("data/simplearchive.xar"); -- QTest::newRow("extract all entries from a xar archive with path") -- << archivePath -- << QVector<Archive::Entry*>() -- << optionsPreservePaths -- << 6; +- setupRow("extract all entries from a xar archive with path", archivePath, QList<Archive::Entry *>(), optionsPreservePaths, 6); - archivePath = QFINDTESTDATA("data/hello-1.0-x86_64.AppImage"); - QTest::newRow("extract all entries from an AppImage with path") - << archivePath + setupRow("extract all entries from an AppImage with path", archivePath, QList<Archive::Entry *>(), optionsPreservePaths, 7); diff --git a/gnu/packages/patches/capstone-fix-python-constants.patch b/gnu/packages/patches/capstone-fix-python-constants.patch new file mode 100644 index 0000000000..75100c6652 --- /dev/null +++ b/gnu/packages/patches/capstone-fix-python-constants.patch @@ -0,0 +1,84 @@ +Backport upstream patch fixing various constants in the Python bindings. + +Taken from: https://github.com/capstone-engine/capstone/commit/f180e176de3efb060db62820ff981d0291ea8525 + +diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py +index bda2fdb6..52353c28 100755 +--- a/bindings/python/capstone/__init__.py ++++ b/bindings/python/capstone/__init__.py +@@ -113,7 +113,6 @@ __all__ = [ + 'CS_OPT_SYNTAX_NOREGNAME', + 'CS_OPT_SYNTAX_MASM', + 'CS_OPT_SYNTAX_MOTOROLA', +- 'CS_OPT_SYNTAX_CS_REG_ALIAS', + + 'CS_OPT_DETAIL', + 'CS_OPT_MODE', +@@ -152,19 +151,6 @@ __all__ = [ + 'CS_OP_REG', + 'CS_OP_IMM', + 'CS_OP_FP', +- 'CS_OP_PRED', +- 'CS_OP_RESERVED_5', +- 'CS_OP_RESERVED_6', +- 'CS_OP_RESERVED_7', +- 'CS_OP_RESERVED_8', +- 'CS_OP_RESERVED_9', +- 'CS_OP_RESERVED_10', +- 'CS_OP_RESERVED_11', +- 'CS_OP_RESERVED_12', +- 'CS_OP_RESERVED_13', +- 'CS_OP_RESERVED_14', +- 'CS_OP_RESERVED_15', +- 'CS_OP_SPECIAL', + 'CS_OP_MEM', + + 'CS_GRP_INVALID', +@@ -298,26 +284,13 @@ CS_OPT_NO_BRANCH_OFFSET = 9 # ARM, prints branch immediates without offset. + + # Capstone option value + CS_OPT_OFF = 0 # Turn OFF an option - default option of CS_OPT_DETAIL +-CS_OPT_ON = 1 << 0 # Turn ON an option (CS_OPT_DETAIL) ++CS_OPT_ON = 3 # Turn ON an option (CS_OPT_DETAIL) + + # Common instruction operand types - to be consistent across all architectures. + CS_OP_INVALID = 0 # uninitialized/invalid operand. + CS_OP_REG = 1 # Register operand. + CS_OP_IMM = 2 # Immediate operand. + CS_OP_FP = 3 # Floating-Point operand. +-CS_OP_PRED = 4 # Predicate operand. +-CS_OP_RESERVED_5 = 5 +-CS_OP_RESERVED_6 = 6 +-CS_OP_RESERVED_7 = 7 +-CS_OP_RESERVED_8 = 8 +-CS_OP_RESERVED_9 = 9 +-CS_OP_RESERVED_10 = 10 +-CS_OP_RESERVED_11 = 11 +-CS_OP_RESERVED_12 = 12 +-CS_OP_RESERVED_13 = 13 +-CS_OP_RESERVED_14 = 14 +-CS_OP_RESERVED_15 = 15 +-CS_OP_SPECIAL = 0x10 # Special operands from archs + CS_OP_MEM = 0x80 # Memory operand. Can be ORed with another operand type. + + # Common instruction groups - to be consistent across all architectures. +@@ -336,13 +309,12 @@ CS_AC_READ = (1 << 0) # Operand that is read from. + CS_AC_WRITE = (1 << 1) # Operand that is written to. + + # Capstone syntax value +-CS_OPT_SYNTAX_DEFAULT = 1 << 1 # Default assembly syntax of all platforms (CS_OPT_SYNTAX) +-CS_OPT_SYNTAX_INTEL = 1 << 2 # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86) +-CS_OPT_SYNTAX_ATT = 1 << 3 # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86) +-CS_OPT_SYNTAX_NOREGNAME = 1 << 4 # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM) +-CS_OPT_SYNTAX_MASM = 1 << 5 # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86) +-CS_OPT_SYNTAX_MOTOROLA = 1 << 6 # MOS65XX use $ as hex prefix +-CS_OPT_SYNTAX_CS_REG_ALIAS = 1 << 7 # Prints common register alias which are not defined in LLVM (ARM: r9 = sb etc.) ++CS_OPT_SYNTAX_DEFAULT = 0 # Default assembly syntax of all platforms (CS_OPT_SYNTAX) ++CS_OPT_SYNTAX_INTEL = 1 # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86) ++CS_OPT_SYNTAX_ATT = 2 # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86) ++CS_OPT_SYNTAX_NOREGNAME = 3 # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM) ++CS_OPT_SYNTAX_MASM = 4 # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86) ++CS_OPT_SYNTAX_MOTOROLA = 5 # MOS65XX use $ as hex prefix + + # Capstone error type + CS_ERR_OK = 0 # No error: everything was fine diff --git a/gnu/packages/patches/chez-scheme-backport-signal.patch b/gnu/packages/patches/chez-scheme-backport-signal.patch new file mode 100644 index 0000000000..1fee32b167 --- /dev/null +++ b/gnu/packages/patches/chez-scheme-backport-signal.patch @@ -0,0 +1,87 @@ +From e416651d8b53fa2eca6edde764a9131d128cd166 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt <mflatt@racket-lang.org> +Date: Sat, 2 Mar 2024 07:18:41 -0700 +Subject: [PATCH] constrain signal delivery to Scheme to the main thread (#813) + +The intent is to avoid crashes when a signal gets delimited to a +thread that might not even be a Scheme thread. Also, we don't try to +queue the event directly in the main thread's context, because then +we'd need more of a lock (while signal handling is otherwise an +implicit lock). + +(cherry picked from commit fc081fc447a786dd53286e5d7314b7217631cb68) +--- + +Notes: + This should fix intermittent test failures experienced by Guix: + see <https://github.com/cisco/ChezScheme/issues/809>. + + c/globals.h | 1 + + c/schsig.c | 10 ++++++++++ + c/thread.c | 1 + + csug/system.stex | 2 ++ + 4 files changed, 14 insertions(+) + +diff --git a/c/globals.h b/c/globals.h +index d2a08299..eb2965c5 100644 +--- a/c/globals.h ++++ b/c/globals.h +@@ -49,6 +49,7 @@ EXTERN int S_num_preserve_ownership_threads; + # ifdef IMPLICIT_ATOMIC_AS_EXPLICIT + EXTERN s_thread_mutex_t S_implicit_mutex; + # endif ++EXTERN s_thread_t S_main_thread_id; + #endif + + /* segment.c */ +diff --git a/c/schsig.c b/c/schsig.c +index a89ab62a..04677730 100644 +--- a/c/schsig.c ++++ b/c/schsig.c +@@ -666,6 +666,16 @@ ptr S_dequeue_scheme_signals(ptr tc) { + static void forward_signal_to_scheme(INT sig) { + ptr tc = get_thread_context(); + ++#ifdef PTHREADS ++ /* deliver signals to the main thread, only; depending ++ on the threads that are running, `tc` might even be NULL */ ++ if (tc != TO_PTR(&S_G.thread_context)) { ++ pthread_kill(S_main_thread_id, sig); ++ RESET_SIGNAL ++ return; ++ } ++#endif ++ + if (enqueue_scheme_signal(tc, sig)) { + SIGNALINTERRUPTPENDING(tc) = Strue; + SOMETHINGPENDING(tc) = Strue; +diff --git a/c/thread.c b/c/thread.c +index 9a341b22..f130f44d 100644 +--- a/c/thread.c ++++ b/c/thread.c +@@ -40,6 +40,7 @@ void S_thread_init(void) { + s_thread_cond_init(&S_terminated_cond); + S_alloc_mutex.owner = 0; + S_alloc_mutex.count = 0; ++ S_main_thread_id = s_thread_self(); + + # ifdef IMPLICIT_ATOMIC_AS_EXPLICIT + s_thread_mutex_init(&S_implicit_mutex); +diff --git a/csug/system.stex b/csug/system.stex +index d4f2bcbb..bb89f419 100644 +--- a/csug/system.stex ++++ b/csug/system.stex +@@ -547,6 +547,8 @@ After a signal handler for a given signal has been registered, receipt + of the specified signal results in a call to the handler. + The handler is passed the signal number, allowing the same handler to + be used for different signals while differentiating among them. ++In a threaded version of the system, signals are always delivered to ++the main thread. + + Signals handled in this fashion are treated like keyboard interrupts in + that the handler is not called immediately when the signal is delivered + +base-commit: 253230f7dfbb4fe777277d6bbf93f39f9567f086 +-- +2.41.0 + diff --git a/gnu/packages/patches/clasp-hide-event-ids.patch b/gnu/packages/patches/clasp-hide-event-ids.patch new file mode 100644 index 0000000000..9587f9ff3f --- /dev/null +++ b/gnu/packages/patches/clasp-hide-event-ids.patch @@ -0,0 +1,41 @@ +From a4c4e4f3c410834c3e56f644841f5bcbb084225c Mon Sep 17 00:00:00 2001 +From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> +Date: Fri, 28 Jun 2024 11:15:16 +0200 +Subject: [PATCH] clasp: Hide Event_t<T>::id_s. + +This patch helps build clingo with non-local clasp while keeping the +event system working as intended. +--- + clasp/util/misc_types.h | 2 ++ + src/CMakeLists.txt | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/clasp/util/misc_types.h b/clasp/util/misc_types.h +index 3677873..09c2075 100644 +--- a/clasp/util/misc_types.h ++++ b/clasp/util/misc_types.h +@@ -432,7 +432,9 @@ struct Event_t : Event { + Event_t(Subsystem sys, Verbosity verb) : Event(sys, id_s, verb) {} + static const uint32 id_s; + }; ++#if _BUILDING_CLASP_ + template <class T> const uint32 Event_t<T>::id_s = Event::nextId(); ++#endif + + template <class ToType, class EvType> const ToType* event_cast(const EvType& ev) { return ev.id == ToType::id_s ? static_cast<const ToType*>(&ev) : 0; } + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 8439d12..4f55990 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -123,6 +123,7 @@ source_group("${ide_header}\\mt" FILES ${header_mt}) + endif() + + add_library(libclasp ${header} ${header_util} ${header_cli} ${header_mt} ${src}) ++target_compile_definitions(libclasp PRIVATE _BUILDING_CLASP_) + if (CLASP_BUILD_WITH_THREADS) + target_link_libraries(libclasp PUBLIC Threads::Threads) + target_compile_options(libclasp PRIVATE +-- +2.45.1 + diff --git a/gnu/packages/patches/freeimage-libraw-0.21-compat.patch b/gnu/packages/patches/freeimage-libraw-0.21-compat.patch new file mode 100644 index 0000000000..b7eb7a4035 --- /dev/null +++ b/gnu/packages/patches/freeimage-libraw-0.21-compat.patch @@ -0,0 +1,15 @@ +from https://gitlab.archlinux.org/archlinux/packaging/packages/freeimage/-/blob/69548d01896b32f30937a71220a9133055d84705/freeimage-libraw-0.21.patch + +diff -ru FreeImage.orig/Source/FreeImage/PluginRAW.cpp FreeImage/Source/FreeImage/PluginRAW.cpp +--- FreeImage.orig/Source/FreeImage/PluginRAW.cpp 2022-12-18 21:57:11.447801357 +0100 ++++ FreeImage/Source/FreeImage/PluginRAW.cpp 2022-12-18 21:58:05.103433138 +0100 +@@ -687,7 +687,7 @@ + // -------------------------------------------- + + // (-s [0..N-1]) Select one raw image from input file +- RawProcessor->imgdata.params.shot_select = 0; ++ RawProcessor->imgdata.rawparams.shot_select = 0; + // (-w) Use camera white balance, if possible (otherwise, fallback to auto_wb) + RawProcessor->imgdata.params.use_camera_wb = 1; + // (-M) Use any color matrix from the camera metadata. This option only affects Olympus, Leaf, and Phase One cameras. + diff --git a/gnu/packages/patches/ghc-unique-support-newer-hashable.patch b/gnu/packages/patches/ghc-unique-support-newer-hashable.patch new file mode 100644 index 0000000000..279a00716d --- /dev/null +++ b/gnu/packages/patches/ghc-unique-support-newer-hashable.patch @@ -0,0 +1,110 @@ +From b5e9f017bab8fad05cac47f2ac75841dc37c7f34 Mon Sep 17 00:00:00 2001 +From: Yura Lazarev <Unisay@users.noreply.github.com> +Date: Wed, 14 Sep 2022 07:04:41 +0000 +Subject: [PATCH] Support hashable >=^ 1.4, improve unit tests. + +--- + Unique.cabal | 2 +- + tests/UniqueStrict/RepeatedBy.hs | 4 ++-- + tests/UniqueUnsorted/RemoveDuplicates.hs | 6 +++--- + tests/UniqueUnsorted/RepeatedBy.hs | 8 ++++---- + 4 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/Unique.cabal b/Unique.cabal +index 1c03188..45dbbed 100644 +--- a/Unique.cabal ++++ b/Unique.cabal +@@ -29,7 +29,7 @@ library + base >=4.0 && < 5, + containers >=0.5.0.0 && <=0.7, + extra >=1.6.2 && <=1.8, +- hashable >= 1.2.6 && <=1.4, ++ hashable >= 1.2.6 && < 1.5, + unordered-containers >= 0.2.8 && <=0.3 + + test-suite HspecTest +diff --git a/tests/UniqueStrict/RepeatedBy.hs b/tests/UniqueStrict/RepeatedBy.hs +index 11eb180..04d8706 100644 +--- a/tests/UniqueStrict/RepeatedBy.hs ++++ b/tests/UniqueStrict/RepeatedBy.hs +@@ -15,7 +15,7 @@ repeatedByTests = + repeatedBy (>100) ( [] :: [Int] ) `shouldBe` [] + + it "repeatedBy: simple test" $ do +- repeatedBy (>2) "This is the test line" `shouldBe` " eist" ++ sort (repeatedBy (>2) "This is the test line") `shouldBe` " eist" + + it "repeatedBy: returns [] when predicate (=< negative) " $ + property $ +@@ -39,7 +39,7 @@ repeatedByTests = + it "repeatedBy: resulted elements should occur only once" $ + property $ + \ x xs -> x > 0 +- ==> all (==1) . map length . group $ repeatedBy (> x) ( xs :: String ) ++ ==> all ((==1) . length) . group $ repeatedBy (> x) ( xs :: String ) + + it "unique: simple test" $ do + unique "foo bar" `shouldBe` " abfr" +diff --git a/tests/UniqueUnsorted/RemoveDuplicates.hs b/tests/UniqueUnsorted/RemoveDuplicates.hs +index 19b4e5f..93861c5 100644 +--- a/tests/UniqueUnsorted/RemoveDuplicates.hs ++++ b/tests/UniqueUnsorted/RemoveDuplicates.hs +@@ -4,7 +4,7 @@ import Test.Hspec + import Test.QuickCheck + + import Data.List.UniqueUnsorted +-import Data.List (group) ++import Data.List (group, sort) + + + removeDuplicatesTests :: SpecWith () +@@ -15,7 +15,7 @@ removeDuplicatesTests = + removeDuplicates ( [] :: [Int] ) `shouldBe` [] + + it "removeDuplicates: simple test" $ do +- removeDuplicates "foo bar" `shouldBe` " abrfo" ++ sort (removeDuplicates "foo bar") `shouldBe` " abfor" + + it "removeDuplicates: multiple execution should return the same result" $ + property $ +@@ -27,4 +27,4 @@ removeDuplicatesTests = + + it "removeDuplicates: elements should occur only once #2" $ + property $ +- \ xs -> all (==1) . map length . group $ removeDuplicates ( xs :: [Integer] ) ++ \ xs -> all ((==1) . length) . group $ removeDuplicates ( xs :: [Integer] ) +diff --git a/tests/UniqueUnsorted/RepeatedBy.hs b/tests/UniqueUnsorted/RepeatedBy.hs +index 54e3930..5550489 100644 +--- a/tests/UniqueUnsorted/RepeatedBy.hs ++++ b/tests/UniqueUnsorted/RepeatedBy.hs +@@ -4,7 +4,7 @@ import Test.Hspec + import Test.QuickCheck + + import Data.List.UniqueUnsorted +-import Data.List (group) ++import Data.List (group, sort) + + + repeatedByTests :: SpecWith () +@@ -15,7 +15,7 @@ repeatedByTests = + repeatedBy (>100) ( [] :: [Int] ) `shouldBe` [] + + it "repeatedBy: simple test" $ do +- repeatedBy (>2) "This is the test line" `shouldBe` " stei" ++ sort (repeatedBy (>2) "This is the test line") `shouldBe` " eist" + + it "repeatedBy: returns [] when predicate (=< negative) " $ + property $ +@@ -29,10 +29,10 @@ repeatedByTests = + it "repeatedBy: resulted elements should occur only once" $ + property $ + \ x xs -> x > 0 +- ==> all (==1) . map length . group $ repeatedBy (> x) ( xs :: String ) ++ ==> all ((==1) . length) . group $ repeatedBy (> x) ( xs :: String ) + + it "unique: simple test" $ do +- unique "foo bar" `shouldBe` " abrf" ++ sort (unique "foo bar") `shouldBe` " abfr" + + it "repeated: simple test" $ do + repeated "foo bar" `shouldBe` "o" diff --git a/gnu/packages/patches/gwenview-kimageannotator.patch b/gnu/packages/patches/gwenview-kimageannotator.patch deleted file mode 100644 index 92b994a0b5..0000000000 --- a/gnu/packages/patches/gwenview-kimageannotator.patch +++ /dev/null @@ -1,29 +0,0 @@ -Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org> -Date: 2024-02-26 -Initial Package Version: 23.08.5 -Upstream Status: Rejected (Qt6 port is primary now) -Origin: Self -Description: Fixes building Gwenview with recent kImageAnnotator - and kColorPicker versions by adjusting their paths - and FOUND variables so that the correct libraries are - selected. - ---- gwenview-23.08.5.orig/CMakeLists.txt 2024-02-26 15:02:29.702754535 -0600 -+++ gwenview-23.08.5/CMakeLists.txt 2024-02-26 15:09:48.012866877 -0600 -@@ -166,11 +166,11 @@ if(NOT WITHOUT_X11) - endif() - - if (QT_MAJOR_VERSION STREQUAL "5") -- find_package(kImageAnnotator) -- set_package_properties(kImageAnnotator PROPERTIES URL "https://github.com/ksnip/kImageAnnotator" DESCRIPTION "The kImageAnnotator library provides tools to annotate" TYPE REQUIRED) -- if(kImageAnnotator_FOUND) -- set(KIMAGEANNOTATOR_FOUND 1) -- find_package(kColorPicker REQUIRED) -+ find_package(kImageAnnotator-Qt5) -+ set_package_properties(kImageAnnotator-Qt5 PROPERTIES URL "https://github.com/ksnip/kImageAnnotator" DESCRIPTION "The kImageAnnotator library provides tools to annotate" TYPE REQUIRED) -+ if(kImageAnnotator-Qt5_FOUND) -+ set(kImageAnnotator_FOUND 1) -+ find_package(kColorPicker-Qt5 REQUIRED) - if(NOT kImageAnnotator_VERSION VERSION_LESS 0.5.0) - set(KIMAGEANNOTATOR_CAN_LOAD_TRANSLATIONS 1) - endif() diff --git a/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch index cdfb608d9b..11116fe51a 100644 --- a/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch +++ b/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch @@ -16,8 +16,8 @@ index be2a6fc..b13befb 100644 @@ -1,3 +1,3 @@ add_executable(BarsSimple main.cpp) --target_link_libraries(BarsSimple KChart Qt5::Widgets) -+target_link_libraries(BarsSimple KChart Qt5::Widgets Qt5::Svg) +-target_link_libraries(BarsSimple KChart6 Qt::Widgets) ++target_link_libraries(BarsSimple KChart6 Qt::Widgets Qt::Svg) -- 2.21.1 diff --git a/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch b/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch index 8f67553138..6256ff24e3 100644 --- a/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch +++ b/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch @@ -14,12 +14,11 @@ new file mode 100644 index 0000000..726065d --- /dev/null +++ b/src/guix_utils.h -@@ -0,0 +1,24 @@ +@@ -0,0 +1,23 @@ +#ifndef GUIX_UTILS_H +#define GUIX_UTILS_H + +// kwin -+#include <kwinglobals.h> + +namespace KWin +{ diff --git a/gnu/packages/patches/libksysguard-qdiriterator-follow-symlinks.patch b/gnu/packages/patches/libksysguard-qdiriterator-follow-symlinks.patch deleted file mode 100644 index ec4a34037d..0000000000 --- a/gnu/packages/patches/libksysguard-qdiriterator-follow-symlinks.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 46164a50de4102d02ae9d1d480acdd4b12303db8 Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel <ttuegel@gmail.com> -Date: Wed, 14 Oct 2015 07:07:22 -0500 -Subject: [PATCH] qdiriterator follow symlinks - ---- - processui/scripting.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/processui/scripting.cpp b/processui/scripting.cpp -index efed8ff..841761a 100644 ---- a/processui/scripting.cpp -+++ b/processui/scripting.cpp -@@ -293,7 +293,7 @@ void Scripting::loadContextMenu() - const QStringList dirs = - QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("ksysguard/scripts/"), QStandardPaths::LocateDirectory); - for (const QString &dir : dirs) { -- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories); -+ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); - while (it.hasNext()) { - scripts.append(it.next()); - } --- -2.5.2 diff --git a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch deleted file mode 100644 index 036cf79f91..0000000000 --- a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch +++ /dev/null @@ -1,65 +0,0 @@ -This patch includes - - * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 - * mingw-w64-headers/crt/math.h: Likewise - * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add - symbols. - * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): - Add symbols. - (lstat): Add function. - * mingw-w64-headers/crt/_mingw_stat64.h: Likewise - * mingw-w64-headers/crt/stdlib.h (realpath): Add function. - -Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. - -Upstream status: not yet presented upstream. - -diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h -index 5874f4e..bdf4ead 100644 ---- a/mingw-w64-headers/crt/float.h -+++ b/mingw-w64-headers/crt/float.h -@@ -22,6 +22,15 @@ - #if (__GNUC__ < 4) - #error Corrupt install of gcc-s internal headers, or search order was changed. - #else -+ -+ /* From gcc-4.9.3 float.h. */ -+ #undef FLT_EPSILON -+ #undef DBL_EPSILON -+ #undef LDBL_EPSILON -+ #define FLT_EPSILON __FLT_EPSILON__ -+ #define DBL_EPSILON __DBL_EPSILON__ -+ #define LDBL_EPSILON __LDBL_EPSILON__ -+ - /* #include_next <float_ginclude.h> */ - - /* Number of decimal digits, q, such that any floating-point number with q -diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h -index 1e970f4..99a332f 100644 ---- a/mingw-w64-headers/crt/math.h -+++ b/mingw-w64-headers/crt/math.h -@@ -216,6 +216,7 @@ extern "C" { - #endif - } - -+#if 0 - __CRT_INLINE long double __cdecl fabsl (long double x) - { - #ifdef __arm__ -@@ -226,6 +227,7 @@ extern "C" { - return res; - #endif - } -+#endif - - __CRT_INLINE double __cdecl fabs (double x) - { -@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ - /* 7.12.7.3 */ - extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ - extern float __cdecl hypotf (float x, float y); --#ifndef __CRT__NO_INLINE -+#if 0 //ndef __CRT__NO_INLINE - __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} - #endif - extern long double __cdecl hypotl (long double, long double); diff --git a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch deleted file mode 100644 index 432cafc162..0000000000 --- a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch +++ /dev/null @@ -1,26 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -mingw-w64 repo located here: -https://salsa.debian.org/mingw-w64-team/mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show 4974e2c:debian/patches/dlltool-temp-prefix.patch - -Description: Specify dlltool's temp prefix -Author: Stephen Kitt <steve@sk2.org> - -By default dlltool uses its pid for the object files it generates. -Enforcing its temp prefix allows the files it generates to be -reproducible. - ---- a/mingw-w64-crt/Makefile.am -+++ b/mingw-w64-crt/Makefile.am -@@ -36,7 +36,7 @@ - DTDEF32=$(GENLIB) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS) - DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) - else -- AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ -+ AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ --temp-prefix $$(basename $@ .a) - DLLTOOLFLAGSARM32=-m arm - DLLTOOLFLAGSARM64=-m arm64 - DLLTOOLFLAGS32=--as-flags=--32 -m i386 diff --git a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch deleted file mode 100644 index 8dbea54ce9..0000000000 --- a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch +++ /dev/null @@ -1,33 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -mingw-w64 repo located here: -https://salsa.debian.org/mingw-w64-team/mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show 9a33f50:debian/patches/reproducible-build.patch - -Description: Drop __DATE__ from gendef and genlib -Author: Stephen Kitt <skitt@debian.org> - -This allows gendef and genlib to be built reproducibly. - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -196,7 +196,6 @@ - " By default, the output files are named after their DLL counterparts\n" - " gendef MYDLL.DLL Produces MYDLL.def\n" - " gendef - MYDLL.DLL Prints the exports to stdout\n"); -- fprintf (stderr, "\nBuilt on %s\n", __DATE__); - fprintf (stderr, "\nReport bugs to <mingw-w64-public@lists.sourceforge.net>\n"); - exit (0); - } ---- a/mingw-w64-tools/genlib/src/genlib.c -+++ b/mingw-w64-tools/genlib/src/genlib.c -@@ -123,7 +123,6 @@ - "Usage example:\n" - " By default, the output file is named after the DLL counterpart\n" - " genlib mydef.def Produces libmydll.a\n" --"\nBuilt on " __DATE__ "\n" - "\nReport bugs to <martellmalone@gmail.com>\n" - ; - diff --git a/gnu/packages/patches/python-angr-addition-type-error.patch b/gnu/packages/patches/python-angr-addition-type-error.patch new file mode 100644 index 0000000000..7301d8b505 --- /dev/null +++ b/gnu/packages/patches/python-angr-addition-type-error.patch @@ -0,0 +1,18 @@ +This fixes failures of the test_ln_gcc_O2 and other related tests +in the angr test suite. The patch has been proposed upstream. + +Taken form: https://github.com/angr/angr/pull/4443 + +diff --git a/angr/analyses/reassembler.py b/angr/analyses/reassembler.py +index 7a2399a60..b09b3a8cb 100644 +--- a/angr/analyses/reassembler.py ++++ b/angr/analyses/reassembler.py +@@ -730,7 +730,7 @@ class Instruction: + elif operand.type == capstone.CS_OP_MEM: + operand_offsets.append(capstone_instr.disp_offset) + else: +- operand_offsets.append(None) ++ operand_offsets.append(0) + + if self.addr is not None: + self._initialize(capstone_instr.operands, operand_offsets) diff --git a/gnu/packages/patches/python-angr-check-exec-deps.patch b/gnu/packages/patches/python-angr-check-exec-deps.patch new file mode 100644 index 0000000000..438f8ef183 --- /dev/null +++ b/gnu/packages/patches/python-angr-check-exec-deps.patch @@ -0,0 +1,93 @@ +The angr test suite performs analysis on several pre-compiled binaries +to ensure its binary analysis capabilities are working as intended. +Some of these binaries are also executed as part of the test suite to +test if the simulation engine provided by angr results in the same +output as native execution of the binary. + +For Guix, this files as the glibc shared objects cannot be found. +Additionally, we don't really want to execute pre-compiled binaries +on Guix, hence we disable those tests. + +diff --git a/tests/test_ctype_locale.py b/tests/test_ctype_locale.py +index 08cb89836..2b9233558 100644 +--- a/tests/test_ctype_locale.py ++++ b/tests/test_ctype_locale.py +@@ -14,7 +14,7 @@ test_location = os.path.dirname(os.path.abspath(__file__)) + + + class TestCtypeLocale(unittest.TestCase): +- @skip_if_not_linux ++ @unittest.skip("test executes pre-compiled binaries") + def test_ctype_b_loc(self): + """ + test_ctype_locale.test_ctype_b_loc +@@ -60,7 +60,7 @@ class TestCtypeLocale(unittest.TestCase): + output = subprocess.check_output(bin_path, shell=True) + assert result == output + +- @skip_if_not_linux ++ @unittest.skip("test executes pre-compiled binaries") + def test_ctype_tolower_loc(self): + """ + test_ctype_locale.test_ctype_tolower_loc +@@ -109,7 +109,7 @@ class TestCtypeLocale(unittest.TestCase): + output = subprocess.check_output(bin_path, shell=True) + assert result == output + +- @skip_if_not_linux ++ @unittest.skip("test executes pre-compiled binaries") + def test_ctype_toupper_loc(self): + """ + test_ctype_locale.test_ctype_toupper_loc +diff --git a/tests/test_signed_div.py b/tests/test_signed_div.py +index 59cb9b8d1..994ed9c65 100644 +--- a/tests/test_signed_div.py ++++ b/tests/test_signed_div.py +@@ -1,6 +1,7 @@ + import angr + import subprocess + import sys ++import pytest + + import logging + +@@ -13,7 +14,7 @@ import os + test_location = os.path.dirname(os.path.realpath(__file__)) + + +-@skipUnless(sys.platform.startswith("linux"), "linux only") ++@pytest.mark.skip(reason="test executes pre-compiled binaries") + def test_signed_div(): + test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "test_signed_div") + b = angr.Project(test_bin, auto_load_libs=False) +diff --git a/tests/test_sscanf.py b/tests/test_sscanf.py +index 29d2c8403..ea799b310 100644 +--- a/tests/test_sscanf.py ++++ b/tests/test_sscanf.py +@@ -1,3 +1,4 @@ ++import pytest + import angr + import subprocess + import sys +@@ -14,7 +15,7 @@ test_location = os.path.dirname(os.path.realpath(__file__)) + + + class TestSscanf(unittest.TestCase): +- @unittest.skipUnless(sys.platform.startswith("linux"), "linux only") ++ @unittest.skip("test executes pre-compiled binaries") + def test_sscanf(self): + test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "sscanf_test") + b = angr.Project(test_bin, auto_load_libs=False) +diff --git a/tests/test_strtol.py b/tests/test_strtol.py +index 6c29cab22..f36181407 100644 +--- a/tests/test_strtol.py ++++ b/tests/test_strtol.py +@@ -11,7 +11,7 @@ class TestStrtol(unittest.TestCase): + # pylint: disable=no-self-use + + @slow_test +- @unittest.skipUnless(sys.platform.startswith("linux"), "linux-only") ++ @unittest.skip("test executes pre-compiled binaries") + def test_strtol(self, threads=None): + test_bin = os.path.join(bin_location, "tests", "x86_64", "strtol_test") + # disabling auto_load_libs increases the execution time of the test case. diff --git a/gnu/packages/patches/python-pysmt-fix-pow-return-type.patch b/gnu/packages/patches/python-pysmt-fix-pow-return-type.patch new file mode 100644 index 0000000000..0ec2d41b3c --- /dev/null +++ b/gnu/packages/patches/python-pysmt-fix-pow-return-type.patch @@ -0,0 +1,258 @@ +Backport of an upstream patch which fixes a test failure with our +packaged version of the Z3 SMT solver. + +Taken from: https://github.com/pysmt/pysmt/commit/f522e8cd8f3e75ff85f5eae29b427e18a6701859 + +diff --git a/pysmt/formula.py b/pysmt/formula.py +index ea4b46c..6cb9cbf 100644 +--- a/pysmt/formula.py ++++ b/pysmt/formula.py +@@ -252,11 +252,7 @@ class FormulaManager(object): + + if base.is_constant(): + val = base.constant_value() ** exponent.constant_value() +- if base.is_constant(types.REAL): +- return self.Real(val) +- else: +- assert base.is_constant(types.INT) +- return self.Int(val) ++ return self.Real(val) + return self.create_node(node_type=op.POW, args=(base, exponent)) + + def Div(self, left, right): +diff --git a/pysmt/logics.py b/pysmt/logics.py +index ef88dd6..9dc45b1 100644 +--- a/pysmt/logics.py ++++ b/pysmt/logics.py +@@ -495,6 +495,12 @@ QF_NRA = Logic(name="QF_NRA", + real_arithmetic=True, + linear=False) + ++QF_NIRA = Logic(name="QF_NIRA", ++ description="""Quantifier-free integer and real arithmetic.""", ++ quantifier_free=True, ++ integer_arithmetic=True, ++ real_arithmetic=True, ++ linear=False) + + QF_RDL = Logic(name="QF_RDL", + description=\ +@@ -619,41 +625,41 @@ QF_AUFBVLIRA = Logic(name="QF_AUFBVLIRA", + AUTO = Logic(name="Auto", + description="Special logic used to indicate that the logic to be used depends on the formula.") + +-SMTLIB2_LOGICS = frozenset([ AUFLIA, +- AUFLIRA, +- AUFNIRA, +- ALIA, +- LRA, +- LIA, +- NIA, +- NRA, +- UFLRA, +- UFNIA, +- UFLIRA, +- QF_ABV, +- QF_AUFBV, +- QF_AUFLIA, +- QF_ALIA, +- QF_AX, +- QF_BV, +- QF_IDL, +- QF_LIA, +- QF_LRA, +- QF_NIA, +- QF_NRA, +- QF_RDL, +- QF_UF, +- QF_UFBV , +- QF_UFIDL, +- QF_UFLIA, +- QF_UFLRA, +- QF_UFNRA, +- QF_UFNIA, +- QF_UFLIRA, +- QF_SLIA +- ]) +- +-LOGICS = SMTLIB2_LOGICS | frozenset([ QF_BOOL, BOOL, QF_AUFBVLIRA]) ++SMTLIB2_LOGICS = frozenset([AUFLIA, ++ AUFLIRA, ++ AUFNIRA, ++ ALIA, ++ LRA, ++ LIA, ++ NIA, ++ NRA, ++ UFLRA, ++ UFNIA, ++ UFLIRA, ++ QF_ABV, ++ QF_AUFBV, ++ QF_AUFLIA, ++ QF_ALIA, ++ QF_AX, ++ QF_BV, ++ QF_IDL, ++ QF_LIA, ++ QF_LRA, ++ QF_NIA, ++ QF_NRA, ++ QF_RDL, ++ QF_UF, ++ QF_UFBV, ++ QF_UFIDL, ++ QF_UFLIA, ++ QF_UFLRA, ++ QF_UFNRA, ++ QF_UFNIA, ++ QF_UFLIRA, ++ QF_SLIA ++ ]) ++ ++LOGICS = SMTLIB2_LOGICS | frozenset([QF_BOOL, BOOL, QF_AUFBVLIRA, QF_NIRA]) + + QF_LOGICS = frozenset(_l for _l in LOGICS if _l.quantifier_free) + +@@ -668,8 +674,8 @@ PYSMT_LOGICS = frozenset([QF_BOOL, QF_IDL, QF_LIA, QF_LRA, QF_RDL, QF_UF, QF_UFI + QF_BV, QF_UFBV, + QF_ABV, QF_AUFBV, QF_AUFLIA, QF_ALIA, QF_AX, + QF_AUFBVLIRA, +- QF_NRA, QF_NIA, UFBV, BV, +- ]) ++ QF_NRA, QF_NIA, QF_NIRA, UFBV, BV, ++ ]) + + # PySMT Logics includes additional features: + # - constant arrays: QF_AUFBV becomes QF_AUFBV* +@@ -697,7 +703,6 @@ for l in PYSMT_LOGICS: + ext_logics.add(nl) + + +- + LOGICS = LOGICS | frozenset(ext_logics) + PYSMT_LOGICS = PYSMT_LOGICS | frozenset(ext_logics) + +diff --git a/pysmt/solvers/z3.py b/pysmt/solvers/z3.py +index 3fb42b9..210b771 100644 +--- a/pysmt/solvers/z3.py ++++ b/pysmt/solvers/z3.py +@@ -595,6 +595,8 @@ class Z3Converter(Converter, DagWalker): + None, None, + 0, None, + expr.ast) ++ print("Z3: SMTLIB") ++ print(s) + stream_in = StringIO(s) + r = parser.get_script(stream_in).get_last_formula(self.mgr) + key = (askey(expr), None) +diff --git a/pysmt/test/examples.py b/pysmt/test/examples.py +index 73455ee..b653185 100644 +--- a/pysmt/test/examples.py ++++ b/pysmt/test/examples.py +@@ -898,12 +898,12 @@ def get_full_example_formulae(environment=None): + logic=pysmt.logics.QF_NRA + ), + +- Example(hr="((p ^ 2) = 0)", +- expr=Equals(Pow(p, Int(2)), Int(0)), ++ Example(hr="((p ^ 2) = 0.0)", ++ expr=Equals(Pow(p, Int(2)), Real(0)), + is_valid=False, + is_sat=True, +- logic=pysmt.logics.QF_NIA +- ), ++ logic=pysmt.logics.QF_NIRA ++ ), + + Example(hr="((r ^ 2.0) = 0.0)", + expr=Equals(Pow(r, Real(2)), Real(0)), +diff --git a/pysmt/test/test_back.py b/pysmt/test/test_back.py +index bceb45b..7a0ad63 100644 +--- a/pysmt/test/test_back.py ++++ b/pysmt/test/test_back.py +@@ -55,10 +55,10 @@ class TestBasic(TestCase): + res = msat.converter.back(term) + self.assertFalse(f == res) + +- def do_back(self, solver_name, z3_string_buffer=False): ++ def do_back(self, solver_name, via_smtlib=False): + for formula, _, _, logic in get_example_formulae(): + if logic.quantifier_free: +- if logic.theory.custom_type and z3_string_buffer: ++ if logic.theory.custom_type and via_smtlib: + # Printing of declare-sort from Z3 is not conformant + # with the SMT-LIB. We might consider extending our + # parser. +@@ -67,7 +67,7 @@ class TestBasic(TestCase): + s = Solver(name=solver_name, logic=logic) + term = s.converter.convert(formula) + if solver_name == "z3": +- if z3_string_buffer: ++ if via_smtlib: + res = s.converter.back_via_smtlib(term) + else: + res = s.converter.back(term) +@@ -84,8 +84,8 @@ class TestBasic(TestCase): + + @skipIfSolverNotAvailable("z3") + def test_z3_back_formulae(self): +- self.do_back("z3", z3_string_buffer=False) +- self.do_back("z3", z3_string_buffer=True) ++ self.do_back("z3", via_smtlib=True) ++ self.do_back("z3", via_smtlib=False) + + + if __name__ == '__main__': +diff --git a/pysmt/type_checker.py b/pysmt/type_checker.py +index b700fcf..7ce05aa 100644 +--- a/pysmt/type_checker.py ++++ b/pysmt/type_checker.py +@@ -33,6 +33,8 @@ class SimpleTypeChecker(walkers.DagWalker): + + def __init__(self, env=None): + walkers.DagWalker.__init__(self, env=env) ++ # Return None if the type cannot be computed rather than ++ # raising an exception. + self.be_nice = False + + def _get_key(self, formula, **kwargs): +@@ -42,7 +44,7 @@ class SimpleTypeChecker(walkers.DagWalker): + """ Returns the pysmt.types type of the formula """ + res = self.walk(formula) + if not self.be_nice and res is None: +- raise PysmtTypeError("The formula '%s' is not well-formed" \ ++ raise PysmtTypeError("The formula '%s' is not well-formed" + % str(formula)) + return res + +@@ -114,7 +116,7 @@ class SimpleTypeChecker(walkers.DagWalker): + + def walk_bv_comp(self, formula, args, **kwargs): + # We check that all children are BV and the same size +- a,b = args ++ a, b = args + if a != b or (not a.is_bv_type()): + return None + return BVType(1) +@@ -187,7 +189,7 @@ class SimpleTypeChecker(walkers.DagWalker): + if args[0].is_bool_type(): + raise PysmtTypeError("The formula '%s' is not well-formed." + "Equality operator is not supported for Boolean" +- " terms. Use Iff instead." \ ++ " terms. Use Iff instead." + % str(formula)) + elif args[0].is_bv_type(): + return self.walk_bv_to_bool(formula, args) +@@ -324,10 +326,7 @@ class SimpleTypeChecker(walkers.DagWalker): + def walk_pow(self, formula, args, **kwargs): + if args[0] != args[1]: + return None +- # Exponent must be positive for INT +- if args[0].is_int_type() and formula.arg(1).constant_value() < 0 : +- return None +- return args[0] ++ return REAL + + # EOC SimpleTypeChecker + diff --git a/gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch b/gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch new file mode 100644 index 0000000000..eee555f807 --- /dev/null +++ b/gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch @@ -0,0 +1,86 @@ +Backport of an upstream patch fixing a test suite failure. + +Taken from: https://github.com/pysmt/pysmt/commit/a246669a487aff69f5da34570ef867841d18508a + +diff --git a/pysmt/test/smtlib/test_parser_examples.py b/pysmt/test/smtlib/test_parser_examples.py +index cca4194..c0852be 100644 +--- a/pysmt/test/smtlib/test_parser_examples.py ++++ b/pysmt/test/smtlib/test_parser_examples.py +@@ -29,6 +29,7 @@ from pysmt.shortcuts import Iff + from pysmt.shortcuts import read_smtlib, write_smtlib, get_env + from pysmt.exceptions import PysmtSyntaxError + ++ + class TestSMTParseExamples(TestCase): + + def test_parse_examples(self): +@@ -41,7 +42,6 @@ class TestSMTParseExamples(TestCase): + buf = StringIO() + script_out = smtlibscript_from_formula(f_out) + script_out.serialize(outstream=buf) +- #print(buf) + + buf.seek(0) + parser = SmtLibParser() +@@ -49,7 +49,6 @@ class TestSMTParseExamples(TestCase): + f_in = script_in.get_last_formula() + self.assertEqual(f_in.simplify(), f_out.simplify()) + +- + @skipIfNoSolverForLogic(logics.QF_BV) + def test_parse_examples_bv(self): + """For BV we represent a superset of the operators defined in SMT-LIB. +@@ -108,7 +107,18 @@ class TestSMTParseExamples(TestCase): + self.assertValid(Iff(f_in, f_out), f_in.serialize()) + + def test_dumped_logic(self): +- # Dumped logic matches the logic in the example ++ # Dumped logic matches the logic in the example. ++ # ++ # There are a few cases where we use a logic ++ # that does not exist in SMT-LIB, and the SMT-LIB ++ # serialization logic will find a logic that ++ # is more expressive. We need to adjust the test ++ # for those cases (see rewrite dict below). ++ rewrite = { ++ logics.QF_BOOL: logics.QF_UF, ++ logics.BOOL: logics.LRA, ++ logics.QF_NIRA: logics.AUFNIRA, ++ } + fs = get_example_formulae() + + for (f_out, _, _, logic) in fs: +@@ -121,14 +131,9 @@ class TestSMTParseExamples(TestCase): + for cmd in script_in: + if cmd.name == "set-logic": + logic_in = cmd.args[0] +- if logic == logics.QF_BOOL: +- self.assertEqual(logic_in, logics.QF_UF) +- elif logic == logics.BOOL: +- self.assertEqual(logic_in, logics.LRA) +- else: +- self.assertEqual(logic_in, logic, script_in) ++ self.assertEqual(logic_in, rewrite.get(logic, logic)) + break +- else: # Loops exited normally ++ else: # Loops exited normally + print("-"*40) + print(script_in) + +@@ -136,7 +141,7 @@ class TestSMTParseExamples(TestCase): + fs = get_example_formulae() + + fdi, tmp_fname = mkstemp() +- os.close(fdi) # Close initial file descriptor ++ os.close(fdi) # Close initial file descriptor + for (f_out, _, _, _) in fs: + write_smtlib(f_out, tmp_fname) + # with open(tmp_fname) as fin: +@@ -197,7 +202,6 @@ class TestSMTParseExamples(TestCase): + f_in = script.get_last_formula() + self.assertSat(f_in) + +- + def test_int_promotion_define_fun(self): + script = """ + (define-fun x () Int 8) diff --git a/gnu/packages/patches/python-pyvex-remove-angr-dependency.patch b/gnu/packages/patches/python-pyvex-remove-angr-dependency.patch new file mode 100644 index 0000000000..dccf22bbc6 --- /dev/null +++ b/gnu/packages/patches/python-pyvex-remove-angr-dependency.patch @@ -0,0 +1,80 @@ +This patch removes the angr dependency from the pyvex these, thus +resolving a circular dependency (as angr depends on pyvex). This +patch has been taken from upstream. + +This patch is a squashed version of the following upstream patches: + +* https://github.com/angr/pyvex/commit/61fb26f223a8d8a276b702d2448a12e02c5c9c6b +* https://github.com/angr/pyvex/commit/a1fb2a4d0826b0e43bd8bbdd00b6db032643ec95 + +diff --git a/tests/test_spotter.py b/tests/test_spotter.py +index 9271ccd..bed7dd4 100644 +--- a/tests/test_spotter.py ++++ b/tests/test_spotter.py +@@ -1,6 +1,5 @@ + import os + +-import angr + import archinfo + + import pyvex +@@ -98,53 +97,28 @@ class CortexSpotter(GymratLifter): + register(CortexSpotter, "ARMEL") + + +-def test_full_binary(): +- p = angr.Project( +- os.path.join(test_location, "armel", "RTOSDemo.axf.issue_685"), +- arch="ARMEL", +- auto_load_libs=False, +- ) +- st = p.factory.call_state(0x000013CE + 1) +- b = st.block().vex +- simgr = p.factory.simulation_manager(st) +- simgr.step() +- assert b.jumpkind == "Ijk_Sys_syscall" +- assert simgr.active[0].regs.ip_at_syscall.args[0] == 0x13FB +- +- + def test_tmrs(): +- test_location = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../binaries/tests")) +- p = angr.Project( +- os.path.join(test_location, "armel", "helloworld"), +- arch="ARMEL", +- auto_load_libs=False, +- ) ++ arch = archinfo.arch_from_id("ARMEL") + ins = b"\xef\xf3\x08\x82" +- b = pyvex.block.IRSB(ins, 1, p.arch) ++ b = pyvex.block.IRSB(ins, 1, arch) + assert b.jumpkind == "Ijk_Boring" + assert type(b.statements[1].data) == pyvex.expr.Get +- assert p.arch.register_names.get(b.statements[1].data.offset, "") == "sp" ++ assert arch.register_names.get(b.statements[1].data.offset, "") == "sp" + assert type(b.statements[2]) == pyvex.stmt.Put + + + def test_tmsr(): +- test_location = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../binaries/tests")) +- p = angr.Project( +- os.path.join(test_location, "armel", "helloworld"), +- arch="ARMEL", +- auto_load_libs=False, +- ) ++ arch = archinfo.arch_from_id("ARMEL") + inss = b"\x82\xf3\x08\x88" +- b = pyvex.block.IRSB(inss, 1, p.arch, opt_level=3) ++ b = pyvex.block.IRSB(inss, 1, arch, opt_level=3) + assert b.jumpkind == "Ijk_Boring" + assert type(b.statements[1].data) == pyvex.expr.Get +- assert p.arch.register_names.get(b.statements[1].data.offset, "") == "r2" ++ assert arch.register_names.get(b.statements[1].data.offset, "") == "r2" + assert type(b.statements[2]) == pyvex.stmt.Put + + + if __name__ == "__main__": + test_basic() + test_embedded() +- test_full_binary() + test_tmrs() + test_tmsr() diff --git a/gnu/packages/patches/python-waitress-fix-tests.patch b/gnu/packages/patches/python-waitress-fix-tests.patch deleted file mode 100644 index 110492a604..0000000000 --- a/gnu/packages/patches/python-waitress-fix-tests.patch +++ /dev/null @@ -1,29 +0,0 @@ -Skip test that requires getaddrinfo(), which is not available in the build -environment. This package uses a regexp for finding tests (see runner.py), -so using @unittest.skip does not work. - ---- a/waitress/tests/test_adjustments.py -+++ b/waitress/tests/test_adjustments.py -@@ -185,22 +185,6 @@ - def test_bad_port(self): - self.assertRaises(ValueError, self._makeOne, listen='127.0.0.1:test') - -- def test_service_port(self): -- if WIN and PY2: # pragma: no cover -- # On Windows and Python 2 this is broken, so we raise a ValueError -- self.assertRaises( -- ValueError, -- self._makeOne, -- listen='127.0.0.1:http', -- ) -- return -- -- inst = self._makeOne(listen='127.0.0.1:http 0.0.0.0:https') -- -- bind_pairs = [sockaddr[:2] for (_, _, _, sockaddr) in inst.listen] -- -- self.assertEqual(bind_pairs, [('127.0.0.1', 80), ('0.0.0.0', 443)]) -- - def test_dont_mix_host_port_listen(self): - self.assertRaises( - ValueError, diff --git a/gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch b/gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch new file mode 100644 index 0000000000..17bdae188f --- /dev/null +++ b/gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch @@ -0,0 +1,51 @@ +From fd9e887a1853d9b4bc3fce20d414d648fb5abbfc Mon Sep 17 00:00:00 2001 +From: Asher Glick <asher.glick@gmail.com> +Date: Mon, 1 Mar 2021 14:35:46 -0600 +Subject: [PATCH] Add missing error codes and graceful handling of possible + future missing codes. + +--- + libxmp/exempi.py | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/libxmp/exempi.py b/libxmp/exempi.py +index 683e240..f58003c 100644 +--- a/libxmp/exempi.py ++++ b/libxmp/exempi.py +@@ -85,6 +85,7 @@ ERROR_MESSAGE = { 0: "unknown error", + -13: "std exception", + -14: "unknown exception", + -15: "no memory", ++ -16: "progress abort", + -101: "bad schema", + -102: "bad XPath", + -103: "bad options", +@@ -95,6 +96,14 @@ ERROR_MESSAGE = { 0: "unknown error", + -108: "bad file format", + -109: "no file handler", + -110: "too large for JPEG", ++ -111: "no file", ++ -112: "file permission error", ++ -113: "disk space", ++ -114: "read error", ++ -115: "write error", ++ -116: "bad block format", ++ -117: "file path not a file", ++ -118: "rejected file extension", + -201: "bad XML", + -202: "bad RDF", + -203: "bad XMP", +@@ -1697,6 +1706,9 @@ def check_error(success): + # so we supplement it by explicitly checking the error code. + ecode = EXEMPI.xmp_get_error() + if not success or ecode != 0: +- error_msg = ERROR_MESSAGE[ecode] ++ if ecode in ERROR_MESSAGE: ++ error_msg = ERROR_MESSAGE[ecode] ++ else: ++ error_msg = "Unexpected error code " + str(ecode) + msg = 'Exempi function failure ("{0}").'.format(error_msg) + raise XMPError(msg) +-- +2.30.2 + diff --git a/gnu/packages/patches/racket-backport-8.12-chez-configure.patch b/gnu/packages/patches/racket-backport-8.12-chez-configure.patch deleted file mode 100644 index 483948fec9..0000000000 --- a/gnu/packages/patches/racket-backport-8.12-chez-configure.patch +++ /dev/null @@ -1,423 +0,0 @@ -From 82157f5b3fb9f71ad7fc978c428d423d06a4a0df Mon Sep 17 00:00:00 2001 -From: Philip McGrath <philip@philipmcgrath.com> -Date: Wed, 28 Feb 2024 19:41:22 -0500 -Subject: [PATCH 1/2] Chez Scheme: Repairs and improvements for building with - external dependencies - -* configure: support `ZUO=<zuo>` - -Supplying `ZUO=<zuo>` skips the submodule check in `configure` -and configures the generated makefile not to build or remove Zuo. - -* configure: support `STEXLIB=<stex>` - -For compatibility with older scripts, when not explicitly configured, -continue to honor the `STEXLIB` environment variable at build time. - -(cherry picked from commit 694fbd47a125c7fde10a328c6fda199dac19f802) ---- - racket/src/ChezScheme/BUILDING | 5 ++-- - racket/src/ChezScheme/build.zuo | 13 +++++++--- - racket/src/ChezScheme/configure | 27 ++++++++++++++++++++- - racket/src/ChezScheme/makefiles/Makefile.in | 6 ++--- - 4 files changed, 40 insertions(+), 11 deletions(-) - -diff --git a/racket/src/ChezScheme/BUILDING b/racket/src/ChezScheme/BUILDING -index 50fde27771..2df29b5bd8 100644 ---- a/racket/src/ChezScheme/BUILDING -+++ b/racket/src/ChezScheme/BUILDING -@@ -155,7 +155,8 @@ information on the supported options. - The generated makefile mostly just ensures that a `zuo` executable is - built in a `bin` directory, and then it defers the actual build work - to `zuo`, which uses the "main.zuo" file. If you have `zuo` installed, --you can use `zuo` directly instead of `make`. In general, instead of -+you can use `zuo` directly instead of `make`: in that case, you may -+wish to use `./configure ZUO=<zuo>`. In general, instead of - the command `make X` to build target `X` as described below, you can - use `zuo . X` (or `bin/zuo . X` after `bin/zuo` is built). - -@@ -339,7 +340,7 @@ The makefile supports several targets: - * `make clean` - - Removes all built elements from the workarea, and then removes -- `bin/zuo`. -+ `bin/zuo` (unless configured with `ZUO=<zuo>`). - - - WINDOWS VIA COMMAND PROMPT -diff --git a/racket/src/ChezScheme/build.zuo b/racket/src/ChezScheme/build.zuo -index a211632a89..432cc6e5a1 100644 ---- a/racket/src/ChezScheme/build.zuo -+++ b/racket/src/ChezScheme/build.zuo -@@ -218,10 +218,15 @@ - token)) - - (define stexlib -- (let ((found (assoc "STEXLIB" (hash-ref (runtime-env) 'env)))) -- (if found -- (cdr found) -- (at-source "stex")))) -+ (let ([configured (hash-ref config 'STEXLIB "")] -+ [env (assoc "STEXLIB" (hash-ref (runtime-env) 'env))]) -+ (cond -+ [(not (equal? "" configured)) -+ configured] -+ [env -+ (cdr env)] -+ [else -+ (at-source "stex")]))) - (define stex-sources - (source-tree stexlib)) - -diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure -index 721d1d1335..f88c6f7625 100755 ---- a/racket/src/ChezScheme/configure -+++ b/racket/src/ChezScheme/configure -@@ -93,6 +93,7 @@ default_warning_flags="-Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough" - CFLAGS_ADD= - zlibLib= - LZ4Lib= -+STEXLIB= - Kernel=KernelLib - buildKernelOnly=no - enableFrompb=yes -@@ -102,6 +103,7 @@ empetite=no - moreBootFiles= - preloadBootFiles= - alwaysUseBootFile= -+zuoExternal= - - CONFIG_UNAME=`uname` - -@@ -442,6 +444,12 @@ while [ $# != 0 ] ; do - LZ4=*) - LZ4Lib=`echo $1 | sed -e 's/^LZ4=//'` - ;; -+ STEXLIB=*) -+ STEXLIB=`echo $1 | sed -e 's/^STEXLIB=//'` -+ ;; -+ ZUO=*) -+ zuoExternal=`echo $1 | sed -e 's/^ZUO=//'` -+ ;; - *) - echo "option '$1' unrecognized or missing an argument; try $0 --help" - exit 1 -@@ -667,6 +675,8 @@ if [ "$help" = "yes" ]; then - echo " STRIP=<strip> executable stripper" - echo " ZLIB=<lib> link to <lib> instead of own zlib" - echo " LZ4=<lib> link to <lib> instead of own LZ4" -+ echo " STEXLIB=<stex> build docs with <stex> instead of own stex" -+ echo " ZUO=<zuo> build with <zuo> instead of own Zuo" - echo "" - echo "Available machine types: $machs" - echo "" -@@ -869,6 +879,16 @@ if [ "$addflags" = "yes" ] ; then - fi - fi - -+if [ "${zuoExternal}" = "" ] ; then -+ ZUO="bin/zuo" -+ RM_ZUO="rm -f bin/zuo" -+ ZUO_TARGET="bin/zuo" -+else -+ ZUO="${zuoExternal}" -+ RM_ZUO="@echo 'Not cleaning external ${zuoExternal}'" -+ ZUO_TARGET="DoNotBuildZuo" -+fi -+ - # more compile and link flags for c/Mf-unix and mats/Mf-unix - mdinclude= - mdcppflags= -@@ -1039,7 +1059,7 @@ cp "$srcdir"/makefiles/buildmain.zuo main.zuo - # Some idea, but in the workarea, so it refers to "workarea.zuo" here: - cp "$srcdir"/makefiles/workmain.zuo $w/main.zuo - --# The content of "$w/Makefile" records configuration decisions, -+# The content of "$w/Mf-config" records configuration decisions, - # and the Zuo build script takes it from there - cat > $w/Mf-config << END - srcdir=$srcdir -@@ -1075,6 +1095,7 @@ cursesLib=$cursesLib - ncursesLib=$ncursesLib - zlibLib=$zlibLib - LZ4Lib=$LZ4Lib -+STEXLIB=$STEXLIB - warningFlags=$warningFlags - Kernel=$Kernel - installscriptname=$installscriptname -@@ -1086,6 +1107,10 @@ preloadBootFiles=$preloadBootFiles - alwaysUseBootFile=$alwaysUseBootFile - relativeBootFiles=$relativeBootFiles - -+ZUO=$ZUO -+RM_ZUO=$RM_ZUO -+ZUO_TARGET=$ZUO_TARGET -+ - InstallBin=$installbin - InstallLib=$installlib - InstallMan=$installman/man1 -diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in -index cfdd0230a3..4865bf2e2f 100644 ---- a/racket/src/ChezScheme/makefiles/Makefile.in -+++ b/racket/src/ChezScheme/makefiles/Makefile.in -@@ -3,8 +3,6 @@ workarea=$(w) - - include $(workarea)/Mf-config - --ZUO=bin/zuo -- - .PHONY: build - build: $(ZUO) - + $(ZUO) $(workarea) MAKE="$(MAKE)" -@@ -140,9 +138,9 @@ pkg: $(ZUO) - .PHONY: clean - clean: $(ZUO) - + $(ZUO) $(workarea) clean MAKE="$(MAKE)" -- rm -f bin/zuo -+ $(RM_ZUO) - - # Using `+` here means that $(ZUO) gets built even if `-n`/`--dry-run` is provided to `make` --$(ZUO): $(srcdir)/../zuo/zuo.c -+$(ZUO_TARGET): $(srcdir)/../zuo/zuo.c - + mkdir -p bin - + $(CC_FOR_BUILD) -DZUO_LIB_PATH='"'"$(upsrcdir)/../zuo/lib"'"' -o $(ZUO) $(srcdir)/../zuo/zuo.c - -base-commit: 78fef00d4d16a79fdf6ab31924b3a80cadf4b368 --- -2.41.0 - - -From e2bc69c5ce7437dd9a1b30ac1b12b3a56872c491 Mon Sep 17 00:00:00 2001 -From: Matthew Flatt <mflatt@racket-lang.org> -Date: Sun, 10 Mar 2024 09:13:40 -0600 -Subject: [PATCH 2/2] Chez Scheme: adjust `configure ZUO=<command>` support - -Continuing from 694fbd47a1, adjust the generated makefile so the -supplied `<command>` is not a makefile dependency. That way, `ZUO=zuo` -works if `zuo` is installed and the current build directory is not the -source directory. (The `zuo` executable is a dependency in a real and -relevant sense, but not in the sense of dependencies that we normally -track in makefiles.) - -Also adapt the makefile for the case that `ZUO=...` is not supplied -and the build directory is not the source directory, in which case -`ZUO_LIB_PATH` needs to be relative to the source directory. - -Using `make ZUO=zuo` can also work, but in that case, `bin/zuo` is -still built as a dependency. It's possible that some portable makefile -magic could overcome that limitation, but it doesn't seem important. - -(cherry picked from commit 28157ba88d48fe645563f46f6c00d6626b3428fa) ---- - racket/src/ChezScheme/configure | 3 + - racket/src/ChezScheme/makefiles/Makefile.in | 70 +++++++++++---------- - 2 files changed, 40 insertions(+), 33 deletions(-) - -diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure -index f88c6f7625..201dbe580f 100755 ---- a/racket/src/ChezScheme/configure -+++ b/racket/src/ChezScheme/configure -@@ -881,10 +881,12 @@ fi - - if [ "${zuoExternal}" = "" ] ; then - ZUO="bin/zuo" -+ ZUO_DEP="${ZUO}" - RM_ZUO="rm -f bin/zuo" - ZUO_TARGET="bin/zuo" - else - ZUO="${zuoExternal}" -+ ZUO_DEP="" - RM_ZUO="@echo 'Not cleaning external ${zuoExternal}'" - ZUO_TARGET="DoNotBuildZuo" - fi -@@ -1108,6 +1110,7 @@ alwaysUseBootFile=$alwaysUseBootFile - relativeBootFiles=$relativeBootFiles - - ZUO=$ZUO -+ZUO_DEP=$ZUO_DEP - RM_ZUO=$RM_ZUO - ZUO_TARGET=$ZUO_TARGET - -diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in -index 4865bf2e2f..5ce237178e 100644 ---- a/racket/src/ChezScheme/makefiles/Makefile.in -+++ b/racket/src/ChezScheme/makefiles/Makefile.in -@@ -4,51 +4,55 @@ workarea=$(w) - include $(workarea)/Mf-config - - .PHONY: build --build: $(ZUO) -+build: $(ZUO_DEP) - + $(ZUO) $(workarea) MAKE="$(MAKE)" - - .PHONY: run --run: $(ZUO) -+run: $(ZUO_DEP) - + $(ZUO) $(workarea) run - - .PHONY: kernel --kernel: $(ZUO) -+kernel: $(ZUO_DEP) - + $(ZUO) $(workarea) kernel MAKE="$(MAKE)" - - .PHONY: install --install: $(ZUO) -+install: $(ZUO_DEP) - $(ZUO) $(workarea) install MAKE="$(MAKE)" - - .PHONY: uninstall --uninstall: $(ZUO) -+uninstall: $(ZUO_DEP) - + $(ZUO) $(workarea) uninstall MAKE="$(MAKE)" - --.PHONY: test --test: $(ZUO) -- + $(ZUO) $(workarea) test MAKE="$(MAKE)" -+.PHONY: test-one -+test-one: $(ZUO_DEP) -+ + $(ZUO) $(workarea) test-one MAKE="$(MAKE)" - - .PHONY: test-some-fast --test-some-fast: $(ZUO) -+test-some-fast: $(ZUO_DEP) - + $(ZUO) $(workarea) test-some-fast MAKE="$(MAKE)" - - .PHONY: test-some --test-some: $(ZUO) -+test-some: $(ZUO_DEP) - + $(ZUO) $(workarea) test-some MAKE="$(MAKE)" - -+.PHONY: test -+test: $(ZUO_DEP) -+ + $(ZUO) $(workarea) test MAKE="$(MAKE)" -+ - .PHONY: test-more --test-more: $(ZUO) -+test-more: $(ZUO_DEP) - + $(ZUO) $(workarea) test-more MAKE="$(MAKE)" - - .PHONY: coverage --coverage: $(ZUO) -+coverage: $(ZUO_DEP) - + $(ZUO) $(workarea) coverage MAKE="$(MAKE)" - - .PHONY: bootfiles --bootfiles: $(ZUO) -+bootfiles: $(ZUO_DEP) - + $(ZUO) $(workarea) bootfiles MAKE="$(MAKE)" - - .PHONY: reset --reset: $(ZUO) -+reset: $(ZUO_DEP) - + $(ZUO) $(workarea) reset MAKE="$(MAKE)" - - # Supply XM=<machine> to build boot files for <machine> -@@ -57,86 +61,86 @@ boot: - + $(ZUO) $(workarea) boot "$(XM)" MAKE="$(MAKE)" - - # `<machine>.boot` as alias for `boot XM=<machine>` --%.boot: $(ZUO) -+%.boot: $(ZUO_DEP) - + $(ZUO) $(workarea) boot $* MAKE="$(MAKE)" - - .PHONY: auto.boot --auto.boot: $(ZUO) -+auto.boot: $(ZUO_DEP) - + $(ZUO) $(workarea) boot MAKE="$(MAKE)" - - SCHEME=scheme - - .PHONY: cross.boot --cross.boot: $(ZUO) -+cross.boot: $(ZUO_DEP) - + $(ZUO) $(workarea) boot SCHEME="$(SCHEME)" MAKE="$(MAKE)" - - .PHONY: re.boot --re.boot: $(ZUO) -+re.boot: $(ZUO_DEP) - + $(ZUO) $(workarea) reboot SCHEME="$(SCHEME)" - - # Supply XM=<machine> to build boot files for <machine> - # with o=3 d=0 for the cross compiler, and only after - # building the kernel for the configured machine - .PHONY: bootquick --bootquick: $(ZUO) -+bootquick: $(ZUO_DEP) - + $(ZUO) $(workarea) bootquick "$(XM)" MAKE="$(MAKE)" - - # `<machine>.bootquick` as alias for `boot XM=<machine>` --%.bootquick: $(ZUO) -+%.bootquick: $(ZUO_DEP) - + $(ZUO) $(workarea) bootquick $* MAKE="$(MAKE)" - --auto.bootquick: $(ZUO) -+auto.bootquick: $(ZUO_DEP) - + $(ZUO) $(workarea) bootquick MAKE="$(MAKE)" - - # Supply XM=<machine>-<tag>.bootpbchunk to repackage boot files for - # <machine> with pbchunk sources, including additional - # boot files - .PHONY: bootpbchunk --bootpbchunk: $(ZUO) -+bootpbchunk: $(ZUO_DEP) - + $(ZUO) $(workarea) bootpbchunk "$(XM)" $(ARGS) MAKE="$(MAKE)" - - # `<machine>.bootpbchunk` as alias for `pbchunk XM=<machine>` --%.bootpbchunk: $(ZUO) -+%.bootpbchunk: $(ZUO_DEP) - + $(ZUO) $(workarea) bootpbchunk $* $(ARGS) MAKE="$(MAKE)" - - .PHONY: docs --docs: build $(ZUO) -+docs: build $(ZUO_DEP) - + $(ZUO) $(workarea) docs MAKE="$(MAKE)" - - .PHONY: csug --csug: build $(ZUO) -+csug: build $(ZUO_DEP) - + $(ZUO) $(workarea) csug MAKE="$(MAKE)" - - .PHONY: release_notes --release_notes: build $(ZUO) -+release_notes: build $(ZUO_DEP) - + $(ZUO) $(workarea) release_notes MAKE="$(MAKE)" - - .PHONY: install-docs --install-docs: build $(ZUO) -+install-docs: build $(ZUO_DEP) - + $(ZUO) $(workarea) install-docs MAKE="$(MAKE)" - - .PHONY: install-csug --install-csug: build $(ZUO) -+install-csug: build $(ZUO_DEP) - + $(ZUO) $(workarea) install-csug MAKE="$(MAKE)" - - .PHONY: install-release_notes --install-release_notes: build $(ZUO) -+install-release_notes: build $(ZUO_DEP) - + $(ZUO) $(workarea) install-release_notes MAKE="$(MAKE)" - - .PHONY: bintar --bintar: $(ZUO) -+bintar: $(ZUO_DEP) - + $(ZUO) $(workarea) bintar MAKE="$(MAKE)" - - .PHONY: rpm --rpm: $(ZUO) -+rpm: $(ZUO_DEP) - + $(ZUO) $(workarea) rpm MAKE="$(MAKE)" - - .PHONY: pkg --pkg: $(ZUO) -+pkg: $(ZUO_DEP) - + $(ZUO) $(workarea) pkg MAKE="$(MAKE)" - - .PHONY: clean --clean: $(ZUO) -+clean: $(ZUO_DEP) - + $(ZUO) $(workarea) clean MAKE="$(MAKE)" - $(RM_ZUO) - --- -2.41.0 - diff --git a/gnu/packages/patches/rust-poem-1-fewer-deps.patch b/gnu/packages/patches/rust-poem-1-fewer-deps.patch new file mode 100644 index 0000000000..b98947b407 --- /dev/null +++ b/gnu/packages/patches/rust-poem-1-fewer-deps.patch @@ -0,0 +1,229 @@ +diff --git a/Cargo.toml b/Cargo.toml +index 79b878c..95ec54c 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -71,26 +71,26 @@ features = ["clock"] + optional = true + default-features = false + +-[dependencies.eyre06] +-version = "0.6" +-optional = true +-package = "eyre" ++#[dependencies.eyre06] ++#version = "0.6" ++#optional = true ++#package = "eyre" + +-[dependencies.fluent] +-version = "0.16.0" +-optional = true ++#[dependencies.fluent] ++#version = "0.16.0" ++#optional = true + +-[dependencies.fluent-langneg] +-version = "0.13.0" +-optional = true ++#[dependencies.fluent-langneg] ++#version = "0.13.0" ++#optional = true + +-[dependencies.fluent-syntax] +-version = "0.11.0" +-optional = true ++#[dependencies.fluent-syntax] ++#version = "0.11.0" ++#optional = true + +-[dependencies.futures-util] +-version = "0.3.17" +-features = ["sink"] ++#[dependencies.futures-util] ++#version = "0.3.17" ++#features = ["sink"] + + [dependencies.headers] + version = "0.3.7" +@@ -125,9 +125,9 @@ features = [ + optional = true + default-features = false + +-[dependencies.intl-memoizer] +-version = "0.5.1" +-optional = true ++#[dependencies.intl-memoizer] ++#version = "0.5.1" ++#optional = true + + [dependencies.libcookie] + version = "0.17" +@@ -146,16 +146,16 @@ version = "0.4.1" + optional = true + package = "csrf" + +-[dependencies.libopentelemetry] +-version = "0.21.0" +-features = ["metrics"] +-optional = true +-package = "opentelemetry" ++#[dependencies.libopentelemetry] ++#version = "0.21.0" ++#features = ["metrics"] ++#optional = true ++#package = "opentelemetry" + +-[dependencies.libprometheus] +-version = "0.13.0" +-optional = true +-package = "prometheus" ++#[dependencies.libprometheus] ++#version = "0.13.0" ++#optional = true ++#package = "prometheus" + + [dependencies.libtempfile] + version = "3.2.0" +@@ -178,17 +178,17 @@ optional = true + version = "0.10.56" + optional = true + +-[dependencies.opentelemetry-http] +-version = "0.10.0" +-optional = true ++#[dependencies.opentelemetry-http] ++#version = "0.10.0" ++#optional = true + +-[dependencies.opentelemetry-prometheus] +-version = "0.14.0" +-optional = true ++#[dependencies.opentelemetry-prometheus] ++#version = "0.14.0" ++#optional = true + +-[dependencies.opentelemetry-semantic-conventions] +-version = "0.13.0" +-optional = true ++#[dependencies.opentelemetry-semantic-conventions] ++#version = "0.13.0" ++#optional = true + + [dependencies.parking_lot] + version = "0.12.0" +@@ -219,14 +219,14 @@ optional = true + version = "0.11.1" + optional = true + +-[dependencies.redis] +-version = "0.23.0" +-features = [ +- "aio", +- "tokio-comp", +- "connection-manager", +-] +-optional = true ++#[dependencies.redis] ++#version = "0.23.0" ++#features = [ ++# "aio", ++# "tokio-comp", ++# "connection-manager", ++#] ++#optional = true + + [dependencies.regex] + version = "1.5.5" +@@ -263,9 +263,9 @@ optional = true + [dependencies.smallvec] + version = "1.6.1" + +-[dependencies.sse-codec] +-version = "0.3.2" +-optional = true ++#[dependencies.sse-codec] ++#version = "0.3.2" ++#optional = true + + [dependencies.thiserror] + version = "1.0.30" +@@ -323,10 +323,10 @@ default-features = false + [dependencies.tracing] + version = "0.1.36" + +-[dependencies.unic-langid] +-version = "0.9.0" +-features = ["macros"] +-optional = true ++#[dependencies.unic-langid] ++#version = "0.9.0" ++#features = ["macros"] ++#optional = true + + [dependencies.wildmatch] + version = "2" +@@ -383,13 +383,13 @@ embed = [ + "hex", + "mime_guess", + ] +-i18n = [ +- "fluent", +- "fluent-langneg", +- "fluent-syntax", +- "unic-langid", +- "intl-memoizer", +-] ++#i18n = [ ++# "fluent", ++# "fluent-langneg", ++# "fluent-syntax", ++# "unic-langid", ++# "intl-memoizer", ++#] + multipart = ["multer"] + native-tls = [ + "server", +@@ -400,20 +400,20 @@ openssl-tls = [ + "tokio-openssl", + "openssl", + ] +-opentelemetry = [ +- "libopentelemetry", +- "opentelemetry-http", +- "opentelemetry-semantic-conventions", +-] +-prometheus = [ +- "libopentelemetry", +- "opentelemetry-prometheus", +- "libprometheus", +-] +-redis-session = [ +- "session", +- "redis", +-] ++#opentelemetry = [ ++# "libopentelemetry", ++# "opentelemetry-http", ++# "opentelemetry-semantic-conventions", ++#] ++#prometheus = [ ++# "libopentelemetry", ++# "opentelemetry-prometheus", ++# "libprometheus", ++#] ++#redis-session = [ ++# "session", ++# "redis", ++#] + rustls = [ + "server", + "tokio-rustls", +@@ -445,7 +445,7 @@ tempfile = [ + ] + test = [ + "sse", +- "sse-codec", ++# "sse-codec", + "tokio-util/compat", + ] + tower-compat = [ diff --git a/gnu/packages/patches/virt-manager-fix-gtk-cursor-theme-backtace.patch b/gnu/packages/patches/virt-manager-fix-gtk-cursor-theme-backtace.patch new file mode 100644 index 0000000000..3f7a5e6873 --- /dev/null +++ b/gnu/packages/patches/virt-manager-fix-gtk-cursor-theme-backtace.patch @@ -0,0 +1,40 @@ +This patch fixes an issue in virt-manager 4.1.0 where it errors and returns a +stack trace. Namely, Gdk.Cursor.new_from_name yields a "constructor returned +NULL" error, which causes a "'NoneType' object has no attribute 'conn'" error +later. + +See the upstream bug report for more information: + +https://github.com/virt-manager/virt-manager/issues/479 + +Patch copied from upstream source repository: + +https://github.com/virt-manager/virt-manager/commit/cc4a39ea94f42bc92765eb3bb56e2b7f9198be67 + +From cc4a39ea94f42bc92765eb3bb56e2b7f9198be67 Mon Sep 17 00:00:00 2001 +From: Cole Robinson <crobinso@redhat.com> +Date: Thu, 19 Jan 2023 11:13:56 -0500 +Subject: [PATCH] asyncjob: Fix backtrace when no cursor theme installed + +Fixes: https://github.com/virt-manager/virt-manager/issues/479 + +Signed-off-by: Cole Robinson <crobinso@redhat.com> +--- + virtManager/asyncjob.py | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/virtManager/asyncjob.py b/virtManager/asyncjob.py +index 32d9c0a16..46692acea 100644 +--- a/virtManager/asyncjob.py ++++ b/virtManager/asyncjob.py +@@ -265,9 +265,7 @@ def run(self): + self.topwin.present() + + if not self.cancel_cb and self.show_progress: +- gdk_window = self.topwin.get_window() +- gdk_window.set_cursor( +- Gdk.Cursor.new_from_name(gdk_window.get_display(), "progress")) ++ self._set_cursor("progress") + self._bg_thread.start() + + diff --git a/gnu/packages/patches/zathura-use-struct-initializers.patch b/gnu/packages/patches/zathura-use-struct-initializers.patch deleted file mode 100644 index 9a808a4bc3..0000000000 --- a/gnu/packages/patches/zathura-use-struct-initializers.patch +++ /dev/null @@ -1,68 +0,0 @@ -From c05328185292d6f6a4459024cdb563c63bfad230 Mon Sep 17 00:00:00 2001 -Message-ID: <c05328185292d6f6a4459024cdb563c63bfad230.1710315308.git.vivien@planete-kraus.eu> -From: Sebastian Ramacher <sebastian@ramacher.at> -Date: Mon, 29 Jan 2024 21:05:22 +0100 -Subject: [PATCH] Use struct initializers - ---- - zathura/page-widget.c | 4 ++-- - zathura/shortcuts.c | 12 +++++------- - 2 files changed, 7 insertions(+), 9 deletions(-) - -diff --git a/zathura/page-widget.c b/zathura/page-widget.c -index 216381e..ac85dcf 100644 ---- a/zathura/page-widget.c -+++ b/zathura/page-widget.c -@@ -1426,8 +1426,8 @@ cb_menu_image_save(GtkMenuItem* item, ZathuraPage* page) - } - - /* set command */ -- char* export_command = g_strdup_printf(":export image-p%d-%d ", page_id, image_id); -- girara_argument_t argument = { 0, export_command }; -+ char* export_command = g_strdup_printf(":export image-p%d-%d ", page_id, image_id); -+ girara_argument_t argument = {.n = 0, .data = export_command}; - sc_focus_inputbar(priv->zathura->ui.session, &argument, NULL, 0); - g_free(export_command); - -diff --git a/zathura/shortcuts.c b/zathura/shortcuts.c -index 8836cd2..35b5990 100644 ---- a/zathura/shortcuts.c -+++ b/zathura/shortcuts.c -@@ -513,7 +513,7 @@ sc_rotate(girara_session_t* session, girara_argument_t* argument, - zathura_document_set_rotation(zathura->document, (rotation + angle * t) % 360); - - /* update scale */ -- girara_argument_t new_argument = { zathura_document_get_adjust_mode(zathura->document), NULL }; -+ girara_argument_t new_argument = {.n = zathura_document_get_adjust_mode(zathura->document), .data = NULL}; - sc_adjust_window(zathura->ui.session, &new_argument, NULL, 0); - - /* render all pages again */ -@@ -1372,7 +1372,7 @@ sc_toggle_presentation(girara_session_t* session, girara_argument_t* - zathura->shortcut.toggle_presentation_mode.zoom = zathura_document_get_zoom(zathura->document); - - /* adjust window */ -- girara_argument_t argument = { ZATHURA_ADJUST_BESTFIT, NULL }; -+ girara_argument_t argument = {.n = ZATHURA_ADJUST_BESTFIT, .data = NULL}; - sc_adjust_window(session, &argument, NULL, 0); - - /* hide status and inputbar */ -@@ -1390,13 +1390,11 @@ sc_toggle_presentation(girara_session_t* session, girara_argument_t* - return false; - } - --bool --sc_quit(girara_session_t* session, girara_argument_t* UNUSED(argument), -- girara_event_t* UNUSED(event), unsigned int UNUSED(t)) --{ -+bool sc_quit(girara_session_t* session, girara_argument_t* UNUSED(argument), girara_event_t* UNUSED(event), -+ unsigned int UNUSED(t)) { - g_return_val_if_fail(session != NULL, false); - -- girara_argument_t arg = { GIRARA_HIDE, NULL }; -+ girara_argument_t arg = {.n = GIRARA_HIDE, .data = NULL}; - girara_isc_completion(session, &arg, NULL, 0); - - cb_destroy(NULL, NULL); --- -2.41.0 - |