From 324caeb10958ac0fab593584fd2c494def54c23c Mon Sep 17 00:00:00 2001 From: David Craven Date: Wed, 17 Aug 2016 17:22:55 +0200 Subject: gnu: xorg-server: Enable Xephyr. * gnu/packages/xorg.scm (xorg-server)[inputs]: Add xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm. [arguments]: Add '--enable-kdrive' and '--enable-xephyr' configure-flags. --- gnu/packages/xorg.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b24e4374e0..9c87602c56 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5088,7 +5088,13 @@ (define-public xorg-server ("xkbcomp" ,xkbcomp) ("xkeyboard-config" ,xkeyboard-config) ("xtrans" ,xtrans) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ;; Inputs for Xephyr + ("xcb-util" ,xcb-util) + ("xcb-util-image" ,xcb-util-image) + ("xcb-util-keysyms" ,xcb-util-keysyms) + ("xcb-util-renderutil" ,xcb-util-renderutil) + ("xcb-util-wm" ,xcb-util-wm))) (native-inputs `(("python" ,python-minimal-wrapper) ("pkg-config" ,pkg-config))) @@ -5106,7 +5112,10 @@ (define-public xorg-server "/bin") ;; For the log file, etc. - "--localstatedir=/var") + "--localstatedir=/var" + ;; For sddm + "--enable-kdrive" + "--enable-xephyr") #:phases (alist-cons-before 'configure 'pre-configure -- cgit v1.2.3 From 0966347c6537ccd074f5a0f3298b00ac38df1ae6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:03:55 +0300 Subject: gnu: xkeyboard-config: Update to 2.18. * gnu/packages/xorg.scm (xkeyboard-config): Update to 2.18. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9c87602c56..a7cb5fec29 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3765,7 +3765,7 @@ (define-public xkbutils (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.17") + (version "2.18") (source (origin (method url-fetch) @@ -3775,7 +3775,7 @@ (define-public xkeyboard-config ".tar.bz2")) (sha256 (base32 - "00878f1v3034ki78pjpf2db0bh7jsmszsnxr3bf5qxripm2bxiny")))) + "1l6x2w357ja8vm94ns79s7yj9a5dlr01r9dxrjvzwncadiyr27f4")))) (build-system gnu-build-system) (inputs `(("gettext" ,gnu-gettext) -- cgit v1.2.3 From 6a016375c9016b0d94a4411be6e1042234b14dae Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:09:11 +0300 Subject: gnu: videoproto: Update to 2.3.3. * gnu/packages/xorg.scm (videoproto): Update to 2.3.3. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a7cb5fec29..08fc8238ce 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1895,7 +1895,7 @@ (define-public util-macros (define-public videoproto (package (name "videoproto") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) @@ -1905,7 +1905,7 @@ (define-public videoproto ".tar.bz2")) (sha256 (base32 - "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld")))) + "00m7rh3pwmsld4d5fpii3xfk5ciqn17kkk38gfpzrrh8zn4ki067")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") -- cgit v1.2.3 From ee86a59ec7b7b84b2ac58e346a827e0d3cdcda31 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:13:27 +0300 Subject: gnu: inputproto: Update to 2.3.2. * gnu/packages/xorg.scm (inputproto): Update to 2.3.2. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 08fc8238ce..c4dbedee86 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -974,7 +974,7 @@ (define-public iceauth (define-public inputproto (package (name "inputproto") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) @@ -984,7 +984,7 @@ (define-public inputproto ".tar.bz2")) (sha256 (base32 - "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss")))) + "07gk7v006zqn3dcfh16l06gnccy7xnqywf3vl9c209ikazsnlfl9")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") -- cgit v1.2.3 From 75be52deda553effd189a0e1f20a6fc71b49d3fc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:15:05 +0300 Subject: gnu: xproto: Update to 7.0.29. * gnu/packages/xorg.scm (xproto): Update to 7.0.29. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c4dbedee86..437fa1ecd3 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4712,7 +4712,7 @@ (define-public mkfontdir (define-public xproto (package (name "xproto") - (version "7.0.28") + (version "7.0.29") (source (origin (method url-fetch) @@ -4722,7 +4722,7 @@ (define-public xproto ".tar.bz2")) (sha256 (base32 - "1jpnvm33vi2dar5y5zgz7jjh0m8fpkcxm0f0lbwfx37ns5l5bs19")))) + "12lzpa9mrzkyrhrphzpi1014np3328qg7mdq08wj6wyaj9q4f6kc")))) (build-system gnu-build-system) (propagated-inputs `(("util-macros" ,util-macros))) ; to get util-macros in (almost?) all package inputs -- cgit v1.2.3 From a9c326787db67b64f1c2716278ef991962803e79 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:21:30 +0300 Subject: gnu: xorg-server: Update to 1.18.4. * gnu/packages/xorg.scm (xorg-server): Update to 1.18.4. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 437fa1ecd3..a514842499 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5030,7 +5030,7 @@ (define-public libxcb (define-public xorg-server (package (name "xorg-server") - (version "1.18.1") + (version "1.18.4") (source (origin (method url-fetch) @@ -5039,7 +5039,7 @@ (define-public xorg-server name "-" version ".tar.bz2")) (sha256 (base32 - "17bq40als48v12ld81jysc0gj5g572zkjkyzbhlm3ac9xgdmdv45")))) + "1j1i3n5xy1wawhk95kxqdc54h34kg7xp4nnramba2q8xqfr5k117")))) (build-system gnu-build-system) (propagated-inputs `(("dri2proto" ,dri2proto) -- cgit v1.2.3 From 12f92559c51d6b2ba4ce728c0afadbe818a7006a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:23:05 +0300 Subject: gnu: libxfixes: Update to 5.0.2. * gnu/packages/xorg.scm (libxfixes): Update to 5.0.2. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a514842499..060e27b419 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4799,7 +4799,7 @@ (define-public libxau (define-public libxfixes (package (name "libxfixes") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) @@ -4809,7 +4809,7 @@ (define-public libxfixes ".tar.bz2")) (sha256 (base32 - "0rs7qgzr6dpr62db7sd91c1b47hzhzfr010qwnpcm8sg122w1gk3")))) + "1slsk898386xii0r3l7szwwq3s6y2m4dsj0x93ninjh8xkghxllv")))) (build-system gnu-build-system) (propagated-inputs `(("fixesproto" ,fixesproto))) -- cgit v1.2.3 From 3828222925fc8b5308dca6cade979adb9f42e316 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 27 Aug 2016 23:29:39 +0300 Subject: gnu: xkbcomp-intermediate: Update to 1.3.1. * gnu/packages/xorg.scm (xkbcomp-intermediate): Update to 1.3.1. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 060e27b419..72007f1f35 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3651,7 +3651,7 @@ (define-public xinput (define xkbcomp-intermediate ; used as input for xkeyboard-config (package (name "xkbcomp-intermediate") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) @@ -3660,8 +3660,8 @@ (define xkbcomp-intermediate ; used as input for xkeyboard-config version ".tar.bz2")) (sha256 - (base32 - "0aibcbhhjlwcrxh943xg2dswwx5bz1x0pmhs28b55gzsg0vrgb6g")))) + (base32 + "0gcjy70ppmcl610z8gxc7sydsx93f8cm8pggm4qhihaa1ngdq103")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) -- cgit v1.2.3 From b5b5105c3d1dacaf87a3c786270860cf636b0a52 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 14 Sep 2016 22:04:16 +0800 Subject: gnu: xorg-server: Set default font path to empty. * gnu/packages/xorg.scm (xorg-server)[arguments]: Pass "--with-default-font-path=" to #:configure-flags. --- gnu/packages/xorg.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 23834ba19e..6a6bb22382 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5132,6 +5132,11 @@ (define-public xorg-server (string-append "--with-xkb-bin-directory=" (assoc-ref %build-inputs "xkbcomp") "/bin") + ;; By default, it ends up with invalid '${prefix}/...', causes: + ;; _FontTransOpen: Unable to Parse address ${prefix}/share/... + ;; It's not used anyway, so set it to empty. + "--with-default-font-path=" + ;; For the log file, etc. "--localstatedir=/var" -- cgit v1.2.3 From b94a6ca074f00b3f769933d074853d3c3ca50d00 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 25 Sep 2016 10:33:02 +0300 Subject: gnu: Add and use gettext-minimal. * gnu/packages/gettext.scm (gnu-gettext): Rename to... (gettext-minimal): ... this. Adjust synopsis and description. (gnu-gettext): Inherit from it. (po4a): Use 'gettext-minimal' instead of 'gnu-gettext'. * gnu/packages/acl.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/apl.scm: Likewise. * gnu/packages/attr.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/base.scm: Likewise. * gnu/packages/cdrom.scm: Likewise. * gnu/packages/commencement.scm: Likewise. * gnu/packages/crypto.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/disk.scm: Likewise. * gnu/packages/documentation.scm: Likewise. * gnu/packages/education.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/enlightenment.scm: Likewise. * gnu/packages/fcitx.scm: Likewise. * gnu/packages/fontutils.scm: Likewise. * gnu/packages/freedesktop.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gkrellm.scm: Likewise. * gnu/packages/glib.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/grub.scm: Likewise. * gnu/packages/gtk.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/ibus.scm: Likewise. * gnu/packages/irc.scm: Likewise. * gnu/packages/iso-codes.scm: Likewise. * gnu/packages/kde-frameworks.scm: Likewise. * gnu/packages/kodi.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/man.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/mono.scm: Likewise. * gnu/packages/mp3.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/nano.scm: Likewise. * gnu/packages/networking.scm: Likewise. * gnu/packages/package-management.scm: Likewise. * gnu/packages/pdf.scm: Likewise. * gnu/packages/sawfish.scm: Likewise. * gnu/packages/statistics.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/vpn.scm: Likewise. * gnu/packages/w3m.scm: Likewise. * gnu/packages/webkit.scm: Likewise. * gnu/packages/wicd.scm: Likewise. * gnu/packages/wine.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/packages/xorg.scm: Likewise. --- gnu/packages/acl.scm | 2 +- gnu/packages/admin.scm | 4 ++-- gnu/packages/apl.scm | 2 +- gnu/packages/attr.scm | 2 +- gnu/packages/audio.scm | 4 ++-- gnu/packages/base.scm | 2 +- gnu/packages/cdrom.scm | 2 +- gnu/packages/commencement.scm | 4 ++-- gnu/packages/crypto.scm | 2 +- gnu/packages/databases.scm | 2 +- gnu/packages/disk.scm | 6 +++--- gnu/packages/documentation.scm | 2 +- gnu/packages/education.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/enlightenment.scm | 2 +- gnu/packages/fcitx.scm | 2 +- gnu/packages/fontutils.scm | 2 +- gnu/packages/freedesktop.scm | 2 +- gnu/packages/games.scm | 12 ++++++------ gnu/packages/gettext.scm | 34 ++++++++++++++++++++-------------- gnu/packages/gkrellm.scm | 2 +- gnu/packages/glib.scm | 4 ++-- gnu/packages/gnome.scm | 6 +++--- gnu/packages/grub.scm | 2 +- gnu/packages/gtk.scm | 8 ++++---- gnu/packages/guile.scm | 2 +- gnu/packages/ibus.scm | 2 +- gnu/packages/irc.scm | 2 +- gnu/packages/iso-codes.scm | 2 +- gnu/packages/kde-frameworks.scm | 2 +- gnu/packages/kodi.scm | 2 +- gnu/packages/linux.scm | 8 ++++---- gnu/packages/man.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/mono.scm | 2 +- gnu/packages/mp3.scm | 2 +- gnu/packages/music.scm | 10 +++++----- gnu/packages/nano.scm | 2 +- gnu/packages/networking.scm | 2 +- gnu/packages/package-management.scm | 2 +- gnu/packages/pdf.scm | 2 +- gnu/packages/sawfish.scm | 2 +- gnu/packages/statistics.scm | 2 +- gnu/packages/terminals.scm | 2 +- gnu/packages/version-control.scm | 6 +++--- gnu/packages/vpn.scm | 2 +- gnu/packages/w3m.scm | 2 +- gnu/packages/webkit.scm | 2 +- gnu/packages/wicd.scm | 2 +- gnu/packages/wine.scm | 2 +- gnu/packages/xdisorg.scm | 4 ++-- gnu/packages/xorg.scm | 6 +++--- 52 files changed, 99 insertions(+), 93 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index 415fae496b..ae6764993b 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -59,7 +59,7 @@ (define-public acl %standard-phases)))) (inputs `(("attr" ,attr))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl" ,perl))) (home-page "http://savannah.nongnu.org/projects/acl") (synopsis diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 474c0d7556..0a16640909 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -176,7 +176,7 @@ (define-public dfc "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; There are no tests. - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (home-page "http://projects.gw-computing.net/projects/dfc") (synopsis "Display file system space usage using graphs and colors") (description @@ -1729,7 +1729,7 @@ (define-public cbatticon (delete 'configure)))) ; no configure script (inputs `(("gtk+" ,gtk+) - ("gnu-gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libnotify" ,libnotify))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 5b55c9cef3..1c7d42b713 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -41,7 +41,7 @@ (define-public apl (build-system gnu-build-system) (home-page "http://www.gnu.org/software/apl/") (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("lapack" ,lapack) ("sqlite" ,sqlite) ("readline" ,readline))) diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index 53766af06f..907a568bdd 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -69,7 +69,7 @@ (define-public attr '() `(("perl" ,perl)))) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (home-page "http://savannah.nongnu.org/projects/attr/") (synopsis "Library and tools for manipulating extended attributes") diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 67701a0f37..594b8d005b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -358,7 +358,7 @@ (define-public csound ("liblo" ,liblo) ("ladspa" ,ladspa) ("jack" ,jack-1) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("bison" ,bison) ("flex" ,flex) @@ -909,7 +909,7 @@ (define-public guitarix `(("gperf" ,gperf) ("faust" ,faust) ("intltool" ,intltool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (native-search-paths (list (search-path-specification diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index a0d781cc24..cab5793a24 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -642,7 +642,7 @@ (define-public glibc/linux ;; install the message catalogs, with 'msgfmt'. (native-inputs `(("texinfo" ,texinfo) ("perl" ,perl) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-search-paths ;; Search path for packages that provide locale data. This is useful diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 4263cdebb7..621f08d8c1 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -205,7 +205,7 @@ (define-public dvdisaster (inputs `(("gtk+" ,gtk+-2))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("which" ,which))) (arguments diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8f1ecf899d..1d5c7b57f0 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -576,13 +576,13 @@ (define static-bash-for-glibc (define gettext-boot0 ;; A minimal gettext used during bootstrap. (let ((gettext-minimal - (package (inherit gnu-gettext) + (package (inherit gettext-minimal) (name "gettext-boot0") (inputs '()) ;zero dependencies (arguments (substitute-keyword-arguments `(#:tests? #f - ,@(package-arguments gnu-gettext)) + ,@(package-arguments gettext-minimal)) ((#:phases phases) `(modify-phases ,phases ;; Build only the tools. diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 5dad97c72f..920c346b70 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -204,7 +204,7 @@ (define-public encfs (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("perl" ,perl) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ce51d28d28..0ac71b930c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -86,7 +86,7 @@ (define-public 4store ("python" ,python-2) ("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("pcre" ,pcre "bin") ;for 'pcre-config' ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 27ab7a698b..a322576f14 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -72,7 +72,7 @@ (define-public parted ("readline" ,readline) ("util-linux" ,util-linux))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ;; For the tests. ("perl" ,perl) ("python" ,python-2))) @@ -97,7 +97,7 @@ (define-public fdisk "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("guile" ,guile-1.8) ("util-linux" ,util-linux) ("parted" ,parted))) @@ -123,7 +123,7 @@ (define-public gptfdisk "1izazbyv5n2d81qdym77i8mg9m870hiydmq4d0s51npx5vp8lk46")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("ncurses" ,ncurses) ("popt" ,popt) ("util-linux" ,util-linux))) ; libuuid diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 080c0dba8e..bbc25e8797 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -126,7 +126,7 @@ (define-public doc++ (build-system gnu-build-system) (native-inputs `(("flex" ,flex) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (home-page "http://docpp.sourceforge.net/") (synopsis "Documentation system for C, C++, IDL, and Java") (description diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 14c1bac322..3a883079fe 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -59,7 +59,7 @@ (define-public stellarium ("zlib" ,zlib) ("qtserialport" ,qtserialport) ("qtscript" ,qtscript) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time ("qttools" ,qttools) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index daa70c6071..c8391f0798 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -443,7 +443,7 @@ (define-public gerbv `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("po4a" ,po4a) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 818dbac942..b1cc401bdc 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -300,7 +300,7 @@ (define-public enlightenment (arguments `(#:configure-flags '("--enable-mount-eeze"))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index c89896eafe..dd8eead7fb 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -70,7 +70,7 @@ (define-public fcitx (inputs `(("dbus" ,dbus) ("enchant" ,enchant) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("gtk2" ,gtk+-2) ("gtk3" ,gtk+) ("icu4c" ,icu4c) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index df8d1589a6..e4ad1cd8ce 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -523,7 +523,7 @@ (define-public fontforge (inputs `(("cairo" ,cairo) ("fontconfig" ,fontconfig) ;dlopen'd ("freetype" ,freetype) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib" ,glib) ;needed for pango detection ("libICE" ,libice) ("libSM" ,libsm) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 2032dce66a..19ce0ee6e4 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -189,7 +189,7 @@ (define-public elogind "/libexec/elogind/elogind\n")))))))) (native-inputs `(("intltool" ,intltool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ("xsltproc" ,libxslt) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 88330c7293..4a9cafe91f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -158,7 +158,7 @@ (define-public gnubik ("libx11" ,libx11) ("guile" ,guile-2.0) ("gtkglext" ,gtkglext))) - (native-inputs `(("gettext" ,gnu-gettext) + (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://www.gnu.org/software/gnubik/") (synopsis "3d Rubik's cube game") @@ -354,7 +354,7 @@ (define freedink-engine "08c51imfjfcydm7h0va09z8qfw5nc837bi2x754ni2z737hb5kw2")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-embedded-resources"))) - (native-inputs `(("gettext" ,gnu-gettext) + (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("sdl" ,sdl) ("sdl-image" ,sdl-image) @@ -730,7 +730,7 @@ (define-public minetest ("freetype" ,(@ (gnu packages fontutils) freetype)) ("curl" ,curl) ("luajit" ,luajit) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("sqlite" ,sqlite))) (propagated-inputs `(("minetest-data" ,minetest-data))) @@ -1050,7 +1050,7 @@ (define-public wesnoth ;; cc1plus: all warnings being treated as errors '("-DENABLE_STRICT_COMPILATION=OFF"))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) @@ -2572,7 +2572,7 @@ (define-public tuxpaint (inputs `(("cairo" ,cairo) ("fribidi" ,fribidi) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libpaper" ,libpaper) @@ -2668,7 +2668,7 @@ (define-public tuxpaint-config "1z12s46mvy87qs3vgq9m0ki9pp21zqc52mmgphahpihw3s7haf6v")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("fltk" ,fltk) ("libpaper" ,libpaper) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 1ad1ce84ec..a5767ddedf 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -31,16 +31,9 @@ (define-module (gnu packages gettext) #:use-module (gnu packages tex) #:use-module (gnu packages xml)) -;; Use that name to avoid clashes with Guile's 'gettext' procedure. -;; -;; We used to resort to #:renamer on the user side, but that prevented -;; circular dependencies involving (gnu packages gettext). This is because -;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used -;; module when there's a #:renamer, and that module may be empty at that point -;; in case or circular dependencies. -(define-public gnu-gettext +(define-public gettext-minimal (package - (name "gettext") + (name "gettext-minimal") (version "0.19.8.1") (source (origin (method url-fetch) @@ -90,15 +83,28 @@ (define-public gnu-gettext ;; When tests fail, we want to know the details. #:make-flags '("VERBOSE=yes"))) (home-page "http://www.gnu.org/software/gettext/") - (synopsis "Tools and documentation for translation") + (synopsis + "Tools and documentation for translation (used to build other packages)") (description "GNU Gettext is a package providing a framework for translating the textual output of programs into multiple languages. It provides translators -with the means to create message catalogs, as well as an Emacs mode to work -with them, and a runtime library to load translated messages from the -catalogs. Nearly all GNU packages use Gettext.") +with the means to create message catalogs, and a runtime library to load +translated messages from the catalogs. Nearly all GNU packages use Gettext.") (license gpl3+))) ;some files are under GPLv2+ +;; Use that name to avoid clashes with Guile's 'gettext' procedure. +;; +;; We used to resort to #:renamer on the user side, but that prevented +;; circular dependencies involving (gnu packages gettext). This is because +;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used +;; module when there's a #:renamer, and that module may be empty at that point +;; in case or circular dependencies. +(define-public gnu-gettext + (package + (inherit gettext-minimal) + (name "gettext") + (synopsis "Tools and documentation for translation"))) + (define-public po4a (package (name "po4a") @@ -140,7 +146,7 @@ (define-public po4a (find-files bin "\\.*$")) #t)))))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl-module-build" ,perl-module-build) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ;for tests diff --git a/gnu/packages/gkrellm.scm b/gnu/packages/gkrellm.scm index ed83186ae8..68853eb8fc 100644 --- a/gnu/packages/gkrellm.scm +++ b/gnu/packages/gkrellm.scm @@ -41,7 +41,7 @@ (define-public gkrellm "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("gtk+" ,gtk+-2) ("libice" ,libice) ("libsm" ,libsm))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index f20eb5f907..20229f2b76 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -153,7 +153,7 @@ (define glib ("zlib" ,zlib) ("tzdata" ,tzdata))) ; for tests/gdatetime.c (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("dbus" ,dbus) ; for GDBus tests ("pkg-config" ,pkg-config) ("python" ,python-wrapper) @@ -343,7 +343,7 @@ (define intltool (propagated-inputs `(;; Propagate gettext because users expect it to be there, and so does ;; the `intltool-update' script. - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("perl-xml-parser" ,perl-xml-parser) ("perl" ,perl))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 90ca4bd1c0..fb671c8679 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3568,7 +3568,7 @@ (define-public simple-scan ("gusb" ,gusb) ("libsane" ,sane-backends))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("itstool" ,itstool) ("colord" ,colord) ("glib" ,glib "bin") ; glib-compile-schemas, etc. @@ -3879,7 +3879,7 @@ (define-public shotwell (native-inputs `(("pkg-config" ,pkg-config) ("itstool" ,itstool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("itstool" ,itstool) ("vala" ,vala))) (inputs @@ -4153,7 +4153,7 @@ (define-public zenity "0j2sy6imwp41l75hy3fwr68n35drvanbwgmr42kc04zqjy9pbs02")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("itstool" ,itstool) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index 3229b868c5..ec6bd84ab8 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -112,7 +112,7 @@ (define-public grub #t))))) (inputs `(;; ("lvm2" ,lvm2) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("freetype" ,freetype) ;; ("libusb" ,libusb) ;; ("fuse" ,fuse) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 58d3503b98..b7be57c7bb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -580,7 +580,7 @@ (define-public gtk+-2 ("libxrandr" ,libxrandr))) (native-inputs `(("perl" ,perl) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) @@ -648,7 +648,7 @@ (define-public gtk+ (native-inputs `(("perl" ,perl) ("glib" ,glib "bin") - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper) @@ -1165,7 +1165,7 @@ (define-public girara (base32 "03wsxj27hvcbs3x96nah7j3paclifwlfag8kdph4kldl48srp9pb")))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("gtk+" ,gtk+) ("check" ,check))) (arguments @@ -1229,7 +1229,7 @@ (define-public gtk-doc `(("pkg-config" ,pkg-config) ("itstool" ,itstool) ("libxml" ,libxml2) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("bc" ,bc))) (inputs `(("perl" ,perl) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 296b6154d2..c6d1bfbcf4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -261,7 +261,7 @@ (define-public guile-for-guile-emacs ("libtool" ,libtool) ("flex" ,flex) ("texinfo" ,texinfo) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ,@(package-native-inputs guile-next))) ;; Same as in guile-2.0 (native-search-paths diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 814984f16f..8dc5cdb742 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -265,7 +265,7 @@ (define-public ibus-anthy '("ibus-engine-anthy" "ibus-setup-anthy")) #t)))))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("python" ,python))) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index d52edd8373..a39596307a 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -155,7 +155,7 @@ (define-public weechat ("libtool" ,libtool))) (inputs `(("ncurses" ,ncurses) ("diffutils" ,diffutils) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libltdl" ,libltdl) ("libgcrypt" ,libgcrypt "out") ("zlib" ,zlib) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 0a9427cef2..dbdd868b3b 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -40,7 +40,7 @@ (define-public iso-codes "037hmfs5pk3g36psm378vap1mbrkk86vv8wsdnv65mzbnph52gv0")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl" ,perl) ("python" ,python-wrapper))) (home-page "https://pkg-isocodes.alioth.debian.org/") diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 011f9e0deb..3790e8f63f 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -601,7 +601,7 @@ (define-public ki18n "0cw24spmwsqa3ppkw03cm6yjd3sfll0dbbk2ya76fd4nw9hb00dv")))) (build-system cmake-build-system) (propagated-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("python" ,python))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index ec4e72e8ba..929894d61e 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -199,7 +199,7 @@ (define (run-make makefile) ("cmake" ,cmake) ("doxygen" ,doxygen) ("gawk" ,gawk) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("icedtea" ,icedtea) ; needed at build-time only, mandatory ("libtool" ,libtool) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 08cbe36908..50568d2125 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -919,7 +919,7 @@ (define-public alsa-utils ("ncurses" ,ncurses) ("alsa-lib" ,alsa-lib) ("xmlto" ,xmlto) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (home-page "http://www.alsa-project.org/") (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)") (description @@ -1108,7 +1108,7 @@ (define (apply-patch file) (sha256 (base32 "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p")))))) - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (synopsis "Tools for controlling the network subsystem in Linux") (description @@ -2528,7 +2528,7 @@ (define-public bluez #t)))))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("glib" ,glib) ("dbus" ,dbus) @@ -2868,7 +2868,7 @@ (define-public cpupower "DEBUG=false" "PACKAGE_BUGREPORT=bug-guix@gnu.org")) #:tests? #f)) ;no tests - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (inputs `(("pciutils" ,pciutils))) (home-page (package-home-page linux-libre)) (synopsis "CPU frequency and voltage scaling tools for Linux") diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 9ffbba9de9..7d266cf91d 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -184,7 +184,7 @@ (define-public help2man `(("perl" ,perl) ;; TODO: Add these optional dependencies. ;; ("perl-LocaleGettext" ,perl-LocaleGettext) - ;; ("gettext" ,gnu-gettext) + ;; ("gettext" ,gettext-minimal) )) (home-page "http://www.gnu.org/software/help2man/") (synopsis "Automatically generate man pages from program --help") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a99c798420..db53e717f8 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2405,7 +2405,7 @@ (define-public xaos (base32 "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq")))) (build-system gnu-build-system) - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (inputs `(("libx11" ,libx11) ("zlib" ,zlib) ("libpng" ,libpng) diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index 75e39afdf0..343cebc99f 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -44,7 +44,7 @@ (define-public mono "0jibyvyv2jy8dq5ij0j00iq3v74r0y90dcjc3dkspcfbnn37cphn")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("glib" ,glib) ("libxslt" ,libxslt) ("perl" ,perl) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 37407cdc17..73a9a23efd 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -443,7 +443,7 @@ (define-public mpc123 (install-file "mpc123" bin))))) #:tests? #f)) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("libao" ,ao) ("libmpcdec" ,libmpcdec))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c3f8aa1524..bdba7bc96a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -344,7 +344,7 @@ (define-public gtklick ("python2-pyliblo" ,python2-pyliblo) ("python2-pygtk" ,python2-pygtk))) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (home-page "http://das.nasophon.de/gtklick/") (synopsis "Simple metronome with an easy-to-use graphical interface") (description @@ -415,7 +415,7 @@ (define-public lilypond ("flex" ,flex) ("fontforge" ,fontforge) ("dblatex" ,dblatex) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("imagemagick" ,imagemagick) ("netpbm" ,netpbm) ;for pngtopnm ("texlive" ,texlive) ;metafont and metapost @@ -563,7 +563,7 @@ (define-public solfege (inputs `(("python" ,python-2) ("pygtk" ,python2-pygtk) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("gtk" ,gtk+) ("lilypond" ,lilypond) ;; players needed at runtime @@ -838,7 +838,7 @@ (define-public beast ("flac" ,flac) ("alsa-lib" ,alsa-lib) ("libvorbis" ,libvorbis) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("pkg-config" ,pkg-config) ("glib:bin" ,glib "bin") @@ -1031,7 +1031,7 @@ (define-public pd `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("tk" ,tk) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index eabfaa5c96..b29788599c 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -39,7 +39,7 @@ (define-public nano "1vhjrcydcfxqq1719vcsvqqnbjbq2523m00dhzag5vwzkc961c5j")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("ncurses" ,ncurses))) (home-page "http://www.nano-editor.org/") (synopsis "Small, user-friendly console text editor") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 07f0b9d957..787b5dba38 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -400,7 +400,7 @@ (define-public httping "1110r3gpsj9xmybdw7w4zkhj3zmn5mnv2nq0ijbvrywbn019zdfs")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("fftw" ,fftw) ("ncurses" ,ncurses) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 0fcd0b1646..f0e1769e25 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -247,7 +247,7 @@ (define guix-devel (native-inputs `(("autoconf" ,(autoconf-wrapper)) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) ("graphviz" ,graphviz) ("help2man" ,help2man) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7313ee3974..b2598afa20 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -396,7 +396,7 @@ (define-public zathura (patches (search-patches "zathura-plugindir-environment-variable.patch")))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("girara" ,girara) ("sqlite" ,sqlite) ("gtk+" ,gtk+))) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index 9b09b6171e..54b72ffe03 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -152,7 +152,7 @@ (define (wrap-script script) "/lib/sawfish/sawfish-menu"))) %standard-phases)))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("makeinfo" ,texinfo) ("pkg-config" ,pkg-config) ("which" ,which))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c72ffeb92a..838428fde9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -74,7 +74,7 @@ (define-public pspp (build-system gnu-build-system) (inputs `(("cairo" ,cairo) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("gsl" ,gsl) ("libxml2" ,libxml2) ("pango" ,pango) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 7837723e39..aaffa13696 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -65,7 +65,7 @@ (define-public tilda (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("glib" ,glib "bin") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 34cfedf4ed..5022297b31 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -88,7 +88,7 @@ (define-public bazaar (inputs ;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh' ;; require Zsh. - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (arguments `(#:tests? #f ; no test target #:python ,python-2 ; Python 3 apparently not yet supported, see @@ -122,7 +122,7 @@ (define-public git (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("git-manpages" ,(origin (method url-fetch) @@ -921,7 +921,7 @@ (define-public aegis ("file" ,file) ("libxml2" ,libxml2) ("zlib" ,zlib) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("bison" ,bison) ("groff" ,groff) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 477b05189c..6449f0d57a 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -130,7 +130,7 @@ (define-public openconnect ("vpnc" ,vpnc) ("zlib" ,zlib))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (arguments `(#:configure-flags diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index e7dd583c11..afda239356 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -69,7 +69,7 @@ (define-public w3m ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl" ,perl) ("pkg-config" ,pkg-config))) (home-page "http://w3m.sourceforge.net/") diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 2c940285c7..4391ac6035 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -87,7 +87,7 @@ (define-public webkitgtk "/include/gstreamer-1.0"))))))) (native-inputs `(("bison" ,bison) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) ("gperf" ,gperf) diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm index f9aa657e56..e70bf736a5 100644 --- a/gnu/packages/wicd.scm +++ b/gnu/packages/wicd.scm @@ -52,7 +52,7 @@ (define-public wicd "wicd-urwid-1.3.patch" "wicd-wpa2-ttls.patch")))) (build-system python-build-system) - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (inputs `(("dbus-glib" ,dbus-glib) ("python2-dbus" ,python2-dbus) ("python2-pygtk" ,python2-pygtk) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 03a896b8e1..9a1bd56608 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -63,7 +63,7 @@ (define-public wine "1nmd65knzyh8b0yhxlqqvzai5rpnmhhm0c46n789zr5hj74jm6fg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("flex" ,flex) ("bison" ,bison) ("perl" ,perl))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index cb9c767aaa..a26c716866 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -90,7 +90,7 @@ (define-public arandr #t))))) (inputs `(("pygtk" ,python2-pygtk) ("xrandr" ,xrandr))) - (native-inputs `(("gettext" ,gnu-gettext) + (native-inputs `(("gettext" ,gettext-minimal) ("python-docutils" ,python2-docutils) ("python-setuptools" ,python2-setuptools))) (home-page "https://christian.amsuess.com/tools/arandr/") @@ -1010,7 +1010,7 @@ (define-public tint2 ("libxrandr" ,libxrandr) ("startup-notification" ,startup-notification))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://gitlab.com/o9000/tint2") (synopsis "Lightweight task bar") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 6a6bb22382..aafb781ddf 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1430,7 +1430,7 @@ (define-public libxpm "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("libxt" ,libxt) ("xproto" ,xproto) ("libxext" ,libxext))) @@ -3800,7 +3800,7 @@ (define-public xkeyboard-config "1l6x2w357ja8vm94ns79s7yj9a5dlr01r9dxrjvzwncadiyr27f4")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("libx11" ,libx11) ("xkbcomp-intermediate" ,xkbcomp-intermediate))) (native-inputs @@ -4006,7 +4006,7 @@ (define-public xfd ("libxmu" ,libxmu) ("libxrender" ,libxrender))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") (synopsis "Display all the characters in an X font") -- cgit v1.2.3 From 4dd841c1dc85aa2ad41b8a73dd08465b1500ecf5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:17:58 -0400 Subject: gnu: libx11: Update to 1.6.4. * gnu/packages/xorg.scm (libx11): Update to 1.6.4. [replacement]: Remove field. (libx11/fixed): Remove variable. * gnu/packages/patches/libx11-CVE-2016-7942.patch, gnu/packages/patches/libx11-CVE-2016-7943.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - gnu/packages/patches/libx11-CVE-2016-7942.patch | 76 ---------------- gnu/packages/patches/libx11-CVE-2016-7943.patch | 113 ------------------------ gnu/packages/xorg.scm | 14 +-- 4 files changed, 2 insertions(+), 203 deletions(-) delete mode 100644 gnu/packages/patches/libx11-CVE-2016-7942.patch delete mode 100644 gnu/packages/patches/libx11-CVE-2016-7943.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index db3762278c..97184d4b3b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,8 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libx11-CVE-2016-7942.patch \ - %D%/packages/patches/libx11-CVE-2016-7943.patch \ %D%/packages/patches/libxfixes-CVE-2016-7944.patch \ %D%/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch \ %D%/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch \ diff --git a/gnu/packages/patches/libx11-CVE-2016-7942.patch b/gnu/packages/patches/libx11-CVE-2016-7942.patch deleted file mode 100644 index 75770235ef..0000000000 --- a/gnu/packages/patches/libx11-CVE-2016-7942.patch +++ /dev/null @@ -1,76 +0,0 @@ -Fix CVE-2016-7942: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7942 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=8ea762f94f4c942d898fdeb590a1630c83235c17 - -From 8ea762f94f4c942d898fdeb590a1630c83235c17 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 21:25:25 +0200 -Subject: [PATCH] Validation of server responses in XGetImage() - -Check if enough bytes were received for specified image type and -geometry. Otherwise GetPixel and other functions could trigger an -out of boundary read later on. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/GetImage.c | 29 ++++++++++++++++++++--------- - 1 file changed, 20 insertions(+), 9 deletions(-) - -diff --git a/src/GetImage.c b/src/GetImage.c -index c461abc..ff32d58 100644 ---- a/src/GetImage.c -+++ b/src/GetImage.c -@@ -59,6 +59,7 @@ XImage *XGetImage ( - char *data; - unsigned long nbytes; - XImage *image; -+ int planes; - LockDisplay(dpy); - GetReq (GetImage, req); - /* -@@ -91,18 +92,28 @@ XImage *XGetImage ( - return (XImage *) NULL; - } - _XReadPad (dpy, data, nbytes); -- if (format == XYPixmap) -- image = XCreateImage(dpy, _XVIDtoVisual(dpy, rep.visual), -- Ones (plane_mask & -- (((unsigned long)0xFFFFFFFF) >> (32 - rep.depth))), -- format, 0, data, width, height, dpy->bitmap_pad, 0); -- else /* format == ZPixmap */ -- image = XCreateImage (dpy, _XVIDtoVisual(dpy, rep.visual), -- rep.depth, ZPixmap, 0, data, width, height, -- _XGetScanlinePad(dpy, (int) rep.depth), 0); -+ if (format == XYPixmap) { -+ image = XCreateImage(dpy, _XVIDtoVisual(dpy, rep.visual), -+ Ones (plane_mask & -+ (((unsigned long)0xFFFFFFFF) >> (32 - rep.depth))), -+ format, 0, data, width, height, dpy->bitmap_pad, 0); -+ planes = image->depth; -+ } else { /* format == ZPixmap */ -+ image = XCreateImage (dpy, _XVIDtoVisual(dpy, rep.visual), -+ rep.depth, ZPixmap, 0, data, width, height, -+ _XGetScanlinePad(dpy, (int) rep.depth), 0); -+ planes = 1; -+ } - - if (!image) - Xfree(data); -+ if (planes < 1 || image->height < 1 || image->bytes_per_line < 1 || -+ INT_MAX / image->height <= image->bytes_per_line || -+ INT_MAX / planes <= image->height * image->bytes_per_line || -+ nbytes < planes * image->height * image->bytes_per_line) { -+ XDestroyImage(image); -+ image = NULL; -+ } - UnlockDisplay(dpy); - SyncHandle(); - return (image); --- -2.10.1 - diff --git a/gnu/packages/patches/libx11-CVE-2016-7943.patch b/gnu/packages/patches/libx11-CVE-2016-7943.patch deleted file mode 100644 index 7bcbc58dd4..0000000000 --- a/gnu/packages/patches/libx11-CVE-2016-7943.patch +++ /dev/null @@ -1,113 +0,0 @@ -Fix CVE-2016-7943: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7943. - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=8c29f1607a31dac0911e45a0dd3d74173822b3c9 - -From 8c29f1607a31dac0911e45a0dd3d74173822b3c9 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 21:22:57 +0200 -Subject: [PATCH] The validation of server responses avoids out of boundary - accesses. - -v2: FontNames.c return a NULL list whenever a single -length field from the server is incohent. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/FontNames.c | 23 +++++++++++++++++------ - src/ListExt.c | 12 ++++++++---- - src/ModMap.c | 3 ++- - 3 files changed, 27 insertions(+), 11 deletions(-) - -diff --git a/src/FontNames.c b/src/FontNames.c -index 21dcafe..e55f338 100644 ---- a/src/FontNames.c -+++ b/src/FontNames.c -@@ -66,7 +66,7 @@ int *actualCount) /* RETURN */ - - if (rep.nFonts) { - flist = Xmalloc (rep.nFonts * sizeof(char *)); -- if (rep.length < (INT_MAX >> 2)) { -+ if (rep.length > 0 && rep.length < (INT_MAX >> 2)) { - rlen = rep.length << 2; - ch = Xmalloc(rlen + 1); - /* +1 to leave room for last null-terminator */ -@@ -93,11 +93,22 @@ int *actualCount) /* RETURN */ - if (ch + length < chend) { - flist[i] = ch + 1; /* skip over length */ - ch += length + 1; /* find next length ... */ -- length = *(unsigned char *)ch; -- *ch = '\0'; /* and replace with null-termination */ -- count++; -- } else -- flist[i] = NULL; -+ if (ch <= chend) { -+ length = *(unsigned char *)ch; -+ *ch = '\0'; /* and replace with null-termination */ -+ count++; -+ } else { -+ Xfree(flist); -+ flist = NULL; -+ count = 0; -+ break; -+ } -+ } else { -+ Xfree(flist); -+ flist = NULL; -+ count = 0; -+ break; -+ } - } - } - *actualCount = count; -diff --git a/src/ListExt.c b/src/ListExt.c -index be6b989..0516e45 100644 ---- a/src/ListExt.c -+++ b/src/ListExt.c -@@ -55,7 +55,7 @@ char **XListExtensions( - - if (rep.nExtensions) { - list = Xmalloc (rep.nExtensions * sizeof (char *)); -- if (rep.length < (INT_MAX >> 2)) { -+ if (rep.length > 0 && rep.length < (INT_MAX >> 2)) { - rlen = rep.length << 2; - ch = Xmalloc (rlen + 1); - /* +1 to leave room for last null-terminator */ -@@ -80,9 +80,13 @@ char **XListExtensions( - if (ch + length < chend) { - list[i] = ch+1; /* skip over length */ - ch += length + 1; /* find next length ... */ -- length = *ch; -- *ch = '\0'; /* and replace with null-termination */ -- count++; -+ if (ch <= chend) { -+ length = *ch; -+ *ch = '\0'; /* and replace with null-termination */ -+ count++; -+ } else { -+ list[i] = NULL; -+ } - } else - list[i] = NULL; - } -diff --git a/src/ModMap.c b/src/ModMap.c -index a809aa2..49a5d08 100644 ---- a/src/ModMap.c -+++ b/src/ModMap.c -@@ -42,7 +42,8 @@ XGetModifierMapping(register Display *dpy) - GetEmptyReq(GetModifierMapping, req); - (void) _XReply (dpy, (xReply *)&rep, 0, xFalse); - -- if (rep.length < (INT_MAX >> 2)) { -+ if (rep.length < (INT_MAX >> 2) && -+ (rep.length >> 1) == rep.numKeyPerModifier) { - nbytes = (unsigned long)rep.length << 2; - res = Xmalloc(sizeof (XModifierKeymap)); - if (res) --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3dac36a4d3..9899a7c8ac 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5252,8 +5252,7 @@ (define-public xorg-server-xwayland (define-public libx11 (package (name "libx11") - (replacement libx11/fixed) - (version "1.6.3") + (version "1.6.4") (source (origin (method url-fetch) @@ -5263,7 +5262,7 @@ (define-public libx11 ".tar.bz2")) (sha256 (base32 - "04c1vj53xq2xgyxx5vhln3wm2d76hh1n95fvs3myhligkz1sfcfg")))) + "0hg46i6h92pmb7xp1cis2j43zq3fkdz89p0yv35w4vm17az4iixp")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML @@ -5285,15 +5284,6 @@ (define-public libx11 (description "Xorg Core X11 protocol client library.") (license license:x11))) -(define libx11/fixed - (package - (inherit libx11) - (source (origin - (inherit (package-source libx11)) - (patches (search-patches - "libx11-CVE-2016-7942.patch" - "libx11-CVE-2016-7943.patch")))))) - ;; packages of height 5 in the propagated-inputs tree (define-public libxcursor -- cgit v1.2.3 From 3e1ed70f74e4e2910e8d804bfab7b03dd005cf61 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:20:45 -0400 Subject: gnu: libxfixes: Update to 5.0.3. * gnu/packages/xorg.scm (libxfixes): Update to 5.0.3. [replacement]: Remove field. (libxfixes/fixed): Remove variable. * gnu/packages/patches/libxfixes-CVE-2016-7944.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/libxfixes-CVE-2016-7944.patch | 62 ---------------------- gnu/packages/xorg.scm | 13 +---- 3 files changed, 2 insertions(+), 74 deletions(-) delete mode 100644 gnu/packages/patches/libxfixes-CVE-2016-7944.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 97184d4b3b..915c5e7e20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,7 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxfixes-CVE-2016-7944.patch \ %D%/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch \ %D%/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch \ %D%/packages/patches/libxrender-CVE-2016-7949.patch \ diff --git a/gnu/packages/patches/libxfixes-CVE-2016-7944.patch b/gnu/packages/patches/libxfixes-CVE-2016-7944.patch deleted file mode 100644 index 2ce463fc46..0000000000 --- a/gnu/packages/patches/libxfixes-CVE-2016-7944.patch +++ /dev/null @@ -1,62 +0,0 @@ -Fix CVE-2016-7944: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7944 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXfixes/commit/?id=61c1039ee23a2d1de712843bed3480654d7ef42e - -From 61c1039ee23a2d1de712843bed3480654d7ef42e Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 22:38:44 +0200 -Subject: [PATCH] Integer overflow on illegal server response - -The 32 bit field "rep.length" is not checked for validity, which allows -an integer overflow on 32 bit systems. - -A malicious server could send INT_MAX as length, which gets multiplied -by the size of XRectangle. In that case the client won't read the whole -data from server, getting out of sync. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/Region.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/src/Region.c b/src/Region.c -index cb0cf6e..59bcc1a 100644 ---- a/src/Region.c -+++ b/src/Region.c -@@ -23,6 +23,7 @@ - #ifdef HAVE_CONFIG_H - #include - #endif -+#include - #include "Xfixesint.h" - - XserverRegion -@@ -333,9 +334,17 @@ XFixesFetchRegionAndBounds (Display *dpy, - bounds->y = rep.y; - bounds->width = rep.width; - bounds->height = rep.height; -- nbytes = (long) rep.length << 2; -- nrects = rep.length >> 1; -- rects = Xmalloc (nrects * sizeof (XRectangle)); -+ -+ if (rep.length < (INT_MAX >> 2)) { -+ nbytes = (long) rep.length << 2; -+ nrects = rep.length >> 1; -+ rects = Xmalloc (nrects * sizeof (XRectangle)); -+ } else { -+ nbytes = 0; -+ nrects = 0; -+ rects = NULL; -+ } -+ - if (!rects) - { - _XEatDataWords(dpy, rep.length); --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9899a7c8ac..02382586fc 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4848,8 +4848,7 @@ (define-public libxau (define-public libxfixes (package (name "libxfixes") - (replacement libxfixes/fixed) - (version "5.0.2") + (version "5.0.3") (source (origin (method url-fetch) @@ -4859,7 +4858,7 @@ (define-public libxfixes ".tar.bz2")) (sha256 (base32 - "1slsk898386xii0r3l7szwwq3s6y2m4dsj0x93ninjh8xkghxllv")))) + "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y")))) (build-system gnu-build-system) (propagated-inputs `(("fixesproto" ,fixesproto))) @@ -4873,14 +4872,6 @@ (define-public libxfixes (description "Library for the XFixes Extension to the X11 protocol.") (license license:x11))) -(define libxfixes/fixed - (package - (inherit libxfixes) - (source (origin - (inherit (package-source libxfixes)) - (patches (search-patches - "libxfixes-CVE-2016-7944.patch")))))) - (define-public libxfont (package (name "libxfont") -- cgit v1.2.3 From 571fa535cdb4b90d1d9b8183143762297275f28d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:22:59 -0400 Subject: gnu: libxi: Update to 1.7.7. * gnu/packages/xorg.scm (libxi): Update to 1.7.7. [replacement]: Remove field. (libxi/fixed): Remove variable. * gnu/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../libxi-CVE-2016-7945-CVE-2016-7946.patch | 420 --------------------- gnu/packages/xorg.scm | 13 +- 3 files changed, 2 insertions(+), 432 deletions(-) delete mode 100644 gnu/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 915c5e7e20..116c9ab589 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,7 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch \ %D%/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch \ %D%/packages/patches/libxrender-CVE-2016-7949.patch \ %D%/packages/patches/libxrender-CVE-2016-7950.patch \ diff --git a/gnu/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch b/gnu/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch deleted file mode 100644 index ca899e34c0..0000000000 --- a/gnu/packages/patches/libxi-CVE-2016-7945-CVE-2016-7946.patch +++ /dev/null @@ -1,420 +0,0 @@ -Fix CVE-2016-7945: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7945 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXi/commit/?id=19a9cd607de73947fcfb104682f203ffe4e1f4e5 - -From 19a9cd607de73947fcfb104682f203ffe4e1f4e5 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 22:31:34 +0200 -Subject: [PATCH] Properly validate server responses. - -By validating length fields from server responses, out of boundary -accesses and endless loops can be mitigated. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/XGMotion.c | 3 ++- - src/XGetBMap.c | 3 ++- - src/XGetDCtl.c | 6 ++++-- - src/XGetFCtl.c | 7 ++++++- - src/XGetKMap.c | 14 +++++++++++--- - src/XGetMMap.c | 11 +++++++++-- - src/XIQueryDevice.c | 36 ++++++++++++++++++++++++++++++++++-- - src/XListDev.c | 21 +++++++++++++++------ - src/XOpenDev.c | 13 ++++++++++--- - src/XQueryDv.c | 8 ++++++-- - 10 files changed, 99 insertions(+), 23 deletions(-) - -diff --git a/src/XGMotion.c b/src/XGMotion.c -index 7785843..9433e29 100644 ---- a/src/XGMotion.c -+++ b/src/XGMotion.c -@@ -114,7 +114,8 @@ XGetDeviceMotionEvents( - } - /* rep.axes is a CARD8, so assume max number of axes for bounds check */ - if (rep.nEvents < -- (INT_MAX / (sizeof(XDeviceTimeCoord) + (UCHAR_MAX * sizeof(int))))) { -+ (INT_MAX / (sizeof(XDeviceTimeCoord) + (UCHAR_MAX * sizeof(int)))) && -+ rep.nEvents * (rep.axes + 1) <= rep.length) { - size_t bsize = rep.nEvents * - (sizeof(XDeviceTimeCoord) + (rep.axes * sizeof(int))); - bufp = Xmalloc(bsize); -diff --git a/src/XGetBMap.c b/src/XGetBMap.c -index 002daba..13bb8c6 100644 ---- a/src/XGetBMap.c -+++ b/src/XGetBMap.c -@@ -92,7 +92,8 @@ XGetDeviceButtonMapping( - - status = _XReply(dpy, (xReply *) & rep, 0, xFalse); - if (status == 1) { -- if (rep.length <= (sizeof(mapping) >> 2)) { -+ if (rep.length <= (sizeof(mapping) >> 2) && -+ rep.nElts <= (rep.length << 2)) { - unsigned long nbytes = rep.length << 2; - _XRead(dpy, (char *)mapping, nbytes); - -diff --git a/src/XGetDCtl.c b/src/XGetDCtl.c -index c5d3b53..7f6b396 100644 ---- a/src/XGetDCtl.c -+++ b/src/XGetDCtl.c -@@ -93,7 +93,8 @@ XGetDeviceControl( - if (rep.length > 0) { - unsigned long nbytes; - size_t size = 0; -- if (rep.length < (INT_MAX >> 2)) { -+ if (rep.length < (INT_MAX >> 2) && -+ (rep.length << 2) >= sizeof(xDeviceState)) { - nbytes = (unsigned long) rep.length << 2; - d = Xmalloc(nbytes); - } -@@ -117,7 +118,8 @@ XGetDeviceControl( - size_t val_size; - - r = (xDeviceResolutionState *) d; -- if (r->num_valuators >= (INT_MAX / (3 * sizeof(int)))) -+ if (sizeof(xDeviceResolutionState) > nbytes || -+ r->num_valuators >= (INT_MAX / (3 * sizeof(int)))) - goto out; - val_size = 3 * sizeof(int) * r->num_valuators; - if ((sizeof(xDeviceResolutionState) + val_size) > nbytes) -diff --git a/src/XGetFCtl.c b/src/XGetFCtl.c -index 7fd6d0e..82dcc64 100644 ---- a/src/XGetFCtl.c -+++ b/src/XGetFCtl.c -@@ -73,6 +73,7 @@ XGetFeedbackControl( - XFeedbackState *Sav = NULL; - xFeedbackState *f = NULL; - xFeedbackState *sav = NULL; -+ char *end = NULL; - xGetFeedbackControlReq *req; - xGetFeedbackControlReply rep; - XExtDisplayInfo *info = XInput_find_display(dpy); -@@ -105,10 +106,12 @@ XGetFeedbackControl( - goto out; - } - sav = f; -+ end = (char *)f + nbytes; - _XRead(dpy, (char *)f, nbytes); - - for (i = 0; i < *num_feedbacks; i++) { -- if (f->length > nbytes) -+ if ((char *)f + sizeof(*f) > end || -+ f->length == 0 || f->length > nbytes) - goto out; - nbytes -= f->length; - -@@ -125,6 +128,8 @@ XGetFeedbackControl( - case StringFeedbackClass: - { - xStringFeedbackState *strf = (xStringFeedbackState *) f; -+ if ((char *)f + sizeof(*strf) > end) -+ goto out; - size += sizeof(XStringFeedbackState) + - (strf->num_syms_supported * sizeof(KeySym)); - } -diff --git a/src/XGetKMap.c b/src/XGetKMap.c -index 0540ce4..008a72b 100644 ---- a/src/XGetKMap.c -+++ b/src/XGetKMap.c -@@ -54,6 +54,7 @@ SOFTWARE. - #include - #endif - -+#include - #include - #include - #include -@@ -93,9 +94,16 @@ XGetDeviceKeyMapping(register Display * dpy, XDevice * dev, - return (KeySym *) NULL; - } - if (rep.length > 0) { -- *syms_per_code = rep.keySymsPerKeyCode; -- nbytes = (long)rep.length << 2; -- mapping = (KeySym *) Xmalloc((unsigned)nbytes); -+ if (rep.length < INT_MAX >> 2 && -+ rep.length == rep.keySymsPerKeyCode * keycount) { -+ *syms_per_code = rep.keySymsPerKeyCode; -+ nbytes = (long)rep.length << 2; -+ mapping = (KeySym *) Xmalloc((unsigned)nbytes); -+ } else { -+ *syms_per_code = 0; -+ nbytes = 0; -+ mapping = NULL; -+ } - if (mapping) - _XRead(dpy, (char *)mapping, nbytes); - else -diff --git a/src/XGetMMap.c b/src/XGetMMap.c -index 246698c..33c114f 100644 ---- a/src/XGetMMap.c -+++ b/src/XGetMMap.c -@@ -53,6 +53,7 @@ SOFTWARE. - #include - #endif - -+#include - #include - #include - #include -@@ -85,8 +86,14 @@ XGetDeviceModifierMapping( - SyncHandle(); - return (XModifierKeymap *) NULL; - } -- nbytes = (unsigned long)rep.length << 2; -- res = (XModifierKeymap *) Xmalloc(sizeof(XModifierKeymap)); -+ if (rep.length < (INT_MAX >> 2) && -+ rep.numKeyPerModifier == rep.length >> 1) { -+ nbytes = (unsigned long)rep.length << 2; -+ res = (XModifierKeymap *) Xmalloc(sizeof(XModifierKeymap)); -+ } else { -+ nbytes = 0; -+ res = NULL; -+ } - if (res) { - res->modifiermap = (KeyCode *) Xmalloc(nbytes); - if (res->modifiermap) -diff --git a/src/XIQueryDevice.c b/src/XIQueryDevice.c -index fb8504f..a457cd6 100644 ---- a/src/XIQueryDevice.c -+++ b/src/XIQueryDevice.c -@@ -26,6 +26,7 @@ - #include - #endif - -+#include - #include - #include - #include -@@ -43,6 +44,7 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return) - xXIQueryDeviceReq *req; - xXIQueryDeviceReply reply; - char *ptr; -+ char *end; - int i; - char *buf; - -@@ -60,14 +62,24 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return) - if (!_XReply(dpy, (xReply*) &reply, 0, xFalse)) - goto error; - -- *ndevices_return = reply.num_devices; -- info = Xmalloc((reply.num_devices + 1) * sizeof(XIDeviceInfo)); -+ if (reply.length < INT_MAX / 4) -+ { -+ *ndevices_return = reply.num_devices; -+ info = Xmalloc((reply.num_devices + 1) * sizeof(XIDeviceInfo)); -+ } -+ else -+ { -+ *ndevices_return = 0; -+ info = NULL; -+ } -+ - if (!info) - goto error; - - buf = Xmalloc(reply.length * 4); - _XRead(dpy, buf, reply.length * 4); - ptr = buf; -+ end = buf + reply.length * 4; - - /* info is a null-terminated array */ - info[reply.num_devices].name = NULL; -@@ -79,6 +91,9 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return) - XIDeviceInfo *lib = &info[i]; - xXIDeviceInfo *wire = (xXIDeviceInfo*)ptr; - -+ if (ptr + sizeof(xXIDeviceInfo) > end) -+ goto error_loop; -+ - lib->deviceid = wire->deviceid; - lib->use = wire->use; - lib->attachment = wire->attachment; -@@ -87,12 +102,23 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return) - - ptr += sizeof(xXIDeviceInfo); - -+ if (ptr + wire->name_len > end) -+ goto error_loop; -+ - lib->name = Xcalloc(wire->name_len + 1, 1); -+ if (lib->name == NULL) -+ goto error_loop; - strncpy(lib->name, ptr, wire->name_len); -+ lib->name[wire->name_len] = '\0'; - ptr += ((wire->name_len + 3)/4) * 4; - - sz = size_classes((xXIAnyInfo*)ptr, nclasses); - lib->classes = Xmalloc(sz); -+ if (lib->classes == NULL) -+ { -+ Xfree(lib->name); -+ goto error_loop; -+ } - ptr += copy_classes(lib, (xXIAnyInfo*)ptr, &nclasses); - /* We skip over unused classes */ - lib->num_classes = nclasses; -@@ -103,6 +129,12 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return) - SyncHandle(); - return info; - -+error_loop: -+ while (--i >= 0) -+ { -+ Xfree(info[i].name); -+ Xfree(info[i].classes); -+ } - error: - UnlockDisplay(dpy); - error_unlocked: -diff --git a/src/XListDev.c b/src/XListDev.c -index b85ff3c..f850cd0 100644 ---- a/src/XListDev.c -+++ b/src/XListDev.c -@@ -74,7 +74,7 @@ static int pad_to_xid(int base_size) - } - - static size_t --SizeClassInfo(xAnyClassPtr *any, int num_classes) -+SizeClassInfo(xAnyClassPtr *any, size_t len, int num_classes) - { - int size = 0; - int j; -@@ -90,6 +90,8 @@ SizeClassInfo(xAnyClassPtr *any, int num_classes) - { - xValuatorInfoPtr v; - -+ if (len < sizeof(v)) -+ return 0; - v = (xValuatorInfoPtr) *any; - size += pad_to_xid(sizeof(XValuatorInfo) + - (v->num_axes * sizeof(XAxisInfo))); -@@ -98,6 +100,8 @@ SizeClassInfo(xAnyClassPtr *any, int num_classes) - default: - break; - } -+ if ((*any)->length > len) -+ return 0; - *any = (xAnyClassPtr) ((char *)(*any) + (*any)->length); - } - -@@ -170,7 +174,7 @@ XListInputDevices( - register Display *dpy, - int *ndevices) - { -- size_t size; -+ size_t s, size; - xListInputDevicesReq *req; - xListInputDevicesReply rep; - xDeviceInfo *list, *slist = NULL; -@@ -178,6 +182,7 @@ XListInputDevices( - XDeviceInfo *clist = NULL; - xAnyClassPtr any, sav_any; - XAnyClassPtr Any; -+ char *end = NULL; - unsigned char *nptr, *Nptr; - int i; - unsigned long rlen; -@@ -213,16 +218,20 @@ XListInputDevices( - - any = (xAnyClassPtr) ((char *)list + (*ndevices * sizeof(xDeviceInfo))); - sav_any = any; -+ end = (char *)list + rlen; - for (i = 0; i < *ndevices; i++, list++) { -- size += SizeClassInfo(&any, (int)list->num_classes); -+ s = SizeClassInfo(&any, end - (char *)any, (int)list->num_classes); -+ if (!s) -+ goto out; -+ size += s; - } - -- Nptr = ((unsigned char *)list) + rlen + 1; -+ Nptr = ((unsigned char *)list) + rlen; - for (i = 0, nptr = (unsigned char *)any; i < *ndevices; i++) { -+ if (nptr >= Nptr) -+ goto out; - size += *nptr + 1; - nptr += (*nptr + 1); -- if (nptr > Nptr) -- goto out; - } - - clist = (XDeviceInfoPtr) Xmalloc(size); -diff --git a/src/XOpenDev.c b/src/XOpenDev.c -index 029dec2..4b3c460 100644 ---- a/src/XOpenDev.c -+++ b/src/XOpenDev.c -@@ -53,6 +53,7 @@ SOFTWARE. - #include - #endif - -+#include - #include - #include - #include -@@ -86,9 +87,15 @@ XOpenDevice( - return (XDevice *) NULL; - } - -- rlen = rep.length << 2; -- dev = (XDevice *) Xmalloc(sizeof(XDevice) + rep.num_classes * -- sizeof(XInputClassInfo)); -+ if (rep.length < INT_MAX >> 2 && -+ (rep.length << 2) >= rep.num_classes * sizeof(xInputClassInfo)) { -+ rlen = rep.length << 2; -+ dev = (XDevice *) Xmalloc(sizeof(XDevice) + rep.num_classes * -+ sizeof(XInputClassInfo)); -+ } else { -+ rlen = 0; -+ dev = NULL; -+ } - if (dev) { - int dlen; /* data length */ - -diff --git a/src/XQueryDv.c b/src/XQueryDv.c -index de1c0e5..7ee2272 100644 ---- a/src/XQueryDv.c -+++ b/src/XQueryDv.c -@@ -73,7 +73,7 @@ XQueryDeviceState( - xQueryDeviceStateReply rep; - XDeviceState *state = NULL; - XInputClass *any, *Any; -- char *data = NULL; -+ char *data = NULL, *end = NULL; - XExtDisplayInfo *info = XInput_find_display(dpy); - - LockDisplay(dpy); -@@ -92,6 +92,7 @@ XQueryDeviceState( - if (rep.length < (INT_MAX >> 2)) { - rlen = (unsigned long) rep.length << 2; - data = Xmalloc(rlen); -+ end = data + rlen; - } - if (!data) { - _XEatDataWords(dpy, rep.length); -@@ -100,7 +101,8 @@ XQueryDeviceState( - _XRead(dpy, data, rlen); - - for (i = 0, any = (XInputClass *) data; i < (int)rep.num_classes; i++) { -- if (any->length > rlen) -+ if ((char *)any + sizeof(XInputClass) > end || -+ any->length == 0 || any->length > rlen) - goto out; - rlen -= any->length; - -@@ -114,6 +116,8 @@ XQueryDeviceState( - case ValuatorClass: - { - xValuatorState *v = (xValuatorState *) any; -+ if ((char *)any + sizeof(xValuatorState) > end) -+ goto out; - size += (sizeof(XValuatorState) + - (v->num_valuators * sizeof(int))); - } --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 02382586fc..a4472f1cc9 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4912,8 +4912,7 @@ (define-public libxfont (define-public libxi (package (name "libxi") - (replacement libxi/fixed) - (version "1.7.6") + (version "1.7.7") (source (origin (method url-fetch) @@ -4923,7 +4922,7 @@ (define-public libxi ".tar.bz2")) (sha256 (base32 - "1b5p0l19ynmd6blnqr205wyngh6fagl35nqb4v05dw60rr9aachz")))) + "0c70n4aq0ba628wr88ih4740nci9d9f6y3v96sx376vvlm7q6vwr")))) (build-system gnu-build-system) (propagated-inputs `(("inputproto" ,inputproto) @@ -4939,14 +4938,6 @@ (define-public libxi (description "Library for the XInput Extension to the X11 protocol.") (license license:x11))) -(define libxi/fixed - (package - (inherit libxi) - (source (origin - (inherit (package-source libxi)) - (patches (search-patches - "libxi-CVE-2016-7945-CVE-2016-7946.patch")))))) - (define-public libxrandr (package (name "libxrandr") -- cgit v1.2.3 From 2e81b0b5bf47cab7f096ceedd2c450935f3e5a1f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:25:51 -0400 Subject: gnu: libxrandr: Update to 1.5.1. * gnu/packages/xorg.scm (libxrandr): Update to 1.5.1. [replacement]: Remove field. (libxrandr/fixed): Remove variable. * gnu/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../libxrandr-CVE-2016-7947-CVE-2016-7948.patch | 447 --------------------- gnu/packages/xorg.scm | 13 +- 3 files changed, 2 insertions(+), 459 deletions(-) delete mode 100644 gnu/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 116c9ab589..5745bf9b94 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,7 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch \ %D%/packages/patches/libxrender-CVE-2016-7949.patch \ %D%/packages/patches/libxrender-CVE-2016-7950.patch \ %D%/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch \ diff --git a/gnu/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch b/gnu/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch deleted file mode 100644 index ece8b18309..0000000000 --- a/gnu/packages/patches/libxrandr-CVE-2016-7947-CVE-2016-7948.patch +++ /dev/null @@ -1,447 +0,0 @@ -Fix CVE-2016-7947 and CVE-2016-7948. - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7947 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7948 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXrandr/commit/?id=a0df3e1c7728205e5c7650b2e6dce684139254a6 - -From a0df3e1c7728205e5c7650b2e6dce684139254a6 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 22:21:40 +0200 -Subject: [PATCH] Avoid out of boundary accesses on illegal responses - -The responses of the connected X server have to be properly checked -to avoid out of boundary accesses that could otherwise be triggered -by a malicious server. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/XrrConfig.c | 32 +++++++++++++-------- - src/XrrCrtc.c | 83 ++++++++++++++++++++++++++++++++++++++++++------------- - src/XrrMonitor.c | 18 ++++++++++++ - src/XrrOutput.c | 11 ++++++++ - src/XrrProvider.c | 28 ++++++++++++++++--- - src/XrrScreen.c | 52 ++++++++++++++++++++++------------ - 6 files changed, 172 insertions(+), 52 deletions(-) - -diff --git a/src/XrrConfig.c b/src/XrrConfig.c -index 2f0282b..e68c45a 100644 ---- a/src/XrrConfig.c -+++ b/src/XrrConfig.c -@@ -29,6 +29,7 @@ - #include - #endif - -+#include - #include - #include - /* we need to be able to manipulate the Display structure on events */ -@@ -272,23 +273,30 @@ static XRRScreenConfiguration *_XRRGetScreenInfo (Display *dpy, - rep.rate = 0; - rep.nrateEnts = 0; - } -+ if (rep.length < INT_MAX >> 2) { -+ nbytes = (long) rep.length << 2; - -- nbytes = (long) rep.length << 2; -+ nbytesRead = (long) (rep.nSizes * SIZEOF (xScreenSizes) + -+ ((rep.nrateEnts + 1)& ~1) * 2 /* SIZEOF(CARD16) */); - -- nbytesRead = (long) (rep.nSizes * SIZEOF (xScreenSizes) + -- ((rep.nrateEnts + 1)& ~1) * 2 /* SIZEOF (CARD16) */); -+ /* -+ * first we must compute how much space to allocate for -+ * randr library's use; we'll allocate the structures in a single -+ * allocation, on cleanlyness grounds. -+ */ - -- /* -- * first we must compute how much space to allocate for -- * randr library's use; we'll allocate the structures in a single -- * allocation, on cleanlyness grounds. -- */ -+ rbytes = sizeof (XRRScreenConfiguration) + -+ (rep.nSizes * sizeof (XRRScreenSize) + -+ rep.nrateEnts * sizeof (int)); - -- rbytes = sizeof (XRRScreenConfiguration) + -- (rep.nSizes * sizeof (XRRScreenSize) + -- rep.nrateEnts * sizeof (int)); -+ scp = (struct _XRRScreenConfiguration *) Xmalloc(rbytes); -+ } else { -+ nbytes = 0; -+ nbytesRead = 0; -+ rbytes = 0; -+ scp = NULL; -+ } - -- scp = (struct _XRRScreenConfiguration *) Xmalloc(rbytes); - if (scp == NULL) { - _XEatData (dpy, (unsigned long) nbytes); - return NULL; -diff --git a/src/XrrCrtc.c b/src/XrrCrtc.c -index 5ae35c5..6665092 100644 ---- a/src/XrrCrtc.c -+++ b/src/XrrCrtc.c -@@ -24,6 +24,7 @@ - #include - #endif - -+#include - #include - #include - /* we need to be able to manipulate the Display structure on events */ -@@ -57,22 +58,33 @@ XRRGetCrtcInfo (Display *dpy, XRRScreenResources *resources, RRCrtc crtc) - return NULL; - } - -- nbytes = (long) rep.length << 2; -+ if (rep.length < INT_MAX >> 2) -+ { -+ nbytes = (long) rep.length << 2; - -- nbytesRead = (long) (rep.nOutput * 4 + -- rep.nPossibleOutput * 4); -+ nbytesRead = (long) (rep.nOutput * 4 + -+ rep.nPossibleOutput * 4); - -- /* -- * first we must compute how much space to allocate for -- * randr library's use; we'll allocate the structures in a single -- * allocation, on cleanlyness grounds. -- */ -+ /* -+ * first we must compute how much space to allocate for -+ * randr library's use; we'll allocate the structures in a single -+ * allocation, on cleanlyness grounds. -+ */ - -- rbytes = (sizeof (XRRCrtcInfo) + -- rep.nOutput * sizeof (RROutput) + -- rep.nPossibleOutput * sizeof (RROutput)); -+ rbytes = (sizeof (XRRCrtcInfo) + -+ rep.nOutput * sizeof (RROutput) + -+ rep.nPossibleOutput * sizeof (RROutput)); -+ -+ xci = (XRRCrtcInfo *) Xmalloc(rbytes); -+ } -+ else -+ { -+ nbytes = 0; -+ nbytesRead = 0; -+ rbytes = 0; -+ xci = NULL; -+ } - -- xci = (XRRCrtcInfo *) Xmalloc(rbytes); - if (xci == NULL) { - _XEatDataWords (dpy, rep.length); - UnlockDisplay (dpy); -@@ -194,12 +206,21 @@ XRRGetCrtcGamma (Display *dpy, RRCrtc crtc) - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) - goto out; - -- nbytes = (long) rep.length << 2; -+ if (rep.length < INT_MAX >> 2) -+ { -+ nbytes = (long) rep.length << 2; - -- /* three channels of CARD16 data */ -- nbytesRead = (rep.size * 2 * 3); -+ /* three channels of CARD16 data */ -+ nbytesRead = (rep.size * 2 * 3); - -- crtc_gamma = XRRAllocGamma (rep.size); -+ crtc_gamma = XRRAllocGamma (rep.size); -+ } -+ else -+ { -+ nbytes = 0; -+ nbytesRead = 0; -+ crtc_gamma = NULL; -+ } - - if (!crtc_gamma) - { -@@ -357,7 +378,7 @@ XRRGetCrtcTransform (Display *dpy, - xRRGetCrtcTransformReq *req; - int major_version, minor_version; - XRRCrtcTransformAttributes *attr; -- char *extra = NULL, *e; -+ char *extra = NULL, *end = NULL, *e; - int p; - - *attributes = NULL; -@@ -395,9 +416,17 @@ XRRGetCrtcTransform (Display *dpy, - else - { - int extraBytes = rep.length * 4 - CrtcTransformExtra; -- extra = Xmalloc (extraBytes); -+ if (rep.length < INT_MAX / 4 && -+ rep.length * 4 >= CrtcTransformExtra) { -+ extra = Xmalloc (extraBytes); -+ end = extra + extraBytes; -+ } else -+ extra = NULL; - if (!extra) { -- _XEatDataWords (dpy, rep.length - (CrtcTransformExtra >> 2)); -+ if (rep.length > (CrtcTransformExtra >> 2)) -+ _XEatDataWords (dpy, rep.length - (CrtcTransformExtra >> 2)); -+ else -+ _XEatDataWords (dpy, rep.length); - UnlockDisplay (dpy); - SyncHandle (); - return False; -@@ -429,22 +458,38 @@ XRRGetCrtcTransform (Display *dpy, - - e = extra; - -+ if (e + rep.pendingNbytesFilter > end) { -+ XFree (extra); -+ return False; -+ } - memcpy (attr->pendingFilter, e, rep.pendingNbytesFilter); - attr->pendingFilter[rep.pendingNbytesFilter] = '\0'; - e += (rep.pendingNbytesFilter + 3) & ~3; - for (p = 0; p < rep.pendingNparamsFilter; p++) { - INT32 f; -+ if (e + 4 > end) { -+ XFree (extra); -+ return False; -+ } - memcpy (&f, e, 4); - e += 4; - attr->pendingParams[p] = (XFixed) f; - } - attr->pendingNparams = rep.pendingNparamsFilter; - -+ if (e + rep.currentNbytesFilter > end) { -+ XFree (extra); -+ return False; -+ } - memcpy (attr->currentFilter, e, rep.currentNbytesFilter); - attr->currentFilter[rep.currentNbytesFilter] = '\0'; - e += (rep.currentNbytesFilter + 3) & ~3; - for (p = 0; p < rep.currentNparamsFilter; p++) { - INT32 f; -+ if (e + 4 > end) { -+ XFree (extra); -+ return False; -+ } - memcpy (&f, e, 4); - e += 4; - attr->currentParams[p] = (XFixed) f; -diff --git a/src/XrrMonitor.c b/src/XrrMonitor.c -index a9eaa7b..adc5330 100644 ---- a/src/XrrMonitor.c -+++ b/src/XrrMonitor.c -@@ -24,6 +24,7 @@ - #include - #endif - -+#include - #include - #include - /* we need to be able to manipulate the Display structure on events */ -@@ -65,6 +66,15 @@ XRRGetMonitors(Display *dpy, Window window, Bool get_active, int *nmonitors) - return NULL; - } - -+ if (rep.length > INT_MAX >> 2 || -+ rep.nmonitors > INT_MAX / SIZEOF(xRRMonitorInfo) || -+ rep.noutputs > INT_MAX / 4 || -+ rep.nmonitors * SIZEOF(xRRMonitorInfo) > INT_MAX - rep.noutputs * 4) { -+ _XEatData (dpy, rep.length); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return NULL; -+ } - nbytes = (long) rep.length << 2; - nmon = rep.nmonitors; - noutput = rep.noutputs; -@@ -111,6 +121,14 @@ XRRGetMonitors(Display *dpy, Window window, Bool get_active, int *nmonitors) - mon[m].outputs = output; - buf += SIZEOF (xRRMonitorInfo); - xoutput = (CARD32 *) buf; -+ if (xmon->noutput > rep.noutputs) { -+ Xfree(buf); -+ Xfree(mon); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return NULL; -+ } -+ rep.noutputs -= xmon->noutput; - for (o = 0; o < xmon->noutput; o++) - output[o] = xoutput[o]; - output += xmon->noutput; -diff --git a/src/XrrOutput.c b/src/XrrOutput.c -index 85f0b6e..30f3d40 100644 ---- a/src/XrrOutput.c -+++ b/src/XrrOutput.c -@@ -25,6 +25,7 @@ - #include - #endif - -+#include - #include - #include - /* we need to be able to manipulate the Display structure on events */ -@@ -60,6 +61,16 @@ XRRGetOutputInfo (Display *dpy, XRRScreenResources *resources, RROutput output) - return NULL; - } - -+ if (rep.length > INT_MAX >> 2 || rep.length < (OutputInfoExtra >> 2)) -+ { -+ if (rep.length > (OutputInfoExtra >> 2)) -+ _XEatDataWords (dpy, rep.length - (OutputInfoExtra >> 2)); -+ else -+ _XEatDataWords (dpy, rep.length); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return NULL; -+ } - nbytes = ((long) (rep.length) << 2) - OutputInfoExtra; - - nbytesRead = (long) (rep.nCrtcs * 4 + -diff --git a/src/XrrProvider.c b/src/XrrProvider.c -index 9e620c7..d796cd0 100644 ---- a/src/XrrProvider.c -+++ b/src/XrrProvider.c -@@ -25,6 +25,7 @@ - #include - #endif - -+#include - #include - #include - /* we need to be able to manipulate the Display structure on events */ -@@ -59,12 +60,20 @@ XRRGetProviderResources(Display *dpy, Window window) - return NULL; - } - -- nbytes = (long) rep.length << 2; -+ if (rep.length < INT_MAX >> 2) { -+ nbytes = (long) rep.length << 2; - -- nbytesRead = (long) (rep.nProviders * 4); -+ nbytesRead = (long) (rep.nProviders * 4); - -- rbytes = (sizeof(XRRProviderResources) + rep.nProviders * sizeof(RRProvider)); -- xrpr = (XRRProviderResources *) Xmalloc(rbytes); -+ rbytes = (sizeof(XRRProviderResources) + rep.nProviders * -+ sizeof(RRProvider)); -+ xrpr = (XRRProviderResources *) Xmalloc(rbytes); -+ } else { -+ nbytes = 0; -+ nbytesRead = 0; -+ rbytes = 0; -+ xrpr = NULL; -+ } - - if (xrpr == NULL) { - _XEatDataWords (dpy, rep.length); -@@ -121,6 +130,17 @@ XRRGetProviderInfo(Display *dpy, XRRScreenResources *resources, RRProvider provi - return NULL; - } - -+ if (rep.length > INT_MAX >> 2 || rep.length < ProviderInfoExtra >> 2) -+ { -+ if (rep.length < ProviderInfoExtra >> 2) -+ _XEatDataWords (dpy, rep.length); -+ else -+ _XEatDataWords (dpy, rep.length - (ProviderInfoExtra >> 2)); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return NULL; -+ } -+ - nbytes = ((long) rep.length << 2) - ProviderInfoExtra; - - nbytesRead = (long)(rep.nCrtcs * 4 + -diff --git a/src/XrrScreen.c b/src/XrrScreen.c -index b8ce7e5..1f7ffe6 100644 ---- a/src/XrrScreen.c -+++ b/src/XrrScreen.c -@@ -24,6 +24,7 @@ - #include - #endif - -+#include - #include - #include - /* we need to be able to manipulate the Display structure on events */ -@@ -105,27 +106,36 @@ doGetScreenResources (Display *dpy, Window window, int poll) - xrri->has_rates = _XRRHasRates (xrri->minor_version, xrri->major_version); - } - -- nbytes = (long) rep.length << 2; -+ if (rep.length < INT_MAX >> 2) { -+ nbytes = (long) rep.length << 2; - -- nbytesRead = (long) (rep.nCrtcs * 4 + -- rep.nOutputs * 4 + -- rep.nModes * SIZEOF (xRRModeInfo) + -- ((rep.nbytesNames + 3) & ~3)); -+ nbytesRead = (long) (rep.nCrtcs * 4 + -+ rep.nOutputs * 4 + -+ rep.nModes * SIZEOF (xRRModeInfo) + -+ ((rep.nbytesNames + 3) & ~3)); - -- /* -- * first we must compute how much space to allocate for -- * randr library's use; we'll allocate the structures in a single -- * allocation, on cleanlyness grounds. -- */ -+ /* -+ * first we must compute how much space to allocate for -+ * randr library's use; we'll allocate the structures in a single -+ * allocation, on cleanlyness grounds. -+ */ -+ -+ rbytes = (sizeof (XRRScreenResources) + -+ rep.nCrtcs * sizeof (RRCrtc) + -+ rep.nOutputs * sizeof (RROutput) + -+ rep.nModes * sizeof (XRRModeInfo) + -+ rep.nbytesNames + rep.nModes); /* '\0' terminate names */ - -- rbytes = (sizeof (XRRScreenResources) + -- rep.nCrtcs * sizeof (RRCrtc) + -- rep.nOutputs * sizeof (RROutput) + -- rep.nModes * sizeof (XRRModeInfo) + -- rep.nbytesNames + rep.nModes); /* '\0' terminate names */ -+ xrsr = (XRRScreenResources *) Xmalloc(rbytes); -+ wire_names = (char *) Xmalloc (rep.nbytesNames); -+ } else { -+ nbytes = 0; -+ nbytesRead = 0; -+ rbytes = 0; -+ xrsr = NULL; -+ wire_names = NULL; -+ } - -- xrsr = (XRRScreenResources *) Xmalloc(rbytes); -- wire_names = (char *) Xmalloc (rep.nbytesNames); - if (xrsr == NULL || wire_names == NULL) { - Xfree (xrsr); - Xfree (wire_names); -@@ -174,6 +184,14 @@ doGetScreenResources (Display *dpy, Window window, int poll) - wire_name = wire_names; - for (i = 0; i < rep.nModes; i++) { - xrsr->modes[i].name = names; -+ if (xrsr->modes[i].nameLength > rep.nbytesNames) { -+ Xfree (xrsr); -+ Xfree (wire_names); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return NULL; -+ } -+ rep.nbytesNames -= xrsr->modes[i].nameLength; - memcpy (names, wire_name, xrsr->modes[i].nameLength); - names[xrsr->modes[i].nameLength] = '\0'; - names += xrsr->modes[i].nameLength + 1; --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a4472f1cc9..85bd916802 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4941,8 +4941,7 @@ (define-public libxi (define-public libxrandr (package (name "libxrandr") - (replacement libxrandr/fixed) - (version "1.5.0") + (version "1.5.1") (source (origin (method url-fetch) @@ -4952,7 +4951,7 @@ (define-public libxrandr ".tar.bz2")) (sha256 (base32 - "0n6ycs1arf4wb1cal9il6v7vbxbf21qhs9sbfl8xndgwnxclk1kg")))) + "06pmphx8lp3iywqnh88fvbfb0d8xgkx0qpvan49akpja1vxfgy8z")))) (build-system gnu-build-system) (propagated-inputs ;; In accordance with xrandr.pc. @@ -4969,14 +4968,6 @@ (define-public libxrandr "Library for the Resize and Rotate Extension to the X11 protocol.") (license license:x11))) -(define libxrandr/fixed - (package - (inherit libxrandr) - (source (origin - (inherit (package-source libxrandr)) - (patches (search-patches - "libxrandr-CVE-2016-7947-CVE-2016-7948.patch")))))) - (define-public libxvmc (package (name "libxvmc") -- cgit v1.2.3 From 9eb76bd3e5d15f93ff71c356f4b0bf6a6412cf19 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:28:08 -0400 Subject: gnu: libxrender: Update to 0.9.10. * gnu/packages/xorg.scm (libxrender): Update to 0.9.10. [replacement]: Remove field. (libxrender/fixed): Remove variable. * gnu/packages/patches/libxrender-CVE-2016-7949.patch, gnu/packages/patches/libxrender-CVE-2016-7950.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - .../patches/libxrender-CVE-2016-7949.patch | 66 ------------------- .../patches/libxrender-CVE-2016-7950.patch | 73 ---------------------- gnu/packages/xorg.scm | 14 +---- 4 files changed, 2 insertions(+), 153 deletions(-) delete mode 100644 gnu/packages/patches/libxrender-CVE-2016-7949.patch delete mode 100644 gnu/packages/patches/libxrender-CVE-2016-7950.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 5745bf9b94..74b57b0bcb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,8 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxrender-CVE-2016-7949.patch \ - %D%/packages/patches/libxrender-CVE-2016-7950.patch \ %D%/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch \ %D%/packages/patches/libxv-CVE-2016-5407.patch \ %D%/packages/patches/libxvmc-CVE-2016-7953.patch \ diff --git a/gnu/packages/patches/libxrender-CVE-2016-7949.patch b/gnu/packages/patches/libxrender-CVE-2016-7949.patch deleted file mode 100644 index 3a2be4ea8e..0000000000 --- a/gnu/packages/patches/libxrender-CVE-2016-7949.patch +++ /dev/null @@ -1,66 +0,0 @@ -Fix CVE-2016-7949: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7949 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXrender/commit/?id=9362c7ddd1af3b168953d0737877bc52d79c94f4 - -From 9362c7ddd1af3b168953d0737877bc52d79c94f4 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 21:43:09 +0200 -Subject: [PATCH] Validate lengths while parsing server data. - -Individual lengths inside received server data can overflow -the previously reserved memory. - -It is therefore important to validate every single length -field to not overflow the previously agreed sum of all invidual -length fields. - -v2: consume remaining bytes in the reply buffer on error. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb@laas.fr ---- - src/Xrender.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/src/Xrender.c b/src/Xrender.c -index 3102eb2..71cf3e6 100644 ---- a/src/Xrender.c -+++ b/src/Xrender.c -@@ -533,12 +533,30 @@ XRenderQueryFormats (Display *dpy) - screen->fallback = _XRenderFindFormat (xri, xScreen->fallback); - screen->subpixel = SubPixelUnknown; - xDepth = (xPictDepth *) (xScreen + 1); -+ if (screen->ndepths > rep.numDepths) { -+ Xfree (xri); -+ Xfree (xData); -+ _XEatDataWords (dpy, rep.length); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return 0; -+ } -+ rep.numDepths -= screen->ndepths; - for (nd = 0; nd < screen->ndepths; nd++) - { - depth->depth = xDepth->depth; - depth->nvisuals = xDepth->nPictVisuals; - depth->visuals = visual; - xVisual = (xPictVisual *) (xDepth + 1); -+ if (depth->nvisuals > rep.numVisuals) { -+ Xfree (xri); -+ Xfree (xData); -+ _XEatDataWords (dpy, rep.length); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return 0; -+ } -+ rep.numVisuals -= depth->nvisuals; - for (nv = 0; nv < depth->nvisuals; nv++) - { - visual->visual = _XRenderFindVisual (dpy, xVisual->visual); --- -2.10.1 - diff --git a/gnu/packages/patches/libxrender-CVE-2016-7950.patch b/gnu/packages/patches/libxrender-CVE-2016-7950.patch deleted file mode 100644 index 1a64b6e724..0000000000 --- a/gnu/packages/patches/libxrender-CVE-2016-7950.patch +++ /dev/null @@ -1,73 +0,0 @@ -Fix CVE-2016-7950: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7950 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXrender/commit/?id=8fad00b0b647ee662ce4737ca15be033b7a21714 - -From 8fad00b0b647ee662ce4737ca15be033b7a21714 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 21:42:09 +0200 -Subject: [PATCH] Avoid OOB write in XRenderQueryFilters - -The memory for filter names is reserved right after receiving the reply. -After that, filters are iterated and each individual filter name is -stored in that reserved memory. - -The individual name lengths are not checked for validity, which means -that a malicious server can reserve less memory than it will write to -during each iteration. - -v2: consume remaining bytes in reply buffer on error. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/Filter.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/src/Filter.c b/src/Filter.c -index edfa572..8d701eb 100644 ---- a/src/Filter.c -+++ b/src/Filter.c -@@ -38,7 +38,7 @@ XRenderQueryFilters (Display *dpy, Drawable drawable) - char *name; - char len; - int i; -- unsigned long nbytes, nbytesAlias, nbytesName; -+ unsigned long nbytes, nbytesAlias, nbytesName, reply_left; - - if (!RenderHasExtension (info)) - return NULL; -@@ -114,6 +114,7 @@ XRenderQueryFilters (Display *dpy, Drawable drawable) - * Read the filter aliases - */ - _XRead16Pad (dpy, filters->alias, 2 * rep.numAliases); -+ reply_left = 8 + rep.length - 2 * rep.numAliases;; - - /* - * Read the filter names -@@ -122,9 +123,19 @@ XRenderQueryFilters (Display *dpy, Drawable drawable) - { - int l; - _XRead (dpy, &len, 1); -+ reply_left--; - l = len & 0xff; -+ if ((unsigned long)l + 1 > nbytesName) { -+ _XEatDataWords(dpy, reply_left); -+ Xfree(filters); -+ UnlockDisplay (dpy); -+ SyncHandle (); -+ return NULL; -+ } -+ nbytesName -= l + 1; - filters->filter[i] = name; - _XRead (dpy, name, l); -+ reply_left -= l; - name[l] = '\0'; - name += l + 1; - } --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 85bd916802..19b5d31e90 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4602,8 +4602,7 @@ (define-public libxp (define-public libxrender (package (name "libxrender") - (replacement libxrender/fixed) - (version "0.9.9") + (version "0.9.10") (source (origin (method url-fetch) @@ -4613,7 +4612,7 @@ (define-public libxrender ".tar.bz2")) (sha256 (base32 - "06myx7044qqdswxndsmd82fpp670klnizkgzdm194h51h1wyabzw")))) + "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0")))) (build-system gnu-build-system) (propagated-inputs `(("renderproto" ,renderproto))) @@ -4627,15 +4626,6 @@ (define-public libxrender (description "Library for the Render Extension to the X11 protocol.") (license license:x11))) -(define libxrender/fixed - (package - (inherit libxrender) - (source (origin - (inherit (package-source libxrender)) - (patches (search-patches - "libxrender-CVE-2016-7949.patch" - "libxrender-CVE-2016-7950.patch")))))) - (define-public libxtst (package (name "libxtst") -- cgit v1.2.3 From 82e6a4341bd7c7661279d5c4430390f6c2c7ef6b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:30:10 -0400 Subject: gnu: libxtst: Update to 1.2.3. * gnu/packages/xorg.scm (libxtst): Update to 1.2.3. [replacement]: Remove field. (libxtst/fixed): Remove variable. * gnu/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../libxtst-CVE-2016-7951-CVE-2016-7952.patch | 152 --------------------- gnu/packages/xorg.scm | 13 +- 3 files changed, 2 insertions(+), 164 deletions(-) delete mode 100644 gnu/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 74b57b0bcb..34c95332b5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,7 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch \ %D%/packages/patches/libxv-CVE-2016-5407.patch \ %D%/packages/patches/libxvmc-CVE-2016-7953.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ diff --git a/gnu/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch b/gnu/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch deleted file mode 100644 index 9df6cf3f4d..0000000000 --- a/gnu/packages/patches/libxtst-CVE-2016-7951-CVE-2016-7952.patch +++ /dev/null @@ -1,152 +0,0 @@ -Fix CVE-2016-7951 and CVE-2016-7952 - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7951 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7952 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXtst/commit/?id=9556ad67af3129ec4a7a4f4b54a0d59701beeae3 - -From 9556ad67af3129ec4a7a4f4b54a0d59701beeae3 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 21:37:01 +0200 -Subject: [PATCH] Out of boundary access and endless loop in libXtst - -A lack of range checks in libXtst allows out of boundary accesses. -The checks have to be done in-place here, because it cannot be done -without in-depth knowledge of the read data. - -If XRecordStartOfData, XRecordEndOfData, or XRecordClientDied -without a client sequence have attached data, an endless loop would -occur. The do-while-loop continues until the current index reaches -the end. But in these cases, the current index would not be -incremented, leading to an endless processing. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/XRecord.c | 43 +++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 39 insertions(+), 4 deletions(-) - -diff --git a/src/XRecord.c b/src/XRecord.c -index 50420c0..fefd842 100644 ---- a/src/XRecord.c -+++ b/src/XRecord.c -@@ -749,15 +749,23 @@ parse_reply_call_callback( - switch (rep->category) { - case XRecordFromServer: - if (rep->elementHeader&XRecordFromServerTime) { -+ if (current_index + 4 > rep->length << 2) -+ return Error; - EXTRACT_CARD32(rep->clientSwapped, - reply->buf+current_index, - data->server_time); - current_index += 4; - } -+ if (current_index + 1 > rep->length << 2) -+ return Error; - switch (reply->buf[current_index]) { - case X_Reply: /* reply */ -+ if (current_index + 8 > rep->length << 2) -+ return Error; - EXTRACT_CARD32(rep->clientSwapped, - reply->buf+current_index+4, datum_bytes); -+ if (datum_bytes < 0 || datum_bytes > ((INT_MAX >> 2) - 8)) -+ return Error; - datum_bytes = (datum_bytes+8) << 2; - break; - default: /* error or event */ -@@ -766,52 +774,73 @@ parse_reply_call_callback( - break; - case XRecordFromClient: - if (rep->elementHeader&XRecordFromClientTime) { -+ if (current_index + 4 > rep->length << 2) -+ return Error; - EXTRACT_CARD32(rep->clientSwapped, - reply->buf+current_index, - data->server_time); - current_index += 4; - } - if (rep->elementHeader&XRecordFromClientSequence) { -+ if (current_index + 4 > rep->length << 2) -+ return Error; - EXTRACT_CARD32(rep->clientSwapped, - reply->buf+current_index, - data->client_seq); - current_index += 4; - } -+ if (current_index + 4 > rep->length<<2) -+ return Error; - if (reply->buf[current_index+2] == 0 - && reply->buf[current_index+3] == 0) /* needn't swap 0 */ - { /* BIG-REQUESTS */ -+ if (current_index + 8 > rep->length << 2) -+ return Error; - EXTRACT_CARD32(rep->clientSwapped, - reply->buf+current_index+4, datum_bytes); - } else { - EXTRACT_CARD16(rep->clientSwapped, - reply->buf+current_index+2, datum_bytes); - } -+ if (datum_bytes < 0 || datum_bytes > INT_MAX >> 2) -+ return Error; - datum_bytes <<= 2; - break; - case XRecordClientStarted: -+ if (current_index + 8 > rep->length << 2) -+ return Error; - EXTRACT_CARD16(rep->clientSwapped, - reply->buf+current_index+6, datum_bytes); - datum_bytes = (datum_bytes+2) << 2; - break; - case XRecordClientDied: - if (rep->elementHeader&XRecordFromClientSequence) { -+ if (current_index + 4 > rep->length << 2) -+ return Error; - EXTRACT_CARD32(rep->clientSwapped, - reply->buf+current_index, - data->client_seq); - current_index += 4; -- } -- /* fall through */ -+ } else if (current_index < rep->length << 2) -+ return Error; -+ datum_bytes = 0; -+ break; - case XRecordStartOfData: - case XRecordEndOfData: -+ if (current_index < rep->length << 2) -+ return Error; - datum_bytes = 0; -+ break; - } - - if (datum_bytes > 0) { -- if (current_index + datum_bytes > rep->length << 2) -+ if (INT_MAX - datum_bytes < (rep->length << 2) - current_index) { - fprintf(stderr, - "XRecord: %lu-byte reply claims %d-byte element (seq %lu)\n", -- (long)rep->length << 2, current_index + datum_bytes, -+ (unsigned long)rep->length << 2, current_index + datum_bytes, - dpy->last_request_read); -+ return Error; -+ } - /* - * This assignment (and indeed the whole buffer sharing - * scheme) assumes arbitrary 4-byte boundaries are -@@ -863,6 +892,12 @@ XRecordEnableContext(Display *dpy, XRecordContext context, - return 0; - } - -+ if (rep.length > INT_MAX >> 2) { -+ UnlockDisplay(dpy); -+ SyncHandle(); -+ return 0; -+ } -+ - if (rep.length > 0) { - reply = alloc_reply_buffer(info, rep.length<<2); - if (!reply) { --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 19b5d31e90..9d9211f8ee 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4629,8 +4629,7 @@ (define-public libxrender (define-public libxtst (package (name "libxtst") - (replacement libxtst/fixed) - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) @@ -4640,7 +4639,7 @@ (define-public libxtst ".tar.bz2")) (sha256 (base32 - "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg")))) + "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6")))) (build-system gnu-build-system) (propagated-inputs `(("recordproto" ,recordproto) @@ -4665,14 +4664,6 @@ (define-public libxtst protocol and arbitrary X extension protocol.") (license license:x11))) -(define libxtst/fixed - (package - (inherit libxtst) - (source (origin - (inherit (package-source libxtst)) - (patches (search-patches - "libxtst-CVE-2016-7951-CVE-2016-7952.patch")))))) - (define-public libxv (package (name "libxv") -- cgit v1.2.3 From 62ad505603c291d5a19da2c29b9176e2a1c28bdb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:32:04 -0400 Subject: gnu: libxv: Update to 1.0.11. * gnu/packages/xorg.scm (libxv): Update to 1.0.11. [replacement]: Remove field. (libxv/fixed): Remove variable. * gnu/packages/patches/libxv-CVE-2016-5407.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/libxv-CVE-2016-5407.patch | 162 ------------------------- gnu/packages/xorg.scm | 13 +- 3 files changed, 2 insertions(+), 174 deletions(-) delete mode 100644 gnu/packages/patches/libxv-CVE-2016-5407.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 34c95332b5..578693f07e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,7 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxv-CVE-2016-5407.patch \ %D%/packages/patches/libxvmc-CVE-2016-7953.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ diff --git a/gnu/packages/patches/libxv-CVE-2016-5407.patch b/gnu/packages/patches/libxv-CVE-2016-5407.patch deleted file mode 100644 index e6a76c9f70..0000000000 --- a/gnu/packages/patches/libxv-CVE-2016-5407.patch +++ /dev/null @@ -1,162 +0,0 @@ -Fix CVE-2016-5407: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5407 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXv/commit/?id=d9da580b46a28ab497de2e94fdc7b9ff953dab17 - -From d9da580b46a28ab497de2e94fdc7b9ff953dab17 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 21:30:03 +0200 -Subject: [PATCH] Protocol handling issues in libXv - CVE-2016-5407 - -The Xv query functions for adaptors and encodings suffer from out of -boundary accesses if a hostile X server sends a maliciously crafted -response. - -A previous fix already checks the received length against fixed values -but ignores additional length specifications which are stored inside -the received data. - -These lengths are accessed in a for-loop. The easiest way to guarantee -a correct processing is by validating all lengths against the -remaining size left before accessing referenced memory. - -This makes the previously applied check obsolete, therefore I removed -it. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/Xv.c | 46 +++++++++++++++++++++++++++++----------------- - 1 file changed, 29 insertions(+), 17 deletions(-) - -diff --git a/src/Xv.c b/src/Xv.c -index e47093a..be450c4 100644 ---- a/src/Xv.c -+++ b/src/Xv.c -@@ -158,6 +158,7 @@ XvQueryAdaptors( - size_t size; - unsigned int ii, jj; - char *name; -+ char *end; - XvAdaptorInfo *pas = NULL, *pa; - XvFormat *pfs, *pf; - char *buffer = NULL; -@@ -197,17 +198,13 @@ XvQueryAdaptors( - /* GET INPUT ADAPTORS */ - - if (rep.num_adaptors == 0) { -- /* If there's no adaptors, there's nothing more to do. */ -+ /* If there are no adaptors, there's nothing more to do. */ - status = Success; - goto out; - } - -- if (size < (rep.num_adaptors * sz_xvAdaptorInfo)) { -- /* If there's not enough data for the number of adaptors, -- then we have a problem. */ -- status = XvBadReply; -- goto out; -- } -+ u.buffer = buffer; -+ end = buffer + size; - - size = rep.num_adaptors * sizeof(XvAdaptorInfo); - if ((pas = Xmalloc(size)) == NULL) { -@@ -225,9 +222,12 @@ XvQueryAdaptors( - pa++; - } - -- u.buffer = buffer; - pa = pas; - for (ii = 0; ii < rep.num_adaptors; ii++) { -+ if (u.buffer + sz_xvAdaptorInfo > end) { -+ status = XvBadReply; -+ goto out; -+ } - pa->type = u.pa->type; - pa->base_id = u.pa->base_id; - pa->num_ports = u.pa->num_ports; -@@ -239,6 +239,10 @@ XvQueryAdaptors( - size = u.pa->name_size; - u.buffer += pad_to_int32(sz_xvAdaptorInfo); - -+ if (u.buffer + size > end) { -+ status = XvBadReply; -+ goto out; -+ } - if ((name = Xmalloc(size + 1)) == NULL) { - status = XvBadAlloc; - goto out; -@@ -259,6 +263,11 @@ XvQueryAdaptors( - - pf = pfs; - for (jj = 0; jj < pa->num_formats; jj++) { -+ if (u.buffer + sz_xvFormat > end) { -+ Xfree(pfs); -+ status = XvBadReply; -+ goto out; -+ } - pf->depth = u.pf->depth; - pf->visual_id = u.pf->visual; - pf++; -@@ -327,6 +336,7 @@ XvQueryEncodings( - size_t size; - unsigned int jj; - char *name; -+ char *end; - XvEncodingInfo *pes = NULL, *pe; - char *buffer = NULL; - union { -@@ -364,17 +374,13 @@ XvQueryEncodings( - /* GET ENCODINGS */ - - if (rep.num_encodings == 0) { -- /* If there's no encodings, there's nothing more to do. */ -+ /* If there are no encodings, there's nothing more to do. */ - status = Success; - goto out; - } - -- if (size < (rep.num_encodings * sz_xvEncodingInfo)) { -- /* If there's not enough data for the number of adaptors, -- then we have a problem. */ -- status = XvBadReply; -- goto out; -- } -+ u.buffer = buffer; -+ end = buffer + size; - - size = rep.num_encodings * sizeof(XvEncodingInfo); - if ((pes = Xmalloc(size)) == NULL) { -@@ -391,10 +397,12 @@ XvQueryEncodings( - pe++; - } - -- u.buffer = buffer; -- - pe = pes; - for (jj = 0; jj < rep.num_encodings; jj++) { -+ if (u.buffer + sz_xvEncodingInfo > end) { -+ status = XvBadReply; -+ goto out; -+ } - pe->encoding_id = u.pe->encoding; - pe->width = u.pe->width; - pe->height = u.pe->height; -@@ -405,6 +413,10 @@ XvQueryEncodings( - size = u.pe->name_size; - u.buffer += pad_to_int32(sz_xvEncodingInfo); - -+ if (u.buffer + size > end) { -+ status = XvBadReply; -+ goto out; -+ } - if ((name = Xmalloc(size + 1)) == NULL) { - status = XvBadAlloc; - goto out; --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9d9211f8ee..3793c2b3a7 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4667,8 +4667,7 @@ (define-public libxtst (define-public libxv (package (name "libxv") - (replacement libxv/fixed) - (version "1.0.10") + (version "1.0.11") (source (origin (method url-fetch) @@ -4678,7 +4677,7 @@ (define-public libxv ".tar.bz2")) (sha256 (base32 - "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm")))) + "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j")))) (build-system gnu-build-system) (propagated-inputs `(("videoproto" ,videoproto))) @@ -4693,14 +4692,6 @@ (define-public libxv (description "Library for the X Video Extension to the X11 protocol.") (license license:x11))) -(define libxv/fixed - (package - (inherit libxv) - (source (origin - (inherit (package-source libxv)) - (patches (search-patches - "libxv-CVE-2016-5407.patch")))))) - (define-public mkfontdir (package (name "mkfontdir") -- cgit v1.2.3 From 22f08f0605cc010faf07a17fe5a7164b0ee007a4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Oct 2016 19:33:50 -0400 Subject: gnu: libxvmc: Update to 1.0.10. * gnu/packages/xorg.scm (libxvmc): Update to 1.0.10. [replacement]: Remove field. (libxvmc/fixed): Remove variable. * gnu/packages/patches/libxvmc-CVE-2016-7953.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/libxvmc-CVE-2016-7953.patch | 42 ------------------------ gnu/packages/xorg.scm | 13 ++------ 3 files changed, 2 insertions(+), 54 deletions(-) delete mode 100644 gnu/packages/patches/libxvmc-CVE-2016-7953.patch (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 578693f07e..4a1a0ec382 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -668,7 +668,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ %D%/packages/patches/libwmf-CVE-2015-4695.patch \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ - %D%/packages/patches/libxvmc-CVE-2016-7953.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ diff --git a/gnu/packages/patches/libxvmc-CVE-2016-7953.patch b/gnu/packages/patches/libxvmc-CVE-2016-7953.patch deleted file mode 100644 index 737abdeb9f..0000000000 --- a/gnu/packages/patches/libxvmc-CVE-2016-7953.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix CVE-2016-7953: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7953 - -Patch copied from upstream source repository: - -https://cgit.freedesktop.org/xorg/lib/libXvMC/commit/?id=2cd95e7da8367cccdcdd5c9b160012d1dec5cbdb - -From 2cd95e7da8367cccdcdd5c9b160012d1dec5cbdb Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Sun, 25 Sep 2016 22:34:27 +0200 -Subject: [PATCH] Avoid buffer underflow on empty strings. - -If an empty string is received from an x-server, do not underrun the -buffer by accessing "rep.nameLen - 1" unconditionally, which could end -up being -1. - -Signed-off-by: Tobias Stoeckmann -Reviewed-by: Matthieu Herrb ---- - src/XvMC.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/XvMC.c b/src/XvMC.c -index 7336760..3ee4212 100644 ---- a/src/XvMC.c -+++ b/src/XvMC.c -@@ -576,9 +576,9 @@ Status XvMCGetDRInfo(Display *dpy, XvPortID port, - if (*name && *busID && tmpBuf) { - _XRead(dpy, tmpBuf, realSize); - strncpy(*name,tmpBuf,rep.nameLen); -- (*name)[rep.nameLen - 1] = '\0'; -+ (*name)[rep.nameLen == 0 ? 0 : rep.nameLen - 1] = '\0'; - strncpy(*busID,tmpBuf+rep.nameLen,rep.busIDLen); -- (*busID)[rep.busIDLen - 1] = '\0'; -+ (*busID)[rep.busIDLen == 0 ? 0 : rep.busIDLen - 1] = '\0'; - XFree(tmpBuf); - } else { - XFree(*name); --- -2.10.1 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3793c2b3a7..1b2b0cafcd 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4943,8 +4943,7 @@ (define-public libxrandr (define-public libxvmc (package (name "libxvmc") - (replacement libxvmc/fixed) - (version "1.0.9") + (version "1.0.10") (source (origin (method url-fetch) @@ -4954,7 +4953,7 @@ (define-public libxvmc ".tar.bz2")) (sha256 (base32 - "0mjp1b21dvkaz7r0iq085r92nh5vkpmx99awfgqq9hgzyvgxf0q7")))) + "0bpffxr5dal90a8miv2w0rif61byqxq2f5angj4z1bnznmws00g5")))) (build-system gnu-build-system) (propagated-inputs `(("libxv" ,libxv))) @@ -4969,14 +4968,6 @@ (define-public libxvmc (description "Xorg XvMC library.") (license license:x11))) -(define libxvmc/fixed - (package - (inherit libxvmc) - (source (origin - (inherit (package-source libxvmc)) - (patches (search-patches - "libxvmc-CVE-2016-7953.patch")))))) - (define-public libxxf86vm (package (name "libxxf86vm") -- cgit v1.2.3 From b6dfaf17a1deca149aede6fe1c11a19ea4620555 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 8 Oct 2016 15:34:04 +0200 Subject: gnu: libxcb: Update to 1.11.1. * gnu/packages/xorg.scm (libxcb): Update to 1.11.1. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1b2b0cafcd..9f9549b6b9 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014, 2015 Eric Bavier -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 Cyrill Schenkel @@ -5003,7 +5003,7 @@ (define-public libxxf86vm (define-public libxcb (package (name "libxcb") - (version "1.11") + (version "1.11.1") (source (origin (method url-fetch) @@ -5011,7 +5011,7 @@ (define-public libxcb name "-" version ".tar.bz2")) (sha256 (base32 - "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3")))) + "0c4xyvdyx5adh8dzyhnrmvwwz24gri4z1czxmxqm63i0gmngs85p")))) (build-system gnu-build-system) (propagated-inputs `(("libpthread-stubs" ,libpthread-stubs) -- cgit v1.2.3