Subject: Re: bug#62309: [PATCH core-updates 0/2] Fix qemu build

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 20 Mar 2023 21:32:03 -0400

Hello,

Josselin Poiret <[email-masked]> writes:

> * gnu/packages/patches/u-boot-fix-build-python-3.10.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/bootloaders.scm (u-boot): Apply patch.
> ---
>  gnu/local.mk                                  |  1 +
>  gnu/packages/bootloaders.scm                  |  3 ++
>  .../u-boot-fix-build-python-3.10.patch        | 35 +++++++++++++++++++
>  3 files changed, 39 insertions(+)
>  create mode 100644 gnu/packages/patches/u-boot-fix-build-python-3.10.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 058b23c683..20bf2bea77 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1936,6 +1936,7 @@ dist_patch_DATA =						\
>    %D%/packages/patches/tuxpaint-stamps-path.patch		\
>    %D%/packages/patches/twinkle-bcg729.patch			\
>    %D%/packages/patches/u-boot-allow-disabling-openssl.patch	\
> +  %D%/packages/patches/u-boot-fix-build-python-3.10.patch       \

It probably doesn't matter too much, but the other lines use tabs to
align the backslash, while your change uses spaces.

>    %D%/packages/patches/u-boot-infodocs-target.patch		\
>    %D%/packages/patches/u-boot-patman-guix-integration.patch	\
>    %D%/packages/patches/u-boot-nintendo-nes-serial.patch		\
> diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
> index ac269807be..457f3b3994 100644
> --- a/gnu/packages/bootloaders.scm
> +++ b/gnu/packages/bootloaders.scm
> @@ -655,6 +655,9 @@ (define u-boot
>                       %u-boot-allow-disabling-openssl-patch
>                       %u-boot-sifive-prevent-relocating-initrd-fdt
>                       %u-boot-rk3399-enable-emmc-phy-patch
> +                     ;; FIXME The following patch is backported from 2023.01,
> +                     ;; remove when updating.
> +                     (search-patch "u-boot-fix-build-python-3.10.patch")
>                       (search-patch "u-boot-infodocs-target.patch")
>                       (search-patch "u-boot-patman-guix-integration.patch")))
>                (method url-fetch)
> diff --git a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch b/gnu/packages/patches/u-boot-fix-build-python-3.10.patch
> new file mode 100644
> index 0000000000..27c03f92f4
> --- /dev/null
> +++ b/gnu/packages/patches/u-boot-fix-build-python-3.10.patch
> @@ -0,0 +1,35 @@
> +From 7d01bb1c5a1daef0187c9ea276bde19a8d0e7fde Mon Sep 17 00:00:00 2001
> +From: Michal Suchanek <[email-masked]>
> +Date: Thu, 13 Oct 2022 22:43:41 +0200
> +Subject: [PATCH] libfdt: Fix build with python 3.10
> +
> +Python 3.10 requires defining PY_SSIZE_T_CLEAN. This will be fixed in
> +swig 4.10 but it is not clear when it will be released. There was a
> +warning since python 3.8.
> +
> +Link: https://github.com/swig/swig/pull/2277
> +
> +Signed-off-by: Michal Suchanek <[email-masked]>
> +Reviewed-by: Simon Glass <[email-masked]>
> +---
> + scripts/dtc/pylibfdt/libfdt.i_shipped | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
> +index 27c29ea260..56cc5d48f4 100644
> +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
> ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
> +@@ -7,6 +7,10 @@
> + 
> + %module libfdt
> + 
> ++%begin %{
> ++#define PY_SSIZE_T_CLEAN
> ++%}
> ++
> + %include <stdint.i>
> + 
> + %{
> +-- 
> +GitLab
> +

The rest LGTM.

-- 
Thanks,
Maxim