Subject: Re: [bug#36477] [PATCH 21/31] gnu: mit-krb5: Fix cross-compilation.

From: Marius Bakke <[email-masked]>
Date: Mon, 08 Jul 2019 20:13:34 +0200

Mathieu Othacehe <[email-masked]> writes:

> * gnu/packages/kerberos.scm (mit-krb5)[arguments]: Disable tests when
> cross-compiling. Add cross-compilation specific configure-flags and
> make-flags. Search for perl in native-inputs or inputs.

[...]

> @@ -68,9 +69,23 @@
>         ("perl" ,perl)))
>      (arguments
>       `(;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call
> -       ;; while running the tests in 'src/tests'.
> -       #:tests? ,(string=? (%current-system) "x86_64-linux")
> +       ;; while running the tests in 'src/tests'. Also disable tests when
> +       ;; cross-compiling.
> +       #:tests? ,(and (not (%current-target-system))
> +                      (string=? (%current-system) "x86_64-linux"))
>  
> +       #:configure-flags
> +       (list ,@(if (%current-target-system)
> +                   '("krb5_cv_attr_constructor_destructor=yes"
> +                     "ac_cv_func_regcomp=yes"
> +                     "ac_cv_printf_positional=yes"
> +                     "ac_cv_file__etc_environment=yes"
> +                     "ac_cv_file__etc_TIMEZONE=no")
> +                   '()))

Have you checked whether these (strange!) configure flags are needed
with the newer version on 'core-updates'?

I have a slight preference for not passing #:make-flags etc at all in
the normal context.  E.g.

,@(if (%current-target-system)
      `(#:configure-flags ...)
      '())

...but no strong opinion.