diff --git a/doc/guix.texi b/doc/guix.texi index 58c3688c03..87892fc892 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10383,15 +10383,31 @@ See @code{man loadkeys} for details. @cindex mouse @cindex gpm -@deffn {Scheme Procedure} gpm-service [#:gpm @var{gpm}] @ - [#:options] -Run @var{gpm}, the general-purpose mouse daemon, with the given -command-line @var{options}. GPM allows users to use the mouse in the console, -notably to select, copy, and paste text. The default value of @var{options} -uses the @code{ps2} protocol, which works for both USB and PS/2 mice. +@defvr {Scheme Variable} gpm-service-type +This is the type of the service that runs GPM, the @dfn{general-purpose +mouse daemon}, which provides mouse support to the Linux console. GPM +allows users to use the mouse in the console, notably to select, copy, +and paste text. -This service is not part of @var{%base-services}. -@end deffn +The value for services of this type must be a @code{gpm-configuration} +(see below). This service is not part of @var{%base-services}. +@end defvr + +@deftp {Data Type} gpm-configuration +Data type representing the configuration of GPM. + +@table @asis +@item @code{options} (default: @code{%default-gpm-options}) +Command-line options passed to @command{gpm}. The default set of +options instruct @command{gpm} to listen to mouse events on +@file{/dev/input/mice}. @xref{Command Line,,, gpm, gpm manual}, for +more information. + +@item @code{gpm} (default: @code{gpm}) +The GPM package to use. + +@end table +@end deftp @anchor{guix-publish-service-type} @deffn {Scheme Variable} guix-publish-service-type diff --git a/gnu/local.mk b/gnu/local.mk index e2dc64b7e9..bce35f9a9d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -787,6 +787,7 @@ dist_patch_DATA = \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ + %D%/packages/patches/icecat-bug-1452075.patch \ %D%/packages/patches/icecat-use-system-graphite2.patch \ %D%/packages/patches/icecat-use-system-harfbuzz.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index a6abe86403..3d69f682a9 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1261,7 +1261,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20180313") + (version "20180427") (source (origin (method url-fetch) (uri (string-append @@ -1269,7 +1269,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "16galaadmr37q2pvk2gyxrm8d1xldzk31djfxfq9v1c9yq4i425h")))) + "1hfdzyzzznh9h8yjlz54p02zwwxyp5k7fgzxlb9phhj3kalp60md")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -1278,7 +1278,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") "CC=gcc" "HOST=_LINUX" "OPT_CFLAGS=-Wall -fno-strict-aliasing") - #:tests? #f ; no 'check' target. + #:tests? #f ; no 'check' target #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "https://acpica.org/") (synopsis "Tools for the development and debug of ACPI tables") @@ -1290,7 +1290,7 @@ of ACPI meant to be directly integrated into the host OS as a kernel-resident subsystem, and a small set of tools to assist in developing and debugging ACPI tables. This package contains only the user-space tools needed for ACPI table development, not the kernel implementation of ACPI.") - (license license:gpl2))) ; Dual GPLv2/ACPICA Licence + (license license:gpl2))) ; dual GPLv2/ACPICA Licence (define-public stress (package diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 09cb7c9e97..4b078e78ed 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -98,7 +98,7 @@ generate such a compilation database.") (define-public meson (package (name "meson") - (version "0.45.0") + (version "0.45.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -106,7 +106,7 @@ generate such a compilation database.") version ".tar.gz")) (sha256 (base32 - "1r3wlimllakrswx2rb4mbdk1iricqk6myvdvib6dkyx362yanm9l")))) + "1yqa4337nb8w92bvr91rsxmn0xkf7pmdybq9ljvnqmdvn7dv02sd")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index bfc5ff169f..3f592cf17b 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.36") + (version "3.36.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "1580qc0a4s8v3k3vg7zz4xly4alkjrw7qq9zy2nf6p4v56wcfg53")))) + "1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index a574e652eb..5b2e3c106e 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -671,7 +671,7 @@ BLAKE.") (define-public rhash (package (name "rhash") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) @@ -680,32 +680,27 @@ BLAKE.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0bhz3xdl6r06k1bqigdjz42l31iqz2qdpg7zk316i7p2ra56iq4q")))) + "14ngzfgmd1lfp7m78sn49x8ymf2s37nrr67c6p5vas85nrrgjkcn")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output)) - #:test-target "test" + `(#:make-flags + ;; The binaries in /bin need some help finding librhash.so.0. + (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #:test-target "test" ; ‘make check’ just checks the sources #:phases (modify-phases %standard-phases (replace 'configure + ;; ./configure is not GNU autotools' and doesn't gracefully handle + ;; unrecognized options, so we must call it manually. (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - (("\\$\\(DESTDIR\\)/etc") - (string-append (assoc-ref outputs "out") "/etc"))) - #t)) - (add-after 'build 'build-library + (invoke "./configure" + (string-append "--prefix=" (assoc-ref outputs "out"))))) + (add-after 'install 'install-library-extras (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "lib-shared" make-flags))) - (add-after 'install 'install-library - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "install-lib-shared" make-flags) (apply invoke - "make" "-C" "librhash" "install-headers" - "install-so-link" make-flags))) - (add-after 'check 'check-library - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "test-shared-lib" make-flags)))))) + "make" "-C" "librhash" + "install-headers" "install-so-link" + make-flags)))))) (home-page "https://sourceforge.net/projects/rhash/") (synopsis "Utility for computing hash sums") (description "RHash is a console utility for calculation and verification diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 441a6977f6..77ed2fdddc 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1125,7 +1125,7 @@ extremely small.") (define-public perl-dbix-class (package (name "perl-dbix-class") - (version "0.082840") + (version "0.082841") (source (origin (method url-fetch) @@ -1133,7 +1133,7 @@ extremely small.") "DBIx-Class-" version ".tar.gz")) (sha256 (base32 - "1vw1f756g8m5hq11nqf5dk2cw2y4mqq91ca5p75fn5g3fp8syja0")))) + "1gf3hgv8f9rnr8bl4ljgsqk4aliphmvljhsk4282kvdc4mcgh1fp")))) (build-system perl-build-system) (native-inputs `(("perl-dbd-sqlite" ,perl-dbd-sqlite) @@ -1233,7 +1233,7 @@ introspected and examined.") (define-public perl-dbix-class-schema-loader (package (name "perl-dbix-class-schema-loader") - (version "0.07047") + (version "0.07049") (source (origin (method url-fetch) @@ -1241,7 +1241,7 @@ introspected and examined.") "DBIx-Class-Schema-Loader-" version ".tar.gz")) (sha256 (base32 - "06s2q6xj95600sdlfph57spjk2z1gjs4zwq5b7mz7d5izcxgnwb6")))) + "0r57fv71ypxafb85cpxph1hdqii7ipjwvc19yb6fpkvq2ggcssg8")))) (build-system perl-build-system) (native-inputs `(("perl-config-any" ,perl-config-any) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3bd15989ad..fcb4390358 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -353,10 +353,6 @@ implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.") (license license:bsd-3))) -(define-public geiser-next - ;; This has become "geiser". - (deprecated-package "geiser-next" geiser)) - (define-public paredit (package (name "emacs-paredit") @@ -382,9 +378,6 @@ for those who may want transient periods of unbalanced parentheses, such as when typing parentheses directly or commenting out code line by line.") (license license:gpl3+))) -(define-public paredit/old-name - (deprecated-package "paredit" paredit)) - (define-public git-modes (package (name "emacs-git-modes") diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 49e391f9db..ad1725fcc5 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -147,14 +147,14 @@ freedesktop.org project.") (define-public libinput (package (name "libinput") - (version "1.10.2") + (version "1.10.3") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" name "-" version ".tar.xz")) (sha256 (base32 - "1fbv354ii1g4wc4k7d7gbnalqjpzmk9zlpi8linqrzlf6inpc28m")))) + "0002xk9cqzpqrlhgav1wp8nimsbp9d2w8rd8mgygczq2hjar0lhd")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false"))) @@ -437,14 +437,14 @@ Python.") (define-public wayland (package (name "wayland") - (version "1.14.0") + (version "1.15.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "1f3sla6h0bw15fz8pjc67jhwj7pwmfdc7qlj42j5k9v116ycm07d")))) + "1c5fnys8hi71cnzjv5k7j0r8gx80p0yyqlrpmn06mmarhnxvwgzb")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f)) @@ -473,7 +473,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public wayland-protocols (package (name "wayland-protocols") - (version "1.12") + (version "1.13") (source (origin (method url-fetch) (uri (string-append @@ -481,7 +481,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "wayland-protocols-" version ".tar.xz")) (sha256 (base32 - "1cn8ny4zr9xlcdh8qi1qnkmvia8cp4ixnsbhd9sp9571w6lyh69v")))) + "0f4gqvmz53q9d8h0ilhf4z773nb4vskzx11a3d1jycym120bqn07")))) (build-system gnu-build-system) (inputs `(("wayland" ,wayland))) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 35db95b4f0..f5f8320fc5 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -222,7 +222,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "17.3.6") + (version "17.3.8") (source (origin (method url-fetch) @@ -234,7 +234,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1y7vawz2sbpzdqk4b60w8kfrxb2rfkdjkifyxxfx1jaasj05d4g5")) + "1cd6a4ll5arla3kncxnw9196ak1v4rvnb098aa7lm3n4h7r9p7cg")) (patches (search-patches "mesa-wayland-egl-symbols-check-mips.patch" "mesa-skip-disk-cache-test.patch")))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index f7bce741ea..0b7dd462d5 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -291,7 +291,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.36") + (version "3.36.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -302,7 +302,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "1580qc0a4s8v3k3vg7zz4xly4alkjrw7qq9zy2nf6p4v56wcfg53")) + "1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")))) @@ -472,7 +472,14 @@ security standards.") (mozilla-patch "icecat-bug-1388020.patch" "ad9a885b0df4" "1hrk1q9mk59jww55g4lqmaflznk87x3vvjn2mxfgfbbjs8l1cyz4") (mozilla-patch "icecat-bug-1452416.patch" "f89ab96a2532" "1dqchxdyznhgyxhfq0hm0vg1p597hjqflfzigc7j3s5vxf9rg2nv") (mozilla-patch "icecat-bug-1451376.patch" "af885a1bd293" "1wfpqhm2dp4fsx6zbrncngsqz7g2x09b625zcighixrbpvybyww3") - (mozilla-patch "icecat-bug-1444668.patch" "666fc84ec72d" "0lml2wqd4yqidhi364x8r90f78397k2y0kq5z5bv8l8j4bhcnb9v"))) + (mozilla-patch "icecat-bug-1444668.patch" "666fc84ec72d" "0lml2wqd4yqidhi364x8r90f78397k2y0kq5z5bv8l8j4bhcnb9v") + (search-patch "icecat-bug-1452075.patch") + (mozilla-patch "icecat-bug-1393367.patch" "1ab40761a856" "1kgwypy7k5b33jwkni4025za4kcnv5m6klsx4wsswlixmljmkbc7") + (mozilla-patch "icecat-bug-1453339.patch" "0edb8dca7087" "0b30pipqryh311sc97rcmwnx9n8qdlbbz90b2hkybjnprmbhfxrm") + (mozilla-patch "icecat-bug-1452202.patch" "134c728799c1" "16hbwx6fx1hrddsyjjbd3z954ql3pg348xs13h9riyblq8crzmam") + (mozilla-patch "icecat-bug-1411415.patch" "14eab155eaa8" "0wr4xgblxzk4c2gvlnpl7ic1196mrhry1hgwdl1jivq0ji5cbvbd") + (mozilla-patch "icecat-bug-1452619.patch" "2b75d55ccf0e" "1g87aybw6ggv6hyk385bplv0lx63n020gwyq0d6d4pqld48hsm1i") + (mozilla-patch "icecat-bug-1453127.patch" "89857f35df29" "0gzi47svrw5ajdlm3i12193psm702zx70x5h1rwp4gb7gxh4m4d9"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index cb72d25921..9eefb58433 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -102,7 +102,7 @@ arrays of data.") (define-public gstreamer (package (name "gstreamer") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) @@ -111,7 +111,7 @@ arrays of data.") version ".tar.xz")) (sha256 (base32 - "0x06jxmc5fhlz7cr1pl5lp0hm1jgz519jjic37d09srf9jm091ss")))) + "0slwqav7bqasg4a9f033kv6ki3yz0wyr3k0w9jr80s1jba20sxcz")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -150,7 +150,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) @@ -158,15 +158,16 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "10i255q7i8an1hxz3szb36x1jcs9nfdy511pj2wg24h2vw1nnc2c")))) + "0bkikdax4v3iv9sqrrwbavqw7kg7lh0vas08ad1nya7kcmdz5ncg")))) (build-system gnu-build-system) (outputs '("out" "doc")) (propagated-inputs - `(("gstreamer" ,gstreamer))) ; required by gstreamer-plugins-base-1.0.pc + `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc + ("gstreamer" ,gstreamer) ;required by gstreamer-plugins-base-1.0.pc + ("orc" ,orc))) ;required by gstreamer-audio-1.0.pc (inputs `(("cdparanoia" ,cdparanoia) ("opus" ,opus) - ("orc" ,orc) ("pango" ,pango) ("libogg" ,libogg) ("libtheora" ,libtheora) @@ -178,7 +179,7 @@ This package provides the core library and elements.") ("alsa-lib" ,alsa-lib))) (native-inputs `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin") + ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments @@ -201,11 +202,10 @@ This package provides the core library and elements.") for the GStreamer multimedia library.") (license license:lgpl2.0+))) - (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) @@ -214,7 +214,7 @@ for the GStreamer multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "0mxrbrqrfq1946gn9im19maj7ivld4k946vkwrzd94h8qsz4k7v4")))) + "0mam03i38j6iws815fky9sm1ayik1d9a8pnfvschrr06pqxv511c")))) (build-system gnu-build-system) (inputs `(("aalib" ,aalib) @@ -264,18 +264,18 @@ developers consider to have good quality code and correct functionality.") (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "021d3q81m968lpnah517sfclagadcqwd6jz3lqdmqvb82sz5fy0c")))) + "10bx1h996nn45r3d53bgkfx0rfa3hqz0f4zx634wz3nffnkjzy20")))) (outputs '("out" "doc")) (build-system gnu-build-system) (arguments - '(#:tests? #f ; XXX: 18 of 65 tests fail + '(#:tests? #f ; XXX: 13 of 53 tests fail #:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") @@ -340,7 +340,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) @@ -348,7 +348,7 @@ par compared to the rest.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "08p5kggk1szvr76cdbx3q3yfc235w1przb76v2n51lwfi26mn5hw")))) + "0vpr1rv99v7k2s78k15prdw453nq1va4rkli46yhm6s3i00lnwk7")))) (build-system gnu-build-system) (inputs `(("gst-plugins-base" ,gst-plugins-base) @@ -379,7 +379,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") (define-public gst-libav (package (name "gst-libav") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (string-append @@ -387,7 +387,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") name "-" version ".tar.xz")) (sha256 (base32 - "0qly3lgamm36xql9q7wg5751gi6j2d3ifzz1pkr15ncc5mfslmia")))) + "0y1qawf21407smvpc6kc2q6f17y9hdki4skn1yrwbl1n75gqcaw1")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-system-libav") diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b55af15900..41b908050d 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -79,7 +79,7 @@ (define-public atk (package (name "atk") - (version "2.26.1") + (version "2.28.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -87,7 +87,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1jwpx8az0iifw176dc2hl4mmg6gvxzxdkd1qvg4ds7c5hdmzy07g")))) + "1z7laf6qwv5zsqcnj222dm5f43c6f3liil0cgx4s4s62xjk1wfnd")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -441,7 +441,7 @@ highlighting and other features typical of a source code editor.") (define-public gdk-pixbuf (package (name "gdk-pixbuf") - (version "2.36.11") + (version "2.36.12") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -449,7 +449,7 @@ highlighting and other features typical of a source code editor.") name "-" version ".tar.xz")) (sha256 (base32 - "1wz2vpciwdpdv612s8kbww08q80hgcs5dxrfsxp1a4q44n3snqmf")))) + "0d534ysa6n9prd17wwzisq7mj6qkhwh8wcf8qgin1ar3hbs5ry7z")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-x11") @@ -670,7 +670,7 @@ application suites.") (name "gtk+") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in ;; mate.scm will also need to be updated. - (version "3.22.28") + (version "3.22.29") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -678,7 +678,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "07syy63d2q12b7mkbhqpirq270365fsql5l9qsrdgzlc04mn36fj")) + "1y5vzdbgww9l7xcrg13azff2rs94kggkywmpcsh39h7w76wn8zd0")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (outputs '("out" "bin" "doc")) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b92b146f3b..be0c1f86dd 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -971,7 +971,7 @@ intercept and print the system calls executed by the program.") (define-public alsa-lib (package (name "alsa-lib") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) (uri (string-append @@ -979,7 +979,7 @@ intercept and print the system calls executed by the program.") version ".tar.bz2")) (sha256 (base32 - "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl")))) + "096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z")))) (build-system gnu-build-system) (home-page "https://www.alsa-project.org/") (synopsis "The Advanced Linux Sound Architecture libraries") @@ -991,14 +991,14 @@ MIDI functionality to the Linux-based operating system.") (define-public alsa-utils (package (name "alsa-utils") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.alsa-project.org/pub/utils/" name "-" version ".tar.bz2")) (sha256 (base32 - "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj")))) + "0vnkyymgwj9rfdb11nvab30dnfrylmakdfildxl0y8mj836awp0m")))) (build-system gnu-build-system) (arguments ;; XXX: Disable man page creation until we have DocBook. @@ -1038,14 +1038,14 @@ MIDI functionality to the Linux-based operating system.") (define-public alsa-plugins (package (name "alsa-plugins") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/" name "-" version ".tar.bz2")) (sha256 (base32 - "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr")))) + "04qcwkisbh0d6lnh0rw1k6n869fbs6zbfq6yvb41rymiwgmk27bg")))) (build-system gnu-build-system) ;; TODO: Split libavcodec and speex if possible. It looks like they can not ;; be split, there are references to both in files. @@ -2006,11 +2006,11 @@ from the module-init-tools project.") (source (origin (method url-fetch) (uri (string-append "https://github.com/gentoo/eudev/archive/v" - version ".zip")) - (file-name (string-append name "-" version ".zip")) + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c9l3m3mr1nvrvlcnzh5gjdg9p9k7hh0jk04wh596cbmbass2nhd")) + "0dlkcgy7j4fdcksqrpc373zfybiif1bal3n6lpy1kfc5280j02c7")) (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c31e3604c8..3a1a0176ef 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -485,14 +485,14 @@ simultaneously and therefore appear under the same nickname on IRC.") (define-public python-nbxmpp (package (name "python-nbxmpp") - (version "0.6.4") + (version "0.6.5") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 (base32 - "12rfmp613alh3mi8f94008sx7x1a8c1izs3icrvw7bf4gnf2pi31")))) + "162dk6q4g61riam1p78bxwddwy4y2x1si34g5j9jv3rlc9xmhdcv")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests @@ -510,7 +510,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.") (define-public gajim (package (name "gajim") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "https://gajim.org/downloads/" @@ -518,7 +518,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.") "/gajim-" version ".tar.bz2")) (sha256 (base32 - "16ynws10vhx6rhjjjmzw6iyb3hc19823xhx4gsb14hrc7l8vzd1c")))) + "0wyyy3wrk7ka5xrsbafnajzf7iacg8vg3hi16pl4c5p104hdhjdw")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/icecat-bug-1452075.patch b/gnu/packages/patches/icecat-bug-1452075.patch new file mode 100644 index 0000000000..b776640133 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1452075.patch @@ -0,0 +1,441 @@ +Based on +Adapted to apply cleanly to GNU IceCat. + +# HG changeset patch +# User Ryan VanderMeulen +# Date 1523630807 14400 +# Node ID 608e76ec5ba25cec2271d2b400c7bce2d4c5ef79 +# Parent 10b7f43b536f93151201d44d304c991aa9af5d0c +Bug 1452075 - Backport some upstream pdf.js fixes to ESR52. r=bdahl, r=yury, a=RyanVM + +diff --git a/browser/extensions/pdfjs/content/PdfStreamConverter.jsm b/browser/extensions/pdfjs/content/PdfStreamConverter.jsm +--- a/browser/extensions/pdfjs/content/PdfStreamConverter.jsm ++++ b/browser/extensions/pdfjs/content/PdfStreamConverter.jsm +@@ -24,17 +24,18 @@ const Cc = Components.classes; + const Ci = Components.interfaces; + const Cr = Components.results; + const Cu = Components.utils; + // True only if this is the version of pdf.js that is included with icecat. + const MOZ_CENTRAL = JSON.parse('true'); + const PDFJS_EVENT_ID = 'pdf.js.message'; + const PDF_CONTENT_TYPE = 'application/pdf'; + const PREF_PREFIX = 'pdfjs'; +-const PDF_VIEWER_WEB_PAGE = 'resource://pdf.js/web/viewer.html'; ++const PDF_VIEWER_ORIGIN = "resource://pdf.js"; ++const PDF_VIEWER_WEB_PAGE = "resource://pdf.js/web/viewer.html"; + const MAX_NUMBER_OF_PREFS = 50; + const MAX_STRING_PREF_LENGTH = 128; + + Cu.import('resource://gre/modules/XPCOMUtils.jsm'); + Cu.import('resource://gre/modules/Services.jsm'); + Cu.import('resource://gre/modules/NetUtil.jsm'); + + XPCOMUtils.defineLazyModuleGetter(this, 'NetworkManager', +@@ -105,21 +106,25 @@ function log(aMsg) { + if (!getBoolPref(PREF_PREFIX + '.pdfBugEnabled', false)) { + return; + } + var msg = 'PdfStreamConverter.js: ' + (aMsg.join ? aMsg.join('') : aMsg); + Services.console.logStringMessage(msg); + dump(msg + '\n'); + } + +-function getDOMWindow(aChannel) { ++function getDOMWindow(aChannel, aPrincipal) { + var requestor = aChannel.notificationCallbacks ? + aChannel.notificationCallbacks : + aChannel.loadGroup.notificationCallbacks; + var win = requestor.getInterface(Components.interfaces.nsIDOMWindow); ++ // Ensure the window wasn't navigated to something that is not PDF.js. ++ if (!win.document.nodePrincipal.equals(aPrincipal)) { ++ return null; ++ } + return win; + } + + function getLocalizedStrings(path) { + var stringBundle = Cc['@mozilla.org/intl/stringbundle;1']. + getService(Ci.nsIStringBundleService). + createBundle('chrome://pdf.js/locale/' + path); + +@@ -627,31 +632,31 @@ var RangedChromeActions = (function Rang + data = this.dataListener.readData(); + + this.dataListener.onprogress = function (loaded, total) { + self.domWindow.postMessage({ + pdfjsLoadAction: 'progressiveRead', + loaded: loaded, + total: total, + chunk: self.dataListener.readData() +- }, '*'); ++ }, PDF_VIEWER_ORIGIN); + }; + this.dataListener.oncomplete = function () { + self.dataListener = null; + }; + } + + this.domWindow.postMessage({ + pdfjsLoadAction: 'supportsRangedLoading', + rangeEnabled: this.rangeEnabled, + streamingEnabled: this.streamingEnabled, + pdfUrl: this.pdfUrl, + length: this.contentLength, + data: data +- }, '*'); ++ }, PDF_VIEWER_ORIGIN); + + return true; + }; + + proto.requestDataRange = function RangedChromeActions_requestDataRange(args) { + if (!this.rangeEnabled) { + return; + } +@@ -663,23 +668,23 @@ var RangedChromeActions = (function Rang + // errors from chrome code for non-range requests, so this doesn't + // seem high-pri + this.networkManager.requestRange(begin, end, { + onDone: function RangedChromeActions_onDone(args) { + domWindow.postMessage({ + pdfjsLoadAction: 'range', + begin: args.begin, + chunk: args.chunk +- }, '*'); ++ }, PDF_VIEWER_ORIGIN); + }, + onProgress: function RangedChromeActions_onProgress(evt) { + domWindow.postMessage({ + pdfjsLoadAction: 'rangeProgress', + loaded: evt.loaded, +- }, '*'); ++ }, PDF_VIEWER_ORIGIN); + } + }); + }; + + proto.abortLoading = function RangedChromeActions_abortLoading() { + this.networkManager.abortAllRequests(); + if (this.originalRequest) { + this.originalRequest.cancel(Cr.NS_BINDING_ABORTED); +@@ -718,26 +723,26 @@ var StandardChromeActions = (function St + var self = this; + + this.dataListener.onprogress = function ChromeActions_dataListenerProgress( + loaded, total) { + self.domWindow.postMessage({ + pdfjsLoadAction: 'progress', + loaded: loaded, + total: total +- }, '*'); ++ }, PDF_VIEWER_ORIGIN); + }; + + this.dataListener.oncomplete = + function StandardChromeActions_dataListenerComplete(data, errorCode) { + self.domWindow.postMessage({ + pdfjsLoadAction: 'complete', + data: data, + errorCode: errorCode +- }, '*'); ++ }, PDF_VIEWER_ORIGIN); + + self.dataListener = null; + self.originalRequest = null; + }; + + return true; + }; + +@@ -972,31 +977,35 @@ PdfStreamConverter.prototype = { + var proxy = { + onStartRequest: function(request, context) { + listener.onStartRequest(aRequest, aContext); + }, + onDataAvailable: function(request, context, inputStream, offset, count) { + listener.onDataAvailable(aRequest, aContext, inputStream, + offset, count); + }, +- onStopRequest: function(request, context, statusCode) { +- // We get the DOM window here instead of before the request since it +- // may have changed during a redirect. +- var domWindow = getDOMWindow(channel); ++ onStopRequest(request, context, statusCode) { ++ var domWindow = getDOMWindow(channel, resourcePrincipal); ++ if (!Components.isSuccessCode(statusCode) || !domWindow) { ++ // The request may have been aborted and the document may have been ++ // replaced with something that is not PDF.js, abort attaching. ++ listener.onStopRequest(aRequest, context, statusCode); ++ return; ++ } + var actions; + if (rangeRequest || streamRequest) { + actions = new RangedChromeActions( + domWindow, contentDispositionFilename, aRequest, + rangeRequest, streamRequest, dataListener); + } else { + actions = new StandardChromeActions( + domWindow, contentDispositionFilename, aRequest, dataListener); + } + var requestListener = new RequestListener(actions); +- domWindow.addEventListener(PDFJS_EVENT_ID, function(event) { ++ domWindow.document.addEventListener(PDFJS_EVENT_ID, function(event) { + requestListener.receive(event); + }, false, true); + if (actions.supportsIntegratedFind()) { + var findEventManager = new FindEventManager(domWindow); + findEventManager.bind(); + } + listener.onStopRequest(aRequest, aContext, statusCode); + +diff --git a/browser/extensions/pdfjs/content/build/pdf.worker.js b/browser/extensions/pdfjs/content/build/pdf.worker.js +--- a/browser/extensions/pdfjs/content/build/pdf.worker.js ++++ b/browser/extensions/pdfjs/content/build/pdf.worker.js +@@ -41648,16 +41648,32 @@ + var error = sharedUtil.error; + var info = sharedUtil.info; + var isArray = sharedUtil.isArray; + var isBool = sharedUtil.isBool; + var isDict = corePrimitives.isDict; + var isStream = corePrimitives.isStream; + var PostScriptLexer = corePsParser.PostScriptLexer; + var PostScriptParser = corePsParser.PostScriptParser; ++ function toNumberArray(arr) { ++ if (!Array.isArray(arr)) { ++ return null; ++ } ++ var length = arr.length; ++ for (var i = 0; i < length; i++) { ++ if (typeof arr[i] !== 'number') { ++ var result = new Array(length); ++ for (var j = 0; j < length; j++) { ++ result[j] = +arr[j]; ++ } ++ return result; ++ } ++ } ++ return arr; ++ } + var PDFFunction = function PDFFunctionClosure() { + var CONSTRUCT_SAMPLED = 0; + var CONSTRUCT_INTERPOLATED = 2; + var CONSTRUCT_STICHED = 3; + var CONSTRUCT_POSTSCRIPT = 4; + return { + getSampleArray: function PDFFunction_getSampleArray(size, outputSize, bps, str) { + var i, ii; +@@ -41747,43 +41763,43 @@ + out[index] = [ + arr[i], + arr[i + 1] + ]; + ++index; + } + return out; + } +- var domain = dict.getArray('Domain'); +- var range = dict.getArray('Range'); ++ var domain = toNumberArray(dict.getArray('Domain')); ++ var range = toNumberArray(dict.getArray('Range')); + if (!domain || !range) { + error('No domain or range'); + } + var inputSize = domain.length / 2; + var outputSize = range.length / 2; + domain = toMultiArray(domain); + range = toMultiArray(range); +- var size = dict.get('Size'); ++ var size = toNumberArray(dict.get('Size')); + var bps = dict.get('BitsPerSample'); + var order = dict.get('Order') || 1; + if (order !== 1) { + // No description how cubic spline interpolation works in PDF32000:2008 + // As in poppler, ignoring order, linear interpolation may work as good + info('No support for cubic spline interpolation: ' + order); + } +- var encode = dict.getArray('Encode'); ++ var encode = toNumberArray(dict.getArray('Encode')); + if (!encode) { + encode = []; + for (var i = 0; i < inputSize; ++i) { +- encode.push(0); +- encode.push(size[i] - 1); +- } +- } +- encode = toMultiArray(encode); +- var decode = dict.getArray('Decode'); ++ encode.push([0, size[i] - 1]); ++ } ++ } else { ++ encode = toMultiArray(encode); ++ } ++ var decode = toNumberArray(dict.getArray('Decode')); + if (!decode) { + decode = range; + } else { + decode = toMultiArray(decode); + } + var samples = this.getSampleArray(size, outputSize, bps, str); + return [ + CONSTRUCT_SAMPLED, +@@ -41868,22 +41884,19 @@ + // Decode_2j, Decode_2j+1) + rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]); + // y_j = min(max(r_j, range_2j), range_2j+1) + dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]); + } + }; + }, + constructInterpolated: function PDFFunction_constructInterpolated(str, dict) { +- var c0 = dict.getArray('C0') || [0]; +- var c1 = dict.getArray('C1') || [1]; ++ var c0 = toNumberArray(dict.getArray('C0')) || [0]; ++ var c1 = toNumberArray(dict.getArray('C1')) || [1]; + var n = dict.get('N'); +- if (!isArray(c0) || !isArray(c1)) { +- error('Illegal dictionary for interpolated function'); +- } + var length = c0.length; + var diff = []; + for (var i = 0; i < length; ++i) { + diff.push(c1[i] - c0[i]); + } + return [ + CONSTRUCT_INTERPOLATED, + c0, +@@ -41899,49 +41912,45 @@ + return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) { + var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n); + for (var j = 0; j < length; ++j) { + dest[destOffset + j] = c0[j] + x * diff[j]; + } + }; + }, + constructStiched: function PDFFunction_constructStiched(fn, dict, xref) { +- var domain = dict.getArray('Domain'); ++ var domain = toNumberArray(dict.getArray('Domain')); + if (!domain) { + error('No domain'); + } + var inputSize = domain.length / 2; + if (inputSize !== 1) { + error('Bad domain for stiched function'); + } + var fnRefs = dict.get('Functions'); + var fns = []; + for (var i = 0, ii = fnRefs.length; i < ii; ++i) { +- fns.push(PDFFunction.getIR(xref, xref.fetchIfRef(fnRefs[i]))); +- } +- var bounds = dict.getArray('Bounds'); +- var encode = dict.getArray('Encode'); ++ fns.push(PDFFunction.parse(xref, xref.fetchIfRef(fnRefs[i]))); ++ } ++ var bounds = toNumberArray(dict.getArray('Bounds')); ++ var encode = toNumberArray(dict.getArray('Encode')); + return [ + CONSTRUCT_STICHED, + domain, + bounds, + encode, + fns + ]; + }, + constructStichedFromIR: function PDFFunction_constructStichedFromIR(IR) { + var domain = IR[1]; + var bounds = IR[2]; + var encode = IR[3]; +- var fnsIR = IR[4]; +- var fns = []; ++ var fns = IR[4]; + var tmpBuf = new Float32Array(1); +- for (var i = 0, ii = fnsIR.length; i < ii; i++) { +- fns.push(PDFFunction.fromIR(fnsIR[i])); +- } + return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) { + var clip = function constructStichedFromIRClip(v, min, max) { + if (v > max) { + v = max; + } else if (v < min) { + v = min; + } + return v; +@@ -41968,18 +41977,18 @@ + // Prevent the value from becoming NaN as a result + // of division by zero (fixes issue6113.pdf). + tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin); + // call the appropriate function + fns[i](tmpBuf, 0, dest, destOffset); + }; + }, + constructPostScript: function PDFFunction_constructPostScript(fn, dict, xref) { +- var domain = dict.getArray('Domain'); +- var range = dict.getArray('Range'); ++ var domain = toNumberArray(dict.getArray('Domain')); ++ var range = toNumberArray(dict.getArray('Range')); + if (!domain) { + error('No domain.'); + } + if (!range) { + error('No range.'); + } + var lexer = new PostScriptLexer(fn); + var parser = new PostScriptParser(lexer); +@@ -42928,18 +42937,18 @@ + case 'IndexedCS': + var baseIndexedCS = IR[1]; + var hiVal = IR[2]; + var lookup = IR[3]; + return new IndexedCS(ColorSpace.fromIR(baseIndexedCS), hiVal, lookup); + case 'AlternateCS': + var numComps = IR[1]; + var alt = IR[2]; +- var tintFnIR = IR[3]; +- return new AlternateCS(numComps, ColorSpace.fromIR(alt), PDFFunction.fromIR(tintFnIR)); ++ var tintFn = IR[3]; ++ return new AlternateCS(numComps, ColorSpace.fromIR(alt), tintFn); + case 'LabCS': + whitePoint = IR[1]; + blackPoint = IR[2]; + var range = IR[3]; + return new LabCS(whitePoint, blackPoint, range); + default: + error('Unknown name ' + name); + } +@@ -43067,22 +43076,22 @@ + var name = xref.fetchIfRef(cs[1]); + numComps = 1; + if (isName(name)) { + numComps = 1; + } else if (isArray(name)) { + numComps = name.length; + } + alt = ColorSpace.parseToIR(cs[2], xref, res); +- var tintFnIR = PDFFunction.getIR(xref, xref.fetchIfRef(cs[3])); ++ var tintFn = PDFFunction.parse(xref, xref.fetchIfRef(cs[3])); + return [ + 'AlternateCS', + numComps, + alt, +- tintFnIR ++ tintFn + ]; + case 'Lab': + params = xref.fetchIfRef(cs[1]); + whitePoint = params.getArray('WhitePoint'); + blackPoint = params.getArray('BlackPoint'); + var range = params.getArray('Range'); + return [ + 'LabCS', +@@ -52483,9 +52492,9 @@ + initializeWorker(); + } + exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass; + exports.WorkerTask = WorkerTask; + exports.WorkerMessageHandler = WorkerMessageHandler; + })); + }.call(pdfjsLibs)); + exports.WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler; +-})); +\ No newline at end of file ++})); + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index c9a53698bd..b2d43c2b10 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -676,7 +676,7 @@ program capable of converting PDF into other formats.") (define-public xournal (package (name "xournal") - (version "0.4.8") + (version "0.4.8.2016") (source (origin (method url-fetch) @@ -684,7 +684,7 @@ program capable of converting PDF into other formats.") "/xournal-" version ".tar.gz")) (sha256 (base32 - "0c7gjcqhygiyp0ypaipdaxgkbivg6q45vhsj8v5jsi9nh6iqff13")))) + "09i88v3wacmx7f96dmq0l3afpyv95lh6jrx16xzm0jd1szdrhn5j")))) (build-system gnu-build-system) (inputs `(("gtk" ,gtk+-2) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 37434c4758..b805b8e707 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9446,25 +9446,30 @@ characters, mouse support, and auto suggestions.") (define-public python-jedi (package (name "python-jedi") - (version "0.9.0") + (version "0.12.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "jedi" version)) - (sha256 - (base32 - "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v")))) + (origin + (method url-fetch) + (uri (pypi-uri "jedi" version)) + (sha256 + (base32 + "1bcr7csx4xil1iwmk03d79jis0bkmgi9k0kir3xa4rmwqsagcwhr")))) (build-system python-build-system) (arguments - ;; FIXME: One test fails (use "py.test" instead of 'setup.py test'). - '(#:tests? #f)) + `(#:phases + (modify-phases %standard-phases + (replace 'check (lambda _ + (invoke "py.test" "-vv")))))) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest) + ("python-parso" ,python-parso) + ("python-docopt" ,python-docopt))) (home-page "https://github.com/davidhalter/jedi") (synopsis - "Autocompletion for Python that can be used for text editors") + "Autocompletion for Python that can be used for text editors") (description - "Jedi is an autocompletion tool for Python that can be used for text editors.") + "Jedi is an autocompletion tool for Python that can be used for text + editors.") (license license:expat))) (define-public python2-jedi @@ -13269,3 +13274,27 @@ in Python. You can simply type pybtex instead of bibtex.") (description "Python one-time password library for HMAC-based (HOTP) and time-based (TOTP) passwords.") (license license:expat))) + +(define-public python-parso + (package + (name "python-parso") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "parso" version)) + (sha256 + (base32 + "0lamywk6dm5xshlkdvxxf5j6fa2k2zpi7xagf0bwidaay3vnpgb2")))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (build-system python-build-system) + (home-page "https://github.com/davidhalter/parso") + (synopsis "Python Parser") + (description "Parso is a Python parser that supports error recovery and +round-trip parsing for different Python versions (in multiple Python versions). +Parso is also able to list multiple syntax errors in your Python file.") + (license license:expat))) + +(define-public python2-parso + (package-with-python2 python-parso)) diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm index f10acaec70..12bdd1a2fa 100644 --- a/gnu/packages/skribilo.scm +++ b/gnu/packages/skribilo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,22 +31,18 @@ (define-public skribilo (package (name "skribilo") - (version "0.9.3") + (version "0.9.4") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/skribilo/skribilo-" version ".tar.gz")) (sha256 (base32 - "04d8xa76jvlz25jnc6p1gzsplwcwcqrmi3f7ixdhddhl1chyz66y")))) + "06ywnfjfa9sxrzdszb5sryzg266380g519cm64kq62sskzl7zmnf")))) (build-system gnu-build-system) (arguments ;; Make the modules available under the usual location. - '(#:configure-flags (list (string-append "--with-guilemoduledir=" - (assoc-ref %outputs "out") - "/share/guile/site/2.0")) - - #:phases + '(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) @@ -57,8 +53,8 @@ (substitute* "src/skribilo.in" (("^exec (.*) -c" _ things) (string-append "exec " things - " -L " reader "/share/guile/site/2.0" - " -C " reader "/share/guile/site/2.0" + " -L " reader "/share/guile/site/2.2" + " -C " reader "/lib/guile/2.2/site-ccache" " -c")))) #t))) @@ -66,7 +62,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.0) + (inputs `(("guile" ,guile-2.2) ("imagemagick" ,imagemagick) ("ghostscript" ,ghostscript) ; for 'convert' ("ploticus" ,ploticus) @@ -74,8 +70,8 @@ ;; The 'skribilo' command needs them, and for people using Skribilo as a ;; library, these inputs are needed as well. - (propagated-inputs `(("guile-reader" ,guile2.0-reader) - ("guile-lib" ,guile2.0-lib))) + (propagated-inputs `(("guile-reader" ,guile-reader) + ("guile-lib" ,guile-lib))) (home-page "https://www.nongnu.org/skribilo/") (synopsis "Document production tool written in Guile Scheme") diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index df4273e208..b6bc9dda62 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2018 Danny Milosavljevic +;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -175,6 +176,15 @@ (string-prefix? "mips64" s)))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-unix-detection + ;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows, + ;; and the "gs" ghostscript executable on Unix. It detects Unix by + ;; checking for the existence of the /usr/bin directory. Since + ;; GuixSD does not have /usr/bin, it is also detected as Windows. + (lambda _ + (substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl" + (("gswin32c") "gs")) + #t)) (add-after 'install 'postint (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) (let* ((out (assoc-ref outputs "out")) @@ -196,7 +206,13 @@ (with-directory-excursion "texlive-extra" (apply unpack (list #:source texlive-extra)) (apply patch-source-shebangs (list #:source texlive-extra)) - (invoke "mv" "tlpkg" share)))))))) + (invoke "mv" "tlpkg" share)) + ;; texlua shebangs are not patched by the patch-source-shebangs + ;; phase because the texlua executable does not exist at that + ;; time. + (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")) + (with-directory-excursion out + (patch-source-shebangs)))))))) (synopsis "TeX Live, a package of the TeX typesetting system") (description "TeX Live provides a comprehensive TeX document production system. diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 0c84c29fe8..ba60cb0826 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1470,7 +1470,8 @@ any project with more than one developer, is one of Aegis's major functions.") (lambda* (#:key outputs #:allow-other-keys) (install-file "reposurgeon-mode.el" (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp"))))))) + "/share/emacs/site-lisp")) + #t))))) (inputs `(("python" ,python-wrapper) ("tzdata" ,tzdata))) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 13772cd9a8..ae7b08fddf 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) @@ -115,6 +116,7 @@ ("libXinerama" ,libxinerama) ("libXxf86vm" ,libxxf86vm) ("libXcomposite" ,libxcomposite) + ("mit-krb5" ,mit-krb5) ("ncurses" ,ncurses) ("openal" ,openal) ("pulseaudio" ,pulseaudio) @@ -221,7 +223,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.6") + (version "3.7") (source (origin (method url-fetch) @@ -230,7 +232,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1q5mgq7lk3sh82im65g51yk110ci9afl5wgqs2q6i8qd2nj5pv7d")))) + "112sy32sja4cc3rv8x6v4cdi3jfxdgzwfra8f78hzdf8a2wrjqz6")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -277,7 +279,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "0p4h0ynb5yf8rx5badpxg7b6vsrqdqafwszn5qm0shv0kb3jsl3q")))) + "1drbzk3y0m14lkq3vzwwkvain5shykgcbmyzh6gcb5r4sxh3givn")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index dc74c9f59e..6801de39c1 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -155,14 +155,14 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "0.7.1") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append "https://xkbcommon.org/download/" name "-" version ".tar.xz")) (sha256 (base32 - "12z6hih3n1r0asp2hzp9qsiwdfkfz46jwp06x8kprr0r5rfk0nds")))) + "0vgy84vfbig5bqznr137h5arjidnfwrxrdli0pxyn2jfn1fjcag8")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 694aab882e..eb82b2ddcf 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1962,10 +1962,16 @@ extra rules from the packages listed in @var{rules}." "Return a service that uses @var{device} as a swap device." (service swap-service-type device)) +(define %default-gpm-options + ;; Default options for GPM. + '("-m" "/dev/input/mice" "-t" "ps2")) + (define-record-type* gpm-configuration make-gpm-configuration gpm-configuration? - (gpm gpm-configuration-gpm) ;package - (options gpm-configuration-options)) ;list of strings + (gpm gpm-configuration-gpm ;package + (default gpm)) + (options gpm-configuration-options ;list of strings + (default %default-gpm-options))) (define gpm-shepherd-service (match-lambda @@ -2000,14 +2006,15 @@ extra rules from the packages listed in @var{rules}." (extensions (list (service-extension shepherd-root-service-type gpm-shepherd-service))) + (default-value (gpm-configuration)) (description "Run GPM, the general-purpose mouse daemon, with the given command-line options. GPM allows users to use the mouse in the console, notably to select, copy, and paste text. The default options use the @code{ps2} protocol, which works for both USB and PS/2 mice."))) -(define* (gpm-service #:key (gpm gpm) - (options '("-m" "/dev/input/mice" "-t" "ps2"))) +(define* (gpm-service #:key (gpm gpm) ;deprecated + (options %default-gpm-options)) "Run @var{gpm}, the general-purpose mouse daemon, with the given command-line @var{options}. GPM allows users to use the mouse in the console, notably to select, copy, and paste text. The default value of @var{options} diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 67674e895e..0c9c69eef5 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -46,6 +46,8 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) #:use-module (ice-9 match) + #:re-export (static-networking-service + static-networking-service-type) #:export (%facebook-host-aliases dhcp-client-service diff --git a/guix/scripts/system/search.scm b/guix/scripts/system/search.scm index b4f790c9bf..7229c60a02 100644 --- a/guix/scripts/system/search.scm +++ b/guix/scripts/system/search.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,9 +20,11 @@ #:use-module (guix ui) #:use-module (guix utils) #:use-module (gnu services) + #:use-module (gnu services shepherd) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (ice-9 regex) #:use-module (ice-9 match) #:export (service-type->recutils @@ -39,6 +41,29 @@ (define service-type-name* (compose symbol->string service-type-name)) +(define (service-type-default-shepherd-services type) + "Return the list of Shepherd services created by default instances of TYPE, +provided TYPE has a default value." + (match (guard (c ((service-error? c) #f)) + (service type)) + (#f '()) + ((? service? service) + (let* ((extension (find (lambda (extension) + (eq? (service-extension-target extension) + shepherd-root-service-type)) + (service-type-extensions type))) + (compute (and extension (service-extension-compute extension)))) + (if compute + (compute (service-value service)) + '()))))) + +(define (service-type-shepherd-names type) + "Return the default names of Shepherd services created for TYPE." + (match (map shepherd-service-provision + (service-type-default-shepherd-services type)) + (((names . _) ...) + names))) + (define* (service-type->recutils type port #:optional (width (%text-width)) #:key (extra-fields '())) @@ -66,6 +91,16 @@ columns." (format port "extends: ~a~%" (extensions->recutils (service-type-extensions type))) + ;; If possible, display the list of *default* Shepherd service names. Note + ;; that we may not always be able to do this (e.g., if the service type + ;; lacks a default value); furthermore, it could be that the service + ;; generates Shepherd services with different names if we give it different + ;; parameters (this is the case, for instance, for + ;; 'console-font-service-type'.) + (match (service-type-shepherd-names type) + (() #f) + (names (format port "shepherdnames:~{ ~a~}~%" names))) + (when (service-type-description type) (format port "~a~%" (string->recutils diff --git a/tests/guix-system.sh b/tests/guix-system.sh index 211c26f43d..ff9114ab74 100644 --- a/tests/guix-system.sh +++ b/tests/guix-system.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +# Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès # Copyright © 2017 Tobias Geerinckx-Rice # Copyright © 2018 Chris Marusich # @@ -267,6 +267,7 @@ guix system build "$tmpdir/config.scm" -n # Searching. guix system search tor | grep "^name: tor" +guix system search tor | grep "^shepherdnames: tor" guix system search anonym network | grep "^name: tor" # Below, use -n (--dry-run) for the tests because if we actually tried to