Subject: Re: [bug#50091] [PATCH 07/21] gnu: bdb: Fix building on riscv64-linux.

From: Thiago Jung Bauermann <[email-masked]>
Date: Tue, 17 Aug 2021 11:58:44 -0300

Hello Efraim,

Em terça-feira, 17 de agosto de 2021, às 07:19:05 -03, Efraim Flashner 
escreveu:
> * gnu/packages/dbm.scm (bdb)[arguments]: Modify configure to build for
> the currect architecture when building for riscv64-linux.
> ---
>  gnu/packages/dbm.scm | 23 ++++++++++++-----------
>  1 file changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
> index ce84ef9eda..c2bdaf782a 100644
> --- a/gnu/packages/dbm.scm
> +++ b/gnu/packages/dbm.scm
> @@ -1,7 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès
> <[email-masked]> ;;; Copyright © 2013, 2015 Andreas Enge <[email-masked]>
> -;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner
> <[email-masked]> +;;; Copyright © 2016, 2017, 2018, 2020, 2021
> Efraim Flashner <[email-masked]> ;;; Copyright © 2017, 2018
> Marius Bakke <[email-masked]>
>  ;;; Copyright © 2018 Mark H Weaver <[email-masked]>
>  ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
> @@ -28,7 +28,8 @@
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix build-system gnu)
> -  #:use-module (guix utils))
> +  #:use-module (guix utils)
> +  #:use-module (ice-9 match))
> 
>  ;;; Commentary:
>  ;;;
> @@ -72,15 +73,15 @@
>                         (string-append "CONFIG_SHELL=" (which "bash"))
>                         (string-append "SHELL=" (which "bash"))
> 
> -                       ;; Bdb doesn't recognize aarch64 as an
> architecture. -                       ,@(if (string=? "aarch64-linux"
> (%current-system)) -                            
> '("--build=aarch64-unknown-linux-gnu") -                            
> '())
> -
> -                       ;; Bdb doesn't recognize powerpc64le as an
> architecture. -                       ,@(if (string=?
> "powerpc64le-linux" (%current-system)) -                            
> '("--build=powerpc64le-unknown-linux-gnu") -                            
> '())
> +                       ;; Bdb doesn't recognize very many architectures.
> +                       ,@(match (%current-system)
> +                           ("aarch64-linux"
> +                            '("--build=aarch64-unknown-linux-gnu"))
> +                           ("powerpc64le-linux"
> +                            '("--build=powerpc64le-unknown-linux-gnu"))
> +                           ("riscv64-linux"
> +                            '("--build=riscv64-unknown-linux-gnu"))
> +                           (_ '()))
> 
>                         ,@(if (%current-target-system)         ; cross
> building '((string-append "--host=" target))

Can this be fixed instead by updating ‘config.guess’ and ‘config.sub’ as 
done in https://issues.guix.gnu.org/50086#1 ?

That could possibly even fix cross-building (as it does for ‘pth’) and 
eliminate the need for all the “,@” forms in the ‘configure’ phase.

-- 
Thanks,
Thiago