Merge branch 'master' into core-updates
commit
f0ae90cbbb
|
@ -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
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,441 @@
|
|||
Based on <https://hg.mozilla.org/releases/mozilla-esr52/rev/608e76ec5ba2>
|
||||
Adapted to apply cleanly to GNU IceCat.
|
||||
|
||||
# HG changeset patch
|
||||
# User Ryan VanderMeulen <ryanvm@gmail.com>
|
||||
# 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
|
||||
+}));
|
||||
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; 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")
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; 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.
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>
|
||||
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}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
|
||||
#
|
||||
|
@ -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
|
||||
|
|
Reference in New Issue