summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-02-03 14:39:49 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-02-03 14:39:49 +0100
commite6c847defb6cb25c65172dec46a322e5d3d45088 (patch)
tree3d249dce1a1f58fcb3c83a41eaf9e1525d7b112e /gnu/packages/patches
parent3aef72ec5bf1027bc557daab7010848d80711a28 (diff)
parent179bb57d2532ee6b81791e078b0f782cbf88cb84 (diff)
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/converseen-hide-non-free-pointers.patch147
-rw-r--r--gnu/packages/patches/dynaconf-unvendor-deps.patch172
-rw-r--r--gnu/packages/patches/emacs-shx-byte-compilation-test.patch35
-rw-r--r--gnu/packages/patches/emacs-yasnippet-fix-tests.patch127
-rw-r--r--gnu/packages/patches/lugaru-fix-sound.patch32
-rw-r--r--gnu/packages/patches/notmuch-emacs-test-output.patch89
-rw-r--r--gnu/packages/patches/openssh-gcc-13-ppc64le-fzero-call-used-regs.patch61
-rw-r--r--gnu/packages/patches/python-flint-includes.patch131
-rw-r--r--gnu/packages/patches/python-pyls-black-41.patch45
-rw-r--r--gnu/packages/patches/python-scikit-bio-1887.patch109
-rw-r--r--gnu/packages/patches/r-sapa-lapack.patch23
-rw-r--r--gnu/packages/patches/range-v3-build-with-gcc10.patch122
-rw-r--r--gnu/packages/patches/s7-flint-3.patch31
-rw-r--r--gnu/packages/patches/u-boot-allow-disabling-openssl.patch64
-rw-r--r--gnu/packages/patches/u-boot-build-without-libcrypto.patch123
-rw-r--r--gnu/packages/patches/u-boot-patman-change-id.patch232
16 files changed, 655 insertions, 888 deletions
diff --git a/gnu/packages/patches/converseen-hide-non-free-pointers.patch b/gnu/packages/patches/converseen-hide-non-free-pointers.patch
index b4994733cd..9c27cdafe3 100644
--- a/gnu/packages/patches/converseen-hide-non-free-pointers.patch
+++ b/gnu/packages/patches/converseen-hide-non-free-pointers.patch
@@ -2,10 +2,10 @@ Remove pointers to PayPal and Facebook.
Upstream status: Guix-specific, not forwarded upstream.
diff --git a/src/dialoginfo.cpp b/src/dialoginfo.cpp
-index 3302f55..b64f414 100755
+index 52dd628..b37c413 100755
--- a/src/dialoginfo.cpp
+++ b/src/dialoginfo.cpp
-@@ -31,7 +31,6 @@ DialogInfo::DialogInfo(QWidget *parent) :
+@@ -33,7 +33,6 @@ DialogInfo::DialogInfo(QWidget *parent) :
setupUi(this);
connect(pushClose, SIGNAL(clicked()), this, SLOT(close()));
@@ -13,44 +13,99 @@ index 3302f55..b64f414 100755
QString appVersion;
QString magickVersion;
-@@ -63,8 +62,3 @@ void DialogInfo::openFacebookPage()
- QDesktopServices::openUrl(QUrl("https://www.facebook.com/converseen", QUrl::TolerantMode));
+@@ -66,62 +65,4 @@ DialogInfo::DialogInfo(QWidget *parent) :
+ .arg(qtVersionStrTr)
+ .arg(QT_VERSION_STR);
+ labelQtVersion->setText(qt_versionString);
+-
+- // This section generates a Text + Png pixmap icon for the donazion button!
+-
+- QString donateText = tr("Make a Donation!");
+- QString donateDescriptionText = tr("Donate using PayPal, Ko-Fi or Cryptocurrencies.");
+-
+- QString htmlDonationText = QString(R"(
+- <style>
+- table {
+- border-collapse: collapse;
+- }
+- td {
+- text-align: center;
+- vertical-align: middle;
+- padding: 5px;
+- }
+- </style>
+-
+- <table>
+- <tr>
+- <td><img src=':/Images/res/heart.png' width='52' height='52'></td>
+- <td>
+- <span style='font-weight: bold; font-size:18pt; text-align: center;'>%1</span><br />
+- <span style='font-style: italic; font-size:8pt; text-align: center;'>%2</span>
+- </td>
+- </tr>
+- </table>
+- )")
+- .arg(donateText, donateDescriptionText);
+-
+- QTextDocument donateHtmlText;
+- donateHtmlText.setHtml(htmlDonationText);
+-
+- QPixmap pixmapDonationText(donateHtmlText.size().width(), donateHtmlText.size().height());
+- pixmapDonationText.fill( Qt::transparent );
+-
+- QPainter painter( &pixmapDonationText );
+- painter.setRenderHint(QPainter::Antialiasing, true);
+-
+- donateHtmlText.drawContents(&painter, pixmapDonationText.rect());
+-
+- QIcon donateButtonIcon(pixmapDonationText);
+- pushDonatePayPal->setIcon(donateButtonIcon);
+- pushDonatePayPal->setIconSize(pixmapDonationText.rect().size());
+-
+- adjustSize();
+- this->resize(512, 800);
+-}
+-
+-void DialogInfo::openFacebookPage()
+-{
+- QDesktopServices::openUrl(QUrl("https://www.facebook.com/converseen", QUrl::TolerantMode));
}
-
+-
-void DialogInfo::on_pushDonatePayPal_clicked()
-{
-- QDesktopServices::openUrl(QUrl("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HQA6TBT5354FC", QUrl::TolerantMode));
+- QDesktopServices::openUrl(QUrl("https://converseen.fasterland.net/donate/", QUrl::TolerantMode));
-}
-
diff --git a/src/dialoginfo.h b/src/dialoginfo.h
-index 4c13776..f1b7ea3 100755
+index 4d8ba15..ef6afa9 100755
--- a/src/dialoginfo.h
+++ b/src/dialoginfo.h
-@@ -33,7 +33,6 @@ public:
+@@ -32,8 +32,6 @@ public:
+ DialogInfo(QWidget *parent = 0);
private slots:
- void openFacebookPage();
+- void openFacebookPage();
- void on_pushDonatePayPal_clicked();
};
#endif // DIALOGINFO_H
diff --git a/src/mainwindowimpl.cpp b/src/mainwindowimpl.cpp
-index 83a365f..9a44492 100755
+index 71ddc2c..bd4294b 100755
--- a/src/mainwindowimpl.cpp
+++ b/src/mainwindowimpl.cpp
-@@ -162,7 +162,6 @@ void MainWindowImpl::createActions()
+@@ -163,7 +163,6 @@ void MainWindowImpl::createActions()
connect(actionConvert, SIGNAL(triggered()), this, SLOT(elabora()));
connect(actionInfo, SIGNAL(triggered()), this, SLOT(about()));
- connect(actionDonatePaypal, SIGNAL(triggered()), this, SLOT(openPaypalLink()));
connect(actionReportBug, SIGNAL(triggered()), this, SLOT(bugReport()));
- }
-
+ connect(actionCheckForUpdates, SIGNAL(triggered()), this, SLOT(checkForUpdates()));
+ connect(actionHelp, SIGNAL(triggered()), this, SLOT(onlineHelp()));
diff --git a/ui/dialoginfo.ui b/ui/dialoginfo.ui
-index b2c7788..20b9d9d 100755
+index 2878670..0535a85 100755
--- a/ui/dialoginfo.ui
+++ b/ui/dialoginfo.ui
-@@ -254,122 +254,6 @@ p, li { white-space: pre-wrap; }
+@@ -273,146 +273,6 @@ p, li { white-space: pre-wrap; }
</layout>
</widget>
</item>
@@ -69,25 +124,53 @@ index b2c7788..20b9d9d 100755
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
+- <spacer name="horizontalSpacer_4">
+- <property name="orientation">
+- <enum>Qt::Horizontal</enum>
+- </property>
+- <property name="sizeHint" stdset="0">
+- <size>
+- <width>40</width>
+- <height>20</height>
+- </size>
+- </property>
+- </spacer>
+- </item>
+- <item>
- <widget class="QPushButton" name="pushDonatePayPal">
+- <property name="cursor">
+- <cursorShape>PointingHandCursor</cursorShape>
+- </property>
- <property name="text">
- <string/>
- </property>
-- <property name="icon">
-- <iconset resource="../resources.qrc">
-- <normaloff>:/Images/res/btn_donateCC_LG.png</normaloff>:/Images/res/btn_donateCC_LG.png</iconset>
-- </property>
- <property name="iconSize">
- <size>
- <width>150</width>
- <height>50</height>
- </size>
- </property>
+- <property name="autoDefault">
+- <bool>false</bool>
+- </property>
- <property name="flat">
- <bool>true</bool>
- </property>
- </widget>
- </item>
+- <item>
+- <spacer name="horizontalSpacer_5">
+- <property name="orientation">
+- <enum>Qt::Horizontal</enum>
+- </property>
+- <property name="sizeHint" stdset="0">
+- <size>
+- <width>40</width>
+- <height>20</height>
+- </size>
+- </property>
+- </spacer>
+- </item>
- </layout>
- </item>
- </layout>
@@ -141,6 +224,9 @@ index b2c7788..20b9d9d 100755
- <height>32</height>
- </size>
- </property>
+- <property name="autoDefault">
+- <bool>false</bool>
+- </property>
- <property name="flat">
- <bool>true</bool>
- </property>
@@ -163,34 +249,27 @@ index b2c7788..20b9d9d 100755
- </item>
- </layout>
- </item>
-- <item>
-- <widget class="Line" name="line">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- </widget>
-- </item>
<item>
- <widget class="QLabel" name="label_2">
- <property name="text">
+ <widget class="Line" name="line">
+ <property name="orientation">
diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui
-index 28df8cc..0ee7f37 100755
+index 24bda6f..e8a072d 100755
--- a/ui/mainwindow.ui
+++ b/ui/mainwindow.ui
-@@ -1334,18 +1334,6 @@ p, li { white-space: pre-wrap; }
- <string>F1</string>
+@@ -1408,18 +1408,6 @@ p, li { white-space: pre-wrap; }
+ <string>&amp;About</string>
</property>
</action>
- <action name="actionDonatePaypal">
- <property name="icon">
- <iconset resource="../resources.qrc">
-- <normaloff>:/Images/res/paypal_mini.png</normaloff>:/Images/res/paypal_mini.png</iconset>
+- <normaloff>:/Images/res/heart.png</normaloff>:/Images/res/heart.png</iconset>
- </property>
- <property name="text">
-- <string>&amp;Donate via Paypal</string>
+- <string>&amp;Donate!</string>
- </property>
- <property name="toolTip">
-- <string>Donate via Paypal</string>
+- <string>Donate via Paypal, Ko-Fi, Cryptocurrencies</string>
- </property>
- </action>
<action name="actionReportBug">
diff --git a/gnu/packages/patches/dynaconf-unvendor-deps.patch b/gnu/packages/patches/dynaconf-unvendor-deps.patch
index 550e311363..f816264f4a 100644
--- a/gnu/packages/patches/dynaconf-unvendor-deps.patch
+++ b/gnu/packages/patches/dynaconf-unvendor-deps.patch
@@ -1,45 +1,46 @@
-From 3f7b48195500cbbbbecd3cac2f5308c64004479b Mon Sep 17 00:00:00 2001
+From d3252748b0f9036cb31f4697ebb5c6a494aceaca Mon Sep 17 00:00:00 2001
From: Giacomo Leidi <goodoldpaul@autistici.org>
-Date: Sun, 29 Aug 2021 23:39:27 +0200
+Date: Sun, 14 Jan 2024 12:05:49 +0100
Subject: [PATCH] Use system site dependencies.
-Box was not unvendored because it appears to be heavily patched.
+* Box was not unvendored because it appears to be heavily patched.
+* Tomllib seems to be a backport from Python 3.11, as such it wasn't unvendored.
---
- dynaconf/cli.py | 4 ++--
- dynaconf/default_settings.py | 2 +-
- dynaconf/loaders/env_loader.py | 2 +-
- dynaconf/loaders/toml_loader.py | 2 +-
- dynaconf/loaders/yaml_loader.py | 2 +-
- dynaconf/utils/parse_conf.py | 2 +-
- dynaconf/vendor/box/converters.py | 4 ++--
- dynaconf/vendor/box/from_file.py | 4 ++--
- dynaconf/vendor_src/box/converters.py | 4 ++--
- dynaconf/vendor_src/box/from_file.py | 4 ++--
- tests/test_cli.py | 2 +-
- 11 files changed, 16 insertions(+), 16 deletions(-)
+ dynaconf/cli.py | 4 ++--
+ dynaconf/default_settings.py | 2 +-
+ dynaconf/loaders/env_loader.py | 2 +-
+ dynaconf/loaders/toml_loader.py | 2 +-
+ dynaconf/loaders/yaml_loader.py | 2 +-
+ dynaconf/utils/inspect.py | 2 +-
+ dynaconf/utils/parse_conf.py | 2 +-
+ dynaconf/vendor/box/converters.py | 2 +-
+ dynaconf/vendor/box/from_file.py | 2 +-
+ tests/test_cli.py | 2 +-
+ tests/test_inspect.py | 2 +-
+ 11 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/dynaconf/cli.py b/dynaconf/cli.py
-index 5bb8316..1341a95 100644
+index c0fd489..5739e79 100644
--- a/dynaconf/cli.py
+++ b/dynaconf/cli.py
-@@ -20,8 +20,8 @@ from dynaconf.utils.functional import empty
- from dynaconf.utils.parse_conf import parse_conf_data
+@@ -24,8 +24,8 @@ from dynaconf.utils.parse_conf import parse_conf_data
+ from dynaconf.utils.parse_conf import unparse_conf_data
from dynaconf.validator import ValidationError
from dynaconf.validator import Validator
-from dynaconf.vendor import click
-from dynaconf.vendor import toml
+import click
+import toml
+ from dynaconf.vendor import tomllib
- CWD = Path.cwd()
diff --git a/dynaconf/default_settings.py b/dynaconf/default_settings.py
-index 66601b0..9605fc5 100644
+index 7e8c222..526b01e 100644
--- a/dynaconf/default_settings.py
+++ b/dynaconf/default_settings.py
-@@ -8,7 +8,7 @@ from dynaconf.utils import upperfy
- from dynaconf.utils import warn_deprecations
+@@ -11,7 +11,7 @@ from dynaconf.utils import warn_deprecations
from dynaconf.utils.files import find_file
+ from dynaconf.utils.parse_conf import boolean_fix
from dynaconf.utils.parse_conf import parse_conf_data
-from dynaconf.vendor.dotenv import load_dotenv
+from dotenv import load_dotenv
@@ -47,36 +48,36 @@ index 66601b0..9605fc5 100644
def try_renamed(key, value, older_key, current_key):
diff --git a/dynaconf/loaders/env_loader.py b/dynaconf/loaders/env_loader.py
-index e7b13bd..b034c8a 100644
+index a563b4e..91ac3ae 100644
--- a/dynaconf/loaders/env_loader.py
+++ b/dynaconf/loaders/env_loader.py
-@@ -2,7 +2,7 @@ from os import environ
+@@ -11,7 +11,7 @@ from dynaconf.utils.parse_conf import parse_conf_data
- from dynaconf.utils import upperfy
- from dynaconf.utils.parse_conf import parse_conf_data
--from dynaconf.vendor.dotenv import cli as dotenv_cli
-+from dotenv import cli as dotenv_cli
+ DOTENV_IMPORTED = False
+ with suppress(ImportError, FileNotFoundError):
+- from dynaconf.vendor.dotenv import cli as dotenv_cli
++ from dotenv import cli as dotenv_cli
+ DOTENV_IMPORTED = True
- IDENTIFIER = "env"
diff --git a/dynaconf/loaders/toml_loader.py b/dynaconf/loaders/toml_loader.py
-index 07b973f..d81d675 100644
+index 42db7b3..ba0188b 100644
--- a/dynaconf/loaders/toml_loader.py
+++ b/dynaconf/loaders/toml_loader.py
-@@ -5,7 +5,7 @@ from dynaconf import default_settings
+@@ -7,7 +7,7 @@ from dynaconf import default_settings
from dynaconf.constants import TOML_EXTENSIONS
from dynaconf.loaders.base import BaseLoader
from dynaconf.utils import object_merge
--from dynaconf.vendor import toml
-+import toml
+-from dynaconf.vendor import toml # Backwards compatibility with uiri/toml
++import toml # Backwards compatibility with uiri/toml
+ from dynaconf.vendor import tomllib # New tomllib stdlib on py3.11
- def load(obj, env=None, silent=True, key=None, filename=None):
diff --git a/dynaconf/loaders/yaml_loader.py b/dynaconf/loaders/yaml_loader.py
-index 33c6532..3ef419a 100644
+index 5721681..ab628c2 100644
--- a/dynaconf/loaders/yaml_loader.py
+++ b/dynaconf/loaders/yaml_loader.py
-@@ -7,7 +7,7 @@ from dynaconf.constants import YAML_EXTENSIONS
+@@ -10,7 +10,7 @@ from dynaconf.constants import YAML_EXTENSIONS
from dynaconf.loaders.base import BaseLoader
from dynaconf.utils import object_merge
from dynaconf.utils.parse_conf import try_to_encode
@@ -85,95 +86,84 @@ index 33c6532..3ef419a 100644
# Add support for Dynaconf Lazy values to YAML dumper
yaml.SafeDumper.yaml_representers[
+diff --git a/dynaconf/utils/inspect.py b/dynaconf/utils/inspect.py
+index 21d724e..2933b8f 100644
+--- a/dynaconf/utils/inspect.py
++++ b/dynaconf/utils/inspect.py
+@@ -18,7 +18,7 @@ from dynaconf.loaders.base import SourceMetadata
+ from dynaconf.utils.boxing import DynaBox
+ from dynaconf.utils.functional import empty
+ from dynaconf.vendor.box.box_list import BoxList
+-from dynaconf.vendor.ruamel.yaml import YAML
++from ruamel.yaml import YAML
+
+ if TYPE_CHECKING: # pragma: no cover
+ from dynaconf.base import LazySettings, Settings
diff --git a/dynaconf/utils/parse_conf.py b/dynaconf/utils/parse_conf.py
-index c42b07a..01ccdae 100644
+index 882110e..a262864 100644
--- a/dynaconf/utils/parse_conf.py
+++ b/dynaconf/utils/parse_conf.py
-@@ -9,7 +9,7 @@ from dynaconf.utils import isnamedtupleinstance
- from dynaconf.utils import multi_replace
+@@ -12,7 +12,7 @@ from dynaconf.utils import multi_replace
from dynaconf.utils import recursively_evaluate_lazy_format
from dynaconf.utils.boxing import DynaBox
+ from dynaconf.utils.functional import empty
-from dynaconf.vendor import toml
+import toml
+ from dynaconf.vendor import tomllib
try:
- from jinja2 import Environment
diff --git a/dynaconf/vendor/box/converters.py b/dynaconf/vendor/box/converters.py
-index 93cdcfb..e34c7dc 100644
+index 08694fe..4e84930 100644
--- a/dynaconf/vendor/box/converters.py
+++ b/dynaconf/vendor/box/converters.py
-@@ -7,9 +7,9 @@ _B='utf-8'
- _A=None
- import csv,json,sys,warnings
- from pathlib import Path
--import dynaconf.vendor.ruamel.yaml as yaml
-+import ruamel.yaml as yaml
- from dynaconf.vendor.box.exceptions import BoxError,BoxWarning
--from dynaconf.vendor import toml
-+import toml
- BOX_PARAMETERS='default_box','default_box_attr','conversion_box','frozen_box','camel_killer_box','box_safe_prefix','box_duplicates','ordered_box','default_box_none_transform','box_dots','modify_tuples_box','box_intact_types','box_recast'
- def _exists(filename,create=_E):
- A=filename;B=Path(A)
-diff --git a/dynaconf/vendor/box/from_file.py b/dynaconf/vendor/box/from_file.py
-index daa1137..d75940b 100644
---- a/dynaconf/vendor/box/from_file.py
-+++ b/dynaconf/vendor/box/from_file.py
-@@ -1,8 +1,8 @@
- from json import JSONDecodeError
- from pathlib import Path
- from typing import Union
--from dynaconf.vendor.toml import TomlDecodeError
--from dynaconf.vendor.ruamel.yaml import YAMLError
-+from toml import TomlDecodeError
-+from ruamel.yaml import YAMLError
- from .exceptions import BoxError
- from .box import Box
- from .box_list import BoxList
-diff --git a/dynaconf/vendor_src/box/converters.py b/dynaconf/vendor_src/box/converters.py
-index c9a2293..ae42bf6 100644
---- a/dynaconf/vendor_src/box/converters.py
-+++ b/dynaconf/vendor_src/box/converters.py
-@@ -9,9 +9,9 @@ import sys
+@@ -9,7 +9,7 @@ import sys
import warnings
from pathlib import Path
-import dynaconf.vendor.ruamel.yaml as yaml
+import ruamel.yaml as yaml
from dynaconf.vendor.box.exceptions import BoxError, BoxWarning
--from dynaconf.vendor import toml
-+import toml
-
+ from dynaconf.vendor import tomllib as toml
- BOX_PARAMETERS = ('default_box', 'default_box_attr', 'conversion_box',
-diff --git a/dynaconf/vendor_src/box/from_file.py b/dynaconf/vendor_src/box/from_file.py
-index 2e2a6ad..3f76819 100644
---- a/dynaconf/vendor_src/box/from_file.py
-+++ b/dynaconf/vendor_src/box/from_file.py
-@@ -3,8 +3,8 @@
- from json import JSONDecodeError
+diff --git a/dynaconf/vendor/box/from_file.py b/dynaconf/vendor/box/from_file.py
+index a82ac96..cd01f13 100644
+--- a/dynaconf/vendor/box/from_file.py
++++ b/dynaconf/vendor/box/from_file.py
+@@ -4,7 +4,7 @@ from json import JSONDecodeError
from pathlib import Path
from typing import Union
--from dynaconf.vendor.toml import TomlDecodeError
+ from dynaconf.vendor.tomllib import TOMLDecodeError
-from dynaconf.vendor.ruamel.yaml import YAMLError
-+from toml import TomlDecodeError
+from ruamel.yaml import YAMLError
from .exceptions import BoxError
diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 6693701..df44409 100644
+index c679ae5..9df5f7f 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
-@@ -11,7 +11,7 @@ from dynaconf.cli import main
+@@ -15,7 +15,7 @@ from dynaconf.cli import main
from dynaconf.cli import read_file_in_root_directory
from dynaconf.cli import WRITERS
from dynaconf.utils.files import read_file
-from dynaconf.vendor.click.testing import CliRunner
+from click.testing import CliRunner
+ settings = LazySettings(OPTION_FOR_TESTS=True, environments=True)
- runner = CliRunner()
-
-base-commit: ebf7b17cffd5e08b212948bd8036d580718d5bf8
+diff --git a/tests/test_inspect.py b/tests/test_inspect.py
+index 0819715..96638c1 100644
+--- a/tests/test_inspect.py
++++ b/tests/test_inspect.py
+@@ -18,7 +18,7 @@ from dynaconf.utils.inspect import inspect_settings
+ from dynaconf.utils.inspect import KeyNotFoundError
+ from dynaconf.utils.inspect import OutputFormatError
+ from dynaconf.validator import Validator
+-from dynaconf.vendor.ruamel import yaml
++from ruamel import yaml
+
+
+ def create_file(filename: str, data: str) -> str:
--
-2.32.0
+2.41.0
+
diff --git a/gnu/packages/patches/emacs-shx-byte-compilation-test.patch b/gnu/packages/patches/emacs-shx-byte-compilation-test.patch
new file mode 100644
index 0000000000..b0f4714a6c
--- /dev/null
+++ b/gnu/packages/patches/emacs-shx-byte-compilation-test.patch
@@ -0,0 +1,35 @@
+From 6e8cb6f2175cd5c108de615a970a27877adfaea0 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Fri, 19 Jan 2024 10:49:51 -0500
+Subject: [PATCH] tests: Fix byte-compilation test.
+
+* test/shx-test.el (shx-test-unit-byte-compile): Simply assert on the
+return value of byte-compile-file, which is non-nil when there are no
+errors.
+
+Fixes: <https://github.com/riscy/shx-for-emacs/issues/33>
+---
+ test/shx-test.el | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/test/shx-test.el b/test/shx-test.el
+index e18cefb..ed5aee3 100644
+--- a/test/shx-test.el
++++ b/test/shx-test.el
+@@ -83,10 +83,8 @@ Example:
+ "Test byte-compilation against the shx.el file."
+ (ignore-errors (kill-buffer "*Compile-Log*"))
+ (let ((file (replace-regexp-in-string ".elc$" ".el" (symbol-file 'shx-mode))))
+- (byte-compile-file file)
+ (shx-test-assert "shx.el passes byte-compilation"
+- (with-current-buffer (get-buffer-create "*Compile-Log*")
+- (<= (- (point-max) (point)) 3)))))
++ (byte-compile-file file))))
+
+ (defun shx-test-unit-declare-function ()
+ "Test `declare-function'."
+
+base-commit: b99d16f36bc278d668d8428c4bc9af77064c336a
+--
+2.41.0
+
diff --git a/gnu/packages/patches/emacs-yasnippet-fix-tests.patch b/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
deleted file mode 100644
index 5995b0afa4..0000000000
--- a/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 904a058fcf4e1f4985e03f8551eec282ca12ccb5 Mon Sep 17 00:00:00 2001
-From: Philipp Stephani <phst@google.com>
-Date: Mon, 6 Dec 2021 18:50:10 +0100
-Subject: [PATCH] Unbreak unit tests under Emacs 28.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-- Emacs 28 has a new mode ‘lisp-data-mode’ for Lisp data.
-- A test that was temporarily broken passes again.
-- The default for ‘org-adapt-indentation’ has changed.
-- buffer-list may be called with arguments when native-comp is enabled.
-
-2023-08-19 Liliana Marie Prikler <liliana.prikler@gmail.com>
-
- * delete-numberless-inner-snippet-issue-562: Correct value in
- looking-at.
----
- yasnippet-tests.el | 45 ++++++++++++++++++++++++++++-----------------
- 1 file changed, 28 insertions(+), 17 deletions(-)
-
-diff --git a/yasnippet-tests.el b/yasnippet-tests.el
-index f7ca2bb..7618ab7 100644
---- a/yasnippet-tests.el
-+++ b/yasnippet-tests.el
-@@ -1,6 +1,6 @@
- ;;; yasnippet-tests.el --- some yasnippet tests -*- lexical-binding: t -*-
-
--;; Copyright (C) 2012-2015, 2017-2018 Free Software Foundation, Inc.
-+;; Copyright (C) 2012-2015, 2017-2018, 2021 Free Software Foundation, Inc.
-
- ;; Author: João Távora <joaot@siscog.pt>
- ;; Keywords: emulations, convenience
-@@ -289,7 +289,7 @@ attention to case differences."
- (should (looking-at "testblable"))
- (ert-simulate-command '(yas-next-field-or-maybe-expand))
- (ert-simulate-command '(yas-skip-and-clear-field))
-- (should (looking-at "ble"))
-+ (should (looking-at "blable"))
- (should (null (yas-active-snippets)))))
-
- (ert-deftest delete-nested-simple-field-issue-824 ()
-@@ -556,16 +556,19 @@ XXXXX ------------------------"))))
- (yas-mock-insert "foo bar")
- (ert-simulate-command '(yas-next-field))
- (goto-char (point-min))
-- (let ((expected (with-temp-buffer
-- (insert (format (concat "* Test foo bar\n"
-- " " org-property-format "\n"
-- " " org-property-format "\n"
-- " " org-property-format)
-- ":PROPERTIES:" ""
-- ":ID:" "foo bar-after"
-- ":END:" ""))
-- (delete-trailing-whitespace)
-- (buffer-string))))
-+ ;; The default value of `org-adapt-indentation' changed between Org-mode 9.4
-+ ;; and 9.5, so force a specific value.
-+ (let* ((org-adapt-indentation nil)
-+ (expected (with-temp-buffer
-+ (insert (format (concat "* Test foo bar\n"
-+ org-property-format "\n"
-+ org-property-format "\n"
-+ org-property-format)
-+ ":PROPERTIES:" ""
-+ ":ID:" "foo bar-after"
-+ ":END:" ""))
-+ (delete-trailing-whitespace)
-+ (buffer-string))))
- ;; Some org-mode versions leave trailing whitespace, some don't.
- (delete-trailing-whitespace)
- (should (equal expected (buffer-string))))))
-@@ -1195,11 +1198,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
- (let ((saved-sym (make-symbol "yas--buffer-list")))
- `(let ((,saved-sym (symbol-function 'buffer-list)))
- (cl-letf (((symbol-function 'buffer-list)
-- (lambda ()
-+ (lambda (&rest args)
- (cl-remove-if (lambda (buf)
- (with-current-buffer buf
- (eq major-mode 'lisp-interaction-mode)))
-- (funcall ,saved-sym)))))
-+ (funcall ,saved-sym args)))))
- ,@body))))
-
-
-@@ -1356,7 +1359,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
- ,@(if (fboundp 'prog-mode)
- '(prog-mode))
- emacs-lisp-mode
-- lisp-interaction-mode))
-+ lisp-interaction-mode
-+ ;; `lisp-data-mode' doesn't exist prior to Emacs 28.
-+ ,@(and (fboundp 'lisp-data-mode) '(lisp-data-mode))))
- (observed (yas--modes-to-activate)))
- (should (equal major-mode (car observed)))
- (should (equal (sort expected #'string<) (sort observed #'string<))))))))
-@@ -1384,7 +1389,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
- '(prog-mode))
- emacs-lisp-mode
- and-also-this-one
-- lisp-interaction-mode))
-+ lisp-interaction-mode
-+ ;; `lisp-data-mode' doesn't exist prior to
-+ ;; Emacs 28.
-+ ,@(and (fboundp 'lisp-data-mode)
-+ '(lisp-data-mode))))
- (observed (yas--modes-to-activate)))
- (should (equal expected-first
- (cl-subseq observed 0 (length expected-first))))
-@@ -1657,9 +1666,11 @@ TODO: be meaner"
- "Test expansion of snippets in org source blocks."
- ;; org 9+ no longer runs fontification for text-mode, so our hacks
- ;; don't work. Note that old ert doesn't have skipping, so we have
-- ;; to expect failure instead.
-+ ;; to expect failure instead. Starting with Org-mode 9.5 this seems
-+ ;; to work again.
- :expected-result (if (and (fboundp 'org-in-src-block-p)
-- (version< (org-version) "9"))
-+ (or (version< (org-version) "9")
-+ (version<= "9.5" (org-version))))
- :passed :failed)
- (let ((text-mode-hook #'yas-minor-mode))
- (do-yas-org-native-tab-in-source-block "text")))
---
-2.37.2
-
diff --git a/gnu/packages/patches/lugaru-fix-sound.patch b/gnu/packages/patches/lugaru-fix-sound.patch
new file mode 100644
index 0000000000..742908c977
--- /dev/null
+++ b/gnu/packages/patches/lugaru-fix-sound.patch
@@ -0,0 +1,32 @@
+From 3adfb088eed81fc2c9e40ac55018378d4975f469 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Sun, 28 Jan 2024 19:50:51 -0500
+Subject: [PATCH] audio: Look extension from right, not left.
+
+* Source/Audio/openal_wrapper.cpp (decode_to_pcm): Find extension from
+the right (strrchr), not from the left, to avoid eagerly truncating a
+file name.
+
+Fixes: https://gitlab.com/osslugaru/lugaru/-/issues/124#note_1746570172
+---
+ Source/Audio/openal_wrapper.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/Audio/openal_wrapper.cpp b/Source/Audio/openal_wrapper.cpp
+index cc4fc36..072fcb8 100644
+--- a/Source/Audio/openal_wrapper.cpp
++++ b/Source/Audio/openal_wrapper.cpp
+@@ -316,7 +316,7 @@ static void* decode_to_pcm(const char* _fname, ALenum& format, ALsizei& size, AL
+ // !!! FIXME: if it's not Ogg, we don't have a decoder. I'm lazy. :/
+ char* fname = (char*)alloca(strlen(_fname) + 16);
+ strcpy(fname, _fname);
+- char* ptr = strchr(fname, '.');
++ char* ptr = strrchr(fname, '.');
+ if (ptr) {
+ *ptr = '\0';
+ }
+
+base-commit: 6a58b62858d9c3c3630abf00bf43075f65a09d38
+--
+2.41.0
+
diff --git a/gnu/packages/patches/notmuch-emacs-test-output.patch b/gnu/packages/patches/notmuch-emacs-test-output.patch
deleted file mode 100644
index 3c6d472d6b..0000000000
--- a/gnu/packages/patches/notmuch-emacs-test-output.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From e9e779ead4d703ad423e46c23abd0c9afd7d5ed2 Mon Sep 17 00:00:00 2001
-From: Arjan Adriaanse <arjan@adriaan.se>
-Date: Tue, 15 Aug 2023 00:00:05 +0200
-Subject: [PATCH] test: fix expected output for Emacs 29
-
----
- test/T453-emacs-reply.sh | 1 -
- test/T454-emacs-dont-reply-names.sh | 9 +++------
- .../notmuch-reply-duplicate-4 | 1 -
- 3 files changed, 3 insertions(+), 8 deletions(-)
-
-diff --git a/test/T453-emacs-reply.sh b/test/T453-emacs-reply.sh
-index 0a27d066..de400b85 100755
---- a/test/T453-emacs-reply.sh
-+++ b/test/T453-emacs-reply.sh
-@@ -17,7 +17,6 @@ cat <<EOF > EXPECTED
- From: Notmuch Test Suite <test_suite@notmuchmail.org>
- To: Antoine Beaupré <anarcat@orangeseeds.org>
- Subject: Re: bug: "no top level messages" crash on Zen email loops
--In-Reply-To: <874llc2bkp.fsf@curie.anarc.at>
- Fcc: MAIL_DIR/sent
- --text follows this line--
- Antoine Beaupré <anarcat@orangeseeds.org> writes:
-diff --git a/test/T454-emacs-dont-reply-names.sh b/test/T454-emacs-dont-reply-names.sh
-index 3a770177..9ed4f18b 100755
---- a/test/T454-emacs-dont-reply-names.sh
-+++ b/test/T454-emacs-dont-reply-names.sh
-@@ -17,13 +17,12 @@ test_emacs '(let ((message-dont-reply-to-names "notmuchmail\\|noreply\\|harvard"
- (test-visible-output "OUTPUT-FULL.raw"))'
-
- notmuch_dir_sanitize < OUTPUT-FULL.raw > OUTPUT-FULL
--head -6 OUTPUT-FULL > OUTPUT
-+head -5 OUTPUT-FULL > OUTPUT
-
- cat <<EOF > EXPECTED
- From: Notmuch Test Suite <test_suite@notmuchmail.org>
- To: Mikhail Gusarov <dottedmag@dottedmag.net>
- Subject: Re: [notmuch] Working with Maildir storage?
--In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
- Fcc: MAIL_DIR/sent
- --text follows this line--
- EOF
-@@ -38,14 +37,13 @@ test_emacs '(let ((message-dont-reply-to-names
- (test-visible-output "OUTPUT-FULL-PRED.raw"))'
-
- notmuch_dir_sanitize < OUTPUT-FULL-PRED.raw > OUTPUT-FULL-PRED
--head -7 OUTPUT-FULL-PRED > OUTPUT-PRED
-+head -6 OUTPUT-FULL-PRED > OUTPUT-PRED
-
- cat <<EOF > EXPECTED-PRED
- From: Notmuch Test Suite <test_suite@notmuchmail.org>
- To: Lars Kellogg-Stedman <lars@seas.harvard.edu>
- Cc: notmuch@notmuchmail.org
- Subject: Re: [notmuch] Working with Maildir storage?
--In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
- Fcc: MAIL_DIR/sent
- --text follows this line--
- EOF
-@@ -59,14 +57,13 @@ test_emacs '(let ((message-dont-reply-to-names nil))
- (test-visible-output "OUTPUT-FULL-NIL.raw"))'
-
- notmuch_dir_sanitize < OUTPUT-FULL-NIL.raw > OUTPUT-FULL-NIL
--head -7 OUTPUT-FULL-NIL > OUTPUT-NIL
-+head -6 OUTPUT-FULL-NIL > OUTPUT-NIL
-
- cat <<EOF > EXPECTED-NIL
- From: Notmuch Test Suite <test_suite@notmuchmail.org>
- To: Lars Kellogg-Stedman <lars@seas.harvard.edu>, Mikhail Gusarov <dottedmag@dottedmag.net>
- Cc: notmuch@notmuchmail.org
- Subject: Re: [notmuch] Working with Maildir storage?
--In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
- Fcc: MAIL_DIR/sent
- --text follows this line--
- EOF
-diff --git a/test/emacs-reply.expected-output/notmuch-reply-duplicate-4 b/test/emacs-reply.expected-output/notmuch-reply-duplicate-4
-index 836f77b1..44b8c7a6 100644
---- a/test/emacs-reply.expected-output/notmuch-reply-duplicate-4
-+++ b/test/emacs-reply.expected-output/notmuch-reply-duplicate-4
-@@ -1,7 +1,6 @@
- From: Notmuch Test Suite <test_suite@notmuchmail.org>
- To: Sean Whitton <spwhitton@spwhitton.name>, 916811@bugs.debian.org, 916805@bugs.debian.org, 916807@bugs.debian.org, 916808@bugs.debian.org, 916809@bugs.debian.org, 916811@bugs.debian.org, 916867@bugs.debian.org, 916869@bugs.debian.org, 916872@bugs.debian.org, 916875@bugs.debian.org, 916876@bugs.debian.org
- Subject: Re: [Pkg-emacsen-addons] Bug#916811: Increase severity to 'serious'
--In-Reply-To: <87r2ecrr6x.fsf@zephyr.silentflame.com>
- Fcc: MAIL_DIR/sent
- --text follows this line--
- Sean Whitton <spwhitton@spwhitton.name> writes:
---
-2.41.0
-
diff --git a/gnu/packages/patches/openssh-gcc-13-ppc64le-fzero-call-used-regs.patch b/gnu/packages/patches/openssh-gcc-13-ppc64le-fzero-call-used-regs.patch
new file mode 100644
index 0000000000..1af9868b9a
--- /dev/null
+++ b/gnu/packages/patches/openssh-gcc-13-ppc64le-fzero-call-used-regs.patch
@@ -0,0 +1,61 @@
+From 1036d77b34a5fa15e56f516b81b9928006848cbd Mon Sep 17 00:00:00 2001
+From: Damien Miller <djm@mindrot.org>
+Date: Fri, 22 Dec 2023 17:56:26 +1100
+Subject: [PATCH] better detection of broken -fzero-call-used-regs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+gcc 13.2.0 on ppc64le refuses to compile some function, including
+cipher.c:compression_alg_list() with an error:
+
+> sorry, unimplemented: argument ‘used’ is not supportedcw
+> for ‘-fzero-call-used-regs’ on this target
+
+This extends the autoconf will-it-work test with a similarly-
+structured function that seems to catch this.
+
+Spotted/tested by Colin Watson; bz3645
+---
+
+Taken from upsteam, and for Guix by jackhill@jackhill.us
+Thanks Marcel van der Boom for noticing: https://issues.guix.gnu.org/67948#2
+
+m4/openssh.m4 | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/m4/openssh.m4 b/m4/openssh.m4
+index 5d4c56280..033df501c 100644
+--- a/m4/openssh.m4
++++ b/m4/openssh.m4
+@@ -20,18 +20,24 @@ char *f2(char *s, ...) {
+ va_end(args);
+ return strdup(ret);
+ }
++const char *f3(int s) {
++ return s ? "good" : "gooder";
++}
+ int main(int argc, char **argv) {
+- (void)argv;
+ char b[256], *cp;
++ const char *s;
+ /* Some math to catch -ftrapv problems in the toolchain */
+ int i = 123 * argc, j = 456 + argc, k = 789 - argc;
+ float l = i * 2.1;
+ double m = l / 0.5;
+ long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
++ (void)argv;
+ f(1);
+- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
++ s = f3(f(2));
++ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, b, 0) == -1) exit(0);
+- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
++ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
++ if (write(1, cp, 0) == -1) exit(0);
+ free(cp);
+ /*
+ * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
+--
+2.41.0
+
diff --git a/gnu/packages/patches/python-flint-includes.patch b/gnu/packages/patches/python-flint-includes.patch
deleted file mode 100644
index c0cfe94a04..0000000000
--- a/gnu/packages/patches/python-flint-includes.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-The following patch, authored by Andreas Enge, looks for the flint include
-files in the correct subdirectory.
-
-diff -u -r python-flint-old/src/flint.pxd python-flint-new/src/flint.pxd
---- python-flint-old/src/flint.pxd 2019-03-19 10:26:11.055748626 +0100
-+++ python-flint-new/src/flint.pxd 2019-03-19 10:35:23.269341203 +0100
-@@ -27,7 +27,7 @@
-
- ctypedef long fmpz_struct
-
--cdef extern from "flint.h":
-+cdef extern from "flint/flint.h":
- ctypedef void * flint_rand_t
- void flint_randinit(flint_rand_t state)
- void flint_randclear(flint_rand_t state)
-@@ -35,7 +35,7 @@
- long flint_get_num_threads()
- void flint_cleanup()
-
--cdef extern from "nmod_vec.h":
-+cdef extern from "flint/nmod_vec.h":
- ctypedef struct nmod_t:
- mp_limb_t n
- mp_limb_t ninv
-@@ -47,7 +47,7 @@
- mp_limb_t nmod_mul(mp_limb_t a, mp_limb_t b, nmod_t mod)
- mp_limb_t nmod_div(mp_limb_t a, mp_limb_t b, nmod_t mod)
-
--cdef extern from "nmod_poly.h":
-+cdef extern from "flint/nmod_poly.h":
- ctypedef struct nmod_poly_struct:
- mp_ptr coeffs
- long alloc
-@@ -129,7 +129,7 @@
- void nmod_poly_factor_init(nmod_poly_factor_t fac)
- void nmod_poly_factor_clear(nmod_poly_factor_t fac)
-
--cdef extern from "nmod_mat.h":
-+cdef extern from "flint/nmod_mat.h":
- ctypedef struct nmod_mat_struct:
- mp_limb_t * entries
- long r
-@@ -178,7 +178,7 @@
- long nmod_mat_rref(nmod_mat_t A)
- long nmod_mat_nullspace(nmod_mat_t X, nmod_mat_t A)
-
--cdef extern from "fmpz.h":
-+cdef extern from "flint/fmpz.h":
- ctypedef fmpz_struct fmpz_t[1]
- int COEFF_IS_MPZ(fmpz_struct v)
- void fmpz_init(fmpz_t op)
-@@ -268,7 +268,7 @@
- void fmpz_rfac_uiui(fmpz_t r, ulong x, ulong n)
- void fmpz_primorial(fmpz_t res, ulong n)
-
--cdef extern from "fmpz_factor.h":
-+cdef extern from "flint/fmpz_factor.h":
- ctypedef struct fmpz_factor_struct:
- int sign
- fmpz_struct * p
-@@ -280,7 +280,7 @@
- void fmpz_factor_clear(fmpz_factor_t factor)
- void fmpz_factor(fmpz_factor_t factor, fmpz_t n)
-
--cdef extern from "fmpz_poly.h":
-+cdef extern from "flint/fmpz_poly.h":
- ctypedef struct fmpz_poly_struct:
- fmpz_struct * coeffs
- long alloc
-@@ -390,14 +390,14 @@
- void fmpz_poly_cos_minpoly(fmpz_poly_t, ulong)
- void fmpz_poly_swinnerton_dyer(fmpz_poly_t, ulong)
-
--cdef extern from "fmpz_poly_factor.h":
-+cdef extern from "flint/fmpz_poly_factor.h":
- void fmpz_poly_factor_init(fmpz_poly_factor_t fac)
- void fmpz_poly_factor_clear(fmpz_poly_factor_t fac)
- void fmpz_poly_factor_zassenhaus(fmpz_poly_factor_t fac, fmpz_poly_t G)
- void fmpz_poly_factor(fmpz_poly_factor_t fac, fmpz_poly_t G)
- void fmpz_poly_factor_squarefree(fmpz_poly_factor_t fac, fmpz_poly_t G)
-
--cdef extern from "fmpz_mat.h":
-+cdef extern from "flint/fmpz_mat.h":
- ctypedef struct fmpz_mat_struct:
- fmpz_struct * entries
- long r
-@@ -448,7 +448,7 @@
- void fmpz_mat_snf(fmpz_mat_t S, const fmpz_mat_t A)
- int fmpz_mat_is_in_snf(const fmpz_mat_t A)
-
--cdef extern from "fmpz_lll.h":
-+cdef extern from "flint/fmpz_lll.h":
- ctypedef struct fmpz_lll_struct:
- double delta
- double eta
-@@ -461,7 +461,7 @@
- void fmpz_lll(fmpz_mat_t B, fmpz_mat_t U, const fmpz_lll_t fl)
-
-
--cdef extern from "fmpq.h":
-+cdef extern from "flint/fmpq.h":
- ctypedef struct fmpq_struct:
- fmpz_struct num
- fmpz_struct den
-@@ -506,7 +506,7 @@
- void fmpq_next_signed_minimal(fmpq_t res, fmpq_t x)
- void fmpq_harmonic_ui(fmpq_t res, ulong n)
-
--cdef extern from "fmpq_poly.h":
-+cdef extern from "flint/fmpq_poly.h":
- ctypedef struct fmpq_poly_struct:
- fmpz_struct * coeffs
- fmpz_t den
-@@ -620,7 +620,7 @@
- void fmpq_poly_compose_series(fmpq_poly_t res, fmpq_poly_t poly1, fmpq_poly_t poly2, long n)
- void fmpq_poly_revert_series(fmpq_poly_t res, fmpq_poly_t poly1, long n)
-
--cdef extern from "fmpq_mat.h":
-+cdef extern from "flint/fmpq_mat.h":
- ctypedef struct fmpq_mat_struct:
- fmpq_struct * entries
- long r
-@@ -672,7 +672,7 @@
- long fmpq_mat_rref(fmpq_mat_t B, fmpq_mat_t A)
- void fmpq_mat_transpose(fmpq_mat_t B, fmpq_mat_t A)
-
--cdef extern from "arith.h":
-+cdef extern from "flint/arith.h":
- void arith_number_of_partitions(fmpz_t res, ulong n)
- int arith_moebius_mu(fmpz_t n)
- void arith_divisor_sigma(fmpz_t v, fmpz_t n, ulong k)
diff --git a/gnu/packages/patches/python-pyls-black-41.patch b/gnu/packages/patches/python-pyls-black-41.patch
new file mode 100644
index 0000000000..5a1ebd2f54
--- /dev/null
+++ b/gnu/packages/patches/python-pyls-black-41.patch
@@ -0,0 +1,45 @@
+From ada6a999e4f5cca21a2133e449f4576dbe9a64d2 Mon Sep 17 00:00:00 2001
+From: Isaac Dadzie <4581114+idadzie@users.noreply.github.com>
+Date: Fri, 4 Feb 2022 21:18:37 +0000
+Subject: [PATCH] Add support for black 22.1.0
+
+Make changes to support black 22.1.0, which changed the return type
+of 'find_project_root' to a tuple.
+
+Resolves: #40
+---
+ pyls_black/plugin.py | 8 +++++++-
+ setup.cfg | 2 +-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/pyls_black/plugin.py b/pyls_black/plugin.py
+index dc5d482..e4f4d98 100644
+--- a/pyls_black/plugin.py
++++ b/pyls_black/plugin.py
+@@ -73,7 +73,13 @@ def load_config(filename: str) -> Dict:
+
+ root = black.find_project_root((filename,))
+
+- pyproject_filename = root / "pyproject.toml"
++ # Note: find_project_root returns a tuple in 22.1.0+
++ try:
++ # Keeping this to not break backward compatibility.
++ pyproject_filename = root / "pyproject.toml"
++ except TypeError:
++ _root, _ = root
++ pyproject_filename = _root / "pyproject.toml"
+
+ if not pyproject_filename.is_file():
+ return defaults
+diff --git a/setup.cfg b/setup.cfg
+index 036cec2..57fbe4f 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,6 +1,6 @@
+ [metadata]
+ name = pyls-black
+-version = 0.4.7
++version = 0.4.8
+ author = Rupert Bedford
+ author_email = rupert@rupertb.com
+ description = Black plugin for the Python Language Server
diff --git a/gnu/packages/patches/python-scikit-bio-1887.patch b/gnu/packages/patches/python-scikit-bio-1887.patch
new file mode 100644
index 0000000000..7ee7518128
--- /dev/null
+++ b/gnu/packages/patches/python-scikit-bio-1887.patch
@@ -0,0 +1,109 @@
+From 290da0472e3a0af01b242cd1d3dd6a24588db0e5 Mon Sep 17 00:00:00 2001
+From: qiyunzhu <qiyunzhu@gmail.com>
+Date: Sat, 4 Nov 2023 12:59:54 -0700
+Subject: [PATCH 1/2] removed kulsinski
+
+---
+ CHANGELOG.md | 6 ++++++
+ ci/aarch64.conda_requirements.txt | 2 +-
+ ci/conda_requirements.txt | 2 +-
+ setup.py | 2 +-
+ skbio/diversity/_driver.py | 2 --
+ 5 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/CHANGELOG.md b/CHANGELOG.md
+index 0ce69c2c6..cd9adea6c 100644
+--- a/CHANGELOG.md
++++ b/CHANGELOG.md
+@@ -2,6 +2,12 @@
+
+ ## Version 0.5.10
+
++### Features
++* SciPy 1.11+ is now supported.
++
++### Backward-incompatible changes [experimental]
++* Beta diversity metric `kulsinski` was removed. This was motivated by that SciPy replaced this distance metric with `kulczynski1` in version 1.11 (see SciPy issue [#2009](https://github.com/scipy/scipy/issues/2009)), and that both metrics do not return 0 on two identical vectors.
++
+ ### Bug fixes
+
+ * Re-enabled OpenMP support, which has been mistakenly disabled in 0.5.8 ([#1874](https://github.com/biocore/scikit-bio/pull/1874))
+diff --git a/ci/aarch64.conda_requirements.txt b/ci/aarch64.conda_requirements.txt
+index a329bc666..3564f4c3c 100644
+--- a/ci/aarch64.conda_requirements.txt
++++ b/ci/aarch64.conda_requirements.txt
+@@ -5,5 +5,5 @@ matplotlib >= 1.4.3
+ natsort >= 4.0.3
+ numpy >= 1.9.2
+ pandas >= 1.5.0
+-scipy <= 1.10.1
++scipy >= 1.9.0
+ h5py >= 3.6.0
+diff --git a/ci/conda_requirements.txt b/ci/conda_requirements.txt
+index 4402e4ebb..0f1bd715c 100644
+--- a/ci/conda_requirements.txt
++++ b/ci/conda_requirements.txt
+@@ -5,6 +5,6 @@ matplotlib >= 1.4.3
+ natsort >= 4.0.3
+ numpy >= 1.9.2
+ pandas >= 1.5.0
+-scipy <= 1.10.1
++scipy >= 1.9.0
+ h5py >= 3.6.0
+ hdmedians >= 0.14.1
+diff --git a/setup.py b/setup.py
+index 36600e427..fa4d5e0a7 100644
+--- a/setup.py
++++ b/setup.py
+@@ -221,7 +221,7 @@ def check_bin(ccbin, source, allow_dash):
+ 'natsort >= 4.0.3',
+ 'numpy >= 1.9.2',
+ 'pandas >= 1.5.0',
+- 'scipy <= 1.10.1',
++ 'scipy >= 1.9.0',
+ 'h5py >= 3.6.0',
+ 'hdmedians >= 0.14.1',
+ ],
+diff --git a/skbio/diversity/_driver.py b/skbio/diversity/_driver.py
+index 016020743..1a792efb6 100644
+--- a/skbio/diversity/_driver.py
++++ b/skbio/diversity/_driver.py
+@@ -296,7 +296,6 @@ def partial_beta_diversity(metric, counts, ids, id_pairs, validate=True,
+ "dice",
+ "hamming",
+ "jaccard",
+- "kulsinski",
+ "mahalanobis",
+ "manhattan", # aliases to "cityblock" in beta_diversity
+ "matching",
+@@ -314,7 +313,6 @@ def partial_beta_diversity(metric, counts, ids, id_pairs, validate=True,
+ _qualitative_beta_metrics = [
+ "dice",
+ "jaccard",
+- "kulsinski",
+ "matching",
+ "rogerstanimoto",
+ "russellrao",
+
+From 9dd9c6dd68a015f1159f884c57878b8a00fad14c Mon Sep 17 00:00:00 2001
+From: Qiyun Zhu <qiyunzhu@gmail.com>
+Date: Tue, 7 Nov 2023 22:42:10 -0700
+Subject: [PATCH 2/2] fixing numpy exception
+
+---
+ skbio/stats/tests/test_composition.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/skbio/stats/tests/test_composition.py b/skbio/stats/tests/test_composition.py
+index 90921be5b..e720a594f 100644
+--- a/skbio/stats/tests/test_composition.py
++++ b/skbio/stats/tests/test_composition.py
+@@ -1222,7 +1222,7 @@ def test_ancom_fail_alpha(self):
+ ancom(self.table1, self.cats1, alpha=1.1)
+
+ def test_ancom_fail_multiple_groups(self):
+- with self.assertRaises(TypeError):
++ with self.assertRaises((TypeError, np.AxisError)):
+ ancom(self.table4, self.cats4,
+ significance_test=scipy.stats.ttest_ind)
+
diff --git a/gnu/packages/patches/r-sapa-lapack.patch b/gnu/packages/patches/r-sapa-lapack.patch
new file mode 100644
index 0000000000..1911b133c5
--- /dev/null
+++ b/gnu/packages/patches/r-sapa-lapack.patch
@@ -0,0 +1,23 @@
+From 5eb1faf8ee2eac3057ef55c99dd3083242559b9e Mon Sep 17 00:00:00 2001
+From: dbpercival <dbpercival@gmail.com>
+Date: Sat, 8 Jul 2023 16:26:35 -0700
+Subject: [PATCH] Update sapa_lapack.c
+
+Stephen's suggested change
+---
+ src/sapa_lapack.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sapa_lapack.c b/src/sapa_lapack.c
+index eff4851..a520e33 100644
+--- a/src/sapa_lapack.c
++++ b/src/sapa_lapack.c
+@@ -102,7 +102,7 @@ SEXP R_sapa_dpss(SEXP nsample, SEXP ntaper, SEXP bandwidth)
+ ISPLIT,
+ WORK1,
+ IWORK1,
+- &INFO);
++ &INFO FCONE FCONE);
+ // if (INFO != 0)
+ // error(_("error code %d from LAPACK routine '%s'"), info, "dstebz");
+
diff --git a/gnu/packages/patches/range-v3-build-with-gcc10.patch b/gnu/packages/patches/range-v3-build-with-gcc10.patch
deleted file mode 100644
index a5d5b33523..0000000000
--- a/gnu/packages/patches/range-v3-build-with-gcc10.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 0487cca29e352e8f16bbd91fda38e76e39a0ed28 Mon Sep 17 00:00:00 2001
-From: Louis Dionne <ldionne.2@gmail.com>
-Date: Tue, 15 Jun 2021 14:40:01 -0400
-Subject: [PATCH] Work around broken integration with latest libc++. (#1635)
-
-* Work around broken integration with latest libc++.
-
-In newer versions of libc++, the base template of std::iterator_traits
-provides a member typedef called __primary_template which is an alias
-to the std::iterator_traits specialization itself. This fix works with
-both the old version of libc++ and the new one.
-
-Fixes issue #1633.
-
-* Fix is_std_iterator_traits_specialized_v on MSVC
-
-It used to pretend that std::iterator_traits<T*> is a user-defined
-specialization, which isn't the case. This is due to MSVC's
-iterator_traits<T*> specialization not posing as the base template.
----
- include/std/detail/associated_types.hpp | 22 +++++++++++-----
- test/CMakeLists.txt | 1 +
- test/bug1633.cpp | 34 +++++++++++++++++++++++++
- 3 files changed, 51 insertions(+), 6 deletions(-)
- create mode 100644 test/bug1633.cpp
-
-diff --git a/include/std/detail/associated_types.hpp b/include/std/detail/associated_types.hpp
-index b642166d4..449a3f91c 100644
---- a/include/std/detail/associated_types.hpp
-+++ b/include/std/detail/associated_types.hpp
-@@ -265,11 +265,22 @@ namespace ranges
- template<typename I>
- char is_std_iterator_traits_specialized_impl_(void *);
- #elif defined(_LIBCPP_VERSION)
-- template<typename I, bool B>
-- char (
-- &is_std_iterator_traits_specialized_impl_(std::__iterator_traits<I, B> *))[2];
-+ // In older versions of libc++, the base template inherits from std::__iterator_traits<typename, bool>.
-+ template<template<typename, bool> class IteratorTraitsBase, typename I, bool B>
-+ char (&libcpp_iterator_traits_base_impl(IteratorTraitsBase<I, B> *))[2];
-+ template<template<typename, bool> class IteratorTraitsBase, typename I>
-+ char libcpp_iterator_traits_base_impl(void *);
-+
-+ // In newer versions, the base template has only one template parameter and provides the
-+ // __primary_template typedef which aliases the iterator_traits specialization.
-+ template<template<typename> class, typename I>
-+ char (&libcpp_iterator_traits_base_impl(typename std::iterator_traits<I>::__primary_template *))[2];
-+ template<template<typename> class, typename I>
-+ char libcpp_iterator_traits_base_impl(void *);
-+
- template<typename I>
-- char is_std_iterator_traits_specialized_impl_(void *);
-+ auto is_std_iterator_traits_specialized_impl_(std::iterator_traits<I>* traits)
-+ -> decltype(libcpp_iterator_traits_base_impl<std::__iterator_traits, I>(traits));
- #elif defined(_MSVC_STL_VERSION)
- template<typename I>
- char (&is_std_iterator_traits_specialized_impl_(
-@@ -287,14 +298,13 @@ namespace ranges
- RANGES_INLINE_VAR constexpr bool is_std_iterator_traits_specialized_v =
- 1 == sizeof(is_std_iterator_traits_specialized_impl_<I>(
- static_cast<std::iterator_traits<I> *>(nullptr)));
--
-+#endif
- // The standard iterator_traits<T *> specialization(s) do not count
- // as user-specialized. This will no longer be necessary in C++20.
- // This helps with `T volatile*` and `void *`.
- template<typename T>
- RANGES_INLINE_VAR constexpr bool is_std_iterator_traits_specialized_v<T *> =
- false;
--#endif
- } // namespace detail
- /// \endcond
- } // namespace ranges
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 889f314af..2c2b7c09c 100644
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -19,3 +19,4 @@ rv3_add_test(test.bug474 bug474 bug474.cpp)
- rv3_add_test(test.bug566 bug566 bug566.cpp)
- rv3_add_test(test.bug1322 bug1322 bug1322.cpp)
- rv3_add_test(test.bug1335 bug1335 bug1335.cpp)
-+rv3_add_test(test.bug1633 bug1633 bug1633.cpp)
-diff --git a/test/bug1633.cpp b/test/bug1633.cpp
-new file mode 100644
-index 000000000..be52420ad
---- /dev/null
-+++ b/test/bug1633.cpp
-@@ -0,0 +1,34 @@
-+// Range v3 library
-+//
-+// Use, modification and distribution is subject to the
-+// Boost Software License, Version 1.0. (See accompanying
-+// file LICENSE_1_0.txt or copy at
-+// http://www.boost.org/LICENSE_1_0.txt)
-+//
-+// Project home: https://github.com/ericniebler/range-v3
-+
-+#include <cstddef>
-+#include <iterator>
-+#include <range/v3/iterator.hpp>
-+
-+struct X { };
-+
-+namespace std {
-+ template<> struct iterator_traits<X> { };
-+}
-+
-+struct Y {
-+ using difference_type = std::ptrdiff_t;
-+ using value_type = int;
-+ using pointer = int*;
-+ using reference = int&;
-+ using iterator_category = std::forward_iterator_tag;
-+};
-+
-+static_assert(ranges::detail::is_std_iterator_traits_specialized_v<X>, "");
-+static_assert(!ranges::detail::is_std_iterator_traits_specialized_v<Y>, "");
-+static_assert(!ranges::detail::is_std_iterator_traits_specialized_v<int*>, "");
-+
-+int main()
-+{
-+}
diff --git a/gnu/packages/patches/s7-flint-3.patch b/gnu/packages/patches/s7-flint-3.patch
new file mode 100644
index 0000000000..49f47adda1
--- /dev/null
+++ b/gnu/packages/patches/s7-flint-3.patch
@@ -0,0 +1,31 @@
+From bd54bd42c5933e4c571dcfd6a8afac8e52cf7366 Mon Sep 17 00:00:00 2001
+From: Andreas Enge <andreas@enge.fr>
+Date: Thu, 25 Jan 2024 12:13:18 +0100
+Subject: [PATCH] Adapt libarb_s7.c to FLINT 3.
+
+---
+ libarb_s7.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libarb_s7.c b/libarb_s7.c
+index 7413ccc..d9e0084 100644
+--- a/libarb_s7.c
++++ b/libarb_s7.c
+@@ -6,10 +6,10 @@
+ #include <mpfr.h>
+ #include <mpc.h>
+
+-#include <arb.h>
+-#include <acb.h>
+-#include <acb_hypgeom.h>
+-#include <acb_elliptic.h>
++#include <flint/arb.h>
++#include <flint/acb.h>
++#include <flint/acb_hypgeom.h>
++#include <flint/acb_elliptic.h>
+
+ #define WITH_GMP 1
+ #include "s7.h"
+--
+2.41.0
+
diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
index 708ed81e93..9201f9a51d 100644
--- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
+++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
@@ -8,7 +8,8 @@ This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce
CONFIG_FIT_PRELOAD to remove fit_pre_load_data, which depends on openssl.
-Addendum 2023-10-17, Herman Rimm: Update patch for u-boot v2023.10.
+Addendum 2024-01-18, Herman Rimm: Patch updated to leave out upstreamed
+diffs with CONFIG_FIT_PRELOAD.
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 4dce495ff0..976174ae77 100644
@@ -145,64 +146,3 @@ index 4dce495ff0..976174ae77 100644
/* Calculate and set the header checksum */
main_hdr->checksum = image_checksum8(main_hdr, headersz);
---- a/tools/image-host.c
-+++ b/tools/image-host.c
-@@ -14,8 +14,10 @@
- #include <image.h>
- #include <version.h>
-
-+#ifdef CONFIG_FIT_PRELOAD
- #include <openssl/pem.h>
- #include <openssl/evp.h>
-+#endif
-
- /**
- * fit_set_hash_value - set hash value in requested has node
-@@ -1119,6 +1121,7 @@ static int fit_config_add_verification_data(const char *keydir,
- return 0;
- }
-
-+#ifdef CONFIG_FIT_PRELOAD
- /*
- * 0) open file (open)
- * 1) read certificate (PEM_read_X509)
-@@ -1227,6 +1230,7 @@ int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
- out:
- return ret;
- }
-+#endif
-
- int fit_cipher_data(const char *keydir, void *keydest, void *fit,
- const char *comment, int require_keys,
---- a/tools/fit_image.c
-+++ b/tools/fit_image.c
-@@ -61,9 +61,10 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
- ret = fit_set_timestamp(ptr, 0, time);
- }
-
-+#ifdef CONFIG_FIT_PRELOAD
- if (!ret)
- ret = fit_pre_load_data(params->keydir, dest_blob, ptr);
--
-+#endif
- if (!ret) {
- ret = fit_cipher_data(params->keydir, dest_blob, ptr,
- params->comment,
---- a/include/image.h
-+++ b/include/image.h
-@@ -1182,6 +1182,7 @@ int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value,
-
- int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
-
-+#ifdef CONFIG_FIT_PRELOAD
- /**
- * fit_pre_load_data() - add public key to fdt blob
- *
-@@ -1196,6 +1197,7 @@ int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
- * < 0, on failure
- */
- int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
-+#endif
-
- int fit_cipher_data(const char *keydir, void *keydest, void *fit,
- const char *comment, int require_keys,
diff --git a/gnu/packages/patches/u-boot-build-without-libcrypto.patch b/gnu/packages/patches/u-boot-build-without-libcrypto.patch
new file mode 100644
index 0000000000..d56588941c
--- /dev/null
+++ b/gnu/packages/patches/u-boot-build-without-libcrypto.patch
@@ -0,0 +1,123 @@
+From 03e598263e3878b6f5d58f5525577903edadc644 Mon Sep 17 00:00:00 2001
+From: Paul-Erwan Rio <paulerwan.rio@gmail.com>
+Date: Thu, 21 Dec 2023 08:26:11 +0100
+Subject: [PATCH] tools: fix build without LIBCRYPTO support
+
+Commit cb9faa6f98ae ("tools: Use a single target-independent config to
+enable OpenSSL") introduced a target-independent configuration to build
+crypto features in host tools.
+
+But since commit 2c21256b27d7 ("hash: Use Kconfig to enable hashing in
+host tools and SPL") the build without OpenSSL is broken, due to FIT
+signature/encryption features. Add missing conditional compilation
+tokens to fix this.
+
+Signed-off-by: Paul-Erwan Rio <paulerwan.rio@gmail.com>
+Tested-by: Alexander Dahl <ada@thorsis.com>
+Cc: Simon Glass <sjg@chromium.org>
+Reviewed-by: Tom Rini <trini@konsulko.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+---
+ include/image.h | 2 +-
+ tools/Kconfig | 1 +
+ tools/fit_image.c | 2 +-
+ tools/image-host.c | 4 ++++
+ tools/mkimage.c | 5 +++--
+ 5 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/include/image.h b/include/image.h
+index 432ec927b1..21de70f0c9 100644
+--- a/include/image.h
++++ b/include/image.h
+@@ -1465,7 +1465,7 @@ int calculate_hash(const void *data, int data_len, const char *algo,
+ * device
+ */
+ #if defined(USE_HOSTCC)
+-# if defined(CONFIG_FIT_SIGNATURE)
++# if CONFIG_IS_ENABLED(FIT_SIGNATURE)
+ # define IMAGE_ENABLE_SIGN 1
+ # define FIT_IMAGE_ENABLE_VERIFY 1
+ # include <openssl/evp.h>
+diff --git a/tools/Kconfig b/tools/Kconfig
+index f8632cd59d..f01ed783e6 100644
+--- a/tools/Kconfig
++++ b/tools/Kconfig
+@@ -51,6 +51,7 @@ config TOOLS_FIT_RSASSA_PSS
+ Support the rsassa-pss signature scheme in the tools builds
+
+ config TOOLS_FIT_SIGNATURE
++ depends on TOOLS_LIBCRYPTO
+ def_bool y
+ help
+ Enable signature verification of FIT uImages in the tools builds
+diff --git a/tools/fit_image.c b/tools/fit_image.c
+index 71e031c855..beef1fa86e 100644
+--- a/tools/fit_image.c
++++ b/tools/fit_image.c
+@@ -61,7 +61,7 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
+ ret = fit_set_timestamp(ptr, 0, time);
+ }
+
+- if (!ret)
++ if (CONFIG_IS_ENABLED(FIT_SIGNATURE) && !ret)
+ ret = fit_pre_load_data(params->keydir, dest_blob, ptr);
+
+ if (!ret) {
+diff --git a/tools/image-host.c b/tools/image-host.c
+index ca4950312f..90bc9f905f 100644
+--- a/tools/image-host.c
++++ b/tools/image-host.c
+@@ -14,8 +14,10 @@
+ #include <image.h>
+ #include <version.h>
+
++#if CONFIG_IS_ENABLED(FIT_SIGNATURE)
+ #include <openssl/pem.h>
+ #include <openssl/evp.h>
++#endif
+
+ /**
+ * fit_set_hash_value - set hash value in requested has node
+@@ -1131,6 +1133,7 @@ static int fit_config_add_verification_data(const char *keydir,
+ return 0;
+ }
+
++#if CONFIG_IS_ENABLED(FIT_SIGNATURE)
+ /*
+ * 0) open file (open)
+ * 1) read certificate (PEM_read_X509)
+@@ -1239,6 +1242,7 @@ int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
+ out:
+ return ret;
+ }
++#endif
+
+ int fit_cipher_data(const char *keydir, void *keydest, void *fit,
+ const char *comment, int require_keys,
+diff --git a/tools/mkimage.c b/tools/mkimage.c
+index 6dfe3e1d42..ac62ebbde9 100644
+--- a/tools/mkimage.c
++++ b/tools/mkimage.c
+@@ -115,7 +115,7 @@ static void usage(const char *msg)
+ " -B => align size in hex for FIT structure and header\n"
+ " -b => append the device tree binary to the FIT\n"
+ " -t => update the timestamp in the FIT\n");
+-#ifdef CONFIG_FIT_SIGNATURE
++#if CONFIG_IS_ENABLED(FIT_SIGNATURE)
+ fprintf(stderr,
+ "Signing / verified boot options: [-k keydir] [-K dtb] [ -c <comment>] [-p addr] [-r] [-N engine]\n"
+ " -k => set directory containing private keys\n"
+@@ -130,8 +130,9 @@ static void usage(const char *msg)
+ " -o => algorithm to use for signing\n");
+ #else
+ fprintf(stderr,
+- "Signing / verified boot not supported (CONFIG_FIT_SIGNATURE undefined)\n");
++ "Signing / verified boot not supported (CONFIG_TOOLS_FIT_SIGNATURE undefined)\n");
+ #endif
++
+ fprintf(stderr, " %s -V ==> print version information and exit\n",
+ params.cmdname);
+ fprintf(stderr, "Use '-T list' to see a list of available image types\n");
+--
+2.41.0
+
diff --git a/gnu/packages/patches/u-boot-patman-change-id.patch b/gnu/packages/patches/u-boot-patman-change-id.patch
deleted file mode 100644
index 354aee2755..0000000000
--- a/gnu/packages/patches/u-boot-patman-change-id.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-Upstream status: https://patchwork.ozlabs.org/project/uboot/patch/20231013030633.7191-1-maxim.cournoyer@gmail.com/
-
-From f83a5e07b0934e38cbee923e0c5b7fc0a890926c Mon Sep 17 00:00:00 2001
-From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-Date: Thu, 12 Oct 2023 17:04:25 -0400
-Subject: [PATCH] patman: Add a 'keep_change_id' setting
-
-A Change-Id can be useful for traceability purposes, and some projects
-may wish to have them preserved. This change makes it configurable
-via a new 'keep_change_id' setting.
-
-Series-version: 2
-Series-changes: 2
-- Add missing argument to send parser
----
- tools/patman/__main__.py | 2 ++
- tools/patman/control.py | 12 +++++++++---
- tools/patman/patchstream.py | 17 ++++++++++++-----
- tools/patman/patman.rst | 11 ++++++-----
- tools/patman/test_checkpatch.py | 16 ++++++++++++++++
- 5 files changed, 45 insertions(+), 13 deletions(-)
-
-diff --git a/tools/patman/__main__.py b/tools/patman/__main__.py
-index 8eba5d3486..197ac1aad1 100755
---- a/tools/patman/__main__.py
-+++ b/tools/patman/__main__.py
-@@ -103,6 +103,8 @@ send.add_argument('--no-signoff', action='store_false', dest='add_signoff',
- default=True, help="Don't add Signed-off-by to patches")
- send.add_argument('--smtp-server', type=str,
- help="Specify the SMTP server to 'git send-email'")
-+send.add_argument('--keep-change-id', action='store_true',
-+ help='Preserve Change-Id tags in patches to send.')
-
- send.add_argument('patchfiles', nargs='*')
-
-diff --git a/tools/patman/control.py b/tools/patman/control.py
-index 916ddf8fcf..b292da9dc2 100644
---- a/tools/patman/control.py
-+++ b/tools/patman/control.py
-@@ -16,11 +16,14 @@ from patman import gitutil
- from patman import patchstream
- from u_boot_pylib import terminal
-
-+
- def setup():
- """Do required setup before doing anything"""
- gitutil.setup()
-
--def prepare_patches(col, branch, count, start, end, ignore_binary, signoff):
-+
-+def prepare_patches(col, branch, count, start, end, ignore_binary, signoff,
-+ keep_change_id=False):
- """Figure out what patches to generate, then generate them
-
- The patch files are written to the current directory, e.g. 0001_xxx.patch
-@@ -35,6 +38,7 @@ def prepare_patches(col, branch, count, start, end, ignore_binary, signoff):
- end (int): End patch to use (0=last one in series, 1=one before that,
- etc.)
- ignore_binary (bool): Don't generate patches for binary files
-+ keep_change_id (bool): Preserve the Change-Id tag.
-
- Returns:
- Tuple:
-@@ -59,11 +63,12 @@ def prepare_patches(col, branch, count, start, end, ignore_binary, signoff):
- branch, start, to_do, ignore_binary, series, signoff)
-
- # Fix up the patch files to our liking, and insert the cover letter
-- patchstream.fix_patches(series, patch_files)
-+ patchstream.fix_patches(series, patch_files, keep_change_id)
- if cover_fname and series.get('cover'):
- patchstream.insert_cover_letter(cover_fname, series, to_do)
- return series, cover_fname, patch_files
-
-+
- def check_patches(series, patch_files, run_checkpatch, verbose, use_tree):
- """Run some checks on a set of patches
-
-@@ -166,7 +171,8 @@ def send(args):
- col = terminal.Color()
- series, cover_fname, patch_files = prepare_patches(
- col, args.branch, args.count, args.start, args.end,
-- args.ignore_binary, args.add_signoff)
-+ args.ignore_binary, args.add_signoff,
-+ keep_change_id=args.keep_change_id)
- ok = check_patches(series, patch_files, args.check_patch,
- args.verbose, args.check_patch_use_tree)
-
-diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
-index f91669a940..e2e2a83e67 100644
---- a/tools/patman/patchstream.py
-+++ b/tools/patman/patchstream.py
-@@ -68,6 +68,7 @@ STATE_PATCH_SUBJECT = 1 # In patch subject (first line of log for a commit)
- STATE_PATCH_HEADER = 2 # In patch header (after the subject)
- STATE_DIFFS = 3 # In the diff part (past --- line)
-
-+
- class PatchStream:
- """Class for detecting/injecting tags in a patch or series of patches
-
-@@ -76,7 +77,7 @@ class PatchStream:
- unwanted tags or inject additional ones. These correspond to the two
- phases of processing.
- """
-- def __init__(self, series, is_log=False):
-+ def __init__(self, series, is_log=False, keep_change_id=False):
- self.skip_blank = False # True to skip a single blank line
- self.found_test = False # Found a TEST= line
- self.lines_after_test = 0 # Number of lines found after TEST=
-@@ -86,6 +87,7 @@ class PatchStream:
- self.section = [] # The current section...END section
- self.series = series # Info about the patch series
- self.is_log = is_log # True if indent like git log
-+ self.keep_change_id = keep_change_id # True to keep Change-Id tags
- self.in_change = None # Name of the change list we are in
- self.change_version = 0 # Non-zero if we are in a change list
- self.change_lines = [] # Lines of the current change
-@@ -452,6 +454,8 @@ class PatchStream:
-
- # Detect Change-Id tags
- elif change_id_match:
-+ if self.keep_change_id:
-+ out = [line]
- value = change_id_match.group(1)
- if self.is_log:
- if self.commit.change_id:
-@@ -763,7 +767,7 @@ def get_metadata_for_test(text):
- pst.finalise()
- return series
-
--def fix_patch(backup_dir, fname, series, cmt):
-+def fix_patch(backup_dir, fname, series, cmt, keep_change_id=False):
- """Fix up a patch file, by adding/removing as required.
-
- We remove our tags from the patch file, insert changes lists, etc.
-@@ -776,6 +780,7 @@ def fix_patch(backup_dir, fname, series, cmt):
- fname (str): Filename to patch file to process
- series (Series): Series information about this patch set
- cmt (Commit): Commit object for this patch file
-+ keep_change_id (bool): Keep the Change-Id tag.
-
- Return:
- list: A list of errors, each str, or [] if all ok.
-@@ -783,7 +788,7 @@ def fix_patch(backup_dir, fname, series, cmt):
- handle, tmpname = tempfile.mkstemp()
- outfd = os.fdopen(handle, 'w', encoding='utf-8')
- infd = open(fname, 'r', encoding='utf-8')
-- pst = PatchStream(series)
-+ pst = PatchStream(series, keep_change_id=keep_change_id)
- pst.commit = cmt
- pst.process_stream(infd, outfd)
- infd.close()
-@@ -795,7 +800,7 @@ def fix_patch(backup_dir, fname, series, cmt):
- shutil.move(tmpname, fname)
- return cmt.warn
-
--def fix_patches(series, fnames):
-+def fix_patches(series, fnames, keep_change_id=False):
- """Fix up a list of patches identified by filenames
-
- The patch files are processed in place, and overwritten.
-@@ -803,6 +808,7 @@ def fix_patches(series, fnames):
- Args:
- series (Series): The Series object
- fnames (:type: list of str): List of patch files to process
-+ keep_change_id (bool): Keep the Change-Id tag.
- """
- # Current workflow creates patches, so we shouldn't need a backup
- backup_dir = None #tempfile.mkdtemp('clean-patch')
-@@ -811,7 +817,8 @@ def fix_patches(series, fnames):
- cmt = series.commits[count]
- cmt.patch = fname
- cmt.count = count
-- result = fix_patch(backup_dir, fname, series, cmt)
-+ result = fix_patch(backup_dir, fname, series, cmt,
-+ keep_change_id=keep_change_id)
- if result:
- print('%d warning%s for %s:' %
- (len(result), 's' if len(result) > 1 else '', fname))
-diff --git a/tools/patman/patman.rst b/tools/patman/patman.rst
-index 038b651ee8..a8b317eed6 100644
---- a/tools/patman/patman.rst
-+++ b/tools/patman/patman.rst
-@@ -371,11 +371,12 @@ Series-process-log: sort, uniq
- Separate each tag with a comma.
-
- Change-Id:
-- This tag is stripped out but is used to generate the Message-Id
-- of the emails that will be sent. When you keep the Change-Id the
-- same you are asserting that this is a slightly different version
-- (but logically the same patch) as other patches that have been
-- sent out with the same Change-Id.
-+ This tag is used to generate the Message-Id of the emails that
-+ will be sent. When you keep the Change-Id the same you are
-+ asserting that this is a slightly different version (but logically
-+ the same patch) as other patches that have been sent out with the
-+ same Change-Id. The Change-Id tag line is removed from outgoing
-+ patches, unless the `keep_change_id` settings is set to `True`.
-
- Various other tags are silently removed, like these Chrome OS and
- Gerrit tags::
-diff --git a/tools/patman/test_checkpatch.py b/tools/patman/test_checkpatch.py
-index a8bb364e42..59a53ef8ca 100644
---- a/tools/patman/test_checkpatch.py
-+++ b/tools/patman/test_checkpatch.py
-@@ -160,6 +160,22 @@ Signed-off-by: Simon Glass <sjg@chromium.org>
-
- rc = os.system('diff -u %s %s' % (inname, expname))
- self.assertEqual(rc, 0)
-+ os.remove(inname)
-+
-+ # Test whether the keep_change_id settings works.
-+ inhandle, inname = tempfile.mkstemp()
-+ infd = os.fdopen(inhandle, 'w', encoding='utf-8')
-+ infd.write(data)
-+ infd.close()
-+
-+ patchstream.fix_patch(None, inname, series.Series(), com,
-+ keep_change_id=True)
-+
-+ with open(inname, 'r') as f:
-+ content = f.read()
-+ self.assertIn(
-+ 'Change-Id: I80fe1d0c0b7dd10aa58ce5bb1d9290b6664d5413',
-+ content)
-
- os.remove(inname)
- os.remove(expname)
-
-base-commit: f9a47ac8d97da2b3aaf463f268a9a872a8d921df
---
-2.41.0
-