Merge branch 'master' into staging
This commit is contained in:
		
						commit
						9f1d112d12
					
				
					 33 changed files with 449 additions and 296 deletions
				
			
		| 
						 | 
					@ -194,6 +194,7 @@ MODULES +=					\
 | 
				
			||||||
  guix/import/crate.scm				\
 | 
					  guix/import/crate.scm				\
 | 
				
			||||||
  guix/import/gem.scm				\
 | 
					  guix/import/gem.scm				\
 | 
				
			||||||
  guix/import/github.scm   			\
 | 
					  guix/import/github.scm   			\
 | 
				
			||||||
 | 
					  guix/import/gnome.scm				\
 | 
				
			||||||
  guix/import/json.scm				\
 | 
					  guix/import/json.scm				\
 | 
				
			||||||
  guix/import/pypi.scm				\
 | 
					  guix/import/pypi.scm				\
 | 
				
			||||||
  guix/import/stackage.scm			\
 | 
					  guix/import/stackage.scm			\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										38
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								README
									
										
									
									
									
								
							| 
						 | 
					@ -1,42 +1,42 @@
 | 
				
			||||||
-*- mode: org -*-
 | 
					-*- mode: org -*-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[http://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and
 | 
					[[https://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and
 | 
				
			||||||
associated free software distribution, for the [[http://www.gnu.org/gnu/gnu.html][GNU system]].  In addition
 | 
					associated free software distribution, for the [[https://www.gnu.org/gnu/gnu.html][GNU system]].  In addition
 | 
				
			||||||
to standard package management features, Guix supports transactional
 | 
					to standard package management features, Guix supports transactional
 | 
				
			||||||
upgrades and roll-backs, unprivileged package management, per-user
 | 
					upgrades and roll-backs, unprivileged package management, per-user
 | 
				
			||||||
profiles, and garbage collection.
 | 
					profiles, and garbage collection.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
It provides [[http://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
 | 
					It provides [[https://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
 | 
				
			||||||
domain-specific languages (EDSLs) to describe how packages are to be
 | 
					domain-specific languages (EDSLs) to describe how packages are to be
 | 
				
			||||||
built and composed.
 | 
					built and composed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A user-land free software distribution for GNU/Linux comes as part of
 | 
					A user-land free software distribution for GNU/Linux comes as part of
 | 
				
			||||||
Guix.
 | 
					Guix.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
 | 
					Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Requirements
 | 
					* Requirements
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GNU Guix currently depends on the following packages:
 | 
					GNU Guix currently depends on the following packages:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [[http://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.9 or later
 | 
					  - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.9 or later
 | 
				
			||||||
  - [[http://gnupg.org/][GNU libgcrypt]]
 | 
					  - [[https://gnupg.org/][GNU libgcrypt]]
 | 
				
			||||||
  - [[http://www.gnu.org/software/make/][GNU Make]]
 | 
					  - [[https://www.gnu.org/software/make/][GNU Make]]
 | 
				
			||||||
  - optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
 | 
					  - optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
 | 
				
			||||||
  - optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
 | 
					  - optionally [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
 | 
				
			||||||
    in the 'guix download' command.  Note that 'guix import pypi' requires
 | 
					    in the 'guix download' command.  Note that 'guix import pypi' requires
 | 
				
			||||||
    this functionality.
 | 
					    this functionality.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Unless `--disable-daemon' was passed, the following packages are needed:
 | 
					Unless `--disable-daemon' was passed, the following packages are needed:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [[http://sqlite.org/][SQLite 3]]
 | 
					  - [[https://sqlite.org/][SQLite 3]]
 | 
				
			||||||
  - [[http://www.bzip.org][libbz2]]
 | 
					  - [[http://www.bzip.org][libbz2]]
 | 
				
			||||||
  - [[http://gcc.gnu.org][GCC's g++]]
 | 
					  - [[https://gcc.gnu.org][GCC's g++]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
When `--disable-daemon' was passed, you instead need the following:
 | 
					When `--disable-daemon' was passed, you instead need the following:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [[http://nixos.org/nix/][Nix]]
 | 
					  - [[https://nixos.org/nix/][Nix]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Installation
 | 
					* Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,7 @@ See the manual for the installation instructions, either by running
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  info -f doc/guix.info "Installation"
 | 
					  info -f doc/guix.info "Installation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
 | 
					or by checking the [[https://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For information on installation from a Git checkout, please see the section
 | 
					For information on installation from a Git checkout, please see the section
 | 
				
			||||||
"Building from Git" in the manual.
 | 
					"Building from Git" in the manual.
 | 
				
			||||||
| 
						 | 
					@ -109,7 +109,7 @@ Join #guix on irc.freenode.net.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Guix & Nix
 | 
					* Guix & Nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GNU Guix is based on [[http://nixos.org/nix/][the Nix package manager]].  It implements the same
 | 
					GNU Guix is based on [[https://nixos.org/nix/][the Nix package manager]].  It implements the same
 | 
				
			||||||
package deployment paradigm, and in fact it reuses some of its code.
 | 
					package deployment paradigm, and in fact it reuses some of its code.
 | 
				
			||||||
Yet, different engineering decisions were made for Guix, as described
 | 
					Yet, different engineering decisions were made for Guix, as described
 | 
				
			||||||
below.
 | 
					below.
 | 
				
			||||||
| 
						 | 
					@ -132,7 +132,7 @@ the store.  Guix produces such derivations, which are then interpreted
 | 
				
			||||||
by the daemon to perform the build.  Thus, Guix derivations can use
 | 
					by the daemon to perform the build.  Thus, Guix derivations can use
 | 
				
			||||||
derivations produced by Nix (and vice versa).
 | 
					derivations produced by Nix (and vice versa).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
With Nix and the [[http://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
 | 
					With Nix and the [[https://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
 | 
				
			||||||
the Nix language level, but builders are usually written in Bash.
 | 
					the Nix language level, but builders are usually written in Bash.
 | 
				
			||||||
Conversely, Guix encourages the use of Scheme for both package
 | 
					Conversely, Guix encourages the use of Scheme for both package
 | 
				
			||||||
composition and builders.  Likewise, the core functionality of Nix is
 | 
					composition and builders.  Likewise, the core functionality of Nix is
 | 
				
			||||||
| 
						 | 
					@ -141,13 +141,13 @@ but exposes all the API as Scheme.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Related software
 | 
					* Related software
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [[http://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
 | 
					  - [[https://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
 | 
				
			||||||
    software distribution, are the inspiration of Guix
 | 
					    software distribution, are the inspiration of Guix
 | 
				
			||||||
  - [[http://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
 | 
					  - [[https://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
 | 
				
			||||||
    symlink tree to create user environments
 | 
					    symlink tree to create user environments
 | 
				
			||||||
  - [[http://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
 | 
					  - [[https://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
 | 
				
			||||||
  - [[https://live.gnome.org/OSTree/][GNOME's OSTree]] allows bootable system images to be built from a
 | 
					  - [[https://live.gnome.org/OSTree/][GNOME's OSTree]] allows bootable system images to be built from a
 | 
				
			||||||
    specified set of packages
 | 
					    specified set of packages
 | 
				
			||||||
  - The [[http://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
 | 
					  - The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
 | 
				
			||||||
    distribution; unlike Guix, it relies on core tools available on the
 | 
					    distribution; unlike Guix, it relies on core tools available on the
 | 
				
			||||||
    host system
 | 
					    host system
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15414,6 +15414,10 @@ added specifications.
 | 
				
			||||||
@item @code{port} (default: @code{8081})
 | 
					@item @code{port} (default: @code{8081})
 | 
				
			||||||
Port number used by the HTTP server.
 | 
					Port number used by the HTTP server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item --listen=@var{host}
 | 
				
			||||||
 | 
					Listen on the network interface for @var{host}.  The default is to
 | 
				
			||||||
 | 
					accept connections from localhost.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item @code{specifications} (default: @code{#~'()})
 | 
					@item @code{specifications} (default: @code{#~'()})
 | 
				
			||||||
A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications,
 | 
					A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications,
 | 
				
			||||||
where a specification is an association list
 | 
					where a specification is an association list
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -552,7 +552,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/ceph-disable-unittest-throttle.patch	\
 | 
					  %D%/packages/patches/ceph-disable-unittest-throttle.patch	\
 | 
				
			||||||
  %D%/packages/patches/ceph-skip-collect-sys-info-test.patch	\
 | 
					  %D%/packages/patches/ceph-skip-collect-sys-info-test.patch	\
 | 
				
			||||||
  %D%/packages/patches/ceph-skip-unittest_blockdev.patch	\
 | 
					  %D%/packages/patches/ceph-skip-unittest_blockdev.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-acme-dont-use-openssl-rand.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/chicken-CVE-2017-6949.patch		\
 | 
					  %D%/packages/patches/chicken-CVE-2017-6949.patch		\
 | 
				
			||||||
  %D%/packages/patches/chicken-CVE-2017-11343.patch		\
 | 
					  %D%/packages/patches/chicken-CVE-2017-11343.patch		\
 | 
				
			||||||
  %D%/packages/patches/chmlib-inttypes.patch			\
 | 
					  %D%/packages/patches/chmlib-inttypes.patch			\
 | 
				
			||||||
| 
						 | 
					@ -587,7 +586,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/doc++-segfault-fix.patch			\
 | 
					  %D%/packages/patches/doc++-segfault-fix.patch			\
 | 
				
			||||||
  %D%/packages/patches/doxygen-test.patch			\
 | 
					  %D%/packages/patches/doxygen-test.patch			\
 | 
				
			||||||
  %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
 | 
					  %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
 | 
				
			||||||
  %D%/packages/patches/e2fsprogs-32bit-quota-warnings.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/elfutils-tests-ptrace.patch		\
 | 
					  %D%/packages/patches/elfutils-tests-ptrace.patch		\
 | 
				
			||||||
  %D%/packages/patches/elixir-disable-failing-tests.patch	\
 | 
					  %D%/packages/patches/elixir-disable-failing-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/einstein-build.patch			\
 | 
					  %D%/packages/patches/einstein-build.patch			\
 | 
				
			||||||
| 
						 | 
					@ -615,7 +613,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/flint-ldconfig.patch			\
 | 
					  %D%/packages/patches/flint-ldconfig.patch			\
 | 
				
			||||||
  %D%/packages/patches/fltk-shared-lib-defines.patch		\
 | 
					  %D%/packages/patches/fltk-shared-lib-defines.patch		\
 | 
				
			||||||
  %D%/packages/patches/fltk-xfont-on-demand.patch		\
 | 
					  %D%/packages/patches/fltk-xfont-on-demand.patch		\
 | 
				
			||||||
  %D%/packages/patches/fontforge-svg-modtime.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
 | 
					  %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
 | 
				
			||||||
  %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
 | 
					  %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
 | 
				
			||||||
  %D%/packages/patches/freeimage-CVE-2015-0852.patch		\
 | 
					  %D%/packages/patches/freeimage-CVE-2015-0852.patch		\
 | 
				
			||||||
| 
						 | 
					@ -808,7 +805,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/libtirpc-CVE-2017-8779.patch		\
 | 
					  %D%/packages/patches/libtirpc-CVE-2017-8779.patch		\
 | 
				
			||||||
  %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch	\
 | 
					  %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch	\
 | 
				
			||||||
  %D%/packages/patches/libtool-skip-tests2.patch		\
 | 
					  %D%/packages/patches/libtool-skip-tests2.patch		\
 | 
				
			||||||
  %D%/packages/patches/libunwind-CVE-2015-3239.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/libunistring-gnulib-multi-core.patch	\
 | 
					  %D%/packages/patches/libunistring-gnulib-multi-core.patch	\
 | 
				
			||||||
  %D%/packages/patches/libusb-0.1-disable-tests.patch		\
 | 
					  %D%/packages/patches/libusb-0.1-disable-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/libvpx-CVE-2016-2818.patch		\
 | 
					  %D%/packages/patches/libvpx-CVE-2016-2818.patch		\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -187,8 +187,8 @@ their dependencies.")
 | 
				
			||||||
      (license l:gpl3+))))
 | 
					      (license l:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public cuirass
 | 
					(define-public cuirass
 | 
				
			||||||
  (let ((commit "87ad259dba7de38b6e3ab954cd7b2f655358d877")
 | 
					  (let ((commit "2a4d493e28100b8eca7d23300dd872c9f99e1f16")
 | 
				
			||||||
        (revision "8"))
 | 
					        (revision "9"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "cuirass")
 | 
					      (name "cuirass")
 | 
				
			||||||
      (version (string-append "0.0.1-" revision "." (string-take commit 7)))
 | 
					      (version (string-append "0.0.1-" revision "." (string-take commit 7)))
 | 
				
			||||||
| 
						 | 
					@ -200,7 +200,7 @@ their dependencies.")
 | 
				
			||||||
                (file-name (string-append name "-" version))
 | 
					                (file-name (string-append name "-" version))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "127pvbxbh6b6ar43cdgia9qpzzpldq4wm3igsxb1ycxfsdqnjrnz"))))
 | 
					                  "0hi7x25ya8wydrfj9jd9zb351mw8pgxxxwgxxdn5kds7qvhxr26v"))))
 | 
				
			||||||
      (build-system gnu-build-system)
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       '(#:modules ((guix build utils)
 | 
					       '(#:modules ((guix build utils)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -242,9 +242,10 @@ format support.")
 | 
				
			||||||
     `(("boost" ,boost)
 | 
					     `(("boost" ,boost)
 | 
				
			||||||
       ("glib" ,glib)
 | 
					       ("glib" ,glib)
 | 
				
			||||||
       ("glibmm" ,glibmm)
 | 
					       ("glibmm" ,glibmm)
 | 
				
			||||||
       ("qt" ,qt)
 | 
					 | 
				
			||||||
       ("libsigrok" ,libsigrok)
 | 
					       ("libsigrok" ,libsigrok)
 | 
				
			||||||
       ("libsigrokdecode" ,libsigrokdecode)))
 | 
					       ("libsigrokdecode" ,libsigrokdecode)
 | 
				
			||||||
 | 
					       ("qtbase" ,qtbase)
 | 
				
			||||||
 | 
					       ("qtsvg" ,qtsvg)))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (home-page "http://www.sigrok.org/wiki/PulseView")
 | 
					    (home-page "http://www.sigrok.org/wiki/PulseView")
 | 
				
			||||||
    (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
 | 
					    (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -396,7 +396,7 @@ and returns a sequence of positioned glyphids from the font.")
 | 
				
			||||||
(define-public potrace
 | 
					(define-public potrace
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "potrace")
 | 
					    (name "potrace")
 | 
				
			||||||
    (version "1.14")
 | 
					    (version "1.15")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -404,7 +404,7 @@ and returns a sequence of positioned glyphids from the font.")
 | 
				
			||||||
                          "/potrace-" version ".tar.gz"))
 | 
					                          "/potrace-" version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv"))))
 | 
					        "17ajildjp14shsy339xarh1lw1p0k60la08ahl638a73mh23kcx9"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs `(("ghostscript" ,ghostscript))) ;for tests
 | 
					    (native-inputs `(("ghostscript" ,ghostscript))) ;for tests
 | 
				
			||||||
    (inputs `(("zlib" ,zlib)))
 | 
					    (inputs `(("zlib" ,zlib)))
 | 
				
			||||||
| 
						 | 
					@ -498,26 +498,14 @@ definitions.")
 | 
				
			||||||
(define-public fontforge
 | 
					(define-public fontforge
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "fontforge")
 | 
					   (name "fontforge")
 | 
				
			||||||
   (version "20160404")
 | 
					   (version "20170731")
 | 
				
			||||||
   (source (origin
 | 
					   (source (origin
 | 
				
			||||||
            (method url-fetch)
 | 
					            (method url-fetch)
 | 
				
			||||||
            (uri (string-append
 | 
					            (uri (string-append
 | 
				
			||||||
                  "https://github.com/fontforge/fontforge/releases/download/"
 | 
					                  "https://github.com/fontforge/fontforge/releases/download/"
 | 
				
			||||||
                  version "/fontforge-dist-" version ".tar.gz"))
 | 
					                  version "/fontforge-dist-" version ".tar.xz"))
 | 
				
			||||||
            (sha256 (base32
 | 
					            (sha256 (base32
 | 
				
			||||||
                     "1kavnhbkzc1hk6f39fynq9s0haama81ddrbld4b5x60d0dbaawvc"))
 | 
					                     "08l8h3yvk4v7652jvmd3ls7nf5miybkx2fmkf1mpwwfixpxxw2l4"))))
 | 
				
			||||||
            (modules '((guix build utils)))
 | 
					 | 
				
			||||||
            (snippet
 | 
					 | 
				
			||||||
             '(begin
 | 
					 | 
				
			||||||
               ;; Make builds bit-reproducible by using fixed date strings.
 | 
					 | 
				
			||||||
               (substitute* "configure"
 | 
					 | 
				
			||||||
                 (("^FONTFORGE_MODTIME=.*$")
 | 
					 | 
				
			||||||
                  "FONTFORGE_MODTIME=\"1459819518L\"\n")
 | 
					 | 
				
			||||||
                 (("^FONTFORGE_MODTIME_STR=.*$")
 | 
					 | 
				
			||||||
                  "FONTFORGE_MODTIME_STR=\"20:25 CDT  4-Apr-2016\"\n")
 | 
					 | 
				
			||||||
                 (("^FONTFORGE_VERSIONDATE=.*$")
 | 
					 | 
				
			||||||
                  "FONTFORGE_VERSIONDATE=\"20160404\"\n"))))
 | 
					 | 
				
			||||||
            (patches (list (search-patch "fontforge-svg-modtime.patch")))))
 | 
					 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (native-inputs
 | 
					   (native-inputs
 | 
				
			||||||
    `(("pkg-config" ,pkg-config)))
 | 
					    `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					@ -541,20 +529,11 @@ definitions.")
 | 
				
			||||||
             ("libxml2"         ,libxml2)
 | 
					             ("libxml2"         ,libxml2)
 | 
				
			||||||
             ("pango"           ,pango)
 | 
					             ("pango"           ,pango)
 | 
				
			||||||
             ("potrace"         ,potrace)
 | 
					             ("potrace"         ,potrace)
 | 
				
			||||||
             ("python"          ,python)
 | 
					             ("python"          ,python-wrapper)
 | 
				
			||||||
             ("zlib"            ,zlib)))
 | 
					             ("zlib"            ,zlib)))
 | 
				
			||||||
   (arguments
 | 
					   (arguments
 | 
				
			||||||
    '(#:tests? #f
 | 
					    '(#:phases
 | 
				
			||||||
      #:phases
 | 
					 | 
				
			||||||
      (modify-phases %standard-phases
 | 
					      (modify-phases %standard-phases
 | 
				
			||||||
        (add-after 'build 'build-contrib
 | 
					 | 
				
			||||||
          (lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
            (let* ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                   (bin (string-append out "/bin")))
 | 
					 | 
				
			||||||
              (and (zero? (system* "make" "-Ccontrib/fonttools"
 | 
					 | 
				
			||||||
                                   "CC=gcc" "showttf"))
 | 
					 | 
				
			||||||
                   (begin (install-file "contrib/fonttools/showttf" bin)
 | 
					 | 
				
			||||||
                          #t)))))
 | 
					 | 
				
			||||||
        (add-after 'install 'set-library-path
 | 
					        (add-after 'install 'set-library-path
 | 
				
			||||||
          (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					          (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
            (let ((out (assoc-ref outputs "out"))
 | 
					            (let ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					@ -576,4 +555,4 @@ definitions.")
 | 
				
			||||||
opentype fonts.  You can save fonts in many different outline formats, and
 | 
					opentype fonts.  You can save fonts in many different outline formats, and
 | 
				
			||||||
generate bitmaps.")
 | 
					generate bitmaps.")
 | 
				
			||||||
   (license license:gpl3+)
 | 
					   (license license:gpl3+)
 | 
				
			||||||
   (home-page "http://fontforge.org/")))
 | 
					   (home-page "https://fontforge.github.io/en-US/")))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,7 +46,7 @@
 | 
				
			||||||
(define-public lftp
 | 
					(define-public lftp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "lftp")
 | 
					    (name "lftp")
 | 
				
			||||||
    (version "4.8.1")
 | 
					    (version "4.8.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              ;; See https://lftp.tech/get.html for mirrors.
 | 
					              ;; See https://lftp.tech/get.html for mirrors.
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,7 @@
 | 
				
			||||||
                                        "ftp/lftp/lftp-" version ".tar.xz")))
 | 
					                                        "ftp/lftp/lftp-" version ".tar.xz")))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "09vvwn5w3n8ahx57b7n6qvg1abnw9w7mm4d8p381pliab6jxlw77"))))
 | 
					                "176d90amkm1klwjpfpzdsvmjnyri8f74bv4fpip8app0fs25p1sw"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5302,7 +5302,7 @@ providing graphical log-ins and managing local and remote displays.")
 | 
				
			||||||
(define-public libgtop
 | 
					(define-public libgtop
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libgtop")
 | 
					    (name "libgtop")
 | 
				
			||||||
    (version "2.36.0")
 | 
					    (version "2.38.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnome/sources/" name "/"
 | 
					              (uri (string-append "mirror://gnome/sources/" name "/"
 | 
				
			||||||
| 
						 | 
					@ -5310,7 +5310,7 @@ providing graphical log-ins and managing local and remote displays.")
 | 
				
			||||||
                                  name "-" version ".tar.xz"))
 | 
					                                  name "-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
 | 
					                "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("gobject-introspection" ,gobject-introspection)
 | 
					     `(("gobject-introspection" ,gobject-introspection)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 | 
					;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 | 
				
			||||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 | 
					;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
 | 
				
			||||||
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
 | 
					;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
 | 
				
			||||||
;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
 | 
					;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
 | 
					;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
 | 
				
			||||||
| 
						 | 
					@ -822,3 +822,31 @@ qualities.  To reconstruct a secret key, you re-enter those
 | 
				
			||||||
bytes (whether by hand, OCR, QR code, or the like) and paperkey can use
 | 
					bytes (whether by hand, OCR, QR code, or the like) and paperkey can use
 | 
				
			||||||
them to transform your existing public key into a secret key.")
 | 
					them to transform your existing public key into a secret key.")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public gpa
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "gpa")
 | 
				
			||||||
 | 
					    (version "0.9.10")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "mirror://gnupg/gpa/"
 | 
				
			||||||
 | 
					                                  name "-" version ".tar.bz2"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "09xphbi2456qynwqq5n0yh0zdmdi2ggrj3wk4hsyh5lrzlvcrff3"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("gnupg" ,gnupg)
 | 
				
			||||||
 | 
					       ("gpgme" ,gpgme)
 | 
				
			||||||
 | 
					       ("libassuan" ,libassuan)
 | 
				
			||||||
 | 
					       ("libgpg-error" ,libgpg-error)
 | 
				
			||||||
 | 
					       ("gtk+-2" ,gtk+-2)))
 | 
				
			||||||
 | 
					    (home-page "https://gnupg.org/software/gpa/")
 | 
				
			||||||
 | 
					    (synopsis "Graphical user interface for GnuPG")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "GPA, the GNU Privacy Assistant, is a graphical user interface for
 | 
				
			||||||
 | 
					@uref{https://gnupg.org, GnuPG}.  It can be used to encrypt, decrypt, and sign
 | 
				
			||||||
 | 
					files, to verify signatures, and to manage the private and public keys.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,18 +27,18 @@
 | 
				
			||||||
(define-public libunwind
 | 
					(define-public libunwind
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libunwind")
 | 
					    (name "libunwind")
 | 
				
			||||||
    (version "1.1")
 | 
					    (version "1.2.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "mirror://savannah/libunwind/libunwind-"
 | 
					             (uri (string-append "mirror://savannah/libunwind/libunwind-"
 | 
				
			||||||
                                 version ".tar.gz"))
 | 
					                                 version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "16nhx2pahh9d62mvszc88q226q5lwjankij276fxwrm8wb50zzlx"))
 | 
					               "1jsslwkilwrsj959dc8b479qildawz67r8m4lzxm7glcwa8cngiz"))))
 | 
				
			||||||
             (patches (search-patches "libunwind-CVE-2015-3239.patch"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     ;; FIXME: As of glibc 2.17, we get 3 out of 34 test failures.
 | 
					     ;; FIXME: As of glibc 2.25, we get 1 out of 34 test failures (2 are
 | 
				
			||||||
 | 
					     ;; expected to fail).
 | 
				
			||||||
     ;; Report them upstream.
 | 
					     ;; Report them upstream.
 | 
				
			||||||
     '(#:tests? #f))
 | 
					     '(#:tests? #f))
 | 
				
			||||||
    (home-page "http://www.nongnu.org/libunwind")
 | 
					    (home-page "http://www.nongnu.org/libunwind")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -693,17 +693,16 @@ slabtop, and skill.")
 | 
				
			||||||
(define-public e2fsprogs
 | 
					(define-public e2fsprogs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "e2fsprogs")
 | 
					    (name "e2fsprogs")
 | 
				
			||||||
    (version "1.43.5")
 | 
					    (version "1.43.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
                   "mirror://kernel.org/linux/kernel/people/tytso/"
 | 
					                   "mirror://kernel.org/linux/kernel/people/tytso/"
 | 
				
			||||||
                   name "/v" version "/"
 | 
					                   name "/v" version "/"
 | 
				
			||||||
                   name "-" version ".tar.xz"))
 | 
					                   name "-" version ".tar.xz"))
 | 
				
			||||||
             (patches (search-patches "e2fsprogs-32bit-quota-warnings.patch"))
 | 
					 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "05ssjpmy0fpv2ik6ibm1f47wr6794nf0q50r581vygrqvsd3s7r6"))))
 | 
					               "00ilv65dzcgiap435j89xk86shf7rrav3wsik7cahy789qijdcn9"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("util-linux" ,util-linux)))
 | 
					    (inputs `(("util-linux" ,util-linux)))
 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)
 | 
					    (native-inputs `(("pkg-config" ,pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -1566,16 +1565,16 @@ devices.  It replaces @code{iwconfig}, which is deprecated.")
 | 
				
			||||||
(define-public powertop
 | 
					(define-public powertop
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "powertop")
 | 
					    (name "powertop")
 | 
				
			||||||
    (version "2.8")
 | 
					    (version "2.9")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append
 | 
					       (uri (string-append
 | 
				
			||||||
             "https://01.org/sites/default/files/downloads/powertop/powertop-"
 | 
					             "https://01.org/sites/default/files/downloads/powertop/powertop-v"
 | 
				
			||||||
             version ".tar.gz"))
 | 
					             version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0nlwazxbnn0k6q5f5b09wdhw0f194lpzkp3l7vxansqhfczmcyx8"))))
 | 
					         "0l4jjlf05li2mc6g8nrss3h435wjhmnqd8m7v3kha3x0x7cbfzxa"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
| 
						 | 
					@ -2369,11 +2368,16 @@ country-specific regulations for the wireless spectrum.")
 | 
				
			||||||
                     ("flex" ,flex)
 | 
					                     ("flex" ,flex)
 | 
				
			||||||
                     ("bison" ,bison)
 | 
					                     ("bison" ,bison)
 | 
				
			||||||
                     ("which" ,which)))
 | 
					                     ("which" ,which)))
 | 
				
			||||||
 | 
					    (outputs '("lib"              ;avoid perl in closure
 | 
				
			||||||
 | 
					               "out"))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f  ; no 'check' target
 | 
					     `(#:tests? #f  ; no 'check' target
 | 
				
			||||||
       #:make-flags (list (string-append "PREFIX=" %output)
 | 
					       #:make-flags (list (string-append "PREFIX=" %output)
 | 
				
			||||||
                          (string-append "ETCDIR=" %output "/etc")
 | 
					                          (string-append "ETCDIR=" (assoc-ref %outputs "lib") "/etc")
 | 
				
			||||||
                          (string-append "MANDIR=" %output "/share/man"))
 | 
					                          (string-append "INCLUDEDIR="
 | 
				
			||||||
 | 
					                                         (assoc-ref %outputs "lib") "/include")
 | 
				
			||||||
 | 
					                          (string-append "MANDIR=" %output "/share/man")
 | 
				
			||||||
 | 
					                          (string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib"))
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'configure)
 | 
					         (delete 'configure)
 | 
				
			||||||
| 
						 | 
					@ -2462,7 +2466,7 @@ SMBus access.")
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1siplsfgvcxamyqf44h71jx6jdfmvhfm7mh0y1q8ps4zs6pj2zwh"))))
 | 
					                "1siplsfgvcxamyqf44h71jx6jdfmvhfm7mh0y1q8ps4zs6pj2zwh"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("lm-sensors" ,lm-sensors)
 | 
					    (inputs `(("lm-sensors" ,lm-sensors "lib")
 | 
				
			||||||
              ("gtk" ,gtk+-2)))
 | 
					              ("gtk" ,gtk+-2)))
 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
					    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -3159,7 +3163,7 @@ and copy/paste text in the console and in xterm.")
 | 
				
			||||||
(define-public btrfs-progs
 | 
					(define-public btrfs-progs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "btrfs-progs")
 | 
					    (name "btrfs-progs")
 | 
				
			||||||
    (version "4.13")
 | 
					    (version "4.13.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://kernel.org/linux/kernel/"
 | 
					              (uri (string-append "mirror://kernel.org/linux/kernel/"
 | 
				
			||||||
| 
						 | 
					@ -3167,7 +3171,7 @@ and copy/paste text in the console and in xterm.")
 | 
				
			||||||
                                  "btrfs-progs-v" version ".tar.xz"))
 | 
					                                  "btrfs-progs-v" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "17m67jm29phfvkmd72lxb1z9nymn9a9pqnja8zfb1mvflsqwbz3m"))))
 | 
					                "1clavvrlkswgicqsm2yfsxqw04lsn8dra0db84jqm6j2apz80kz0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs '("out"
 | 
					    (outputs '("out"
 | 
				
			||||||
               "static"))      ; static versions of the binaries in "out"
 | 
					               "static"))      ; static versions of the binaries in "out"
 | 
				
			||||||
| 
						 | 
					@ -3195,8 +3199,9 @@ and copy/paste text in the console and in xterm.")
 | 
				
			||||||
              ("libblkid:static" ,util-linux "static")
 | 
					              ("libblkid:static" ,util-linux "static")
 | 
				
			||||||
              ("libuuid" ,util-linux)
 | 
					              ("libuuid" ,util-linux)
 | 
				
			||||||
              ("libuuid:static" ,util-linux "static")
 | 
					              ("libuuid:static" ,util-linux "static")
 | 
				
			||||||
 | 
					              ("lzo" ,lzo)
 | 
				
			||||||
              ("zlib" ,zlib)
 | 
					              ("zlib" ,zlib)
 | 
				
			||||||
              ("lzo" ,lzo)))
 | 
					              ("zstd" ,zstd)))
 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)
 | 
					    (native-inputs `(("pkg-config" ,pkg-config)
 | 
				
			||||||
                     ("asciidoc" ,asciidoc)
 | 
					                     ("asciidoc" ,asciidoc)
 | 
				
			||||||
                     ("xmlto" ,xmlto)
 | 
					                     ("xmlto" ,xmlto)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 | 
					;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 | 
				
			||||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
 | 
					;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -26,6 +27,7 @@
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages kde-frameworks)
 | 
					  #:use-module (gnu packages kde-frameworks)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages qt))
 | 
					  #:use-module (gnu packages qt))
 | 
				
			||||||
| 
						 | 
					@ -188,3 +190,31 @@ desktop environment.")
 | 
				
			||||||
    (description "lxqt-session provides the standard session manager
 | 
					    (description "lxqt-session provides the standard session manager
 | 
				
			||||||
for the LXQt desktop environment.")
 | 
					for the LXQt desktop environment.")
 | 
				
			||||||
    (license lgpl2.1+)))
 | 
					    (license lgpl2.1+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public lxqt-build-tools
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "lxqt-build-tools")
 | 
				
			||||||
 | 
					    (version "0.4.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/lxde/lxqt-build-tools/releases/"
 | 
				
			||||||
 | 
					                           "download/" version "/" name "-" version ".tar.xz"))
 | 
				
			||||||
 | 
					       (file-name (string-append name "-" version ".tar.xz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1llbrjbgabxlq933a8cpg03b3mdmvd8983csnd4f7vrcj51nv0xh"))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f)) ;No tests
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
 | 
					       ("glib" ,glib)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("qtbase" ,qtbase)))
 | 
				
			||||||
 | 
					    (synopsis "LXQt Build tools")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Lxqt-build-tools is providing several tools needed to build LXQt
 | 
				
			||||||
 | 
					itself as well as other components maintained by the LXQt project.")
 | 
				
			||||||
 | 
					    (home-page "http://lxqt.org")
 | 
				
			||||||
 | 
					    (license lgpl2.1+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -677,7 +677,9 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
 | 
				
			||||||
              (("SHELL=/bin/sh") "SHELL=sh")
 | 
					              (("SHELL=/bin/sh") "SHELL=sh")
 | 
				
			||||||
              ;; When checking the fontforge version do not consider the
 | 
					              ;; When checking the fontforge version do not consider the
 | 
				
			||||||
              ;; version string that's part of the directory.
 | 
					              ;; version string that's part of the directory.
 | 
				
			||||||
              (("head -n") "tail -n"))
 | 
					              (("head -n") "tail -n")
 | 
				
			||||||
 | 
					              ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge.
 | 
				
			||||||
 | 
					              (("20110222") "19700101"))
 | 
				
			||||||
            (setenv "out" "www")
 | 
					            (setenv "out" "www")
 | 
				
			||||||
            (setenv "conf" "www")
 | 
					            (setenv "conf" "www")
 | 
				
			||||||
            #t))
 | 
					            #t))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 | 
					;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 | 
				
			||||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -98,14 +98,14 @@ computers over a network.")
 | 
				
			||||||
(define-public openntpd
 | 
					(define-public openntpd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "openntpd")
 | 
					    (name "openntpd")
 | 
				
			||||||
    (version "6.1p1")
 | 
					    (version "6.2p2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
                    "mirror://openbsd/OpenNTPD/" name "-" version ".tar.gz"))
 | 
					                    "mirror://openbsd/OpenNTPD/" name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1ykx9ga76k5m54h7k5x4ds2clxsyfniss5vmf88pxnrip5bx6if8"))))
 | 
					                "1chghbh1bnwhxdgkqki51w94nwvlyj1a9q8716r4v2h0gc9s822q"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (home-page "http://www.openntpd.org/")
 | 
					    (home-page "http://www.openntpd.org/")
 | 
				
			||||||
    (synopsis "NTP client and server by the OpenBSD Project")
 | 
					    (synopsis "NTP client and server by the OpenBSD Project")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,46 +0,0 @@
 | 
				
			||||||
Fix a test failure on 32-bit platforms.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Patch copied from upstream source repository:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=9e31a5696c4b699bf000a07b86601c1fb91c0493
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/lib/support/mkquota.c b/lib/support/mkquota.c
 | 
					 | 
				
			||||||
index 00f3a40..931a839 100644
 | 
					 | 
				
			||||||
--- a/lib/support/mkquota.c
 | 
					 | 
				
			||||||
+++ b/lib/support/mkquota.c
 | 
					 | 
				
			||||||
@@ -50,11 +50,13 @@ static void print_dquot(const char *desc, struct dquot *dq)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
 	if (desc)
 | 
					 | 
				
			||||||
 		fprintf(stderr, "%s: ", desc);
 | 
					 | 
				
			||||||
-	fprintf(stderr, "%u %ld:%ld:%ld %ld:%ld:%ld\n",
 | 
					 | 
				
			||||||
-		dq->dq_id, dq->dq_dqb.dqb_curspace,
 | 
					 | 
				
			||||||
-		dq->dq_dqb.dqb_bsoftlimit, dq->dq_dqb.dqb_bhardlimit,
 | 
					 | 
				
			||||||
-		dq->dq_dqb.dqb_curinodes,
 | 
					 | 
				
			||||||
-		dq->dq_dqb.dqb_isoftlimit, dq->dq_dqb.dqb_ihardlimit);
 | 
					 | 
				
			||||||
+	fprintf(stderr, "%u %lld:%lld:%lld %lld:%lld:%lld\n",
 | 
					 | 
				
			||||||
+		dq->dq_id, (long long) dq->dq_dqb.dqb_curspace,
 | 
					 | 
				
			||||||
+		(long long) dq->dq_dqb.dqb_bsoftlimit,
 | 
					 | 
				
			||||||
+		(long long) dq->dq_dqb.dqb_bhardlimit,
 | 
					 | 
				
			||||||
+		(long long) dq->dq_dqb.dqb_curinodes,
 | 
					 | 
				
			||||||
+		(long long) dq->dq_dqb.dqb_isoftlimit,
 | 
					 | 
				
			||||||
+		(long long) dq->dq_dqb.dqb_ihardlimit);
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 #else
 | 
					 | 
				
			||||||
 static void print_dquot(const char *desc EXT2FS_ATTR((unused)),
 | 
					 | 
				
			||||||
@@ -524,11 +526,11 @@ static int scan_dquots_callback(struct dquot *dquot, void *cb_data)
 | 
					 | 
				
			||||||
 	    dq->dq_dqb.dqb_curinodes != dquot->dq_dqb.dqb_curinodes) {
 | 
					 | 
				
			||||||
 		scan_data->usage_is_inconsistent = 1;
 | 
					 | 
				
			||||||
 		fprintf(stderr, "[QUOTA WARNING] Usage inconsistent for ID %u:"
 | 
					 | 
				
			||||||
-			"actual (%ld, %ld) != expected (%ld, %ld)\n",
 | 
					 | 
				
			||||||
-			dq->dq_id, dq->dq_dqb.dqb_curspace,
 | 
					 | 
				
			||||||
-			dq->dq_dqb.dqb_curinodes,
 | 
					 | 
				
			||||||
-			dquot->dq_dqb.dqb_curspace,
 | 
					 | 
				
			||||||
-			dquot->dq_dqb.dqb_curinodes);
 | 
					 | 
				
			||||||
+			"actual (%lld, %lld) != expected (%lld, %lld)\n",
 | 
					 | 
				
			||||||
+			dq->dq_id, (long long) dq->dq_dqb.dqb_curspace,
 | 
					 | 
				
			||||||
+			(long long) dq->dq_dqb.dqb_curinodes,
 | 
					 | 
				
			||||||
+			(long long) dquot->dq_dqb.dqb_curspace,
 | 
					 | 
				
			||||||
+			(long long) dquot->dq_dqb.dqb_curinodes);
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	if (scan_data->update_limits) {
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,35 +0,0 @@
 | 
				
			||||||
Propagate source font modification time to svg during conversion.  Similar to
 | 
					 | 
				
			||||||
what upstream commit 95a470e941d9a20fbdaca51334e8b6b9d93cfae4 did for TTF
 | 
					 | 
				
			||||||
files.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Submitted upstream at http://github.com/fontforge/fontforge/pull/2696
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- a/fontforge/svg.c
 | 
					 | 
				
			||||||
+++ b/fontforge/svg.c
 | 
					 | 
				
			||||||
@@ -27,7 +27,6 @@
 | 
					 | 
				
			||||||
 #include "fontforgevw.h"
 | 
					 | 
				
			||||||
 #include <unistd.h>
 | 
					 | 
				
			||||||
 #include <math.h>
 | 
					 | 
				
			||||||
-#include <time.h>
 | 
					 | 
				
			||||||
 #include <locale.h>
 | 
					 | 
				
			||||||
 #include <utype.h>
 | 
					 | 
				
			||||||
 #include <chardata.h>
 | 
					 | 
				
			||||||
@@ -62,7 +61,6 @@ static int svg_outfontheader(FILE *file, SplineFont *sf,int layer) {
 | 
					 | 
				
			||||||
     BlueData bd;
 | 
					 | 
				
			||||||
     char *hash, *hasv, ch;
 | 
					 | 
				
			||||||
     int minu, maxu, i;
 | 
					 | 
				
			||||||
-    time_t now;
 | 
					 | 
				
			||||||
     const char *author = GetAuthor();
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     memset(&info,0,sizeof(info));
 | 
					 | 
				
			||||||
@@ -78,9 +76,8 @@ static int svg_outfontheader(FILE *file, SplineFont *sf,int layer) {
 | 
					 | 
				
			||||||
 	fprintf( file, "\n-->\n" );
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
     fprintf( file, "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\">\n" );
 | 
					 | 
				
			||||||
-    time(&now);
 | 
					 | 
				
			||||||
     fprintf( file, "<metadata>\nCreated by FontForge %d at %s",
 | 
					 | 
				
			||||||
-	    FONTFORGE_VERSIONDATE_RAW, ctime(&now) );
 | 
					 | 
				
			||||||
+	    FONTFORGE_VERSIONDATE_RAW, ctime((time_t*)&sf->modificationtime) );
 | 
					 | 
				
			||||||
     if ( author!=NULL )
 | 
					 | 
				
			||||||
 	fprintf(file," By %s\n", author);
 | 
					 | 
				
			||||||
     else
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,17 +0,0 @@
 | 
				
			||||||
Copied from Fedora.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1232265
 | 
					 | 
				
			||||||
http://pkgs.fedoraproject.org/cgit/libunwind.git/tree/libunwind-1.1-fix-CVE-2015-3239.patch
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff -up libunwind-1.1/include/dwarf_i.h.CVE20153239 libunwind-1.1/include/dwarf_i.h
 | 
					 | 
				
			||||||
--- libunwind-1.1/include/dwarf_i.h.CVE20153239	2015-07-10 13:38:36.404996748 -0400
 | 
					 | 
				
			||||||
+++ libunwind-1.1/include/dwarf_i.h	2015-07-10 13:39:25.050707613 -0400
 | 
					 | 
				
			||||||
@@ -20,7 +20,7 @@
 | 
					 | 
				
			||||||
 extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH];
 | 
					 | 
				
			||||||
 /* REG is evaluated multiple times; it better be side-effects free!  */
 | 
					 | 
				
			||||||
 # define dwarf_to_unw_regnum(reg)					  \
 | 
					 | 
				
			||||||
-  (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
 | 
					 | 
				
			||||||
+  (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 #ifdef UNW_LOCAL_ONLY
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,28 +0,0 @@
 | 
				
			||||||
Fix build with PyOpenSSL > 17.2.0.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See <https://github.com/certbot/certbot/issues/5111>.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Patch copied from upstream source repository:
 | 
					 | 
				
			||||||
https://github.com/certbot/certbot/commit/f6be07da74c664b57ac8c053585f919c79f9af44
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/acme/crypto_util.py b/acme/crypto_util.py
 | 
					 | 
				
			||||||
index de15284c03..b8fba03488 100644
 | 
					 | 
				
			||||||
--- a/acme/crypto_util.py
 | 
					 | 
				
			||||||
+++ b/acme/crypto_util.py
 | 
					 | 
				
			||||||
@@ -2,6 +2,7 @@
 | 
					 | 
				
			||||||
 import binascii
 | 
					 | 
				
			||||||
 import contextlib
 | 
					 | 
				
			||||||
 import logging
 | 
					 | 
				
			||||||
+import os
 | 
					 | 
				
			||||||
 import re
 | 
					 | 
				
			||||||
 import socket
 | 
					 | 
				
			||||||
 import sys
 | 
					 | 
				
			||||||
@@ -243,7 +244,7 @@ def gen_ss_cert(key, domains, not_before=None,
 | 
					 | 
				
			||||||
     """
 | 
					 | 
				
			||||||
     assert domains, "Must provide one or more hostnames for the cert."
 | 
					 | 
				
			||||||
     cert = OpenSSL.crypto.X509()
 | 
					 | 
				
			||||||
-    cert.set_serial_number(int(binascii.hexlify(OpenSSL.rand.bytes(16)), 16))
 | 
					 | 
				
			||||||
+    cert.set_serial_number(int(binascii.hexlify(os.urandom(16)), 16))
 | 
					 | 
				
			||||||
     cert.set_version(2)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     extensions = [
 | 
					 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,7 @@
 | 
				
			||||||
  #:use-module (gnu packages crypto)
 | 
					  #:use-module (gnu packages crypto)
 | 
				
			||||||
  #:use-module (gnu packages cups)
 | 
					  #:use-module (gnu packages cups)
 | 
				
			||||||
  #:use-module (gnu packages databases)
 | 
					  #:use-module (gnu packages databases)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages docbook)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages popt)
 | 
					  #:use-module (gnu packages popt)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -42,7 +43,8 @@
 | 
				
			||||||
  #:use-module (gnu packages kerberos)
 | 
					  #:use-module (gnu packages kerberos)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages python))
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages xml))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public cifs-utils
 | 
					(define-public cifs-utils
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					@ -159,8 +161,19 @@ anywhere.")
 | 
				
			||||||
               "0pap686cl0j5c9v1v09krpqdk416x3851fbcap5ysp1zajrfw7aq"))))
 | 
					               "0pap686cl0j5c9v1v09krpqdk416x3851fbcap5ysp1zajrfw7aq"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'locate-docbook-stylesheets
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; XXX for some reason XML_CATALOG_FILES is not respected.
 | 
				
			||||||
 | 
					             (substitute* '("buildtools/wafsamba/samba_conftests.py"
 | 
				
			||||||
 | 
					                            "buildtools/wafsamba/wafsamba.py"
 | 
				
			||||||
 | 
					                            "docs-xml/xslt/man.xsl")
 | 
				
			||||||
 | 
					               (("http://docbook.sourceforge.net/release/xsl/current/")
 | 
				
			||||||
 | 
					                (string-append (assoc-ref inputs "docbook-xsl")
 | 
				
			||||||
 | 
					                               "/xml/xsl/docbook-xsl-"
 | 
				
			||||||
 | 
					                               ,(package-version docbook-xsl) "/")))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (replace 'configure
 | 
					         (replace 'configure
 | 
				
			||||||
           ;; samba uses a custom configuration script that runs waf.
 | 
					           ;; samba uses a custom configuration script that runs waf.
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
| 
						 | 
					@ -203,7 +216,9 @@ anywhere.")
 | 
				
			||||||
       ("tevent" ,tevent)
 | 
					       ("tevent" ,tevent)
 | 
				
			||||||
       ("tdb" ,tdb)))
 | 
					       ("tdb" ,tdb)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("perl" ,perl)
 | 
					     `(("docbook-xsl" ,docbook-xsl)    ;for generating manpages
 | 
				
			||||||
 | 
					       ("xsltproc" ,libxslt)           ;ditto
 | 
				
			||||||
 | 
					       ("perl" ,perl)
 | 
				
			||||||
       ("pkg-config" ,pkg-config)
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("python" ,python-2))) ; incompatible with Python 3
 | 
					       ("python" ,python-2))) ; incompatible with Python 3
 | 
				
			||||||
    (home-page "https://www.samba.org/")
 | 
					    (home-page "https://www.samba.org/")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -248,6 +248,51 @@ interfaces (GUIs) in the Tcl language.")
 | 
				
			||||||
utility functions and modules all written in high-level Tcl.")
 | 
					utility functions and modules all written in high-level Tcl.")
 | 
				
			||||||
    (license (package-license tcl))))
 | 
					    (license (package-license tcl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public tklib
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "tklib")
 | 
				
			||||||
 | 
					    (version "0.6")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "https://core.tcl.tk/tklib/tarball/tklib-"
 | 
				
			||||||
 | 
					                                  version ".tar.gz?uuid=tklib-0-6"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "03y0bzgwbh7nnyqkh8n00bbkq2fyblq39s3bdb6mawna0bbn0wwg"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("tcl" ,tcl)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("tcllib" ,tcllib)
 | 
				
			||||||
 | 
					       ("tk" ,tk))) ; for "wish"
 | 
				
			||||||
 | 
					    (native-search-paths
 | 
				
			||||||
 | 
					     (list (search-path-specification
 | 
				
			||||||
 | 
					            (variable "TCLLIBPATH")
 | 
				
			||||||
 | 
					            (separator " ")
 | 
				
			||||||
 | 
					            (files (list (string-append "lib/tklib" version))))))
 | 
				
			||||||
 | 
					    (home-page "https://www.tcl.tk/software/tklib/")
 | 
				
			||||||
 | 
					    (synopsis "Tk utility modules for Tcl")
 | 
				
			||||||
 | 
					    (description "Tklib is a collection of common utility functions and
 | 
				
			||||||
 | 
					modules for Tk, all written in high-level Tcl.  Examples of provided widgets:
 | 
				
			||||||
 | 
					@enumerate
 | 
				
			||||||
 | 
					@item @code{chatwidget}
 | 
				
			||||||
 | 
					@item @code{datefield}
 | 
				
			||||||
 | 
					@item @code{tooltip}
 | 
				
			||||||
 | 
					@item @code{cursor}
 | 
				
			||||||
 | 
					@item @code{ipentry}
 | 
				
			||||||
 | 
					@item @code{tablelist}
 | 
				
			||||||
 | 
					@item @code{history}
 | 
				
			||||||
 | 
					@item @code{tkpiechart}
 | 
				
			||||||
 | 
					@item @code{ico}
 | 
				
			||||||
 | 
					@item @code{crosshair}
 | 
				
			||||||
 | 
					@item @code{ntext}
 | 
				
			||||||
 | 
					@item @code{plotchart}
 | 
				
			||||||
 | 
					@item @code{ctext}
 | 
				
			||||||
 | 
					@item @code{autosscroll}
 | 
				
			||||||
 | 
					@item @code{canvas}
 | 
				
			||||||
 | 
					@end enumerate")
 | 
				
			||||||
 | 
					    (license (package-license tcl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public tclxml
 | 
					(define-public tclxml
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "tclxml")
 | 
					    (name "tclxml")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -486,14 +486,13 @@ netcat implementation that supports TLS.")
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-acme")
 | 
					    (name "python-acme")
 | 
				
			||||||
    ;; Remember to update the hash of certbot when updating python-acme.
 | 
					    ;; Remember to update the hash of certbot when updating python-acme.
 | 
				
			||||||
    (version "0.18.1")
 | 
					    (version "0.18.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (pypi-uri "acme" version))
 | 
					              (uri (pypi-uri "acme" version))
 | 
				
			||||||
              (patches (search-patches "python-acme-dont-use-openssl-rand.patch"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0ry6vhfkhds28sg232hngwfnkqihsxv9r8w92c6nz45r7w56qk0y"))))
 | 
					                "1xiy8m7501g5l9kpdmyvyz72nfnl72l19qkrf76fyvby7adzm3ki"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -541,7 +540,7 @@ netcat implementation that supports TLS.")
 | 
				
			||||||
              (uri (pypi-uri name version))
 | 
					              (uri (pypi-uri name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0k3bqfkjxyg0qivs4a6iz6gyqx8li4hgn8m268r72lxgq46ay2mf"))))
 | 
					                "16lw4n7kwnkvh9sz2f97c7ad1wwp33mg5fc332lpy5n17zpfc8h1"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(,@(substitute-keyword-arguments (package-arguments python-acme)
 | 
					     `(,@(substitute-keyword-arguments (package-arguments python-acme)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,14 +124,14 @@ as well as the classic centralized workflow.")
 | 
				
			||||||
   (name "git")
 | 
					   (name "git")
 | 
				
			||||||
   ;; XXX When updating Git, check if the special 'git:src' input to cgit needs
 | 
					   ;; XXX When updating Git, check if the special 'git:src' input to cgit needs
 | 
				
			||||||
   ;; to be updated as well.
 | 
					   ;; to be updated as well.
 | 
				
			||||||
   (version "2.14.1")
 | 
					   (version "2.14.2")
 | 
				
			||||||
   (source (origin
 | 
					   (source (origin
 | 
				
			||||||
            (method url-fetch)
 | 
					            (method url-fetch)
 | 
				
			||||||
            (uri (string-append "mirror://kernel.org/software/scm/git/git-"
 | 
					            (uri (string-append "mirror://kernel.org/software/scm/git/git-"
 | 
				
			||||||
                                version ".tar.xz"))
 | 
					                                version ".tar.xz"))
 | 
				
			||||||
            (sha256
 | 
					            (sha256
 | 
				
			||||||
             (base32
 | 
					             (base32
 | 
				
			||||||
              "1iic3wiihxp3l3k6d4z886v3869c3dzgddjxnd5124wy1rnlqwkg"))))
 | 
					              "18f70gfzwqd210806hmf94blcd7yv5h9ka6xqkpd2jhijqwp5sah"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (native-inputs
 | 
					   (native-inputs
 | 
				
			||||||
    `(("native-perl" ,perl)
 | 
					    `(("native-perl" ,perl)
 | 
				
			||||||
| 
						 | 
					@ -145,7 +145,7 @@ as well as the classic centralized workflow.")
 | 
				
			||||||
          (sha256
 | 
					          (sha256
 | 
				
			||||||
 | 
					
 | 
				
			||||||
           (base32
 | 
					           (base32
 | 
				
			||||||
            "1whlsiicayalym4hkf01zdiqpw37gdf7c52gw9ki7bv2x3hf3g3y"))))))
 | 
					            "1z05a7hxxndyby3dbj3gaw91sjwmky5d1yph96jmj0fhx78m1lvd"))))))
 | 
				
			||||||
   (inputs
 | 
					   (inputs
 | 
				
			||||||
    `(("curl" ,curl)
 | 
					    `(("curl" ,curl)
 | 
				
			||||||
      ("expat" ,expat)
 | 
					      ("expat" ,expat)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -168,14 +168,14 @@ commands would.")
 | 
				
			||||||
(define-public i3-wm
 | 
					(define-public i3-wm
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "i3-wm")
 | 
					    (name "i3-wm")
 | 
				
			||||||
    (version "4.14")
 | 
					    (version "4.14.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://i3wm.org/downloads/i3-"
 | 
					              (uri (string-append "https://i3wm.org/downloads/i3-"
 | 
				
			||||||
                                  version ".tar.bz2"))
 | 
					                                  version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1mm5jazwv4dz3k8vl1lfrcw86agpws5k9lmav1ly51qvmzivsfmf"))))
 | 
					                "1cazmfbbx6n8c81h6x6pdayq3mxs2ml3adz165z8vapkc72kl1nh"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:make-flags
 | 
					     `(#:make-flags
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@
 | 
				
			||||||
;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 | 
					;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -39,10 +40,12 @@
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages anthy)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages bison)
 | 
					  #:use-module (gnu packages bison)
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages emacs)
 | 
				
			||||||
  #:use-module (gnu packages flex)
 | 
					  #:use-module (gnu packages flex)
 | 
				
			||||||
  #:use-module (gnu packages fontutils)
 | 
					  #:use-module (gnu packages fontutils)
 | 
				
			||||||
  #:use-module (gnu packages freedesktop)
 | 
					  #:use-module (gnu packages freedesktop)
 | 
				
			||||||
| 
						 | 
					@ -54,6 +57,7 @@
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages libbsd)
 | 
					  #:use-module (gnu packages libbsd)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages libedit)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages llvm)
 | 
					  #:use-module (gnu packages llvm)
 | 
				
			||||||
  #:use-module (gnu packages m4)
 | 
					  #:use-module (gnu packages m4)
 | 
				
			||||||
| 
						 | 
					@ -62,6 +66,7 @@
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages qt)
 | 
				
			||||||
  #:use-module (gnu packages spice)
 | 
					  #:use-module (gnu packages spice)
 | 
				
			||||||
  #:use-module (gnu packages video)
 | 
					  #:use-module (gnu packages video)
 | 
				
			||||||
  #:use-module (gnu packages xiph)
 | 
					  #:use-module (gnu packages xiph)
 | 
				
			||||||
| 
						 | 
					@ -5982,3 +5987,96 @@ disconnect from these programs and reconnect from the same or another machine,
 | 
				
			||||||
without losing any state.  It can also be used to forward full desktops from
 | 
					without losing any state.  It can also be used to forward full desktops from
 | 
				
			||||||
X11 servers, Windows, or macOS.")
 | 
					X11 servers, Windows, or macOS.")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public uim
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "uim")
 | 
				
			||||||
 | 
					    (version "1.8.6")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/uim/uim/releases/download/uim-"
 | 
				
			||||||
 | 
					                           version "/uim-" version ".tar.bz2"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0pr3rfqpxha8p6cxzdjsxbbmmr76riklzw36f68phd1zqw1sh7kv"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("anthy" ,anthy)
 | 
				
			||||||
 | 
					       ("libedit" ,libedit)
 | 
				
			||||||
 | 
					       ("libxft" ,libxft)
 | 
				
			||||||
 | 
					       ("m17n-lib" ,m17n-lib)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("emacs" ,emacs-minimal)
 | 
				
			||||||
 | 
					       ("intltool" ,intltool)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:modules ((guix build gnu-build-system)
 | 
				
			||||||
 | 
					                  (guix build utils)
 | 
				
			||||||
 | 
					                  (guix build emacs-utils))
 | 
				
			||||||
 | 
					       #:imported-modules (,@%gnu-build-system-modules
 | 
				
			||||||
 | 
					                           (guix build emacs-utils))
 | 
				
			||||||
 | 
					       #:configure-flags
 | 
				
			||||||
 | 
					       (list "--with-anthy-utf8"
 | 
				
			||||||
 | 
					             (string-append "--with-lispdir=" %output
 | 
				
			||||||
 | 
					                            "/share/emacs/site-lisp/guix.d")
 | 
				
			||||||
 | 
					             ;; Set proper runpath
 | 
				
			||||||
 | 
					             (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         ;; Set path of uim-el-agent and uim-el-helper-agent executables
 | 
				
			||||||
 | 
					         (add-after 'configure 'configure-uim-el
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (substitute* "emacs/uim-var.el"
 | 
				
			||||||
 | 
					               (("\"(uim-el-agent|uim-el-helper-agent)\"" _ executable)
 | 
				
			||||||
 | 
					                (string-append "\"" (assoc-ref outputs "out")
 | 
				
			||||||
 | 
					                               "/bin/" executable "\"")))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         ;; Generate emacs autoloads for uim.el
 | 
				
			||||||
 | 
					         (add-after 'install 'make-autoloads
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (emacs-generate-autoloads
 | 
				
			||||||
 | 
					              ,name (string-append (assoc-ref outputs "out")
 | 
				
			||||||
 | 
					                                   "/share/emacs/site-lisp"))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/uim/uim")
 | 
				
			||||||
 | 
					    (synopsis "Multilingual input method framework")
 | 
				
			||||||
 | 
					    (description "Uim is a multilingual input method library and environment.
 | 
				
			||||||
 | 
					It provides a simple, easily extensible and high code-quality input method
 | 
				
			||||||
 | 
					development platform, and useful input method environment for users of desktop
 | 
				
			||||||
 | 
					and embedded platforms.")
 | 
				
			||||||
 | 
					    (license (list license:lgpl2.1+ ; scm/py.scm, pixmaps/*.{svg,png} (see pixmaps/README)
 | 
				
			||||||
 | 
					                   license:gpl2+ ; scm/pinyin-big5.scm
 | 
				
			||||||
 | 
					                   license:gpl3+ ; scm/elatin-rules.cm
 | 
				
			||||||
 | 
					                   license:public-domain ; scm/input-parse.scm, scm/match.scm
 | 
				
			||||||
 | 
					                   ;; gtk2/toolbar/eggtrayicon.{ch},
 | 
				
			||||||
 | 
					                   ;; qt3/chardict/kseparator.{cpp,h},
 | 
				
			||||||
 | 
					                   ;; qt3/pref/kseparator.{cpp,h}
 | 
				
			||||||
 | 
					                   license:lgpl2.0+
 | 
				
			||||||
 | 
					                   ;; pixmaps/*.{svg,png} (see pixmaps/README),
 | 
				
			||||||
 | 
					                   ;; all other files
 | 
				
			||||||
 | 
					                   license:bsd-3))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public uim-gtk
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit uim)
 | 
				
			||||||
 | 
					    (name "uim-gtk")
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("gtk" ,gtk+)
 | 
				
			||||||
 | 
					       ("gtk" ,gtk+-2)
 | 
				
			||||||
 | 
					       ,@(package-inputs uim)))
 | 
				
			||||||
 | 
					    (synopsis "Multilingual input method framework (GTK+ support)")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public uim-qt
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit uim)
 | 
				
			||||||
 | 
					    (name "uim-qt")
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("qt" ,qt-4)
 | 
				
			||||||
 | 
					       ,@(package-inputs uim)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     (substitute-keyword-arguments (package-arguments uim)
 | 
				
			||||||
 | 
					       ((#:configure-flags configure-flags)
 | 
				
			||||||
 | 
					        (append configure-flags (list "--with-qt4-immodule"
 | 
				
			||||||
 | 
					                                      "--with-qt4")))))
 | 
				
			||||||
 | 
					    (synopsis "Multilingual input method framework (Qt support)")))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 | 
					;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -61,6 +62,8 @@
 | 
				
			||||||
                    (default "/var/run/cuirass/cuirass.db"))
 | 
					                    (default "/var/run/cuirass/cuirass.db"))
 | 
				
			||||||
  (port             cuirass-configuration-port ;integer (port)
 | 
					  (port             cuirass-configuration-port ;integer (port)
 | 
				
			||||||
                    (default 8081))
 | 
					                    (default 8081))
 | 
				
			||||||
 | 
					  (host             cuirass-configuration-host ;string
 | 
				
			||||||
 | 
					                    (default "localhost"))
 | 
				
			||||||
  (specifications   cuirass-configuration-specifications)
 | 
					  (specifications   cuirass-configuration-specifications)
 | 
				
			||||||
                                  ;gexp that evaluates to specification-alist
 | 
					                                  ;gexp that evaluates to specification-alist
 | 
				
			||||||
  (use-substitutes? cuirass-configuration-use-substitutes? ;boolean
 | 
					  (use-substitutes? cuirass-configuration-use-substitutes? ;boolean
 | 
				
			||||||
| 
						 | 
					@ -84,6 +87,7 @@
 | 
				
			||||||
         (interval         (cuirass-configuration-interval config))
 | 
					         (interval         (cuirass-configuration-interval config))
 | 
				
			||||||
         (database         (cuirass-configuration-database config))
 | 
					         (database         (cuirass-configuration-database config))
 | 
				
			||||||
         (port             (cuirass-configuration-port config))
 | 
					         (port             (cuirass-configuration-port config))
 | 
				
			||||||
 | 
					         (host             (cuirass-configuration-host config))
 | 
				
			||||||
         (specs            (cuirass-configuration-specifications config))
 | 
					         (specs            (cuirass-configuration-specifications config))
 | 
				
			||||||
         (use-substitutes? (cuirass-configuration-use-substitutes? config))
 | 
					         (use-substitutes? (cuirass-configuration-use-substitutes? config))
 | 
				
			||||||
         (one-shot?        (cuirass-configuration-one-shot? config))
 | 
					         (one-shot?        (cuirass-configuration-one-shot? config))
 | 
				
			||||||
| 
						 | 
					@ -100,6 +104,7 @@
 | 
				
			||||||
                            #$(scheme-file "cuirass-specs.scm" specs)
 | 
					                            #$(scheme-file "cuirass-specs.scm" specs)
 | 
				
			||||||
                            "--database" #$database
 | 
					                            "--database" #$database
 | 
				
			||||||
                            "--port" #$(number->string port)
 | 
					                            "--port" #$(number->string port)
 | 
				
			||||||
 | 
					                            "--listen" #$host
 | 
				
			||||||
                            "--interval" #$(number->string interval)
 | 
					                            "--interval" #$(number->string interval)
 | 
				
			||||||
                            #$@(if use-substitutes? '("--use-substitutes") '())
 | 
					                            #$@(if use-substitutes? '("--use-substitutes") '())
 | 
				
			||||||
                            #$@(if one-shot? '("--one-shot") '())
 | 
					                            #$@(if one-shot? '("--one-shot") '())
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -544,11 +544,11 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
 | 
				
			||||||
               (>= gid 100))))
 | 
					               (>= gid 100))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          ;; Last, the job that uses a command; allows us to test whether
 | 
					          ;; Last, the job that uses a command; allows us to test whether
 | 
				
			||||||
          ;; $PATH is sane.  (Note that 'marionette-eval' stringifies objects
 | 
					          ;; $PATH is sane.
 | 
				
			||||||
          ;; that don't have a read syntax, hence the string.)
 | 
					 | 
				
			||||||
          (test-equal "root's job with command"
 | 
					          (test-equal "root's job with command"
 | 
				
			||||||
            "#<eof>"
 | 
					            ""
 | 
				
			||||||
            (wait-for-file "/root/witness-touch" marionette))
 | 
					            (wait-for-file "/root/witness-touch" marionette
 | 
				
			||||||
 | 
					                           #:read '(@ (ice-9 rdelim) read-string)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          (test-end)
 | 
					          (test-end)
 | 
				
			||||||
          (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
 | 
					          (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,7 +127,11 @@
 | 
				
			||||||
  "Return a variant of OS where ROOTS are registered as GC roots."
 | 
					  "Return a variant of OS where ROOTS are registered as GC roots."
 | 
				
			||||||
  (operating-system
 | 
					  (operating-system
 | 
				
			||||||
    (inherit os)
 | 
					    (inherit os)
 | 
				
			||||||
    (services (cons (service gc-root-service-type roots)
 | 
					
 | 
				
			||||||
 | 
					    ;; We use this procedure for the installation OS, which already defines GC
 | 
				
			||||||
 | 
					    ;; roots.  Add ROOTS to those.
 | 
				
			||||||
 | 
					    (services (cons (simple-service 'extra-root
 | 
				
			||||||
 | 
					                                    gc-root-service-type roots)
 | 
				
			||||||
                    (operating-system-user-services os)))))
 | 
					                    (operating-system-user-services os)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -67,7 +67,7 @@
 | 
				
			||||||
                #:key source inputs native-inputs outputs system target
 | 
					                #:key source inputs native-inputs outputs system target
 | 
				
			||||||
                (meson (default-meson))
 | 
					                (meson (default-meson))
 | 
				
			||||||
                (ninja (default-ninja))
 | 
					                (ninja (default-ninja))
 | 
				
			||||||
                (glib-or-gtk #f)
 | 
					                (glib-or-gtk? #f)
 | 
				
			||||||
                #:allow-other-keys
 | 
					                #:allow-other-keys
 | 
				
			||||||
                #:rest arguments)
 | 
					                #:rest arguments)
 | 
				
			||||||
  "Return a bag for NAME."
 | 
					  "Return a bag for NAME."
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,7 +61,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            %gnu-updater
 | 
					            %gnu-updater
 | 
				
			||||||
            %gnu-ftp-updater
 | 
					            %gnu-ftp-updater
 | 
				
			||||||
            %gnome-updater
 | 
					 | 
				
			||||||
            %kde-updater
 | 
					            %kde-updater
 | 
				
			||||||
            %xorg-updater
 | 
					            %xorg-updater
 | 
				
			||||||
            %kernel.org-updater))
 | 
					            %kernel.org-updater))
 | 
				
			||||||
| 
						 | 
					@ -512,6 +511,9 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)."
 | 
				
			||||||
        (values name+version #f)
 | 
					        (values name+version #f)
 | 
				
			||||||
        (values (match:substring match 1) (match:substring match 2)))))
 | 
					        (values (match:substring match 1) (match:substring match 2)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define gnome-package?
 | 
				
			||||||
 | 
					  (url-prefix-predicate "mirror://gnome/"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (pure-gnu-package? package)
 | 
					(define (pure-gnu-package? package)
 | 
				
			||||||
  "Return true if PACKAGE is a non-Emacs and non-GNOME GNU package.  This
 | 
					  "Return true if PACKAGE is a non-Emacs and non-GNOME GNU package.  This
 | 
				
			||||||
excludes AucTeX, for instance, whose releases are now uploaded to
 | 
					excludes AucTeX, for instance, whose releases are now uploaded to
 | 
				
			||||||
| 
						 | 
					@ -522,70 +524,9 @@ releases are on gnu.org."
 | 
				
			||||||
       (not (gnome-package? package))
 | 
					       (not (gnome-package? package))
 | 
				
			||||||
       (gnu-package? package)))
 | 
					       (gnu-package? package)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (url-prefix-predicate prefix)
 | 
					 | 
				
			||||||
  "Return a predicate that returns true when passed a package where one of its
 | 
					 | 
				
			||||||
source URLs starts with PREFIX."
 | 
					 | 
				
			||||||
  (lambda (package)
 | 
					 | 
				
			||||||
    (define matching-uri?
 | 
					 | 
				
			||||||
      (match-lambda
 | 
					 | 
				
			||||||
        ((? string? uri)
 | 
					 | 
				
			||||||
         (string-prefix? prefix uri))
 | 
					 | 
				
			||||||
        (_
 | 
					 | 
				
			||||||
         #f)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    (match (package-source package)
 | 
					 | 
				
			||||||
      ((? origin? origin)
 | 
					 | 
				
			||||||
       (match (origin-uri origin)
 | 
					 | 
				
			||||||
         ((? matching-uri?) #t)
 | 
					 | 
				
			||||||
         (_                 #f)))
 | 
					 | 
				
			||||||
      (_ #f))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define gnu-hosted?
 | 
					(define gnu-hosted?
 | 
				
			||||||
  (url-prefix-predicate "mirror://gnu/"))
 | 
					  (url-prefix-predicate "mirror://gnu/"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define gnome-package?
 | 
					 | 
				
			||||||
  (url-prefix-predicate "mirror://gnome/"))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (latest-gnome-release package)
 | 
					 | 
				
			||||||
  "Return the latest release of PACKAGE, the name of a GNOME package."
 | 
					 | 
				
			||||||
  (define %not-dot
 | 
					 | 
				
			||||||
    (char-set-complement (char-set #\.)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define (even-minor-version? version)
 | 
					 | 
				
			||||||
    (match (string-tokenize version %not-dot)
 | 
					 | 
				
			||||||
      (((= string->number major) (= string->number minor) . rest)
 | 
					 | 
				
			||||||
       (and minor (even? minor)))
 | 
					 | 
				
			||||||
      (_
 | 
					 | 
				
			||||||
       #t)))                                      ;cross fingers
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define (even-numbered? file)
 | 
					 | 
				
			||||||
    ;; Return true if FILE somehow denotes an even-numbered file name.  The
 | 
					 | 
				
			||||||
    ;; trick here is that we want this to match both directories such as
 | 
					 | 
				
			||||||
    ;; "3.18.6" and actual file names such as "gtk+-3.18.6.tar.bz2".
 | 
					 | 
				
			||||||
    (let-values (((name version) (package-name->name+version file)))
 | 
					 | 
				
			||||||
      (even-minor-version? (or version name))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define upstream-name
 | 
					 | 
				
			||||||
    ;; Some packages like "NetworkManager" have camel-case names.
 | 
					 | 
				
			||||||
    (package-upstream-name package))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (false-if-ftp-error
 | 
					 | 
				
			||||||
   (latest-ftp-release upstream-name
 | 
					 | 
				
			||||||
                       #:server "ftp.gnome.org"
 | 
					 | 
				
			||||||
                       #:directory (string-append "/pub/gnome/sources/"
 | 
					 | 
				
			||||||
                                                  upstream-name)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                       ;; <https://www.gnome.org/gnome-3/source/> explains
 | 
					 | 
				
			||||||
                       ;; that odd minor version numbers represent development
 | 
					 | 
				
			||||||
                       ;; releases, which we are usually not interested in.
 | 
					 | 
				
			||||||
                       #:keep-file? even-numbered?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                       ;; ftp.gnome.org provides no signatures, only
 | 
					 | 
				
			||||||
                       ;; checksums.
 | 
					 | 
				
			||||||
                       #:file->signature (const #f))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (latest-kde-release package)
 | 
					(define (latest-kde-release package)
 | 
				
			||||||
  "Return the latest release of PACKAGE, the name of an KDE.org package."
 | 
					  "Return the latest release of PACKAGE, the name of an KDE.org package."
 | 
				
			||||||
  (let ((uri (string->uri (origin-uri (package-source package)))))
 | 
					  (let ((uri (string->uri (origin-uri (package-source package)))))
 | 
				
			||||||
| 
						 | 
					@ -642,13 +583,6 @@ source URLs starts with PREFIX."
 | 
				
			||||||
                (pure-gnu-package? package))))
 | 
					                (pure-gnu-package? package))))
 | 
				
			||||||
   (latest latest-release*)))
 | 
					   (latest latest-release*)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %gnome-updater
 | 
					 | 
				
			||||||
  (upstream-updater
 | 
					 | 
				
			||||||
   (name 'gnome)
 | 
					 | 
				
			||||||
   (description "Updater for GNOME packages")
 | 
					 | 
				
			||||||
   (pred gnome-package?)
 | 
					 | 
				
			||||||
   (latest latest-gnome-release)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define %kde-updater
 | 
					(define %kde-updater
 | 
				
			||||||
  (upstream-updater
 | 
					  (upstream-updater
 | 
				
			||||||
    (name 'kde)
 | 
					    (name 'kde)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -321,7 +321,9 @@ Raise an '&http-get-error' condition if downloading fails."
 | 
				
			||||||
      ;; Update the cache and return an input port.
 | 
					      ;; Update the cache and return an input port.
 | 
				
			||||||
      (guard (c ((http-get-error? c)
 | 
					      (guard (c ((http-get-error? c)
 | 
				
			||||||
                 (if (= 304 (http-get-error-code c)) ;"Not Modified"
 | 
					                 (if (= 304 (http-get-error-code c)) ;"Not Modified"
 | 
				
			||||||
                     cache-port
 | 
					                     (begin
 | 
				
			||||||
 | 
					                       (utime file)               ;update FILE's mtime
 | 
				
			||||||
 | 
					                       cache-port)
 | 
				
			||||||
                     (raise c))))
 | 
					                     (raise c))))
 | 
				
			||||||
        (let ((port (http-fetch uri #:text? text?
 | 
					        (let ((port (http-fetch uri #:text? text?
 | 
				
			||||||
                                #:headers headers)))
 | 
					                                #:headers headers)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										112
									
								
								guix/import/gnome.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								guix/import/gnome.scm
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,112 @@
 | 
				
			||||||
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
 | 
					;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is free software; you can redistribute it and/or modify it
 | 
				
			||||||
 | 
					;;; under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					;;; the Free Software Foundation; either version 3 of the License, or (at
 | 
				
			||||||
 | 
					;;; your option) any later version.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is distributed in the hope that it will be useful, but
 | 
				
			||||||
 | 
					;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					;;; GNU General Public License for more details.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-module (guix import gnome)
 | 
				
			||||||
 | 
					  #:use-module (guix upstream)
 | 
				
			||||||
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
 | 
					  #:use-module (guix http-client)
 | 
				
			||||||
 | 
					  #:use-module (json)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-11)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-34)
 | 
				
			||||||
 | 
					  #:use-module (web uri)
 | 
				
			||||||
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
 | 
					  #:export (%gnome-updater))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;; Commentary:
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; This package provides not an actual importer but simply an updater for
 | 
				
			||||||
 | 
					;;; GNOME packages.  It grabs package meta-data from 'cache.json' files
 | 
				
			||||||
 | 
					;;; available on ftp.gnome.org.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Code:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (jsonish->upstream-source name jsonish)
 | 
				
			||||||
 | 
					  "Return an <upstream-source> object for package NAME, using JSONISH as the
 | 
				
			||||||
 | 
					source for metadata."
 | 
				
			||||||
 | 
					  (match jsonish
 | 
				
			||||||
 | 
					    ((version . dictionary)
 | 
				
			||||||
 | 
					     (upstream-source
 | 
				
			||||||
 | 
					      (package name)
 | 
				
			||||||
 | 
					      (version version)
 | 
				
			||||||
 | 
					      (urls (filter-map (lambda (extension)
 | 
				
			||||||
 | 
					                          (match (hash-ref dictionary extension)
 | 
				
			||||||
 | 
					                            (#f
 | 
				
			||||||
 | 
					                             #f)
 | 
				
			||||||
 | 
					                            ((? string? relative-url)
 | 
				
			||||||
 | 
					                             (string-append "mirror://gnome/sources/"
 | 
				
			||||||
 | 
					                                            name "/" relative-url))))
 | 
				
			||||||
 | 
					                        '("tar.lz" "tar.xz" "tar.bz2" "tar.gz")))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (latest-gnome-release package)
 | 
				
			||||||
 | 
					  "Return the latest release of PACKAGE, a GNOME package, or #f if it could
 | 
				
			||||||
 | 
					not be determined."
 | 
				
			||||||
 | 
					  (define %not-dot
 | 
				
			||||||
 | 
					    (char-set-complement (char-set #\.)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define (even-minor-version? version)
 | 
				
			||||||
 | 
					    (match (string-tokenize version %not-dot)
 | 
				
			||||||
 | 
					      (((= string->number major) (= string->number minor) . rest)
 | 
				
			||||||
 | 
					       (and minor (even? minor)))
 | 
				
			||||||
 | 
					      (_
 | 
				
			||||||
 | 
					       #t)))                                      ;cross fingers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define upstream-name
 | 
				
			||||||
 | 
					    ;; Some packages like "NetworkManager" have camel-case names.
 | 
				
			||||||
 | 
					    (package-upstream-name package))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (guard (c ((http-get-error? c)
 | 
				
			||||||
 | 
					             (if (= 404 (http-get-error-code c))
 | 
				
			||||||
 | 
					                 #f
 | 
				
			||||||
 | 
					                 (raise c))))
 | 
				
			||||||
 | 
					    (let* ((port (http-fetch/cached
 | 
				
			||||||
 | 
					                  (string->uri (string-append
 | 
				
			||||||
 | 
					                                "https://ftp.gnome.org/pub/gnome/sources/"
 | 
				
			||||||
 | 
					                                upstream-name "/cache.json"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  ;; ftp.gnome.org supports 'if-Modified-Since', so the local
 | 
				
			||||||
 | 
					                  ;; cache can expire early.
 | 
				
			||||||
 | 
					                  #:ttl (* 60 10)))
 | 
				
			||||||
 | 
					           (json (json->scm port)))
 | 
				
			||||||
 | 
					      (close-port port)
 | 
				
			||||||
 | 
					      (match json
 | 
				
			||||||
 | 
					        ((4 (? hash-table? releases) _ ...)
 | 
				
			||||||
 | 
					         (let* ((releases (hash-ref releases upstream-name))
 | 
				
			||||||
 | 
					                (latest   (hash-fold (lambda (key value result)
 | 
				
			||||||
 | 
					                                       (cond ((even-minor-version? key)
 | 
				
			||||||
 | 
					                                              (match result
 | 
				
			||||||
 | 
					                                                (#f
 | 
				
			||||||
 | 
					                                                 (cons key value))
 | 
				
			||||||
 | 
					                                                ((newest . _)
 | 
				
			||||||
 | 
					                                                 (if (version>? key newest)
 | 
				
			||||||
 | 
					                                                     (cons key value)
 | 
				
			||||||
 | 
					                                                     result))))
 | 
				
			||||||
 | 
					                                             (else
 | 
				
			||||||
 | 
					                                              result)))
 | 
				
			||||||
 | 
					                                     #f
 | 
				
			||||||
 | 
					                                     releases)))
 | 
				
			||||||
 | 
					           (and latest
 | 
				
			||||||
 | 
					                (jsonish->upstream-source upstream-name latest))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define %gnome-updater
 | 
				
			||||||
 | 
					  (upstream-updater
 | 
				
			||||||
 | 
					   (name 'gnome)
 | 
				
			||||||
 | 
					   (description "Updater for GNOME packages")
 | 
				
			||||||
 | 
					   (pred (url-prefix-predicate "mirror://gnome/"))
 | 
				
			||||||
 | 
					   (latest latest-gnome-release)))
 | 
				
			||||||
| 
						 | 
					@ -45,6 +45,7 @@
 | 
				
			||||||
            upstream-source-signature-urls
 | 
					            upstream-source-signature-urls
 | 
				
			||||||
            upstream-source-archive-types
 | 
					            upstream-source-archive-types
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            url-prefix-predicate
 | 
				
			||||||
            coalesce-sources
 | 
					            coalesce-sources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            upstream-updater
 | 
					            upstream-updater
 | 
				
			||||||
| 
						 | 
					@ -81,6 +82,24 @@
 | 
				
			||||||
  (signature-urls upstream-source-signature-urls  ;#f | list of strings
 | 
					  (signature-urls upstream-source-signature-urls  ;#f | list of strings
 | 
				
			||||||
                  (default #f)))
 | 
					                  (default #f)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (url-prefix-predicate prefix)
 | 
				
			||||||
 | 
					  "Return a predicate that returns true when passed a package where one of its
 | 
				
			||||||
 | 
					source URLs starts with PREFIX."
 | 
				
			||||||
 | 
					  (lambda (package)
 | 
				
			||||||
 | 
					    (define matching-uri?
 | 
				
			||||||
 | 
					      (match-lambda
 | 
				
			||||||
 | 
					        ((? string? uri)
 | 
				
			||||||
 | 
					         (string-prefix? prefix uri))
 | 
				
			||||||
 | 
					        (_
 | 
				
			||||||
 | 
					         #f)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    (match (package-source package)
 | 
				
			||||||
 | 
					      ((? origin? origin)
 | 
				
			||||||
 | 
					       (match (origin-uri origin)
 | 
				
			||||||
 | 
					         ((? matching-uri?) #t)
 | 
				
			||||||
 | 
					         (_                 #f)))
 | 
				
			||||||
 | 
					      (_ #f))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (upstream-source-archive-types release)
 | 
					(define (upstream-source-archive-types release)
 | 
				
			||||||
  "Return the available types of archives for RELEASE---a list of strings such
 | 
					  "Return the available types of archives for RELEASE---a list of strings such
 | 
				
			||||||
as \"gz\" or \"xz\"."
 | 
					as \"gz\" or \"xz\"."
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue