GNU bug report logs -
#61067
[PATCH 0/3] Update wine and wine-staging packages to 8.0
Previous Next
Full log
View this message in rfc822 format
------- Original Message -------
On Friday, January 27th, 2023 at 6:03 PM, Liliana Marie Prikler <liliana.prikler <at> gmail.com> wrote:
>
>
> 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.
I'm not sure I'll be able to work on this today, but I am fine with either approach. I suspect flipping the packages so that wine depends on wine-minimal and adds inputs and extra phases and replaces the configure flags will be simpler from a maintenance perspective since it would keep the wine and wine-minimal versions in sync automatically.
From the comment in wine.scm, the wine-minimal package is only needed for building vkd3d to avoid a dependency loop between wine and vkd3d. (A comment on that package suggests it's the widl tool needed from wine, but wine-minimal is also an input instead of a native-input so maybe a bit more than a build-time tool is needed?)
Cheers,
Kaelyn
>
> Side note: QA failed :(
>
> Cheers
This bug report was last modified 2 years and 164 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.