On Tue, Mar 07, 2017 at 02:59:39PM +0100, Ludovic Courtès wrote:
> I guess it could be called ‘xorg-server-1.9.12’ and technically inherit
> from ‘xorg-server’ but override the version and source.

I've attached patches updating xorg-server and creating a special
package to be used for building GTK+.
From 5e6cc8caaf7de4d8863f8f4ab64d8c9e7cbbfcaf Mon Sep 17 00:00:00 2001
From: Leo Famulari <l...@famulari.name>
Date: Fri, 3 Mar 2017 13:44:48 -0500
Subject: [PATCH 1/2] gnu: xorg-server: Update to 1.19.2 [fixes CVE-2017-2624].

* gnu/packages/xorg.scm (xorg-server): Update to 1.19.2.
[native-inputs]: Add font-util, libtool, autoconf, and automake.
[arguments]: Add 'bootstrap' phase.
---
 gnu/packages/xorg.scm | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 31ea296d4..5c9300e20 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4982,7 +4982,7 @@ over Xlib, including:
 (define-public xorg-server
   (package
     (name "xorg-server")
-    (version "1.19.1")
+    (version "1.19.2")
     (source
       (origin
         (method url-fetch)
@@ -4991,7 +4991,7 @@ over Xlib, including:
               name "-" version ".tar.bz2"))
         (sha256
          (base32
-          "1yx7cnlhl14hsdq5lg0740s4nxqxkmaav38x428llv1zkprjrbkr"))))
+          "1fw4b2lf75nsqkiyhn95b1c2if1l3cw5a188a1szx1d8l7sbk2jg"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("dri2proto" ,dri2proto)
@@ -5050,7 +5050,12 @@ over Xlib, including:
         ("xcb-util-wm" ,xcb-util-wm)))
     (native-inputs
        `(("python" ,python-minimal-wrapper)
-         ("pkg-config" ,pkg-config)))
+         ("pkg-config" ,pkg-config)
+         ;; XXX Bootstrapping inputs for 1.19.2. Remove for > 1.19.2.
+         ("font-util" ,font-util)
+         ("libtool" ,libtool)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)))
     (arguments
      `(#:parallel-tests? #f
        #:configure-flags
@@ -5077,6 +5082,10 @@ over Xlib, including:
 
        #:phases
        (modify-phases %standard-phases
+         ;; XXX The 1.19.2 release of xorg-server was not bootstrapped:
+         ;; <https://lists.x.org/archives/xorg-announce/2017-March/002780.html>
+         (add-before 'configure 'bootstrap
+           (lambda _ (zero? (system* "autoreconf" "-vfi"))))
          (add-before
           'configure 'pre-configure
           (lambda _
-- 
2.12.0

From 3601571063aa0317720d19d83f1cb42745abd5f8 Mon Sep 17 00:00:00 2001
From: Leo Famulari <l...@famulari.name>
Date: Wed, 8 Mar 2017 00:40:37 -0500
Subject: [PATCH 2/2] gnu: gtk+: Build GTK+ with its own xorg-server package.

This will allow us to update xorg-server directly on the master branch.

* gnu/packages/xorg.scm (xorg-server-1.19.2): New variable.
* gnu/packages/gtk.scm (gtk+) [native-inputs]: Use xorg-server-1.19.2 instead of
xorg-server.
(arguments): Add xorg-server-1.19.2 to #:disallowed-references.
---
 gnu/packages/gtk.scm  |  7 +++++--
 gnu/packages/xorg.scm | 16 ++++++++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 92f399ecb..057c80859 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -689,9 +689,12 @@ application suites.")
       ("pkg-config" ,pkg-config)
       ("gobject-introspection" ,gobject-introspection)
       ("python-wrapper" ,python-wrapper)
-      ("xorg-server" ,xorg-server)))
+      ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
+      ;; of updating xorg-server directly on the master branch.
+      ("xorg-server" ,xorg-server-1.19.2)))
    (arguments
-    `(;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
+    `(#:disallowed-references (,xorg-server-1.19.2)
+      ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
       ;; to "doc".
       #:configure-flags (list (string-append "--with-html-dir="
                                              (assoc-ref %outputs "doc")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 5c9300e20..bd8f38c39 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5111,6 +5111,22 @@ communicates with the user via graphical controls such 
as buttons and
 draggable titlebars and borders.")
     (license license:x11)))
 
+;;; This package is intended to be used when building GTK+.
+(define-public xorg-server-1.19.2
+  (package
+    (inherit xorg-server)
+    (name "xorg-server")
+    (version "1.19.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "mirror://xorg/individual/xserver/"
+              name "-" version ".tar.bz2"))
+        (sha256
+         (base32
+          "1fw4b2lf75nsqkiyhn95b1c2if1l3cw5a188a1szx1d8l7sbk2jg"))))))
+
 (define-public xorg-server-xwayland
   (package
     (inherit xorg-server)
-- 
2.12.0

Attachment: signature.asc
Description: PGP signature

Reply via email to