diff options
Diffstat (limited to 'gnu/packages/patches')
27 files changed, 724 insertions, 630 deletions
diff --git a/gnu/packages/patches/clang-14.0-libc-search-path.patch b/gnu/packages/patches/clang-14.0-libc-search-path.patch new file mode 100644 index 0000000000..7e439cd1ef --- /dev/null +++ b/gnu/packages/patches/clang-14.0-libc-search-path.patch @@ -0,0 +1,94 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on foreign distros. + +diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp +--- a/clang/lib/Driver/Distro.cpp ++++ b/clang/lib/Driver/Distro.cpp +@@ -96,6 +96,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) { + } + + static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) { ++ // The compiler should always behave the same, even when used via Guix on a ++ // foreign distro. ++ return Distro::UnknownDistro; ++ + Distro::DistroType Version = Distro::UnknownDistro; + + // Newer freedesktop.org's compilant systemd-based systems +diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp +--- a/clang/lib/Driver/ToolChains/Cuda.cpp ++++ b/clang/lib/Driver/ToolChains/Cuda.cpp +@@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector( + const Driver &D, const llvm::Triple &HostTriple, + const llvm::opt::ArgList &Args) + : D(D) { ++ // Don't look for CUDA in /usr. ++ return; ++ + struct Candidate { + std::string Path; + bool StrictChecking; +diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp +--- a/clang/lib/Driver/ToolChains/Linux.cpp ++++ b/clang/lib/Driver/ToolChains/Linux.cpp +@@ -186,6 +186,10 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + Generic_GCC::PushPPaths(PPaths); + ++ // Comment out the distro-specific tweaks so that they don't bite when ++ // using Guix on a foreign distro. ++#if 0 ++ + Distro Distro(D.getVFS(), Triple); + + if (Distro.IsAlpineLinux() || Triple.isAndroid()) { +@@ -250,6 +254,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -270,6 +275,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + } + Generic_GCC::AddMultilibPaths(D, SysRoot, OSLibDir, MultiarchTriple, Paths); + ++#if 0 + addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); + addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); + +@@ -298,9 +304,11 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths); + addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths); + } ++#endif + + Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); + ++#if 0 + // Similar to the logic for GCC above, if we are currently running Clang + // inside of the requested system root, add its parent library path to those + // searched. +@@ -313,9 +321,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + if (OSLibDir != "lib") + addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); + } ++#endif ++ ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add GCC's lib/ directory so libstdc++.so can be found. ++ addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths); + } + + ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const { diff --git a/gnu/packages/patches/efivar-211.patch b/gnu/packages/patches/efivar-211.patch new file mode 100644 index 0000000000..39d53a6ee0 --- /dev/null +++ b/gnu/packages/patches/efivar-211.patch @@ -0,0 +1,86 @@ +Patch from <https://github.com/rhboot/efivar/pull/211>. + +From 15622b7e5761f3dde3f0e42081380b2b41639a48 Mon Sep 17 00:00:00 2001 +From: itd0 <69421122+itd0@users.noreply.github.com> +Date: Mon, 4 Apr 2022 19:59:58 +0200 +Subject: [PATCH] Avoid format error on i686 + +On i686 definition of off_t and ssize_t differ. Update format length +modifiers as needed to avoid format errors with GCC. + +Signed-off-by: itd0 <69421122+itd0@users.noreply.github.com> +--- + src/esl-iter.c | 18 +++++++++--------- + src/secdb-dump.c | 2 +- + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/src/esl-iter.c b/src/esl-iter.c +index 26b5cb5e..4a1938ad 100644 +--- a/src/esl-iter.c ++++ b/src/esl-iter.c +@@ -308,13 +308,13 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type, + return -1; + } + if (iter->offset < 0) { +- efi_error("iter->offset (%zd) < 0", iter->offset); ++ efi_error("iter->offset (%jd) < 0", (intmax_t)iter->offset); + errno = EINVAL; + return -1; + } + if ((uint32_t)iter->offset >= iter->len) { +- efi_error("iter->offset (%zd) >= iter->len (%zd)", +- iter->offset, iter->len); ++ efi_error("iter->offset (%jd) >= iter->len (%zd)", ++ (intmax_t)iter->offset, iter->len); + errno = EINVAL; + return -1; + } +@@ -335,9 +335,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type, + iter->len - iter->offset, iter->len - iter->offset, + iter->esl->signature_list_size, iter->esl->signature_list_size); + if (correct_size && (iter->len - iter->offset) > 0) { +- warnx("correcting ESL size from %d to %zd at %lx", ++ warnx("correcting ESL size from %d to %jd at %lx", + iter->esl->signature_list_size, +- iter->len - iter->offset, iter->offset); ++ (intmax_t)(iter->len - iter->offset), iter->offset); + debug("correcting ESL size from %d to %zd at %lx", + iter->esl->signature_list_size, + iter->len - iter->offset, iter->offset); +@@ -360,9 +360,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type, + if (iter->len - iter->offset < iter->esl->signature_list_size) { + debug("EFI_SIGNATURE_LIST is malformed"); + if (correct_size && (iter->len - iter->offset) > 0) { +- warnx("correcting ESL size from %d to %zd at 0x%lx", ++ warnx("correcting ESL size from %d to %jd at 0x%lx", + iter->esl->signature_list_size, +- iter->len - iter->offset, iter->offset); ++ (intmax_t)(iter->len - iter->offset), iter->offset); + debug("correcting ESL size from %d to %zd at 0x%lx", + iter->esl->signature_list_size, + iter->len - iter->offset, iter->offset); +@@ -411,9 +411,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type, + if (iter->esl->signature_list_size > iter->len - iter->offset) { + debug("EFI_SIGNATURE_LIST is malformed"); + if (correct_size && (iter->len - iter->offset) > 0) { +- warnx("correcting ESL size from %d to %zd at 0x%lx", ++ warnx("correcting ESL size from %d to %jd at 0x%lx", + iter->esl->signature_list_size, +- iter->len - iter->offset, iter->offset); ++ (intmax_t)(iter->len - iter->offset), iter->offset); + debug("correcting ESL size from %d to %zd at 0x%lx", + iter->esl->signature_list_size, + iter->len - iter->offset, iter->offset); +diff --git a/src/secdb-dump.c b/src/secdb-dump.c +index 02fb915b..17f64411 100644 +--- a/src/secdb-dump.c ++++ b/src/secdb-dump.c +@@ -248,7 +248,7 @@ secdb_dump(efi_secdb_t *secdb, bool annotations) + esln += 1; + } + secdb_dump_finish(); +- printf("%08lx\n", offset); ++ printf("%08zx\n", offset); + + fflush(stdout); + } diff --git a/gnu/packages/patches/ganeti-haskell-compat.patch b/gnu/packages/patches/ganeti-haskell-compat.patch deleted file mode 100644 index 931c50e116..0000000000 --- a/gnu/packages/patches/ganeti-haskell-compat.patch +++ /dev/null @@ -1,18 +0,0 @@ -Adjust to type change of TupE in Template Haskell 2.16. - -diff --git a/src/Ganeti/THH/Types.hs b/src/Ganeti/THH/Types.hs ---- a/src/Ganeti/THH/Types.hs -+++ b/src/Ganeti/THH/Types.hs -@@ -123,4 +123,11 @@ curryN n = do - f <- newName "f" - ps <- replicateM n (newName "x") - return $ LamE (VarP f : map VarP ps) -- (AppE (VarE f) (TupE $ map VarE ps)) -+ (AppE (VarE f) (nonUnaryTupE $ map VarE ps)) -+ where -+ nonUnaryTupE :: [Exp] -> Exp -+ nonUnaryTupE es = TupE $ -+#if MIN_VERSION_template_haskell(2,16,0) -+ map Just -+#endif -+ es diff --git a/gnu/packages/patches/ganeti-pyyaml-compat.patch b/gnu/packages/patches/ganeti-pyyaml-compat.patch new file mode 100644 index 0000000000..2f74e48a82 --- /dev/null +++ b/gnu/packages/patches/ganeti-pyyaml-compat.patch @@ -0,0 +1,41 @@ +Add Loader argument to 'yaml.load' invocations as required by PyYAML 6.0. + +Submitted upstream: + + https://github.com/ganeti/ganeti/pull/1668 + +diff --git a/qa/qa_utils.py b/qa/qa_utils.py +index da485df48..27428e685 100644 +--- a/qa/qa_utils.py ++++ b/qa/qa_utils.py +@@ -450,7 +450,7 @@ def GetObjectInfo(infocmd): + master = qa_config.GetMasterNode() + cmdline = utils.ShellQuoteArgs(infocmd) + info_out = GetCommandOutput(master.primary, cmdline) +- return yaml.load(info_out) ++ return yaml.load(info_out, Loader=yaml.SafeLoader) + + + def UploadFile(node, src): +diff --git a/test/py/ganeti.cli_unittest.py b/test/py/ganeti.cli_unittest.py +index 9cc980afa..242aac9fd 100755 +--- a/test/py/ganeti.cli_unittest.py ++++ b/test/py/ganeti.cli_unittest.py +@@ -1141,14 +1141,15 @@ class TestFormatPolicyInfo(unittest.TestCase): + self._RenameDictItem(minmax, key, keyparts[0]) + self.assertTrue(constants.IPOLICY_DTS in parsed) + parsed[constants.IPOLICY_DTS] = yaml.load("[%s]" % +- parsed[constants.IPOLICY_DTS]) ++ parsed[constants.IPOLICY_DTS], ++ Loader=yaml.SafeLoader) + + @staticmethod + def _PrintAndParsePolicy(custom, effective, iscluster): + formatted = cli.FormatPolicyInfo(custom, effective, iscluster) + buf = StringIO() + cli._SerializeGenericInfo(buf, formatted, 0) +- return yaml.load(buf.getvalue()) ++ return yaml.load(buf.getvalue(), Loader=yaml.SafeLoader) + + def _PrintAndCheckParsed(self, policy): + parsed = self._PrintAndParsePolicy(policy, NotImplemented, True) diff --git a/gnu/packages/patches/ganeti-sphinx-compat.patch b/gnu/packages/patches/ganeti-sphinx-compat.patch deleted file mode 100644 index 4e84abbf37..0000000000 --- a/gnu/packages/patches/ganeti-sphinx-compat.patch +++ /dev/null @@ -1,24 +0,0 @@ -Adjust documentation for Sphinx 4.0. - -Discussed upstream at <https://github.com/ganeti/ganeti/pull/1615>. - -diff --git a/doc/index.rst b/doc/index.rst ---- a/doc/index.rst -+++ b/doc/index.rst -@@ -119,7 +119,6 @@ Draft designs - design-hotplug.rst - design-internal-shutdown.rst - design-kvmd.rst -- design-location.rst - design-linuxha.rst - design-location.rst - design-lu-generated-jobs.rst -diff --git a/lib/build/shell_example_lexer.py b/lib/build/shell_example_lexer.py ---- a/lib/build/shell_example_lexer.py -+++ b/lib/build/shell_example_lexer.py -@@ -79,4 +79,4 @@ class ShellExampleLexer(RegexLexer): - - - def setup(app): -- app.add_lexer("shell-example", ShellExampleLexer()) -+ app.add_lexer("shell-example", ShellExampleLexer) diff --git a/gnu/packages/patches/gtk-introspection-test.patch b/gnu/packages/patches/gtk-introspection-test.patch deleted file mode 100644 index 570ea806a9..0000000000 --- a/gnu/packages/patches/gtk-introspection-test.patch +++ /dev/null @@ -1,22 +0,0 @@ -# Extend rather than stomp environment variables. -# Upstream status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4268 -diff --git a/testsuite/introspection/meson.build b/testsuite/introspection/meson.build -index 6202fb7446..b59191eb0f 100644 ---- a/testsuite/introspection/meson.build -+++ b/testsuite/introspection/meson.build -@@ -1,9 +1,10 @@ -+env = environment() -+env.prepend('GI_TYPELIB_PATH', -+ join_paths(project_build_root, 'gtk'), -+ gi_dep.get_pkgconfig_variable('typelibdir')) -+env.prepend('LD_PRELOAD', join_paths(project_build_root, 'gtk', 'libgtk-4.so')) - - test('api', - find_program('api.py', dirs: meson.current_source_dir()), - suite: ['introspection'], -- env: [ -- 'GI_TYPELIB_PATH=@0@/gtk:@1@'.format(project_build_root, -- gi_dep.get_pkgconfig_variable('typelibdir')), -- 'LD_PRELOAD=@0@/gtk/libgtk-4.so'.format(project_build_root), -- ]) -+ env: env) diff --git a/gnu/packages/patches/hwloc-1-test-btrfs.patch b/gnu/packages/patches/hwloc-1-test-btrfs.patch new file mode 100644 index 0000000000..a5d3780e2d --- /dev/null +++ b/gnu/packages/patches/hwloc-1-test-btrfs.patch @@ -0,0 +1,54 @@ +From 093316a897a2eb4972a7a3a5888f40975d03f6bf Mon Sep 17 00:00:00 2001 +From: Brice Goglin <Brice.Goglin@inria.fr> +Date: Tue, 5 Apr 2022 17:39:50 +0200 +Subject: [PATCH] linux: (partial) fix the discovery of hugepages on btrfs + fsroot + +btrfs always returns 1 in directory stat.st_nlink. +It breaks make check in tests/linux/ because the hugepages discovery +uses st_nlink to allocate the memory page_types array. + +Always allocate at least 3 page_types slots +(enough for all known cases, 1 for normal, 2 for huge pages) + +(partially cherry-picked from commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc) + +We don't reallocate later if needed as in 2.x commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc +because v1.11 doesn't deserve a complete fix. Just commit the minimal change +so that tests/linux/2i386-2t-hugepagesizecount with HWLOC_PAGESIZE_DEBUG=4096 +doesn't crash in btrfs anymore (test-topology.sh fails during make check if /tmp is in btrfs). + +Thanks to Philippe Swartvagher for the report. + +Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr> +--- + src/topology-linux.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/topology-linux.c b/src/topology-linux.c +index 58c275fea..269eca7f5 100644 +--- a/src/topology-linux.c ++++ b/src/topology-linux.c +@@ -1,6 +1,6 @@ + /* + * Copyright © 2009 CNRS +- * Copyright © 2009-2019 Inria. All rights reserved. ++ * Copyright © 2009-2022 Inria. All rights reserved. + * Copyright © 2009-2013, 2015 Université Bordeaux + * Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved. + * Copyright © 2015 Intel, Inc. All rights reserved. +@@ -2329,7 +2329,14 @@ hwloc_get_procfs_meminfo_info(struct hwloc_topology *topology, + + err = hwloc_stat("/sys/kernel/mm/hugepages", &st, data->root_fd); + if (!err) { +- types = 1 + st.st_nlink-2; ++ types = 1 /* normal non-huge size */ + st.st_nlink - 2 /* ignore . and .. */; ++ if (types < 3) ++ /* some buggy filesystems (e.g. btrfs when reading from fsroot) ++ * return wrong st_nlink for directories (always 1 for btrfs). ++ * use 3 as a sane default (default page + 2 huge sizes). ++ * hwloc_parse_hugepages_info() will extend it if needed. ++ */ ++ types = 3; + has_sysfs_hugepages = 1; + } diff --git a/gnu/packages/patches/idris-build-with-haskeline-0.8.patch b/gnu/packages/patches/idris-build-with-haskeline-0.8.patch deleted file mode 100644 index 5d1fec2409..0000000000 --- a/gnu/packages/patches/idris-build-with-haskeline-0.8.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 89a87cf666eb8b27190c779e72d0d76eadc1bc14 Mon Sep 17 00:00:00 2001 -From: Niklas Larsson <niklas@mm.st> -Date: Sat, 6 Jun 2020 15:29:45 +0200 -Subject: [PATCH] Fix to unblock haskeline-0.8 - ---- -Taken from <https://github.com/idris-lang/Idris-dev/pull/4871> - - idris.cabal | 2 +- - src/Idris/Output.hs | 8 -------- - src/Idris/REPL.hs | 12 +++++------- - 3 files changed, 6 insertions(+), 16 deletions(-) - -diff --git a/idris.cabal b/idris.cabal -index 38359019a9..bc9e265023 100644 ---- a/idris.cabal -+++ b/idris.cabal -@@ -336,7 +336,7 @@ Library - , directory >= 1.2.2.0 && < 1.2.3.0 || > 1.2.3.0 - , filepath < 1.5 - , fingertree >= 0.1.4.1 && < 0.2 -- , haskeline >= 0.7 && < 0.8 -+ , haskeline >= 0.8 && < 0.9 - , ieee754 >= 0.7 && < 0.9 - , megaparsec >= 7.0.4 && < 9 - , mtl >= 2.1 && < 2.3 -diff --git a/src/Idris/Output.hs b/src/Idris/Output.hs -index 70b4d48a30..6b5d59948c 100644 ---- a/src/Idris/Output.hs -+++ b/src/Idris/Output.hs -@@ -37,21 +37,13 @@ import Prelude hiding ((<$>)) - #endif - - import Control.Arrow (first) --import Control.Monad.Trans.Except (ExceptT(ExceptT), runExceptT) - import Data.List (intersperse, nub) - import Data.Maybe (fromJust, fromMaybe, isJust, listToMaybe) - import qualified Data.Set as S --import System.Console.Haskeline.MonadException (MonadException(controlIO), -- RunIO(RunIO)) - import System.FilePath (replaceExtension) - import System.IO (Handle, hPutStr, hPutStrLn) - import System.IO.Error (tryIOError) - --instance MonadException m => MonadException (ExceptT Err m) where -- controlIO f = ExceptT $ controlIO $ \(RunIO run) -> let -- run' = RunIO (fmap ExceptT . run . runExceptT) -- in fmap runExceptT $ f run' -- - pshow :: IState -> Err -> String - pshow ist err = displayDecorated (consoleDecorate ist) . - renderPretty 1.0 80 . -diff --git a/src/Idris/REPL.hs b/src/Idris/REPL.hs -index 05587d9672..5e0dc21089 100644 ---- a/src/Idris/REPL.hs -+++ b/src/Idris/REPL.hs -@@ -122,23 +122,21 @@ repl orig mods efile - (if colour && not isWindows - then colourisePrompt theme str - else str) ++ " " -- x <- H.catch (H.withInterrupt $ getInputLine prompt) -- (ctrlC (return $ Just "")) -+ x <- H.handleInterrupt (ctrlC (return $ Just "")) (H.withInterrupt $ getInputLine prompt) - case x of - Nothing -> do lift $ when (not quiet) (iputStrLn "Bye bye") - return () - Just input -> -- H.catch -- do ms <- H.catch (H.withInterrupt $ lift $ processInput input orig mods efile) -- (ctrlC (return (Just mods))) -+ do ms <- H.handleInterrupt (ctrlC (return (Just mods))) (H.withInterrupt $ lift $ processInput input orig mods efile) - case ms of - Just mods -> let efile' = fromMaybe efile (listToMaybe mods) - in repl orig mods efile' - Nothing -> return () - -- ctrlC) - -- ctrlC -- where ctrlC :: InputT Idris a -> SomeException -> InputT Idris a -- ctrlC act e = do lift $ iputStrLn (show e) -- act -- repl orig mods -+ where ctrlC :: InputT Idris a -> InputT Idris a -+ ctrlC act = do lift $ iputStrLn "Interrupted" -+ act -- repl orig mods - - showMVs c thm [] = "" - showMVs c thm ms = "Holes: " ++ diff --git a/gnu/packages/patches/idris-build-with-megaparsec-9.patch b/gnu/packages/patches/idris-build-with-megaparsec-9.patch deleted file mode 100644 index 6d7ff1d713..0000000000 --- a/gnu/packages/patches/idris-build-with-megaparsec-9.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6ea9bc913877d765048d7cdb7fc5aec60b196fac Mon Sep 17 00:00:00 2001 -From: Felix Yan <felixonmars@archlinux.org> -Date: Wed, 16 Dec 2020 21:48:32 +0800 -Subject: [PATCH] Fix compatibility with megaparsec 9 - ---- -Taken from <https://github.com/idris-lang/Idris-dev/pull/4892> - - src/Idris/Parser/Stack.hs | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/Idris/Parser/Stack.hs b/src/Idris/Parser/Stack.hs -index fb7b611440..879786f4d2 100644 ---- a/src/Idris/Parser/Stack.hs -+++ b/src/Idris/Parser/Stack.hs -@@ -84,7 +84,11 @@ instance Message ParseError where - (pos, _) = P.reachOffsetNoLine (parseErrorOffset err) (parseErrorPosState err) - #endif - messageText = PP.text . init . P.parseErrorTextPretty . parseError -+#if MIN_VERSION_megaparsec(9,0,0) -+ messageSource err = sline -+#else - messageSource err = Just sline -+#endif - where - #if MIN_VERSION_megaparsec(8,0,0) - (sline, _) = P.reachOffset (parseErrorOffset err) (parseErrorPosState err) diff --git a/gnu/packages/patches/idris-disable-test.patch b/gnu/packages/patches/idris-disable-test.patch deleted file mode 100644 index ec8c7c8451..0000000000 --- a/gnu/packages/patches/idris-disable-test.patch +++ /dev/null @@ -1,19 +0,0 @@ -The "pkg010" test output depends on the version of optparse-applicative being -used. The expected output requires optparse-applicative >= 0.15.1.0. Skip -the test for now. - ---- idris-1.3.3/test/TestData.hs 2021-01-19 23:05:24.238958262 -0600 -+++ idris-1.3.3/test/TestData.hs 2021-01-19 23:10:33.314390997 -0600 -@@ -212,8 +212,10 @@ - ( 5, ANY ), - ( 6, ANY ), - ( 7, ANY ), -- ( 8, ANY ), -- ( 10, ANY )]), -+ ( 8, ANY )]), -+-- FIXME: Expected output depends on optparse-applicative version. -+-- See https://github.com/idris-lang/Idris-dev/issues/4896 -+-- ( 10, ANY )]), - ("prelude", "Prelude", - [ ( 1, ANY )]), - ("primitives", "Primitive types", diff --git a/gnu/packages/patches/idris-test-ffi008.patch b/gnu/packages/patches/idris-test-ffi008.patch new file mode 100644 index 0000000000..530813c20e --- /dev/null +++ b/gnu/packages/patches/idris-test-ffi008.patch @@ -0,0 +1,26 @@ +Avoid "multiple definition of `mystruct'" error from `ld`: + +Submitted upstream at https://github.com/idris-lang/Idris-dev/issues/4914 + +--- a/test/ffi008/ffi008.h 1969-12-31 18:00:01.000000000 -0600 ++++ a/test/ffi008/ffi008.h 2022-04-13 00:32:35.561262598 -0500 +@@ -10,7 +10,7 @@ + int16_t b; + }; + +-struct test2 mystruct; ++extern struct test2 mystruct; + + int size1(void); + int size2(void); +--- a/test/ffi008/ffi008.c 1969-12-31 18:00:01.000000000 -0600 ++++ a/test/ffi008/ffi008.c 2022-04-13 00:32:53.145186302 -0500 +@@ -11,6 +11,8 @@ + return sizeof(struct test2); + } + ++struct test2 mystruct; ++ + void print_mystruct(void) { + printf("a: %d b: %d\n", mystruct.a, mystruct.b); + } diff --git a/gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch b/gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch new file mode 100644 index 0000000000..9325dd3da6 --- /dev/null +++ b/gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch @@ -0,0 +1,72 @@ +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Thu, 31 Mar 2022 17:02:00 +0200 +Subject: Make openjdk use libxcursor directly + +Fixes <https://issues.guix.gnu.org/54654>. + +This patch makes openjdk use libxcursor directly. +Without it, libx11 would try to dlopen("libXcursor.so.1") and fail. + +diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk +--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 2022-03-31 15:34:08.773419480 +0200 ++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 2022-03-31 21:36:27.854273411 +0200 +@@ -217,7 +217,7 @@ + endif + endif + +- LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm ++ LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXcursor -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm + + ifeq ($(call isTargetOs, linux), true) + LIBAWT_XAWT_LIBS += -lpthread +diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c +--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 2022-03-31 15:34:11.917502206 +0200 ++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 2022-03-31 21:38:16.417253535 +0200 +@@ -40,10 +40,12 @@ + #include <X11/keysym.h> + #include <X11/Sunkeysym.h> + #include <X11/Xlib.h> ++#include <X11/Xlibint.h> + #include <X11/Xatom.h> + #include <X11/XKBlib.h> + #include <X11/Xos.h> + #include <X11/Xutil.h> ++#include <X11/Xcursor/Xcursor.h> + + #if defined(AIX) + #undef X_HAVE_UTF8_STRING +@@ -972,10 +974,21 @@ + + } + ++static XColor _Xconst foreground = { 0, 0, 0, 0 }; /* black */ ++static XColor _Xconst background = { 0, 65535, 65535, 65535 }; /* white */ ++ + JNIEXPORT jint JNICALL Java_sun_awt_X11_XlibWrapper_XCreateFontCursor + (JNIEnv *env, jclass clazz, jlong display, jint shape) { + AWT_CHECK_HAVE_LOCK_RETURN(0); +- return XCreateFontCursor((Display *) jlong_to_ptr(display), (int) shape); ++ Display * dpy = (Display *) jlong_to_ptr(display); ++ if (dpy->cursor_font == None) { ++ dpy->cursor_font = XLoadFont(dpy, "cursor"); ++ if (dpy->cursor_font == None) return None; ++ } ++ Cursor result = XcursorTryShapeCursor(dpy, dpy->cursor_font, dpy->cursor_font, (int) shape, (int) shape + 1, &foreground, &background); ++ if (!result) ++ result = XCreateFontCursor(dpy, (int) shape); ++ return result; + } + + /* +diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix +--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 2022-03-31 15:34:10.553466316 +0200 ++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 2022-03-31 21:36:27.854273411 +0200 +@@ -31,7 +31,7 @@ + + J_INC = $(TESTJAVA)/include + INCLUDES = -I$(J_INC) -I$(J_INC)/$(SYST) -I. +-LIBS = -L$(TESTJAVA)/lib -ljawt -lX11 ++LIBS = -L$(TESTJAVA)/lib -ljawt -lX11 -lXcursor + + all: $(CLASSES) libmylib.so + diff --git a/gnu/packages/patches/pigx-rnaseq-no-citeproc.patch b/gnu/packages/patches/pigx-rnaseq-no-citeproc.patch deleted file mode 100644 index 366ae3890a..0000000000 --- a/gnu/packages/patches/pigx-rnaseq-no-citeproc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur pigx_rnaseq-0.0.19/configure.ac pigx_rnaseq-0.0.19.patched/configure.ac ---- pigx_rnaseq-0.0.19/configure.ac 2021-07-23 14:01:00.304391428 +0200 -+++ pigx_rnaseq-0.0.19.patched/configure.ac 2021-10-06 13:51:29.512960106 +0200 -@@ -38,7 +38,6 @@ - find_or_override_prog([GNUBASH], [bash]) - find_or_override_prog([SNAKEMAKE], [snakemake]) - find_or_override_prog([PANDOC], [pandoc]) --find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc]) - find_or_override_prog([STAR], [STAR]) - find_or_override_prog([HISAT2], [hisat2]) - find_or_override_prog([HISAT2_BUILD], [hisat2-build]) -diff -Naur pigx_rnaseq-0.0.19/Makefile.in pigx_rnaseq-0.0.19.patched/Makefile.in ---- pigx_rnaseq-0.0.19/Makefile.in 2021-08-13 13:40:10.402922844 +0200 -+++ pigx_rnaseq-0.0.19.patched/Makefile.in 2021-10-06 13:51:04.052247524 +0200 -@@ -410,7 +410,6 @@ - PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PANDOC = @PANDOC@ --PANDOC_CITEPROC = @PANDOC_CITEPROC@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PYTHON = @PYTHON@ - PYTHONPATH = @PYTHONPATH@ -diff -Naur pigx_rnaseq-0.0.19/pigx-common/common/pigx-runner.in pigx_rnaseq-0.0.19.patched/pigx-common/common/pigx-runner.in ---- pigx_rnaseq-0.0.19/pigx-common/common/pigx-runner.in 2021-08-13 13:27:50.494352532 +0200 -+++ pigx_rnaseq-0.0.19.patched/pigx-common/common/pigx-runner.in 2021-10-06 13:51:38.798220108 +0200 -@@ -379,7 +379,6 @@ - if path.exists(bin): shutil.rmtree(bin) - os.makedirs(bin, exist_ok=True) - os.symlink('@PANDOC@', path.join(bin, "pandoc")) -- os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc")) - os.symlink('@RSCRIPT@', path.join(bin, "Rscript")) - os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] - os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] diff --git a/gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch b/gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch deleted file mode 100644 index 3f34bca6b2..0000000000 --- a/gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur pigx_sars-cov2-ww-0.0.3/configure.ac pigx_sars-cov2-ww-0.0.3.patched/configure.ac ---- pigx_sars-cov2-ww-0.0.3/configure.ac 2021-06-10 10:12:00.552889984 +0200 -+++ pigx_sars-cov2-ww-0.0.3.patched/configure.ac 2021-10-05 14:52:32.318695129 +0200 -@@ -50,7 +50,6 @@ - find_or_override_prog([MULTIQC], [multiqc]) - find_or_override_prog([WGET], [wget]) - find_or_override_prog([PANDOC], [pandoc]) --find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc]) - - AC_ARG_ENABLE([r-packages-check], - AS_HELP_STRING([--disable-r-packages-check], [Do not check any R packages.]), -diff -Naur pigx_sars-cov2-ww-0.0.3/Makefile.in pigx_sars-cov2-ww-0.0.3.patched/Makefile.in ---- pigx_sars-cov2-ww-0.0.3/Makefile.in 2021-08-05 16:33:59.164123383 +0200 -+++ pigx_sars-cov2-ww-0.0.3.patched/Makefile.in 2021-10-05 14:52:41.272958547 +0200 -@@ -402,7 +402,6 @@ - PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PANDOC = @PANDOC@ --PANDOC_CITEPROC = @PANDOC_CITEPROC@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PRINSEQ = @PRINSEQ@ - PYTHON = @PYTHON@ -diff -Naur pigx_sars-cov2-ww-0.0.3/pigx-common/common/pigx-runner.in pigx_sars-cov2-ww-0.0.3.patched/pigx-common/common/pigx-runner.in ---- pigx_sars-cov2-ww-0.0.3/pigx-common/common/pigx-runner.in 2021-07-30 11:10:17.913115902 +0200 -+++ pigx_sars-cov2-ww-0.0.3.patched/pigx-common/common/pigx-runner.in 2021-10-05 14:52:23.602438714 +0200 -@@ -379,7 +379,6 @@ - if path.exists(bin): shutil.rmtree(bin) - os.makedirs(bin, exist_ok=True) - os.symlink('@PANDOC@', path.join(bin, "pandoc")) -- os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc")) - os.symlink('@RSCRIPT@', path.join(bin, "Rscript")) - os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] - os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] diff --git a/gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch b/gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch deleted file mode 100644 index 4cce33fb01..0000000000 --- a/gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur pigx_scrnaseq-1.1.7/configure.ac pigx_scrnaseq-1.1.7.patched/configure.ac ---- pigx_scrnaseq-1.1.7/configure.ac 2020-03-17 14:37:46.000000000 +0100 -+++ pigx_scrnaseq-1.1.7.patched/configure.ac 2021-10-06 13:55:49.779271317 +0200 -@@ -43,7 +43,6 @@ - find_or_override_prog([GNUBASH], [bash]) - find_or_override_prog([SNAKEMAKE], [snakemake]) - find_or_override_prog([PANDOC], [pandoc]) --find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc]) - find_or_override_prog([FASTQC], [fastqc]) - find_or_override_prog([STAR], [STAR]) - find_or_override_prog([SAMTOOLS], [samtools]) -diff -Naur pigx_scrnaseq-1.1.7/Makefile.in pigx_scrnaseq-1.1.7.patched/Makefile.in ---- pigx_scrnaseq-1.1.7/Makefile.in 2020-11-30 16:55:48.000000000 +0100 -+++ pigx_scrnaseq-1.1.7.patched/Makefile.in 2021-10-06 13:55:52.224340194 +0200 -@@ -395,7 +395,6 @@ - PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PANDOC = @PANDOC@ --PANDOC_CITEPROC = @PANDOC_CITEPROC@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - PYTHON = @PYTHON@ -diff -Naur pigx_scrnaseq-1.1.7/pigx-scrnaseq.in pigx_scrnaseq-1.1.7.patched/pigx-scrnaseq.in ---- pigx_scrnaseq-1.1.7/pigx-scrnaseq.in 2020-11-30 16:08:55.000000000 +0100 -+++ pigx_scrnaseq-1.1.7.patched/pigx-scrnaseq.in 2021-10-06 13:55:47.889218079 +0200 -@@ -274,7 +274,6 @@ - if path.exists(bin): shutil.rmtree(bin) - os.makedirs(bin, exist_ok=True) - os.symlink('@PANDOC@', path.join(bin, "pandoc")) -- os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc")) - os.symlink('@RSCRIPT@', path.join(bin, "Rscript")) - os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] - os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] diff --git a/gnu/packages/patches/python-robotframework-atest.patch b/gnu/packages/patches/python-robotframework-atest.patch new file mode 100644 index 0000000000..619ed61b65 --- /dev/null +++ b/gnu/packages/patches/python-robotframework-atest.patch @@ -0,0 +1,61 @@ +Patch submitted upstream: https://github.com/robotframework/robotframework/pull/4286. + +diff --git a/atest/robot/standard_libraries/operating_system/modified_time.robot b/atest/robot/standard_libraries/operating_system/modified_time.robot +index d144ffd34..c7681e61d 100644 +--- a/atest/robot/standard_libraries/operating_system/modified_time.robot ++++ b/atest/robot/standard_libraries/operating_system/modified_time.robot +@@ -8,7 +8,7 @@ ${TESTFILE} %{TEMPDIR}${/}robot-os-tests${/}f1.txt + *** Test Cases *** + Get Modified Time As Timestamp + ${tc} = Check Test Case ${TESTNAME} +- Should Match Regexp ${tc.kws[0].msgs[0].message} Last modified time of '<a href=.*</a>' is 20\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d ++ Should Match Regexp ${tc.kws[0].msgs[0].message} Last modified time of '<a href=.*</a>' is \\d\\d\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d + + Get Modified Time As Seconds After Epoch + ${tc} = Check Test Case ${TESTNAME} +diff --git a/atest/testdata/standard_libraries/builtin/get_time.robot b/atest/testdata/standard_libraries/builtin/get_time.robot +index 9847d8c42..24ce732ca 100644 +--- a/atest/testdata/standard_libraries/builtin/get_time.robot ++++ b/atest/testdata/standard_libraries/builtin/get_time.robot +@@ -11,18 +11,18 @@ Get Time As Timestamp + + Get Time As Seconds After Epoch + ${time} = Get Time epoch +- Should Be True 1000000000 < ${time} < 2000000000 ++ Should Be True 0 < ${time} + + Get Time As Parts + @{time} = Get Time year, month, day, hour, min, sec +- Should Be True 2000 < ${time}[0] < 2100 ++ Should Match Regexp ${time}[0] \\d{4} + Should Be True 1 <= int('${time}[1]') <= 12 + Should Be True 1 <= int('${time}[2]') <= 31 + Should Be True 0 <= int('${time}[3]') <= 23 + Should Be True 0 <= int('${time}[4]') <= 59 + Should Be True 0 <= int('${time}[5]') <= 59 + ${year} ${min} ${sec} = Get Time seconds and minutes and year and whatnot +- Should Be True 2000 < ${year} < 2100 ++ Should Match Regexp ${year} \\d{4} + Should Be True 0 <= int('${min}') <= 59 + Should Be True 0 <= int('${sec}') <= 59 + +diff --git a/atest/testdata/standard_libraries/operating_system/modified_time.robot b/atest/testdata/standard_libraries/operating_system/modified_time.robot +index 9489b3c9c..c712ebaed 100644 +--- a/atest/testdata/standard_libraries/operating_system/modified_time.robot ++++ b/atest/testdata/standard_libraries/operating_system/modified_time.robot +@@ -14,13 +14,13 @@ Get Modified Time As Timestamp + + Get Modified Time As Seconds After Epoch + ${dirtime} = Get Modified Time ${CURDIR} epoch +- Should Be True 1000000000 < ${dirtime} < 2000000000 ++ Should Be True ${dirtime} > 0 + ${current} = Get Time epoch + Should Be True ${current} >= ${dirtime} + + Get Modified Time As Parts + ${year} = Get Modified Time ${CURDIR} year +- Should Be True 2000 < ${year} < 2100 ++ Should Match Regexp ${year} \\d{4} + ${yyyy} ${mm} ${dd} = Get Modified Time ${CURDIR} year, month, day + Should Be Equal ${yyyy} ${year} + # Must use `int('x')` because otherwise 08 and 09 are considered octal diff --git a/gnu/packages/patches/python-robotframework-source-date-epoch.patch b/gnu/packages/patches/python-robotframework-source-date-epoch.patch index 11424bf4db..7f00d82061 100644 --- a/gnu/packages/patches/python-robotframework-source-date-epoch.patch +++ b/gnu/packages/patches/python-robotframework-source-date-epoch.patch @@ -1,12 +1,64 @@ -Do not embed any timestamp in the built documentation. - -Upstream issue: https://github.com/robotframework/robotframework/issues/4262. +Patch submitted upstream: https://github.com/robotframework/robotframework/pull/4286. +diff --git a/BUILD.rst b/BUILD.rst +index 67902dd09..749c53fde 100644 +--- a/BUILD.rst ++++ b/BUILD.rst +@@ -204,6 +204,9 @@ Creating distributions + + 7. Documentation + ++ - For a reproducible build, set the ``SOURCE_DATE_EPOCH`` ++ environment variable to 1. ++ + - Generate library documentation:: + + invoke library-docs all +diff --git a/atest/robot/libdoc/html_output.robot b/atest/robot/libdoc/html_output.robot +index f42a4b150..af428c967 100644 +--- a/atest/robot/libdoc/html_output.robot ++++ b/atest/robot/libdoc/html_output.robot +@@ -15,7 +15,7 @@ Version + + Generated + [Template] Should Match Regexp +- ${MODEL}[generated] \\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} ++ ${MODEL}[generated] \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2} + + Scope + ${MODEL}[scope] GLOBAL +diff --git a/atest/robot/libdoc/json_output.robot b/atest/robot/libdoc/json_output.robot +index 78305a458..654603704 100644 +--- a/atest/robot/libdoc/json_output.robot ++++ b/atest/robot/libdoc/json_output.robot +@@ -15,7 +15,7 @@ Version + + Generated + [Template] Should Match Regexp +- ${MODEL}[generated] \\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} ++ ${MODEL}[generated] \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2} + + Scope + ${MODEL}[scope] GLOBAL +diff --git a/atest/robot/libdoc/libdoc_resource.robot b/atest/robot/libdoc/libdoc_resource.robot +index bd7c10ecd..b7e06aacc 100644 +--- a/atest/robot/libdoc/libdoc_resource.robot ++++ b/atest/robot/libdoc/libdoc_resource.robot +@@ -92,7 +92,8 @@ Lineno Should Be + Element Attribute Should Be ${LIBDOC} lineno ${lineno} + + Generated Should Be Defined +- Element Attribute Should Match ${LIBDOC} generated ????-??-??T??:??:??Z ++ # For example, '1970-01-01T00:00:01+00:00'. ++ Element Attribute Should Match ${LIBDOC} generated ????-??-??T??:??:?????:?? + + Spec version should be correct + Element Attribute Should Be ${LIBDOC} specversion 4 diff --git a/doc/userguide/ug2html.py b/doc/userguide/ug2html.py -index 43cdb31bd..550e74a79 100755 +index 033203552..b278c71c8 100755 --- a/doc/userguide/ug2html.py +++ b/doc/userguide/ug2html.py -@@ -158,8 +158,7 @@ def create_userguide(): +@@ -150,8 +150,7 @@ def create_userguide(): install_file = _copy_installation_instructions() description = 'HTML generator for Robot Framework User Guide.' @@ -17,48 +69,97 @@ index 43cdb31bd..550e74a79 100755 'RobotFrameworkUserGuide.html'] os.chdir(CURDIR) diff --git a/src/robot/libdocpkg/model.py b/src/robot/libdocpkg/model.py -index 4d9ffd70b..5c276d1d6 100644 +index 5f44039ef..c36bf4a49 100644 --- a/src/robot/libdocpkg/model.py +++ b/src/robot/libdocpkg/model.py -@@ -14,6 +14,7 @@ - # limitations under the License. +@@ -19,7 +19,7 @@ from itertools import chain - import json -+import os - import re - from itertools import chain + from robot.model import Tags + from robot.running import ArgumentSpec +-from robot.utils import getshortdoc, get_timestamp, Sortable, setter ++from robot.utils import get_timestamp_for_doc, getshortdoc, Sortable, setter -@@ -113,7 +114,8 @@ class LibraryDoc(object): + from .htmlutils import DocFormatter, DocToHtml, HtmlToText + from .writer import LibdocWriter +@@ -113,7 +113,7 @@ class LibraryDoc: 'name': self.name, 'doc': self.doc, 'version': self.version, - 'generated': get_timestamp(daysep='-', millissep=None), -+ 'generated': ('' if os.environ['SOURCE_DATE_EPOCH'] -+ else get_timestamp(daysep='-', millissep=None)), ++ 'generated': get_timestamp_for_doc(), 'type': self.type, 'scope': self.scope, 'docFormat': self.doc_format, diff --git a/src/robot/libdocpkg/xmlwriter.py b/src/robot/libdocpkg/xmlwriter.py -index 3882e1219..4a84fb42e 100644 +index a765ebb2b..980debebb 100644 --- a/src/robot/libdocpkg/xmlwriter.py +++ b/src/robot/libdocpkg/xmlwriter.py -@@ -14,6 +14,8 @@ +@@ -13,9 +13,7 @@ + # See the License for the specific language governing permissions and # limitations under the License. - import os.path -+import os -+ - from datetime import datetime +-from datetime import datetime +- +-from robot.utils import XmlWriter ++from robot.utils import XmlWriter, get_timestamp_for_doc + - from robot.utils import WINDOWS, XmlWriter, unicode -@@ -30,7 +32,9 @@ class LibdocXmlWriter(object): + class LibdocXmlWriter: +@@ -32,12 +30,11 @@ class LibdocXmlWriter: self._write_end(writer) def _write_start(self, libdoc, writer): - generated = datetime.utcnow().replace(microsecond=0).isoformat() + 'Z' -+ generated = ( -+ '' if os.environ['SOURCE_DATE_EPOCH'] -+ else datetime.utcnow().replace(microsecond=0).isoformat() + 'Z') attrs = {'name': libdoc.name, 'type': libdoc.type, 'format': libdoc.doc_format, + 'scope': libdoc.scope, +- 'generated': generated, ++ 'generated': get_timestamp_for_doc(), + 'specversion': '4'} + self._add_source_info(attrs, libdoc) + writer.start('keywordspec', attrs) +diff --git a/src/robot/utils/__init__.py b/src/robot/utils/__init__.py +index 442ffa4f3..80793ec29 100644 +--- a/src/robot/utils/__init__.py ++++ b/src/robot/utils/__init__.py +@@ -58,9 +58,9 @@ from .robotinspect import is_init + from .robotio import binary_file_writer, create_destination_directory, file_writer + from .robotpath import abspath, find_file, get_link_path, normpath + from .robottime import (elapsed_time_to_string, format_time, get_elapsed_time, +- get_time, get_timestamp, secs_to_timestamp, +- secs_to_timestr, timestamp_to_secs, timestr_to_secs, +- parse_time) ++ get_time, get_timestamp, get_timestamp_for_doc, ++ secs_to_timestamp, secs_to_timestr, timestamp_to_secs, ++ timestr_to_secs, parse_time) + from .robottypes import (FALSE_STRINGS, TRUE_STRINGS, is_bytes, is_dict_like, is_falsy, + is_integer, is_list_like, is_number, is_pathlike, is_string, + is_truthy, is_union, type_name, type_repr, typeddict_types) +diff --git a/src/robot/utils/robottime.py b/src/robot/utils/robottime.py +index 97a7d1af0..4a0ba2d83 100644 +--- a/src/robot/utils/robottime.py ++++ b/src/robot/utils/robottime.py +@@ -13,6 +13,8 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import datetime ++import os + import re + import time + +@@ -316,6 +318,13 @@ def get_timestamp(daysep='', daytimesep=' ', timesep=':', millissep='.'): + return TIMESTAMP_CACHE.get_timestamp(daysep, daytimesep, timesep, millissep) + + ++def get_timestamp_for_doc(): ++ """Return a timestamp that honors `SOURCE_DATE_EPOCH`.""" ++ ts = float(os.getenv('SOURCE_DATE_EPOCH', time.time())) ++ dt = datetime.datetime.fromtimestamp(round(ts), datetime.timezone.utc) ++ return dt.isoformat() ++ ++ + def timestamp_to_secs(timestamp, seps=None): + try: + secs = _timestamp_to_millis(timestamp, seps) / 1000.0 diff --git a/gnu/packages/patches/python-robotframework-ug2html.patch b/gnu/packages/patches/python-robotframework-ug2html.patch deleted file mode 100644 index eea88e01f3..0000000000 --- a/gnu/packages/patches/python-robotframework-ug2html.patch +++ /dev/null @@ -1,57 +0,0 @@ -Do not require the obsolete robotframeworklexer. - -Submitted upstream at: https://github.com/robotframework/robotframework/pull/4265. -diff --git a/doc/userguide/ug2html.py b/doc/userguide/ug2html.py -index 43cdb31bd..033203552 100755 ---- a/doc/userguide/ug2html.py -+++ b/doc/userguide/ug2html.py -@@ -93,34 +93,26 @@ from docutils.parsers.rst import directives - from pygments import highlight, __version__ as pygments_version - from pygments.lexers import get_lexer_by_name - --# Use latest version, not version bundled with Pygments --import robotframeworklexer -- - - def too_old(version_string, minimum): - version = tuple(int(v) for v in version_string.split('.')[:2]) - return version < minimum - - --if too_old(getattr(robotframeworklexer, '__version__', '1.0'), (1, 1)): -- sys.exit('robotframeworklexer >= 1.1 is required.') --if too_old(pygments_version, (2, 1)): -- sys.exit('Pygments >= 2.1 is required.') -+if too_old(pygments_version, (2, 8)): -+ sys.exit('Pygments >= 2.8 is required.') - - - def pygments_directive(name, arguments, options, content, lineno, - content_offset, block_text, state, state_machine): - try: -- if arguments[0] == 'robotframework': -- lexer = robotframeworklexer.RobotFrameworkLexer() -- else: -- lexer = get_lexer_by_name(arguments[0]) -+ lexer = get_lexer_by_name(arguments[0]) - except ValueError as err: - raise ValueError(f'Invalid syntax highlighting language "{arguments[0]}".') - # take an arbitrary option if more than one is given - formatter = options and VARIANTS[options.keys()[0]] or DEFAULT - # possibility to read the content from an external file -- filtered = [ line for line in content if line.strip() ] -+ filtered = [line for line in content if line.strip()] - if len(filtered) == 1: - path = filtered[0].replace('/', os.sep) - if os.path.isfile(path): -diff --git a/requirements-build.txt b/requirements-build.txt -index e0f5e19a2..a2fcdcfd5 100644 ---- a/requirements-build.txt -+++ b/requirements-build.txt -@@ -5,5 +5,4 @@ rellu >= 0.7 - twine >= 1.12 - wheel - docutils --pygments >= 2.1 --robotframeworklexer >= 1.1 -+pygments >= 2.8 diff --git a/gnu/packages/patches/python-w3lib-fix-test-failure.patch b/gnu/packages/patches/python-w3lib-fix-test-failure.patch new file mode 100644 index 0000000000..f38fc749df --- /dev/null +++ b/gnu/packages/patches/python-w3lib-fix-test-failure.patch @@ -0,0 +1,60 @@ +From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001 +From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com> +Date: Wed, 10 Mar 2021 12:31:05 -0300 +Subject: [PATCH] [CI] Mark single add_or_replace_parameter test as xfail + +--- +This patch is based on upstream commit +fae6cc40e112cd13697cb0e8d79976f32c72491d which is part of +https://github.com/scrapy/w3lib/pull/166. + + .gitignore | 3 ++- + tests/test_url.py | 25 ++++++++++++++----------- + 2 files changed, 16 insertions(+), 12 deletions(-) + +diff --git a/tests/test_url.py b/tests/test_url.py +index 8b07c00..0f7458e 100644 +--- a/tests/test_url.py ++++ b/tests/test_url.py +@@ -1,12 +1,14 @@ +-# -*- coding: utf-8 -*- + from __future__ import absolute_import + import os + import unittest ++ ++import pytest ++from six.moves.urllib.parse import urlparse ++ + from w3lib.url import (is_url, safe_url_string, safe_download_url, + url_query_parameter, add_or_replace_parameter, url_query_cleaner, + file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri, + urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters) +-from six.moves.urllib.parse import urlparse + + + class UrlTests(unittest.TestCase): +@@ -310,10 +311,6 @@ def test_add_or_replace_parameter(self): + self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'), + 'http://domain/test?arg1=v1&arg2=v2&arg3=nv3') + +- url = 'http://domain/test?arg1=v1;arg2=v2' +- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'), +- 'http://domain/test?arg1=v3&arg2=v2') +- + self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'), + 'http://domain/moreInfo.asp?prodID=20') + url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60' +@@ -338,6 +335,13 @@ def test_add_or_replace_parameter(self): + self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'), + 'http://domain/test?arg1=v3&arg2=v2') + ++ @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164") ++ def test_add_or_replace_parameter_fail(self): ++ self.assertEqual( ++ add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'), ++ 'http://domain/test?arg1=v3&arg2=v2' ++ ) ++ + def test_add_or_replace_parameters(self): + url = 'http://domain/test' + self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}), diff --git a/gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch b/gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch new file mode 100644 index 0000000000..7f100d04bd --- /dev/null +++ b/gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch @@ -0,0 +1,25 @@ +diff --git a/Cargo.toml b/Cargo.toml +index 57924f1..0c59727 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -43,11 +43,6 @@ bench = false + version = "0.4" + optional = true + +-[dependencies.blas-src] +-version = "0.6.1" +-optional = true +-default-features = false +- + [dependencies.cblas-sys] + version = "0.1.4" + optional = true +@@ -92,7 +87,7 @@ version = "0.9" + default-features = false + + [features] +-blas = ["cblas-sys", "blas-src"] ++blas = ["cblas-sys"] + docs = ["approx", "serde", "rayon"] + serde-1 = ["serde"] + test = ["test-blas-openblas-sys"] diff --git a/gnu/packages/patches/tremc-fix-decodestring.patch b/gnu/packages/patches/tremc-fix-decodestring.patch deleted file mode 100644 index 346f65e611..0000000000 --- a/gnu/packages/patches/tremc-fix-decodestring.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 79995bc82e81f0429222aab4d90a03440feef057 Mon Sep 17 00:00:00 2001 -From: Matan Ziv-Av <matan@svgalib.org> -Date: Mon, 29 Jun 2020 15:18:03 +0300 -Subject: [PATCH] Use base64.decodebytes. - -Based on upstream commit 79995bc82e81f0429222aab4d90a03440feef057 which -confuses several unrelated changes. - ---- - tremc | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/tremc b/tremc -index b47f012..c626fde 100755 ---- a/tremc -+++ b/tremc -@@ -440,7 +443,7 @@ class Transmission(object): - # TAG_TORRENT_DETAILS, but just passing seems to help.(?) - try: - torrent_details = response['arguments']['torrents'][0] -- torrent_details['pieces'] = base64.decodestring(bytes(torrent_details['pieces'], ENCODING)) -+ torrent_details['pieces'] = base64.decodebytes(bytes(torrent_details['pieces'], ENCODING)) - self.torrent_details_cache = torrent_details - self.upgrade_peerlist() - except IndexError: diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch index e3ec92be84..73e5878546 100644 --- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch +++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch @@ -1,39 +1,15 @@ -From f060e90d148270307228315e2759a0065ec1d796 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagrant@debian.org> Date: Fri, 22 Oct 2021 17:34:53 -0700 Subject: [PATCH] Revert "tools: kwbimage: Do not hide usage of secure header under CONFIG_ARMADA_38X" This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac. ---- - tools/Makefile | 8 ++++++++ - tools/kwbimage.c | 22 ++++++++++++++++++++++ - 2 files changed, 30 insertions(+) -diff --git a/tools/Makefile b/tools/Makefile -index 4a86321f64..9517f203fd 100644 ---- a/tools/Makefile -+++ b/tools/Makefile -@@ -169,6 +169,14 @@ HOST_EXTRACFLAGS += -DCONFIG_FIT_SIGNATURE_MAX_SIZE=0xffffffff - HOST_EXTRACFLAGS += -DCONFIG_FIT_CIPHER - endif - -+ifneq ($(CONFIG_SYS_U_BOOT_OFFS),) -+HOSTCFLAGS_kwbimage.o += -DCONFIG_SYS_U_BOOT_OFFS=$(CONFIG_SYS_U_BOOT_OFFS) -+endif -+ -+ifneq ($(CONFIG_ARMADA_38X),) -+HOSTCFLAGS_kwbimage.o += -DCONFIG_KWB_SECURE -+endif -+ - # MXSImage needs LibSSL - ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_ARMADA_38X)$(CONFIG_TOOLS_LIBCRYPTO),) - HOSTCFLAGS_kwbimage.o += \ diff --git a/tools/kwbimage.c b/tools/kwbimage.c -index d200ff2425..23d6be3c9a 100644 +index 94b7685392..eec599b0ee 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c -@@ -14,6 +14,7 @@ +@@ -19,6 +19,7 @@ #include <stdint.h> #include "kwbimage.h" @@ -41,12 +17,16 @@ index d200ff2425..23d6be3c9a 100644 #include <openssl/bn.h> #include <openssl/rsa.h> #include <openssl/pem.h> -@@ -39,10 +40,13 @@ void EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx) +@@ -44,6 +45,7 @@ void EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx) EVP_MD_CTX_reset(ctx); } #endif +#endif + /* fls - find last (most-significant) bit set in 4-bit integer */ + static inline int fls4(int num) +@@ -62,7 +64,9 @@ static inline int fls4(int num) + static struct image_cfg_element *image_cfg; static int cfgn; +#ifdef CONFIG_KWB_SECURE @@ -55,7 +35,7 @@ index d200ff2425..23d6be3c9a 100644 struct boot_mode { unsigned int id; -@@ -237,6 +241,8 @@ image_count_options(unsigned int optiontype) +@@ -278,6 +282,8 @@ image_count_options(unsigned int optiontype) return count; } @@ -64,16 +44,15 @@ index d200ff2425..23d6be3c9a 100644 static int image_get_csk_index(void) { struct image_cfg_element *e; -@@ -259,6 +265,8 @@ static bool image_get_spezialized_img(void) - return e->sec_specialized_img; - } +@@ -288,6 +294,7 @@ static int image_get_csk_index(void) + return e->csk_idx; + } +#endif -+ - /* - * Compute a 8-bit checksum of a memory area. This algorithm follows - * the requirements of the Marvell SoC BootROM specifications. -@@ -353,6 +361,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate) + + static bool image_get_spezialized_img(void) + { +@@ -432,6 +439,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate) } } @@ -81,18 +60,17 @@ index d200ff2425..23d6be3c9a 100644 static void kwb_msg(const char *fmt, ...) { if (verbose_mode) { -@@ -847,6 +856,8 @@ done: +@@ -926,6 +934,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr) + done: return ret; } - +#endif -+ - static void *image_create_v0(size_t *imagesz, struct image_tool_params *params, - int payloadsz) + + static size_t image_headersz_align(size_t headersz, uint8_t blockid) { -@@ -977,11 +988,13 @@ static size_t image_headersz_v1(int *hasext) - *hasext = 1; - } +@@ -1079,11 +1088,13 @@ static size_t image_headersz_v1(int *hasext) + */ + headersz = sizeof(struct main_hdr_v1); +#if defined(CONFIG_KWB_SECURE) if (image_get_csk_index() >= 0) { @@ -102,28 +80,27 @@ index d200ff2425..23d6be3c9a 100644 } +#endif - /* - * The payload should be aligned on some reasonable -@@ -1058,6 +1071,8 @@ err_close: + cpu_sheeva = image_is_cpu_sheeva(); + +@@ -1270,6 +1281,7 @@ err_close: return -1; } +#if defined(CONFIG_KWB_SECURE) -+ - int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr) + static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr) { FILE *hashf; -@@ -1170,6 +1185,7 @@ int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr, +@@ -1382,6 +1394,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr, return 0; } +#endif - static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, - uint8_t *ptr, int payloadsz) -@@ -1177,7 +1193,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, - struct image_cfg_element *e; + static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext, + struct register_set_hdr_v1 *register_set_hdr, +@@ -1406,7 +1419,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, struct main_hdr_v1 *main_hdr; + struct opt_hdr_v1 *ohdr; struct register_set_hdr_v1 *register_set_hdr; +#if defined(CONFIG_KWB_SECURE) struct secure_hdr_v1 *secure_hdr = NULL; @@ -131,7 +108,7 @@ index d200ff2425..23d6be3c9a 100644 size_t headersz; uint8_t *image, *cur; int hasext = 0; -@@ -1253,6 +1271,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, +@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, if (main_hdr->blockid == IBR_HDR_PEX_ID) main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF); @@ -139,26 +116,24 @@ index d200ff2425..23d6be3c9a 100644 if (image_get_csk_index() >= 0) { /* * only reserve the space here; we fill the header later since -@@ -1263,6 +1282,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, +@@ -1501,7 +1517,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, *next_ext = 1; next_ext = &secure_hdr->next; } +- +#endif - datai = 0; - register_set_hdr = (struct register_set_hdr_v1 *)cur; -@@ -1310,9 +1330,11 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, - return NULL; + for (cfgi = 0; cfgi < cfgn; cfgi++) { + e = &image_cfg[cfgi]; +@@ -1552,9 +1568,11 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, + &datai, delay); } +#if defined(CONFIG_KWB_SECURE) - if (secure_hdr && add_secure_header_v1(params, ptr, payloadsz, + if (secure_hdr && add_secure_header_v1(params, ptr, payloadsz + headersz, headersz, image, secure_hdr)) return NULL; +#endif - /* Calculate and set the header checksum */ - main_hdr->checksum = image_checksum8(main_hdr, headersz); --- -2.30.2 - + *imagesz = headersz; + diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch deleted file mode 100644 index 468024ab00..0000000000 --- a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3fc056f0b9f7c26e58a1e947c8c0184e55919614 Mon Sep 17 00:00:00 2001 -From: David Abdurachmanov <david.abdurachmanov@gmail.com> -Date: Wed, 21 Aug 2019 12:07:20 -0700 -Subject: [PATCH] qemu-riscv64_smode, sifive-fu540: fix extlinux (define - preboot) -Forwarded: https://patchwork.ozlabs.org/patch/1151125/ - -Commit 37304aaf60bf92a5dc3ef222ba520698bd862a44 removed preboot -commands in RISC-V targets and broke extlinux support as reported -by Fu Wei <wefu@redhat.com>. - -The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT -to Kconfig. - -Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com> ---- - configs/qemu-riscv64_smode_defconfig | 2 ++ - configs/sifive_fu540_defconfig | 2 ++ - 3 files changed, 4 insertions(+), 4 deletions(-) - -Index: u-boot/configs/qemu-riscv64_smode_defconfig -=================================================================== ---- u-boot.orig/configs/qemu-riscv64_smode_defconfig -+++ u-boot/configs/qemu-riscv64_smode_defconfig -@@ -14,3 +14,5 @@ CONFIG_CMD_NVEDIT_EFI=y - CONFIG_OF_PRIOR_STAGE=y - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_DM_MTD=y -+CONFIG_USE_PREBOOT=y -+CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" -Index: u-boot/configs/sifive_fu540_defconfig -=================================================================== ---- u-boot.orig/configs/sifive_unleashed_defconfig -+++ u-boot/configs/sifive_unleashed_defconfig -@@ -27,3 +27,5 @@ CONFIG_SPL_DM_SEQ_ALIAS=y - CONFIG_SPL_CLK=y - CONFIG_DM_MTD=y - CONFIG_DM_RESET=y -+CONFIG_USE_PREBOOT=y -+CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch deleted file mode 100644 index 27013180c4..0000000000 --- a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream commit: https://github.com/WebKit/WebKit/commit/31ac354cbeecf866f9a38f7b2f8f59f7975d3f6a - -diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp -index ecc804663784..8de174be3c0e 100644 ---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp -+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp -@@ -288,6 +288,7 @@ static void bindFonts(Vector<CString>& args) - const char* homeDir = g_get_home_dir(); - const char* dataDir = g_get_user_data_dir(); - const char* cacheDir = g_get_user_cache_dir(); -+ const char* const * dataDirs = g_get_system_data_dirs(); - - // Configs can include custom dirs but then we have to parse them... - GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig", nullptr)); -@@ -304,6 +305,10 @@ static void bindFonts(Vector<CString>& args) - bindIfExists(args, fontHomeConfigDir.get()); - bindIfExists(args, fontData.get()); - bindIfExists(args, fontHomeData.get()); -+ for (auto* dataDir = dataDirs; dataDir && *dataDir; dataDir++) { -+ GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts", nullptr)); -+ bindIfExists(args, fontDataDir.get()); -+ } - bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian. - } - diff --git a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch b/gnu/packages/patches/webkitgtk-canonicalize-paths.patch deleted file mode 100644 index 741d534831..0000000000 --- a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch +++ /dev/null @@ -1,66 +0,0 @@ -Upstream commit: https://github.com/WebKit/WebKit/commit/6a87eb254ef57a986a1a6ce9a3a4b66928afeb65 - -diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp -index ecc804663784..a2a1c9d7a4dd 100644 ---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp -+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp -@@ -27,7 +27,6 @@ - #include <seccomp.h> - #include <sys/ioctl.h> - #include <sys/mman.h> --#include <unistd.h> - #include <wtf/FileSystem.h> - #include <wtf/UniStdExtras.h> - #include <wtf/glib/GRefPtr.h> -@@ -165,6 +164,15 @@ enum class BindFlags { - Device, - }; - -+static void bindSymlinksRealPath(Vector<CString>& args, const char* path, const char* bindOption = "--ro-bind") -+{ -+ WTF::String realPath = FileSystem::realPath(path); -+ if (path != realPath) { -+ CString rpath = realPath.utf8(); -+ args.appendVector(Vector<CString>({ bindOption, rpath.data(), rpath.data() })); -+ } -+} -+ - static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bindFlags = BindFlags::ReadOnly) - { - if (!path || path[0] == '\0') -@@ -177,7 +185,16 @@ static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bind - bindType = "--ro-bind-try"; - else - bindType = "--bind-try"; -- args.appendVector(Vector<CString>({ bindType, path, path })); -+ -+ // Canonicalize the source path, otherwise a symbolic link could -+ // point to a location outside of the namespace. -+ bindSymlinksRealPath(args, path, bindType); -+ -+ // As /etc is exposed wholesale, do not layer extraneous bind -+ // directives on top, which could fail in the presence of symbolic -+ // links. -+ if (!g_str_has_prefix(path, "/etc/")) -+ args.appendVector(Vector<CString>({ bindType, path, path })); - } - - static void bindDBusSession(Vector<CString>& args, bool allowPortals) -@@ -410,17 +427,6 @@ static void bindV4l(Vector<CString>& args) - })); - } - --static void bindSymlinksRealPath(Vector<CString>& args, const char* path) --{ -- char realPath[PATH_MAX]; -- -- if (realpath(path, realPath) && strcmp(path, realPath)) { -- args.appendVector(Vector<CString>({ -- "--ro-bind", realPath, realPath, -- })); -- } --} -- - // Translate a libseccomp error code into an error message. libseccomp - // mostly returns negative errno values such as -ENOMEM, but some - // standard errno values are used for non-standard purposes where their diff --git a/gnu/packages/patches/xterm-370-explicit-xcursor.patch b/gnu/packages/patches/xterm-370-explicit-xcursor.patch new file mode 100644 index 0000000000..2500ccf0c8 --- /dev/null +++ b/gnu/packages/patches/xterm-370-explicit-xcursor.patch @@ -0,0 +1,37 @@ +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Thu, 2 Apr 2022 12:10:00 +0200 +Subject: Make xterm use libxcursor directly + +Fixes <https://issues.guix.gnu.org/54654>. + +This patch makes xterm use libxcursor directly. +Without it, libx11 would try to dlopen("libXcursor.so.1") and fail. + +--- xterm-370/misc.c.orig 2022-04-02 11:52:26.225131854 +0200 ++++ xterm-370/misc.c 2022-04-02 12:06:13.091482385 +0200 +@@ -79,6 +79,9 @@ + #ifdef HAVE_LIBXPM + #include <X11/xpm.h> + #endif ++#ifdef HAVE_LIB_XCURSOR ++#include <X11/Xcursor/Xcursor.h> ++#endif + + #ifdef HAVE_LANGINFO_CODESET + #include <langinfo.h> +@@ -866,7 +869,14 @@ + * 0, 2 a shape, 3 a mask for 2, etc. <X11/cursorfont.h> + * contains defined names for each shape. + */ +- c = XCreateGlyphCursor(dpy, ++ c = XcursorTryShapeCursor(dpy, ++ myFont.fs->fid, /* source_font */ ++ myFont.fs->fid, /* mask_font */ ++ c_index + 0, /* source_char */ ++ c_index + 1, /* mask_char */ ++ &foreground, ++ &background); ++ if (c == None) c = XCreateGlyphCursor(dpy, + myFont.fs->fid, /* source_font */ + myFont.fs->fid, /* mask_font */ + c_index + 0, /* source_char */ diff --git a/gnu/packages/patches/zig-disable-libc-note-test.patch b/gnu/packages/patches/zig-disable-libc-note-test.patch deleted file mode 100644 index 4508cee200..0000000000 --- a/gnu/packages/patches/zig-disable-libc-note-test.patch +++ /dev/null @@ -1,31 +0,0 @@ -This test fails with "error.CompilationIncorrectlySucceeded". - -diff --git a/test/compile_errors.zig b/test/compile_errors.zig -index b1eaa0302..621f9db0a 100644 ---- a/test/compile_errors.zig -+++ b/test/compile_errors.zig -@@ -2943,15 +2943,15 @@ pub fn addCases(ctx: *TestContext) !void { - "tmp.zig:3:5: error: dependency on libc must be explicitly specified in the build command", - }); - -- ctx.testErrStage1("libc headers note", -- \\const c = @cImport(@cInclude("stdio.h")); -- \\export fn entry() void { -- \\ _ = c.printf("hello, world!\n"); -- \\} -- , &[_][]const u8{ -- "tmp.zig:1:11: error: C import failed", -- "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", -- }); -+ // ctx.testErrStage1("libc headers note", -+ // \\const c = @cImport(@cInclude("stdio.h")); -+ // \\export fn entry() void { -+ // \\ _ = c.printf("hello, world!\n"); -+ // \\} -+ // , &[_][]const u8{ -+ // "tmp.zig:1:11: error: C import failed", -+ // "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", -+ // }); - } - - ctx.testErrStage1("comptime vector overflow shows the index", |