Subject: [bug#61067] [PATCH v2 3/5] gnu: wine-minimal: Share phases with parent wine package.

From: Liliana Marie Prikler <[email-masked]>
Date: Fri, 27 Jan 2023 19:03:15 +0100

Am Freitag, dem 27.01.2023 um 01:08 +0000 schrieb Kaelyn Takata:
> * gnu/packages/wine.scm (wine-minimal): Share phases with parent wine
> package.
> ---
>  gnu/packages/wine.scm | 31 +++++++------------------------
>  1 file changed, 7 insertions(+), 24 deletions(-)
> 
> diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
> index 6e43494c68..b9a8396b75 100644
> --- a/gnu/packages/wine.scm
> +++ b/gnu/packages/wine.scm
> @@ -308,30 +308,13 @@ (define-public wine-minimal
>                       (delete "gettext" "perl" "pkg-config")))
>      (inputs `())
>      (arguments
> -     `(#:validate-runpath? #f
> -       #:phases
> -       (modify-phases %standard-phases
> -         (add-after 'unpack 'patch-SHELL
> -           (lambda _
> -             (substitute* "configure"
> -               ;; configure first respects CONFIG_SHELL, clobbers
> SHELL later.
> -               (("/bin/sh")
> -                (which "bash")))))
> -         (add-after 'configure 'patch-dlopen-paths
> -           ;; Hardcode dlopened sonames to absolute paths.
> -           (lambda _
> -             (let* ((library-path (search-path-as-string->list
> -                                   (getenv "LIBRARY_PATH")))
> -                    (find-so (lambda (soname)
> -                               (search-path library-path soname))))
> -               (substitute* "include/config.h"
> -                 (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
> -                  (format #f "~a\"~a\"" defso (find-so
> soname))))))))
> -       #:configure-flags
> -       (list "--without-freetype"
> -             "--without-x")
> -       ,@(strip-keyword-arguments '(#:configure-flags #:phases)
> -                                  (package-arguments wine))))))
> +     (substitute-keyword-arguments (package-arguments wine)
> +       ((#:phases phases)
> +        #~(modify-phases #$phases
> +            (delete 'wrap-executable))) ;; Don't reference Vulkan
> ICD files.
> +       ((#:configure-flags _ '())
> +        #~(list "--without-freetype"
> +                "--without-x"))))))
> 
>  (define-public wine-staging-patchset-data
>    (package
> --
Doing it this way is actually dangerous, because changes in wine get
propagated to wine-minimal even if they don't affect it (we had a
similar error in emacs blowing up the size of emacs-minimal recently).
There are two possible solutions: Bind the common phases to a variable
and use that instead of %standard-phases, or make wine inherit wine-
minimal.

Side note: QA failed :(

Cheers