guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: qt: Fix for i686.


From: Ludovic Courtès
Subject: Re: [PATCH] gnu: qt: Fix for i686.
Date: Fri, 01 May 2015 00:25:05 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

address@hidden (Taylan Ulrich "Bayırlı/Kammer") skribis:

> This is really hacky but seems to work.

Good.  :-)

> From 35fdd9e2fcd5b953b3a088d0bb22d84f7dc5ded9 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  <address@hidden>
> Date: Fri, 24 Apr 2015 10:43:57 +0200
> Subject: [PATCH 4/4] gnu: qt: Fix for i686.

“Fix compilation on i686.”

> See <https://bugreports.qt.io/browse/QTBUG-45205>.
>
> * gnu/packages/qt.scm (qt): Copy mesa's GL headers to a temporary directory,
>   patching them for Qt.

[...]

>       `(#:phases
>           (alist-replace
>            'configure
> -          (lambda* (#:key outputs #:allow-other-keys)
> -            (let ((out (assoc-ref outputs "out")))
> +          (lambda* (#:key inputs outputs #:allow-other-keys)
> +            ;; Mesa headers need monkey-patching for Qt.  See:
> +            ;; https://bugreports.qt.io/browse/QTBUG-45205
> +            (let* ((out (assoc-ref outputs "out"))
> +                   (mesa (assoc-ref inputs "mesa"))
> +                   (mesa-include (string-append mesa "/include"))
> +                   (mesa-pkgconfig (string-append mesa "/lib/pkgconfig"))
> +                   (mesa* (tmpnam))
> +                   (mesa*-include (string-append mesa* "/include"))
> +                   (mesa*-pkgconfig (string-append mesa* "/lib/pkgconfig")))
> +              (copy-recursively mesa-include mesa*-include)
> +              (substitute* (string-append mesa*-include "/GL/glext.h")
> +                (("typedef ptrdiff_t GLsizeiptr;" all)
> +                 (string-append "#ifndef BUILDING_CHROMIUM\n" all))
> +                (("typedef ptrdiff_t GLintptr;" all)
> +                 (string-append all "\n#endif")))
> +              (copy-recursively mesa-pkgconfig mesa*-pkgconfig)
> +              (substitute* (find-files mesa*-pkgconfig "\\.pc$")
> +                (("includedir=.*")
> +                 (string-append "includedir=" mesa*-include "\n")))
> +              (setenv "PKG_CONFIG_PATH"
> +                      (string-append mesa*-pkgconfig ":"
> +                                     (getenv "PKG_CONFIG_PATH")))

For clarity, could you make it a separate phase before the ‘configure’
phase, and also augment the comment to mention that we do the
monkey-patching here rather than using the bundled copy so we can still
use our own headers and DSO (what Mark explained)?

OK to push with this change, thanks a lot!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]