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

From: Efraim Flashner <[email-masked]>
Date: Thu, 23 Sep 2021 10:28:33 +0300

On Tue, Aug 17, 2021 at 11:58:44AM -0300, Thiago Jung Bauermann wrote:
> 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.
> 

Sorry for taking so long to get back to you. I finally tried this but
there seems to be a cycle somewhere between bdb and config, so using
config and dropping the custom --build flag isn't currently an option.

-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted