Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2020-01-26 23:40:24 +01:00
commit 1d7051f82b
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
51 changed files with 1493 additions and 440 deletions

View file

@ -26101,9 +26101,22 @@ must @emph{not} be an OS device name such as @file{/dev/sda1}.
@end table
@end deftp
@cindex HDPI
@cindex HiDPI
@cindex resolution
@c FIXME: Write documentation once it's stable.
For now only GRUB has theme support. GRUB themes are created using
the @code{grub-theme} form, which is not documented yet.
For now only GRUB has theme support. GRUB themes are created using
the @code{grub-theme} form, which is not fully documented yet.
@deftp {Data Type} grub-theme
Data type representing the configuration of the GRUB theme.
@table @asis
@item @code{gfxmode} (default: @code{'("auto")})
The GRUB @code{gfxmode} to set (a list of screen resolution strings, see
@pxref{gfxmode,,, grub, GNU GRUB manual}).
@end table
@end deftp
@defvr {Scheme Variable} %default-theme
This is the default GRUB theme used by the operating system if no
@ -26114,6 +26127,17 @@ It comes with a fancy background image displaying the GNU and Guix
logos.
@end defvr
For example, to override the default resolution, you may use something
like
@lisp
(bootloader
(grub-configuration
;; @dots{}
(theme (grub-theme
(inherit %default-theme)
(gfxmode '("1024x786x32" "auto"))))))
@end lisp
@node Invoking guix system
@section Invoking @code{guix system}

View file

@ -395,10 +395,16 @@ sys_authorize_build_farms()
sys_create_init_profile()
{ # Create /etc/profile.d/guix.sh for better desktop integration
[ -d "/etc/profile.d" ] || mkdir /etc/profile.d # Just in case
cat <<"EOF" > /etc/profile.d/guix.sh
# _GUIX_PROFILE: `guix pull` profile
_GUIX_PROFILE="$HOME/.config/guix/current"
[ -L $_GUIX_PROFILE ] && export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH"
if [ -L $_GUIX_PROFILE ]; then
export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH"
# Export INFOPATH so that the updated info pages can be found
# and read by both /usr/bin/info and/or $GUIX_PROFILE/bin/info
export INFOPATH="$_GUIX_PROFILE/share/info${INFOPATH:+:}$INFOPATH"
fi
# GUIX_PROFILE: User's default profile
GUIX_PROFILE="$HOME/.guix-profile"
@ -409,7 +415,7 @@ export GUIX_PROFILE GUIX_LOCPATH
eval `guix package --search-paths=prefix 2> /dev/null`
# set XDG_DATA_DIRS to include Guix installations
export XDG_DATA_DIRS="$GUIX_PROFILE/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"
export XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
EOF
}

View file

@ -1,6 +1,6 @@
;; GNU Guix news, for use by 'guix pull'.
;;
;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;
;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and
@ -9,6 +9,29 @@
(channel-news
(version 0)
(entry (commit "8234fe653e61d0090138cbd4c48d877568355439")
(title (en "Guix now runs on Guile 3.0")
(de "Guix läuft jetzt auf Guile 3.0")
(nl "Guix draait nu op Guile 3.0"))
(body (en "The Guix revision you just pulled runs on version 3.0 of
GNU@tie{}Guile (previously it would run on version 2.2). Guile 3.0 improves
performance through the use of just-in-time (JIT) native code generation. The
switch should be entirely transparent to you. See
@uref{https://gnu.org/software/guile} for more information on Guile 3.0.")
(de "Die Guix-Version, die Sie gerade gepullt haben, läuft auf
Version 3.0 von GNU@tie{}Guile (und nicht mehr auf Version 2.2). Guile 3.0
verbessert die Rechenleistung, indem native Maschinenbefehle just in time
erzeugt werden (JIT-Kompilierung). Der Wechsel sollte für Sie völlig
transparent sein und Guix verhält sich gleich. Siehe
@uref{https://gnu.org/software/guile} für weitere Informationen zu Guile
3.0.")
(nl "De Guix die u net heeft gepulld gebruikt versie 3.0 van
GNU@tie{}Guile (voorheen was dat versie 2.2). Guile@tie{}3.0 draait dezelfde
programma's doorgaans sneller door ze just-in-time (JIT) te vertalen naar
machine-instructies. De omschakeling zou voor u volledig naadloos moeten
zijn. Lees @uref{https://gnu.org/software/guile} voor meer informatie over
Guile@tie{}3.0.")))
(entry (commit "828a39da68a9169ef1d9f9ff02a1c66b1bcbe884")
(title (en "New @option{--diff} option for @command{guix challenge}")
(de "Neue @option{--diff}-Option für @command{guix challenge}"))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -88,7 +89,9 @@ (define-record-type* <grub-theme>
(color-normal grub-theme-color-normal
(default '((fg . cyan) (bg . blue))))
(color-highlight grub-theme-color-highlight
(default '((fg . white) (bg . blue)))))
(default '((fg . white) (bg . blue))))
(gfxmode grub-gfxmode
(default '("auto")))) ;list of string
(define %background-image
(grub-image
@ -149,8 +152,16 @@ (define setup-gfxterm-body
;; most other modern architectures have no other mode and therefore don't
;; need to be switched.
(if (string-match "^(x86_64|i[3-6]86)-" system)
"
# Leave 'gfxmode' to 'auto'.
(string-append
"
"
(let ((gfxmode (and=>
(and=> config bootloader-configuration-theme)
grub-gfxmode)))
(if gfxmode
(string-append "set gfxmode=" (string-join gfxmode ";"))
"# Leave 'gfxmode' to 'auto'."))
"
insmod video_bochs
insmod video_cirrus
insmod gfxterm
@ -166,7 +177,7 @@ (define setup-gfxterm-body
insmod vbe
insmod vga
fi
"
")
""))
(define (setup-gfxterm config font-file)

View file

@ -1336,6 +1336,9 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-CVE-2020-7039.patch \
%D%/packages/patches/qemu-CVE-2020-7211.patch \
%D%/packages/patches/qemu-fix-documentation-build-failure.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@ -1512,25 +1512,23 @@ (define-public rakarrack
(define-public ir
(package
(name "ir")
(version "1.3.2")
(version "1.3.4")
(source (origin
(method url-fetch)
;; The original home-page is gone. Download the tarball from an
;; archive mirror instead.
(uri (list (string-append
"https://web.archive.org/web/20150803095032/"
"http://factorial.hu/system/files/ir.lv2-"
version ".tar.gz")
(string-append
"https://mirrors.kernel.org/gentoo/distfiles/ir.lv2-"
version ".tar.gz")))
(method git-fetch)
(uri (git-reference
(url "https://github.com/tomszilagyi/ir.lv2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
"0svmjhg4r6wy5ci5rwz43ybll7yxjv7nnj7nyqscbzhr3gi5aib0"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "INSTDIR="
(assoc-ref %outputs "out") "/lib/lv2"))
#:phases (modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(inputs
@ -1546,9 +1544,7 @@ (define-public ir
(list (search-path-specification
(variable "LV2_PATH")
(files '("lib/lv2")))))
;; Link to an archived copy of the home-page since the original is gone.
(home-page (string-append "https://web.archive.org/web/20150803095032/"
"http://factorial.hu/plugins/lv2/ir"))
(home-page "https://tomszilagyi.github.io/plugins/ir.lv2")
(synopsis "LV2 convolution reverb")
(description
"IR is a low-latency, real-time, high performance signal convolver

View file

@ -7349,7 +7349,7 @@ (define-public r-biocset
(description
"BiocSet displays different biological sets in a triple tibble format.
These three tibbles are @code{element}, @code{set}, and @code{elementset}.
The user has the abilty to activate one of these three tibbles to perform
The user has the ability to activate one of these three tibbles to perform
common functions from the @code{dplyr} package. Mapping functionality and
accessing web references for elements/sets are also available in BiocSet.")
(license license:artistic2.0)))

View file

@ -47,8 +47,8 @@ (define-module (gnu packages ci)
#:use-module (guix build-system gnu))
(define-public cuirass
(let ((commit "46f73b6b7c05389c67b02d32c8946ca665611cba")
(revision "27"))
(let ((commit "b9031db946ff89a39e1507b430f64402b0e9572a")
(revision "28"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -60,7 +60,7 @@ (define-public cuirass
(file-name (string-append name "-" version))
(sha256
(base32
"1zw4g4y0cc76i0s0hdc7jbyhwkn8pz03k6x02dslq42000cyjgi2"))))
"103smfbdpgaw17xw3vc9cb3nfisrx64k71rpzn8g35f3jz7bxdcf"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View file

@ -9544,7 +9544,7 @@ (define-public rust-rust-argon2-0.5
(("rust-hex" ,rust-hex-0.3))))
(home-page "https://github.com/sru-systems/rust-argon2")
(synopsis "Rust implementation of the Argon2 password hashing function")
(description "This package contans a rust implementation of the Argon2
(description "This package contains a rust implementation of the Argon2
password hashing function.")
(license (list license:expat license:asl2.0))))
@ -10219,7 +10219,7 @@ (define-public rust-serde-bytes-0.11
("rust-serde-test" ,rust-serde-test-1.0))))
(home-page "https://github.com/serde-rs/bytes")
(synopsis
"Hanlde of integer arrays and vectors for Serde")
"Handle of integer arrays and vectors for Serde")
(description
"Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
(license (list license:expat license:asl2.0))))
@ -13582,7 +13582,7 @@ (define-public rust-which-2.0
(synopsis "Rust equivalent of Unix command \"which\"")
(description
"This package provides a Rust equivalent of Unix command \"which\".
Locate installed execuable in cross platforms.")
Locate installed executable in cross platforms.")
(license license:expat)))
(define-public rust-widestring-0.4

View file

@ -46,7 +46,7 @@
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
;;; Copyright © 2019, 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2019 Amar Singh <nly@disroot.org>
;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
@ -105,6 +105,7 @@ (define-module (gnu packages emacs-xyz)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages telephony)
#:use-module (gnu packages terminals)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tcl)
@ -959,15 +960,13 @@ (define-public emacs-anaphora
(define-public emacs-xr
(package
(name "emacs-xr")
(version "1.13")
(version "1.14")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/xr-" version ".tar"))
(uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
(sha256
(base32
"1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
(base32 "1hfl7jvimgdgi2mwsx9laxcywp4n6k6vfkanjwm3sf27awqz7ngs"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/xr.html")
(synopsis "Convert string regexp to rx notation")
@ -17401,6 +17400,73 @@ (define-public emacs-mpdel
stored playlists.")
(license license:gpl3+)))
(define-public emacs-vterm
(let ((version "0")
(revision "1")
(commit "7d7381fa8104b55b70148cf147523d9ab7f01fcd"))
(package
(name "emacs-vterm")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/akermu/emacs-libvterm.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"04a2jlhmr20ipgzpnba3yryw3ly7qdxjgaw10dwn9wxy1yqmapz1"))))
(build-system emacs-build-system)
(arguments
`(#:modules ((guix build emacs-build-system)
((guix build cmake-build-system) #:prefix cmake:)
(guix build emacs-utils)
(guix build utils))
#:imported-modules (,@%emacs-build-system-modules
(guix build cmake-build-system))
#:phases
(modify-phases %standard-phases
(add-before 'add-source-to-load-path 'remove-vterm-module-make
(lambda* (#:key outputs #:allow-other-keys)
;; Remove the Emacs Lisp file.
(delete-file "vterm-module-make.el")
;; Remove references to the removed file.
(make-file-writable "vterm.el")
(emacs-substitute-sexps "vterm.el"
("(or (require 'vterm-module nil t)"
`(module-load
,(string-append (assoc-ref outputs "out")
"/lib/vterm-module.so"))))
#t))
(add-after 'build 'configure
;; Run cmake.
(lambda* (#:key outputs #:allow-other-keys)
((assoc-ref cmake:%standard-phases 'configure)
#:outputs outputs
#:out-of-source? #f
#:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
#t))
(add-after 'configure 'make
;; Run make.
(lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
;; Compile the shared object file.
(apply invoke "make" "all" make-flags)
;; Move the file into /lib.
(install-file
"vterm-module.so"
(string-append (assoc-ref outputs "out") "/lib"))
#t)))
#:tests? #f))
(native-inputs
`(("cmake" ,cmake-minimal)
("libtool" ,libtool)
("libvterm" ,libvterm)))
(home-page "https://github.com/akermu/emacs-libvterm")
(synopsis "Emacs libvterm integration")
(description "This package implements a bridge to @code{libvterm} to
display a terminal in an Emacs buffer.")
(license license:gpl3+))))
(define-public emacs-simple-mpc
;; There have been no releases.
(let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
@ -20422,9 +20488,9 @@ (define-public emacs-telega
;; This package has versions newer than indicated on MELPA.
;; Get the current version from `telega-version` in telega.el.
;; or by running M-x telega-version.
(let ((commit "69565cc4de72e28148c8041de8930a122a39b800")
(revision "4")
(version "0.5.4"))
(let ((commit "f6728934988140839a71550c9c18b65424ba6225")
(revision "0")
(version "0.5.10"))
(package
(name "emacs-telega")
(version (git-version version revision commit))
@ -20436,7 +20502,7 @@ (define-public emacs-telega
(commit commit)))
(sha256
(base32
"0blvj07f1sbdmp68qwlwgnhnv42ib0mjai5ndf8scbi12drn4rmk"))
"1ijz1isxzssbhz6bxrqmn6wv2apx5rhvd9sbsclv1gaiz3wmkj7i"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -20634,6 +20700,31 @@ (define-public emacs-fullframe
execution of buffer-exposing commands.")
(license license:gpl3+)))
(define-public emacs-eshell-toggle
(let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
(revision "1"))
(package
(name "emacs-eshell-toggle")
(version (git-version "0.10.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/4DA/eshell-toggle.git")
(commit commit)))
(sha256
(base32
"0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/4DA/eshell-toggle")
(synopsis "Show and hide an @code{eshell} instance")
(description "This package toggles an @code{eshell} instance for the
current buffer.")
(license license:gpl3+))))
(define-public emacs-repl-toggle
(package
(name "emacs-repl-toggle")
@ -20998,7 +21089,7 @@ (define-public emacs-helm-clojuredocs
`(("emacs-helm" ,emacs-helm)
("emacs-edn" ,emacs-edn)))
(synopsis "Search help on clojuredocs.org with Helm")
(description "This packages provides a Helm interface to lookup Clojure
(description "This package provides a Helm interface to lookup Clojure
documentation on @url{https://clojuredocs.org} with Helm.
Two function are exposed:

View file

@ -2,7 +2,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;;
@ -459,16 +459,16 @@ (define-public libjaylink
(define-public jimtcl
(package
(name "jimtcl")
(version "0.77")
(version "0.79")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/msteveb/jimtcl"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/msteveb/jimtcl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1cmk3qscqckg70chjyimzxa2qcka4qac0j4wq908kiijp45cax08"))))
"1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -479,7 +479,7 @@ (define-public jimtcl
(let ((out (assoc-ref outputs "out")))
(invoke "./configure"
(string-append "--prefix=" out))))))))
(home-page "http://jim.tcl.tk")
(home-page "http://jim.tcl.tk/index.html")
(synopsis "Small footprint Tcl implementation")
(description "Jim is a small footprint implementation of the Tcl programming
language.")
@ -753,13 +753,14 @@ (define-public openspin
(name "openspin")
(version "1.00.78")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/parallaxinc/"
"OpenSpin/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/parallaxinc/OpenSpin")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1k2dbz1v604g4r2d9qhckg2m8dnhiya760mbsqfsg4waxal87yb7"))))
"0ghk8hj4717ydhqzx2pfs6737s1cxng6sgg2xgbkwvcfclxdbrd0"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@ -826,13 +827,14 @@ (define-public spin2cpp
(name "spin2cpp")
(version "3.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/totalspectrum/spin2cpp/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/totalspectrum/spin2cpp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05qak187sn0xg7vhrxw27b19xhmid1b8ab8kax3gv0faavzablfw"))))
"0wznqvsckzzz4hdy2rpvj6jqpxw4yn7i0c7zxfm6i46k8gg9327b"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;; The tests assume that a micro-controller is connected.
@ -1260,13 +1262,14 @@ (define-public stlink
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/texane/stlink/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/texane/stlink")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01z1cz1a5xbbhd163qrqcgp4bi1k145pb80jmwdz50g7sfzmy570"))))
"1d5gxiqpsm8fc105cxlp27af9fk339fap5h6nay21x5a7n61jgyc"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests

View file

@ -6,7 +6,7 @@
;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
@ -405,26 +405,26 @@ (define-public higan
(define-public mgba
(package
(name "mgba")
(version "0.7.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mgba-emu/mgba.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1wrmwh50rv8bd328r8cisrihq6h90kx2bfb0vmjfbsd3l1jvgrgm"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
'(begin
(for-each
(lambda (subdir)
(let ((lib-subdir (string-append "src/third-party/" subdir)))
(delete-file-recursively lib-subdir)))
'("libpng" "lzma" "sqlite3" "zlib"))
#t))))
(version "0.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mgba-emu/mgba.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0m3rgcdv32ms98j7rrmk2hphvn462bwsd6xfz2ssy05398pj4ljh"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
'(begin
(for-each
(lambda (subdir)
(let ((lib-subdir (string-append "src/third-party/" subdir)))
(delete-file-recursively lib-subdir)))
'("libpng" "lzma" "sqlite3" "zlib"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no "test" target

View file

@ -2,6 +2,7 @@
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,10 +24,12 @@ (define-module (gnu packages enchant)
#:use-module (gnu packages aspell)
#:use-module (gnu packages check)
#:use-module (gnu packages glib)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages pkg-config)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix licenses)
#:use-module (srfi srfi-1))
@ -86,3 +89,35 @@ (define-public enchant-1.6
(sha256
(base32
"0zq9yw1xzk8k9s6x83n1f9srzcwdavzazn3haln4nhp9wxxrxb1g"))))))
(define-public python-pyenchant
(package
(name "python-pyenchant")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyenchant" version))
(sha256
(base32
"1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found
#:phases
(modify-phases %standard-phases
(add-before 'build 'setlib
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "enchant/_enchant.py"
(("/opt/local/lib/libenchant.dylib\"")
(string-append "/opt/local/lib/libenchant.dylib\"\n"
" yield \"" (assoc-ref inputs "enchant")
"/lib/libenchant-2.so\""))))))))
(inputs
`(("enchant" ,enchant)))
(home-page "https://github.com/pyenchant/pyenchant")
(synopsis "Spellchecking library for Python")
(description "PyEnchant is a spellchecking library for Python, based on the
Enchant library. PyEnchant combines all the functionality of the underlying
Enchant library with the flexibility of Python. It also provides some
higher-level functionality than is available in the C API.")
(license lgpl2.1+)))

View file

@ -1699,6 +1699,7 @@ (define-public freehdl
("libtool" ,libtool)))
(native-inputs
`(("pkg-config-native" ,pkg-config)
("gcc" ,gcc-5)
("libtool-native" ,libtool)))
(home-page "http://www.freehdl.seul.org/")
(synopsis "VHDL simulator")

View file

@ -9,7 +9,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
@ -1009,40 +1009,29 @@ (define-public python2-stdnum
(define-public python-duniterpy
(package
(name "python-duniterpy")
(version "0.55.1")
(version "0.56.0")
(source
(origin
(method git-fetch)
;; Pypi's default URI is missing "requirements.txt" file.
(uri (git-reference
(url "https://git.duniter.org/clients/python/duniterpy.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "duniterpy" version))
(sha256
(base32
"07zsbbkzmnvyv5v0vw2d42vw3ar4iqhlidy9376ysk4ldlj1igf7"))))
(base32 "1h8d8cnr6k5sw4cqy8r82zy4ldzpvn4nlk2221lz2haqq7xm4s5z"))))
(build-system python-build-system)
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
;; FIXME: Tests fail with: "ModuleNotFoundError: No module named
;; 'tests'". Not sure how to handle this.
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'build 'build-documentation
;; "setup.py" tries to open missing "requirements.txt".
(add-after 'unpack 'ignore-missing-file
(lambda _
(invoke "make" "docs")))
(add-after 'build-documentation 'install-documentation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name)))
(mkdir-p doc)
(copy-recursively "docs/_build/html" doc))
(substitute* "setup.py"
(("open\\('requirements\\.txt'\\)") "[]"))
#t)))))
(native-inputs
`(("sphinx" ,python-sphinx)
("sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
(propagated-inputs
`(("aiohttp" ,python-aiohttp)
("attr" ,python-attr)
("attrs" ,python-attrs)
("base58" ,python-base58)
("jsonschema" ,python-jsonschema)
("libnacl" ,python-libnacl)
@ -1067,17 +1056,13 @@ (define-public python-duniterpy
(define-public silkaj
(package
(name "silkaj")
(version "0.7.3")
(version "0.7.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.duniter.org/clients/python/silkaj.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "silkaj" version))
(sha256
(base32
"0yk2574yb0d0k0rg7qf0pkmjidblsad04x8hhqpy9k80rvgjcr5w"))))
(base32 "0hrn0jwg415z7wjkp0myvw85wszlfi18f56j03075xxakr4dmi2j"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;no test
@ -1088,7 +1073,7 @@ (define-public silkaj
("pynacl" ,python-pynacl)
("tabulate" ,python-tabulate)
("texttable" ,python-texttable)))
(home-page "https://silkaj.duniter.org/")
(home-page "https://git.duniter.org/clients/python/silkaj")
(synopsis "Command line client for Duniter network")
(description "@code{Silkaj} is a command line client for the
@uref{https://github.com/duniter/duniter/, Duniter} network.
@ -1224,7 +1209,8 @@ (define-public libofx
"1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
'(#:parallel-build? #f ;fails with -j64
#:configure-flags
(list (string-append "--with-opensp-includes="
(assoc-ref %build-inputs "opensp")
"/include/OpenSP"))))
@ -1301,3 +1287,77 @@ (define-public opensp
(license:non-copyleft
"file://COPYING"
"See COPYING in the distribution."))))
(define-public bitcoin-unlimited
(package
(name "bitcoin-unlimited")
(version "1.7.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BitcoinUnlimited/BitcoinUnlimited.git")
(commit (string-append "bucash" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05rcd73mg2fb2zb6b1imzspck6jhcy3xymrr7n24kwjrzmvihdpx"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("python" ,python) ; for the tests
("util-linux" ,util-linux) ; provides the hexdump command for tests
("qttools" ,qttools)))
(inputs
`(("bdb" ,bdb-4.8)
("boost" ,boost)
("libevent" ,libevent)
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
("qrencode" ,qrencode)
("qtbase" ,qtbase)
("zeromq" ,zeromq)
("zlib" ,zlib)))
(arguments
`(#:configure-flags
(list
;; Boost is not found unless specified manually.
(string-append "--with-boost="
(assoc-ref %build-inputs "boost"))
;; XXX: The configure script looks up Qt paths by
;; `pkg-config --variable=host_bins Qt5Core`, which fails to pick
;; up executables residing in 'qttools', so we specify them here.
(string-append "ac_cv_path_LRELEASE="
(assoc-ref %build-inputs "qttools")
"/bin/lrelease")
(string-append "ac_cv_path_LUPDATE="
(assoc-ref %build-inputs "qttools")
"/bin/lupdate"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; TODO: Find why utilprocess_tests never ends. Disable for now.
(substitute* "src/test/utilprocess_tests.cpp"
(("#if \\(BOOST_OS_LINUX && \\(BOOST_VERSION >= 106500\\)\\)")
"#if 0"))
#t))
(add-before 'configure 'make-qt-deterministic
(lambda _
;; Make Qt deterministic.
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
#t))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
#t)))))
(home-page "https://www.bitcoinunlimited.info/")
(synopsis "Client for the Bitcoin Cash protocol")
(description
"Bitcoin Unlimited is a client for the Bitcoin Cash peer-to-peer
electronic cash system. This package provides a command line client and
a Qt GUI.")
(license license:expat)))

View file

@ -1998,7 +1998,11 @@ (define-public ode
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DODE_WITH_LIBCCD_SYSTEM=ON")
;; Tests fail on all systems but x86_64.
`(#:tests? ,(string=? "x86_64-linux"
(or (%current-target-system)
(%current-system)))
#:configure-flags '("-DODE_WITH_LIBCCD_SYSTEM=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unbundle-libccd

View file

@ -4177,7 +4177,9 @@ (define-public kobodeluxe
(list (string-append "CPPFLAGS=-I"
(assoc-ref %build-inputs "sdl-union")
"/include/SDL"))))
(inputs `(("sdl-union" ,(sdl-union (list sdl sdl-image)))))
(inputs
`(("glu" ,glu)
("sdl-union" ,(sdl-union (list sdl sdl-image)))))
(synopsis "Shooter with space station destruction")
(description
"Kobo Deluxe is an enhanced version of Akira Higuchi's XKobo graphical game

View file

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2016, 2019 Eraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
@ -1493,7 +1493,15 @@ (define-public guile-ics
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))))
"0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure.ac"
(("^GUILE_PKG.*")
"GUILE_PKG([3.0 2.2 2.0])\n"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf-wrapper)
@ -1513,6 +1521,14 @@ (define-public guile-ics
The library is shipped with documentation in Info format and usage examples.")
(license license:gpl3+)))
(define-public guile3.0-ics
(package
(inherit guile-ics)
(name "guile3.0-ics")
(inputs `(("guile" ,guile-3.0)
,@(alist-delete "guile" (package-inputs guile-ics))))
(propagated-inputs `(("guile-lib" ,guile3.0-lib)))))
(define-public guile-wisp
(package
(name "guile-wisp")
@ -2488,14 +2504,14 @@ (define-public guile-file-names
(define-public guile-gi
(package
(name "guile-gi")
(version "0.2.1")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "http://lonelycactus.com/tarball/guile_gi-"
version ".tar.gz"))
(sha256
(base32
"1ah5bmkzplsmkrk7v9vlxlqch7i91qv4cq2d2nar9xshbpcrj484"))))
"1v82kz8mz7wgq6w5llaz8a2wwdnl8vk2667dpjwjxscl0qyxsy6y"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-gnu-filesystem-hierarchy")
@ -2530,6 +2546,14 @@ (define-public guile-gi
pre-alpha code.")
(license license:gpl3+)))
(define-public guile3.0-gi
(package
(inherit guile-gi)
(name "guile3.0-gi")
(native-inputs
`(("guile" ,guile-3.0)
,@(package-native-inputs guile-gi)))))
(define-public guile-srfi-159
(let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb")
(revision "0"))

View file

@ -11742,7 +11742,7 @@ (define-public ghc-time-compat
("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
(home-page "https://github.com/phadej/time-compat")
(synopsis "Compatibility package for time")
(description "This packages tries to compat as many @code{time}
(description "This package tries to compat as many @code{time}
features as possible.")
(license license:bsd-3)))

View file

@ -2,7 +2,7 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
@ -40,14 +40,14 @@ (define-public font-mathjax
(version "2.7.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/mathjax/MathJax/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/mathjax/MathJax")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1r72di4pg4i6pfhcskkxqmf1158m81ki6a7lbw6nz4zh7xw23hy4"))))
"127j12g7v2hx6k7r00b8cp49s7nkrwhxy6l8p03pw34xpxbgbimm"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -55,20 +55,11 @@ (define-public font-mathjax
(begin
(use-modules (guix build utils)
(ice-9 match))
(set-path-environment-variable
"PATH" '("bin") (map (match-lambda
((_ . input)
input))
%build-inputs))
(let ((install-directory (string-append %output "/share/fonts/mathjax")))
(mkdir-p install-directory)
(invoke "tar" "-C" install-directory "-xvf"
(assoc-ref %build-inputs "source")
,(string-append "MathJax-" version "/fonts")
"--strip" "2")))))
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(copy-recursively (string-append (assoc-ref %build-inputs "source")
"/fonts")
install-directory)))))
(home-page "https://www.mathjax.org/")
(synopsis "Fonts for MathJax")
(description "This package contains the fonts required for MathJax.")
@ -96,10 +87,8 @@ (define-public js-mathjax
(list (assoc-ref %build-inputs "glibc-utf8-locales")))
(setenv "LANG" "en_US.UTF-8")
(let ((install-directory (string-append %output "/share/javascript/mathjax")))
(invoke "tar" "xvf" (assoc-ref %build-inputs "source")
,(string-append "MathJax-" (package-version font-mathjax)
"/unpacked")
"--strip" "2")
(copy-recursively (string-append (assoc-ref %build-inputs "source") "/unpacked")
"MathJax-unpacked")
(mkdir-p install-directory)
(symlink (string-append (assoc-ref %build-inputs "font-mathjax")
"/share/fonts/mathjax")
@ -108,8 +97,8 @@ (define-public js-mathjax
(for-each
(lambda (file)
(let ((installed (string-append install-directory
;; remove prefix "."
(string-drop file 1))))
;; remove prefix "./MathJax-unpacked"
(string-drop file 18))))
(format #t "~a -> ~a~%" file installed)
(cond
((string-match "\\.js$" file)

View file

@ -189,33 +189,33 @@ (define (linux-libre-deblob-scripts version
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
"5.4.4"
"5.4.14"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
(base32 "09hy3jqb8lny861pxjbjvzg90imi8p7z10j14xp0rclxmyb81rk3")))
(base32 "121px6030s89jh975sw0whwq315al6px1s7ildz3asql97bjdgc8")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
"4.19.90"
"4.19.98"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "0xpcl6pd1280gm81bivz45dfhy6v16j0hghxhjynmcbasgnx8vpd")))
(base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr")))
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
"4.14.159"
"4.14.167"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "0yd0c3qxk5rm686j4kd5v4zppjj3k9ivqnv46z4p3xh1gqmhv7cz")))
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
"4.9.206"
"4.9.211"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w")))
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
"4.4.206"
"4.4.211"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx")))
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define* (computed-origin-method gexp-promise hash-algo hash
#:optional (name "source")
@ -357,42 +357,42 @@ (define (%upstream-linux-source version hash)
"linux-" version ".tar.xz"))
(sha256 hash)))
(define-public linux-libre-5.4-version "5.4.13")
(define-public linux-libre-5.4-version "5.4.15")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "1mva73ywb2r5lrmzp5m7hyy0zpgxdg91nw42c1z1sz3ydpcjkys9")))
(hash (base32 "1ccldlwj89qd22cl06706w7xzm8n69m6kg8ic0s5ns0ghlpj41v4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.97")
(define-public linux-libre-4.19-version "4.19.98")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1nln2ksfm0ddkqdmhvxwzqq96av1myx89kr1wxs54m2yw0la7clg")))
(hash (base32 "0dr9vnaaycq77r49mj001zvkxhdyxkgh27dbjsaxcq1dq8xv3zli")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.166")
(define-public linux-libre-4.14-version "4.14.167")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "003wax7dsahlv1iv9yqhkjbxx20crmwyd9464cx974i03a0vzclb")))
(hash (base32 "0hzyb5k6adhg4vkhix21kg7z6gdzyk1dnzylvbsz9yh2m73qzdrb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.210")
(define-public linux-libre-4.9-version "4.9.211")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "04skcbbp1yv54hwipa1pjx04lb21013r0lh2swycq0kdhc1m54d0")))
(hash (base32 "1gmi27ih5ys1wxbrnc4a5dr9vw9ngccs9xpa2p0gsk4pbn6n15r5")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.210")
(define-public linux-libre-4.4-version "4.4.211")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "1pg754s3138d2lq5y2zd1z7dagdy8pl4ifmp0754sa1rkjd3h0ns")))
(hash (base32 "1f6qz4bvjn18cfcg3wwfsl75aw2kxwn28r228kdic9aibhy6rpvp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))

View file

@ -206,6 +206,8 @@ (define-public ghmm
(arguments
`(#:imported-modules (,@%gnu-build-system-modules
(guix build python-build-system))
#:modules ((guix build python-build-system)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-dir

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
@ -87,6 +87,7 @@ (define-module (gnu packages mail)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
@ -136,7 +137,9 @@ (define-module (gnu packages mail)
#:use-module (guix build-system guile)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial))
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
(define-public mailutils
(package
@ -151,7 +154,7 @@ (define-public mailutils
"1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7"))))
(build-system gnu-build-system)
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'prepare-test-suite
(lambda _
@ -199,12 +202,18 @@ (define-public mailutils
#t)))
;; TODO: Add `--with-sql'.
#:configure-flags (list "--sysconfdir=/etc"
#:configure-flags
(list "--sysconfdir=/etc"
;; Add "/2.2" to the installation directory.
(string-append "--with-guile-site-dir="
(assoc-ref %outputs "out")
"/share/guile/site/2.2"))
;; Add "/X.Y" to the installation directory.
(string-append "--with-guile-site-dir="
(assoc-ref %outputs "out")
"/share/guile/site/"
,(match (assoc "guile"
(package-inputs this-package))
(("guile" guile)
(version-major+minor
(package-version guile))))))
#:parallel-tests? #f))
(native-inputs
@ -237,6 +246,14 @@ (define-public mailutils
;; Libraries are under LGPLv3+, and programs under GPLv3+.
(list gpl3+ lgpl3+))))
(define-public guile3.0-mailutils
(package
(inherit mailutils)
(name "guile3.0-mailutils")
(inputs
`(("guile" ,guile-3.0)
,@(alist-delete "guile" (package-inputs mailutils))))))
(define-public nullmailer
(package
(name "nullmailer")
@ -3120,11 +3137,11 @@ (define-public ytnef
(license gpl2+)))
(define-public public-inbox
(let ((commit "3cf66514aea9e958999973b9f104473b6d800fbe")
(let ((commit "05a06f3262a2ddbf46adb85169e13ce9127e4524")
(revision "0"))
(package
(name "public-inbox")
(version (git-version "1.0.0" revision commit))
(version (git-version "1.2.0" revision commit))
(source
(origin (method git-fetch)
(uri (git-reference
@ -3132,7 +3149,7 @@ (define-public public-inbox
(commit commit)))
(sha256
(base32
"1sxycwlm2n6p544gn9f0vf3xs6gz8vdswdhs2ha6fka8mgabvmdh"))
"06cclxg46gsls3x19l9s8s9x8gkjghm6gd4jb1v9ng6fds6xi2fg"))
(file-name (git-file-name name version))))
(build-system perl-build-system)
(arguments
@ -3149,6 +3166,9 @@ (define-public public-inbox
(lambda _
(substitute* "t/spawn.t"
(("\\['env'\\]") (string-append "['" (which "env") "']")))
(substitute* "t/ds-leak.t"
(("/bin/sh") (which "sh")))
(invoke "./certs/create-certs.perl")
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -3168,10 +3188,12 @@ (define-public public-inbox
#t)))))
(native-inputs
`(("git" ,git)
("xapian" ,xapian)))
("xapian" ,xapian)
;; For testing.
("lsof" ,lsof)
("openssl" ,openssl)))
(inputs
`(("perl-danga-socket" ,perl-danga-socket)
("perl-dbd-sqlite" ,perl-dbd-sqlite)
`(("perl-dbd-sqlite" ,perl-dbd-sqlite)
("perl-dbi" ,perl-dbi)
("perl-email-address-xs" ,perl-email-address-xs)
("perl-email-mime-contenttype" ,perl-email-mime-contenttype)

View file

@ -1949,9 +1949,9 @@ (define-public telegram-purple
(license license:gpl2+)))
(define-public tdlib
(let ((commit "80c35676a2eb1e9b71db355ee217bba79fbdce31")
(let ((commit "5efaf8c3b523797373c487d972ea514364e5eac2")
(revision "1")
(version "1.5.4"))
(version "1.5.5"))
(package
(name "tdlib")
(version (git-version version revision commit))
@ -1962,7 +1962,7 @@ (define-public tdlib
(commit commit)))
(sha256
(base32
"09c0pygqirapgxxzcc3sr0x67qhz8cx2klznrbdyi0118r9s8a7a"))
"1grflgvqqxbf84yi09j60a1cpbcrv85yhj9a735agi32hgd51whi"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments

View file

@ -10,7 +10,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -1749,58 +1749,84 @@ (define-public tuxguitar
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-dir
(lambda _ (chdir "TuxGuitar-lib") #t))
(add-after 'build 'build-libraries
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((initial-classpath (getenv "CLASSPATH"))
(build-dir (lambda (dir)
(chdir "..")
(setenv "CLASSPATH"
(string-join (cons initial-classpath
(find-files (getcwd) "\\.jar$"))
":"))
(chdir dir)
(if (file-exists? "build.xml")
((assoc-ref %standard-phases 'build)
#:build-target "build")
(begin
;; Generate default build.xml.
((@@ (guix build ant-build-system) default-build.xml)
(string-append (string-downcase dir) ".jar")
(string-append (assoc-ref outputs "out")
"/share/java"))
((assoc-ref %standard-phases 'build)))))))
(map build-dir '("TuxGuitar-editor-utils"
(setenv
"CLASSPATH"
(string-join (cons initial-classpath
(find-files (getcwd) "\\.jar$"))
":"))
(with-directory-excursion dir
(if (file-exists? "build.xml")
((assoc-ref %standard-phases 'build)
#:build-target "build")
(begin
;; Generate default build.xml.
((@@ (guix build ant-build-system)
default-build.xml)
(string-append (string-downcase dir) ".jar")
(string-append (assoc-ref outputs "out")
"/share/java"))
((assoc-ref %standard-phases 'build))))))))
(map build-dir '("TuxGuitar-lib"
"TuxGuitar-editor-utils"
"TuxGuitar-ui-toolkit"
"TuxGuitar-ui-toolkit-swt"
"TuxGuitar-awt-graphics")))))
(add-after 'build-libraries 'build-application
"TuxGuitar-viewer"
"TuxGuitar"
"TuxGuitar-gm-utils"
"TuxGuitar-alsa"
"TuxGuitar-midi"
"TuxGuitar-midi-ui"))
#t)))
(add-after 'build 'build-jni
(lambda _
(chdir "../TuxGuitar")
((assoc-ref %standard-phases 'build)
#:build-target "build")))
(setenv "CC" "gcc")
(setenv "CFLAGS" (string-append
"-fpic -I"
(getcwd)
"/build-scripts/native-modules/common-include"))
(invoke "make" "-C" "./TuxGuitar-alsa/jni" "-f" "GNUmakefile")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(share (string-append out "/share"))
(jni-lib (string-append out "/lib"))
(lib (string-append share "/java"))
(swt (assoc-ref inputs "java-swt")))
(swt (assoc-ref inputs "java-swt"))
(mime (string-append share "/mime/packages"))
(app (string-append share "/applications"))
(man (string-append share "/man/man1")))
(mkdir-p bin)
;; Install all jars.
(for-each (lambda (file)
(install-file file lib))
(find-files ".." "\\.jar$"))
(find-files "." "\\.jar$"))
;; Install jni libraries
(for-each (lambda (file)
(install-file file jni-lib))
(find-files "." "\\-jni.so$"))
;; Install all resources.
(copy-recursively "share" share)
(copy-recursively "./TuxGuitar/share" share)
;; Install desktop and mime files
(install-file "./misc/tuxguitar.xml" mime)
(install-file "./misc/tuxguitar.desktop" app)
;; Install manaual
(install-file "./misc/tuxguitar.1" man)
;; Create wrapper.
(call-with-output-file (string-append bin "/tuxguitar")
(lambda (port)
(let ((classpath (string-join (append (find-files lib "\\.jar$")
(find-files swt "\\.jar$"))
(let ((classpath (string-join (append (find-files lib "\\.jar$")
(find-files swt "\\.jar$"))
":")))
(format
port
@ -1810,12 +1836,14 @@ (define-public tuxguitar
" -Dtuxguitar.home.path=" out
" -Dtuxguitar.share.path=" out "/share"
" -Dswt.library.path=" swt "/lib"
" -Djava.library.path=" out "/lib"
" org.herac.tuxguitar.app.TGMainSingleton"
" \"$1\" \"$2\"")))))
(chmod (string-append bin "/tuxguitar") #o555)
#t))))))
(inputs
`(("java-swt" ,java-swt)))
`(("alsa-lib" ,alsa-lib)
("java-swt" ,java-swt)))
(home-page "http://tuxguitar.com.ar/")
(synopsis "Multitrack tablature editor and player")
(description
@ -3850,34 +3878,30 @@ (define-public lmms
(define-public musescore
(package
(name "musescore")
(version "3.3.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/musescore/MuseScore.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jwj89v69nhyawj8x7niwznm1vgvp51dhzw6ggnarc3wdvp6qq8y"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
'(begin
(substitute* "thirdparty/kQOAuth/CMakeLists.txt"
(("-I \\$\\{PROJECT_SOURCE_DIR\\}/thirdparty/openssl/include ")
""))
(substitute* "thirdparty/kQOAuth/kqoauthutils.cpp"
(("#include <openssl/.*") ""))
(for-each delete-file-recursively
'("thirdparty/freetype"
"thirdparty/openssl"
"thirdparty/portmidi"))
#t))))
(version "3.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/musescore/MuseScore.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16rx4x0czhwjg8vppcc7iw0cvii9q2l730cqhmhvip9r8wwamsvj"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
'(begin
(for-each delete-file-recursively
'("thirdparty/freetype"
"thirdparty/openssl"
"thirdparty/portmidi"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
`("-DBUILD_WEBENGINE=OFF"
`("-DBUILD_TELEMETRY_MODULE=OFF" ;don't phone home
"-DBUILD_WEBENGINE=OFF"
"-DDOWNLOAD_SOUNDFONT=OFF"
"-DUSE_SYSTEM_FREETYPE=ON")
;; There are tests, but no simple target to run. The command used to

View file

@ -1765,7 +1765,7 @@ (define-public ocaml-mmap
(synopsis "File mapping for OCaml")
(description "This project provides a @command{Mmap.map_file} function
for mapping files in memory. This function is the same as the
@command{Unix.map_file} funciton added in OCaml >= 4.06.")
@command{Unix.map_file} function added in OCaml >= 4.06.")
(license (list license:qpl license:lgpl2.0))))
(define-public ocaml-lwt

View file

@ -0,0 +1,173 @@
Fix CVE-2020-7039:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7039
Patches copied from upstream dependency repository:
https://gitlab.freedesktop.org/slirp/libslirp/commit/2655fffed7a9e765bcb4701dd876e9dab975f289
https://gitlab.freedesktop.org/slirp/libslirp/commit/ce131029d6d4a405cb7d3ac6716d03e58fb4a5d9
https://gitlab.freedesktop.org/slirp/libslirp/commit/82ebe9c370a0e2970fb5695aa19aa5214a6a1c80
From 2655fffed7a9e765bcb4701dd876e9dab975f289 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Wed, 8 Jan 2020 00:58:48 +0100
Subject: [PATCH] tcp_emu: Fix oob access
The main loop only checks for one available byte, while we sometimes
need two bytes.
---
CHANGELOG.md | 1 +
src/tcp_subr.c | 7 +++++++
2 files changed, 8 insertions(+)
#diff --git a/CHANGELOG.md b/CHANGELOG.md
#index 00d0ce2..5cf94a8 100644
#--- a/CHANGELOG.md
#+++ b/CHANGELOG.md
#@@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
# ### Fixed
#
# - ncsi: fix checksum OOB memory access
#+ - `tcp_emu()`: fix OOB accesses
#
# ## [4.1.0] - 2019-12-02
#
diff --git a/src/tcp_subr.c b/src/tcp_subr.c
index 382aa38..9c1bdec 100644
--- a/slirp/src/tcp_subr.c
+++ b/slirp/src/tcp_subr.c
@@ -871,6 +871,9 @@ int tcp_emu(struct socket *so, struct mbuf *m)
break;
case 5:
+ if (bptr == m->m_data + m->m_len - 1)
+ return 1; /* We need two bytes */
+
/*
* The difference between versions 1.0 and
* 2.0 is here. For future versions of
@@ -886,6 +889,10 @@ int tcp_emu(struct socket *so, struct mbuf *m)
/* This is the field containing the port
* number that RA-player is listening to.
*/
+
+ if (bptr == m->m_data + m->m_len - 1)
+ return 1; /* We need two bytes */
+
lport = (((uint8_t *)bptr)[0] << 8) + ((uint8_t *)bptr)[1];
if (lport < 6970)
lport += 256; /* don't know why */
--
2.24.1
From ce131029d6d4a405cb7d3ac6716d03e58fb4a5d9 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 9 Jan 2020 15:12:27 +0530
Subject: [PATCH] slirp: use correct size while emulating IRC commands
While emulating IRC DCC commands, tcp_emu() uses 'mbuf' size
'm->m_size' to write DCC commands via snprintf(3). This may
lead to OOB write access, because 'bptr' points somewhere in
the middle of 'mbuf' buffer, not at the start. Use M_FREEROOM(m)
size to avoid OOB access.
Reported-by: Vishnu Dev TJ <vishnudevtj@gmail.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-Id: <20200109094228.79764-2-ppandit@redhat.com>
---
src/tcp_subr.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/tcp_subr.c b/src/tcp_subr.c
index 9c1bdec..ee7a938 100644
--- a/slirp/src/tcp_subr.c
+++ b/slirp/src/tcp_subr.c
@@ -763,7 +763,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
return 1;
}
m->m_len = bptr - m->m_data; /* Adjust length */
- m->m_len += snprintf(bptr, m->m_size, "DCC CHAT chat %lu %u%c\n",
+ m->m_len += snprintf(bptr, M_FREEROOM(m),
+ "DCC CHAT chat %lu %u%c\n",
(unsigned long)ntohl(so->so_faddr.s_addr),
ntohs(so->so_fport), 1);
} else if (sscanf(bptr, "DCC SEND %256s %u %u %u", buff, &laddr, &lport,
@@ -773,8 +774,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
return 1;
}
m->m_len = bptr - m->m_data; /* Adjust length */
- m->m_len +=
- snprintf(bptr, m->m_size, "DCC SEND %s %lu %u %u%c\n", buff,
+ m->m_len += snprintf(bptr, M_FREEROOM(m),
+ "DCC SEND %s %lu %u %u%c\n", buff,
(unsigned long)ntohl(so->so_faddr.s_addr),
ntohs(so->so_fport), n1, 1);
} else if (sscanf(bptr, "DCC MOVE %256s %u %u %u", buff, &laddr, &lport,
@@ -784,8 +785,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
return 1;
}
m->m_len = bptr - m->m_data; /* Adjust length */
- m->m_len +=
- snprintf(bptr, m->m_size, "DCC MOVE %s %lu %u %u%c\n", buff,
+ m->m_len += snprintf(bptr, M_FREEROOM(m),
+ "DCC MOVE %s %lu %u %u%c\n", buff,
(unsigned long)ntohl(so->so_faddr.s_addr),
ntohs(so->so_fport), n1, 1);
}
--
2.24.1
From 82ebe9c370a0e2970fb5695aa19aa5214a6a1c80 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Thu, 9 Jan 2020 15:12:28 +0530
Subject: [PATCH] slirp: use correct size while emulating commands
While emulating services in tcp_emu(), it uses 'mbuf' size
'm->m_size' to write commands via snprintf(3). Use M_FREEROOM(m)
size to avoid possible OOB access.
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-Id: <20200109094228.79764-3-ppandit@redhat.com>
---
src/tcp_subr.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/tcp_subr.c b/src/tcp_subr.c
index ee7a938..177dfd2 100644
--- a/slirp/src/tcp_subr.c
+++ b/slirp/src/tcp_subr.c
@@ -681,7 +681,7 @@ int tcp_emu(struct socket *so, struct mbuf *m)
n4 = (laddr & 0xff);
m->m_len = bptr - m->m_data; /* Adjust length */
- m->m_len += snprintf(bptr, m->m_size - m->m_len,
+ m->m_len += snprintf(bptr, M_FREEROOM(m),
"ORT %d,%d,%d,%d,%d,%d\r\n%s", n1, n2, n3, n4,
n5, n6, x == 7 ? buff : "");
return 1;
@@ -716,8 +716,7 @@ int tcp_emu(struct socket *so, struct mbuf *m)
n4 = (laddr & 0xff);
m->m_len = bptr - m->m_data; /* Adjust length */
- m->m_len +=
- snprintf(bptr, m->m_size - m->m_len,
+ m->m_len += snprintf(bptr, M_FREEROOM(m),
"27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s",
n1, n2, n3, n4, n5, n6, x == 7 ? buff : "");
@@ -743,8 +742,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
if (m->m_data[m->m_len - 1] == '\0' && lport != 0 &&
(so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr,
htons(lport), SS_FACCEPTONCE)) != NULL)
- m->m_len =
- snprintf(m->m_data, m->m_size, "%d", ntohs(so->so_fport)) + 1;
+ m->m_len = snprintf(m->m_data, M_ROOM(m),
+ "%d", ntohs(so->so_fport)) + 1;
return 1;
case EMU_IRC:
--
2.24.1

View file

@ -0,0 +1,49 @@
Fix CVE-2020-7211:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7211
Patch copied from upstream dependency repository:
https://gitlab.freedesktop.org/slirp/libslirp/commit/14ec36e107a8c9af7d0a80c3571fe39b291ff1d4
From 14ec36e107a8c9af7d0a80c3571fe39b291ff1d4 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Mon, 13 Jan 2020 17:44:31 +0530
Subject: [PATCH] slirp: tftp: restrict relative path access
tftp restricts relative or directory path access on Linux systems.
Apply same restrictions on Windows systems too. It helps to avoid
directory traversal issue.
Fixes: https://bugs.launchpad.net/qemu/+bug/1812451
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-Id: <20200113121431.156708-1-ppandit@redhat.com>
---
src/tftp.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/tftp.c b/src/tftp.c
index 093c2e0..e52e71b 100644
--- a/slirp/src/tftp.c
+++ b/slirp/src/tftp.c
@@ -344,8 +344,13 @@ static void tftp_handle_rrq(Slirp *slirp, struct sockaddr_storage *srcsas,
k += 6; /* skipping octet */
/* do sanity checks on the filename */
- if (!strncmp(req_fname, "../", 3) ||
- req_fname[strlen(req_fname) - 1] == '/' || strstr(req_fname, "/../")) {
+ if (
+#ifdef G_OS_WIN32
+ strstr(req_fname, "..\\") ||
+ req_fname[strlen(req_fname) - 1] == '\\' ||
+#endif
+ strstr(req_fname, "../") ||
+ req_fname[strlen(req_fname) - 1] == '/') {
tftp_send_error(spt, 2, "Access violation", tp);
return;
}
--
2.24.1

View file

@ -0,0 +1,43 @@
Fix a build failure caused by a texinfo bug:
qemu-doc.texi:41: @menu reference to nonexistent node `QEMU Guest Agent'
Patch copied from upstream source repository:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=80bc935eaaf93e5b9a4efe97abd7c51d645f2612
From 80bc935eaaf93e5b9a4efe97abd7c51d645f2612 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Mon, 16 Dec 2019 14:29:41 +0100
Subject: [PATCH] qemu-doc: Remove the unused "Guest Agent" node
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The node has been removed from the texi file some months ago, so we
should remove it from the menu section, too.
Fixes: 27a296fce982 ("qemu-ga: Convert invocation documentation to rST")
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20191216132941.25729-1-thuth@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
qemu-doc.texi | 1 -
1 file changed, 1 deletion(-)
diff --git a/qemu-doc.texi b/qemu-doc.texi
index eea91a2d1e..39f950471f 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -38,7 +38,6 @@
* Introduction::
* QEMU PC System emulator::
* QEMU System emulator for non PC targets::
-* QEMU Guest Agent::
* QEMU User space emulator::
* System requirements::
* Security::
--
2.24.1

View file

@ -86,7 +86,7 @@ (define-public gprolog
(define-public swi-prolog
(package
(name "swi-prolog")
(version "8.1.20")
(version "8.1.21")
(source (origin
(method git-fetch)
(uri (git-reference
@ -96,7 +96,7 @@ (define-public swi-prolog
(file-name (git-file-name name version))
(sha256
(base32
"0blpw5g0gszi83wmvyhlh7pk4wlyx00vgaj6qr3ris36cdl8j10a"))))
"1axdiz37dllw0ih58ffm0m95dfxqfzwahl48hpzq90rz4swcr1lq"))))
(build-system cmake-build-system)
(arguments
`(#:parallel-build? #t

View file

@ -4,6 +4,7 @@
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -289,3 +290,48 @@ (define-public python-pytest-virtualenv
(description "This package provides a virtualenv fixture for the py.test
framework.")
(license license:expat)))
(define-public python-codacy-coverage
(package
(name "python-codacy-coverage")
(version "1.3.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "codacy-coverage" version))
(sha256
(base32
"1g0c0w56xdkmqb8slacyw5qhzrkp814ng3ddh2lkiij58y9m2imr"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)); no tests
(propagated-inputs
`(("python-check-manifest" ,python-check-manifest)))
(home-page "https://github.com/codacy/python-codacy-coverage")
(synopsis "Codacy coverage reporter for Python")
(description "This package analyses Python test suites and reports how much
of the code is covered by them. This tool is part of the Codacy suite for
analysing code quality.")
(license license:expat)))
(define-public python-httmock
(package
(name "python-httmock")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "httmock" version))
(sha256
(base32
"1zj1fcm0n6f0wr9mr0hmlqz9430fnr5cdwd5jkcvq9j44bnsrfz0"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)); no tests
(propagated-inputs
`(("python-requests" ,python-requests)))
(home-page "https://github.com/patrys/httmock")
(synopsis "Mocking library for requests.")
(description "This package provides a library for replying fake data to
Python software under test, when they make an HTTP query.")
(license license:asl2.0)))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
@ -67,6 +67,7 @@ (define-module (gnu packages python-web)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
@ -310,14 +311,14 @@ (define-public python2-httplib2
(define-public httpie
(package
(name "httpie")
(version "1.0.3")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "httpie" version))
(sha256
(base32
"103fcigpxf4nqmrdqjnyz7d9n4n16906slwmmqqc0gkxv8hnw6vd"))))
"02bw20cwv3a1lzrn919dk25dq4v81x6q786zlrqsqzhsdxszj14c"))))
(build-system python-build-system)
(arguments
;; The tests attempt to access external web servers, so we cannot run them.
@ -3431,3 +3432,65 @@ (define-public gunicorn
various web frameworks, simply implemented, light on server resources,
and fairly speedy.")
(license license:expat)))
(define-public python-translation-finder
(package
(name "python-translation-finder")
(version "1.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "translation-finder" version))
(sha256
(base32
"1pcy9z8gmb8x41gjhw9x0lkr0d2mv5mdxcs2hwg6q8mxs857j589"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-failing-test
(lambda _
(delete-file "translation_finder/test_api.py")
#t)))))
(propagated-inputs
`(("python-chardet" ,python-chardet)
("python-pathlib2" ,python-pathlib2)
("python-ruamel.yaml" ,python-ruamel.yaml)
("python-six" ,python-six)))
(native-inputs
`(("python-codecov" ,python-codecov)
("python-codacy-coverage" ,python-codacy-coverage)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-runner" ,python-pytest-runner)
("python-twine" ,python-twine)))
(home-page "https://weblate.org/")
(synopsis "Translation file finder for Weblate")
(description "This package provides a function to find translation file in
the source code of a project. It supports many translation file formats and
is part of the Weblate translation platform.")
(license license:gpl3+)))
(define-public python-gitlab
(package
(name "python-gitlab")
(version "1.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-gitlab" version))
(sha256
(base32
"0zl6kz8v8cg1bcy2r78b2snb0lpw0b573gdx2x1ps0nhsh75l4j5"))))
(build-system python-build-system)
(propagated-inputs
`(("python-requests" ,python-requests)
("python-six" ,python-six)))
(native-inputs
`(("python-httmock" ,python-httmock)
("python-mock" ,python-mock)))
(home-page
"https://github.com/python-gitlab/python-gitlab")
(synopsis "Interact with GitLab API")
(description "This package provides an extended library for interacting
with GitLab instances through their API.")
(license license:lgpl3+)))

View file

@ -31,7 +31,7 @@
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
@ -97,6 +97,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
@ -2244,13 +2245,13 @@ (define-public python-pympler
(package
(name "python-pympler")
(home-page "https://pythonhosted.org/Pympler/")
(version "0.7")
(version "0.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "Pympler" version))
(sha256
(base32
"0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs"))))
"08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -2650,7 +2651,7 @@ (define-public python-pygments
(arguments
;; FIXME: Tests require sphinx, which depends on this.
'(#:tests? #f))
(home-page "http://pygments.org/")
(home-page "https://pygments.org/")
(synopsis "Syntax highlighting")
(description
"Pygments is a syntax highlighting package written in Python.")
@ -7599,9 +7600,6 @@ (define-public python-debian
;; Modules are either GPLv2+ or GPLv3+.
(license license:gpl3+)))
(define-public python2-debian
(package-with-python2 python-debian))
(define-public python-nbformat
(package
(name "python-nbformat")
@ -15148,14 +15146,14 @@ (define-public python-onetimepass
(define-public python-parso
(package
(name "python-parso")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parso" version))
(sha256
(base32
"171a9ivhxwsd52h1cgsz40zgzpgzscn7yqb7sdjhy8m1lzj0wsv6"))))
"1qgvrkpma7vylrk047mxxvqd66nwqk978n3ig2w8iz9m3bgjbksm"))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(build-system python-build-system)
@ -17315,3 +17313,126 @@ (define-public python-gssapi
GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should
also be useable with other GSSAPI mechanisms.")
(license license:isc)))
(define-public python-check-manifest
(package
(name "python-check-manifest")
(version "0.37")
(source
(origin
(method url-fetch)
(uri (pypi-uri "check-manifest" version))
(sha256
(base32
"0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("git" ,git)))
(home-page "https://github.com/mgedmin/check-manifest")
(synopsis "Check MANIFEST.in in a Python source package for completeness")
(description "Python package can include a MANIFEST.in file to help with
sending package files to the Python Package Index. This package checks that
file to ensure it completely and accurately describes your project.")
(license license:expat)))
(define-public python-android-stringslib
(package
(name "python-android-stringslib")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/tyreunom/python-android-strings-lib")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0gij55qzzq1h83kfpvhai1vf78kkhyvxa6l17m2nl24454lhfin4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f))
(home-page "https://framagit.org/tyreunom/python-android-strings-lib")
(synopsis "Android strings.xml support")
(description "Android Strings Lib provides support for android's strings.xml
files. These files are used to translate strings in android apps.")
(license license:expat)))
(define-public python-watchdog
(package
(name "python-watchdog")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "watchdog" version))
(sha256
(base32
"07cnvvlpif7a6cg4rav39zq8fxa5pfqawchr46433pij0y6napwn"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'remove-failing
(lambda _
(delete-file "tests/test_inotify_buffer.py")
(delete-file "tests/test_snapshot_diff.py")
#t)))))
(propagated-inputs
`(("python-argh" ,python-argh)
("python-pathtools" ,python-pathtools)
("python-pyyaml" ,python-pyyaml)))
(native-inputs
`(("python-pytest-cov" ,python-pytest-cov)
("python-pytest-timeout" ,python-pytest-timeout)))
(home-page "https://github.com/gorakhargosh/watchdog")
(synopsis "Filesystem events monitoring")
(description "This package provides a way to monitor filesystem events
such as a file modification and trigger an action. This is similar to inotify,
but portable.")
(license license:asl2.0)))
(define-public offlate
(package
(name "offlate")
(version "0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/tyreunom/offlate")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"13pqnbl05wcyldfvl75fp89vjgwsvxyc69vhnb17kkha2rc2k1h7"))))
(build-system python-build-system)
(arguments
;; No tests
`(#:tests? #f))
(propagated-inputs
`(("python-android-stringslib" ,python-android-stringslib)
("python-dateutil" ,python-dateutil)
("python-gitlab" ,python-gitlab)
("python-lxml" ,python-lxml)
("python-polib" ,python-polib)
("python-pyenchant" ,python-pyenchant)
("python-pygit2" ,python-pygit2)
("python-pygithub" ,python-pygithub)
("python-pyqt" ,python-pyqt)
("python-requests" ,python-requests)
("python-ruamel.yaml" ,python-ruamel.yaml)
("python-translation-finder" ,python-translation-finder)
("python-watchdog" ,python-watchdog)))
(native-inputs
`(("qttools" ,qttools)))
(home-page "https://framagit.org/tyreunom/offlate")
(synopsis "Offline translation interface for online translation tools")
(description "Offlate offers a unified interface for different translation
file formats, as well as many different online translation platforms. You can
use it to get work from online platforms, specialized such as the Translation
Project, or not such a gitlab instance when your upstream doesn't use any
dedicated platform. The tool proposes a unified interface for any format and
an upload option to send your work back to the platform.")
(license license:gpl3+)))

View file

@ -5,6 +5,7 @@
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
(define-module (gnu packages sync)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix download)
@ -31,21 +33,114 @@ (define-module (gnu packages sync)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages selinux)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls))
(define-public megacmd
(package
(name "megacmd")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/meganz/MEGAcmd.git")
(commit (string-append version "_Linux"))
(recursive? #t)))
(sha256
(base32
"004j8m3xs6slx03g2g6wzr97myl2v3zc09wxnfar5c62a625pd53"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
;; XXX: Disabling tests because they depend on libgtest.la from googletest,
;; which is not installed for unclear reasons.
(arguments
`(#:tests? #f
#:configure-flags '("--with-pcre")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("c-ares" ,c-ares)
("crypto++" ,crypto++)
("curl" ,curl)
("freeimage" ,freeimage)
("gtest" ,googletest)
("openssl" ,openssl)
("pcre" ,pcre)
("readline" ,readline)
("sodium" ,libsodium)
("sqlite3" ,sqlite)
("zlib" ,zlib)))
(home-page "https://mega.nz/cmd")
(synopsis
"Command Line Interactive and Scriptable Application to access mega.nz")
(description "MEGAcmd provides non UI access to MEGA services. It intends
to offer all the functionality of a MEGA account via commands. It features
synchronization, backup of local folders into a MEGA account and a
webdav/streaming server.
See also: megatools, a third-party alternative more commonly packaged in other
distributions.")
(license (list license:bsd-2 license:gpl3+))))
(define-public megatools
(package
(name "megatools")
(version "1.10.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://megatools.megous.com/builds/megatools-"
version ".tar.gz"))
(sha256
(base32
"12n32w5mqvpk0hvh9yg9qkj9i0g2wp7jp9rq28bnqs94iv3897hp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
;; For documentation
("asciidoc" ,asciidoc)))
(inputs
`(("curl" ,curl)
("glib" ,glib)
("openssl" ,openssl)))
(home-page "https://megatools.megous.com/")
(synopsis "Command line client application for mega.nz")
(description "Megatools is a collection of programs for accessing the mega.nz service
from the command line.
Megatools allow you to copy individual files as well as entire directory trees to and from
the cloud. You can also perform streaming downloads for example to preview videos and
audio files, without needing to download the entire file first.
Megatools are robust and optimized for fast operation - as fast as Mega servers allow.
Memory requirements and CPU utilization are kept at minimum.
See also: megacmd, the official tool set by MEGA.")
(license license:gpl2)))
(define-public owncloud-client
(package
(name "owncloud-client")

View file

@ -233,6 +233,6 @@ (define-public pinfo
"Pinfo is an Info file viewer. Pinfo is similar in use to the Lynx web
browser. You just move across info nodes, and select links, follow them, etc.
It supports many colors. Pinfo also supports viewing of manual pages -- they
are colorized like in the midnight commander's viewer, and additionaly they
are colorized like in the midnight commander's viewer, and additionally they
are hypertextualized.")
(license gpl2+)))

View file

@ -61,7 +61,8 @@ (define-module (gnu packages text-editors)
#:use-module (gnu packages ruby)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public vis
(package
@ -305,6 +306,113 @@ (define-public mg
OpenBSD team.")
(license license:public-domain)))
(define-public qemacs
(package
(name "qemacs")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://bellard.org/qemacs/"
"qemacs-" version ".tar.gz"))
(sha256
(base32 "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
(add-before 'build 'build-qhtml
;; Build fails without first creating qHTML library.
(lambda _ (invoke "make" "-C" "libqhtml")))
(add-before 'install 'fix-man-pages-directory
;; Install in $out/share/man instead of $out/man.
(lambda _
(substitute* "Makefile"
(("/man/man1" all) (string-append "/share" all)))
#t))
(add-before 'install 'create-directories
;; Ensure directories exist before installing files.
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (d) (mkdir-p (string-append out d)))
'("/bin" "/share/man/man1" "/share/qe"))
#t)))
(add-after 'install 'install-extra-documentation
;; Install sample configuration file, Info, and HTML manual.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((share (string-append (assoc-ref outputs "out") "/share"))
(doc (string-append share "/doc/" ,name "-" ,version))
(html (string-append share "/html"))
(info (string-append share "/info"))
(makeinfo (string-append (assoc-ref %build-inputs "texinfo")
"/bin/makeinfo")))
;; First fix Texinfo documentation, create appropriate
;; directories, then generate Info and HTML files there.
(substitute* "qe-doc.texi"
(("^M-([{}])" _ bracket) (string-append "M-@" bracket)))
(for-each (lambda (d) (mkdir-p d)) (list html info))
(invoke makeinfo "qe-doc.texi" "-o" info)
(invoke makeinfo "qe-doc.texi" "--html" "--no-split" "-o" html)
;; Install sample configuration file.
(install-file "config.eg" doc)
#t))))))
(native-inputs
`(("texinfo" ,texinfo)))
(inputs
`(("libx11" ,libx11)
("libxext" ,libxext)
("libxv" ,libxv)))
(home-page "https://bellard.org/qemacs/")
(synopsis "Small but powerful text editor")
(description "QEmacs (for Quick Emacs) is a very small but
powerful editor. It has features that even big editors lack:
@itemize
@item Full screen editor with an Emacs look and feel with all Emacs
common features: multi-buffer, multi-window, command mode, universal
argument, keyboard macros, config file with C-like syntax, minibuffer
with completion and history.
@item Can edit files of hundreds of Megabytes without being slow by
using a highly optimized internal representation and by mmaping the
file.
@item Full Unicode support, including multi charset handling (8859-x,
UTF8, SJIS, EUC-JP, ...) and bidirectional editing respecting the
Unicode bidi algorithm. Arabic and Indic scripts handling (in
progress).
@item WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports
Lynx like rendering on VT100 terminals.
@item WYSIWYG DocBook mode based on XML/CSS2 renderer.
@item C mode: coloring with immediate update. Emacs like auto-indent.
@item Shell mode: colorized VT100 emulation so that your shell work
exactly as you expect. Compile mode with next/prev error.
@item Input methods for most languages, including Chinese (input
methods come from the Yudit editor).
@item Hexadecimal editing mode with insertion and block commands.
Unicode hexa editing is also supported.
@item Works on any VT100 terminals without termcap. UTF8 VT100
support included with double width glyphs.
@item X11 support. Support multiple proportional fonts at the same
time (as XEmacs). X Input methods supported. Xft extension supported
for anti aliased font display.
@item Small! Full version (including HTML/XML/CSS2/DocBook rendering
and all charsets): 200KB big. Basic version (without bidir/unicode
scripts/input/X11/C/Shell/HTML/Dired): 49KB.
@end itemize")
(license license:lgpl2.1+)))
(define-public ghostwriter
(package
(name "ghostwriter")

View file

@ -1543,7 +1543,7 @@ (define-public libvpx-1.7
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2020.01.15")
(version "2020.01.24")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@ -1551,7 +1551,7 @@ (define-public youtube-dl
version ".tar.gz"))
(sha256
(base32
"0dyjc8nxyg9ry2ylmblh3fwavpais3mdfj6ndw4i0yc2vkw12rsm"))))
"1zrnbjnwv315f9a83lk5c0gl4ianvp6q2kinxvqlv604sabcq78b"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@ -501,7 +501,7 @@ (define-public vim-context-filetype
(define-public vim-fugitive
(package
(name "vim-fugitive")
(version "3.1")
(version "3.2")
(source
(origin
(method git-fetch)
@ -511,7 +511,7 @@ (define-public vim-fugitive
(file-name (git-file-name name version))
(sha256
(base32
"0d9jhmidmy5c60iy9x47gqr675n5wp9wrzln83r8ima1fz7vvbgs"))))
"1jbn5jxadccmcz01j94d0i1bp74cixr0fpxxf1h0aqdf1ljk3d7n"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f

View file

@ -75,6 +75,7 @@ (define-module (gnu packages virtualization)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages selinux)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages spice)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
@ -109,20 +110,24 @@ (define (qemu-patch commit file-name sha256)
(define-public qemu
(package
(name "qemu")
(version "4.1.1")
(version "4.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(patches (search-patches "qemu-CVE-2020-7039.patch"
"qemu-CVE-2020-7211.patch"
"qemu-fix-documentation-build-failure.patch"))
(sha256
(base32
"1lm1jndfpc5sydwrxyiz5sms414zkcg9jdl0zx318qbjsayxnvzd"))))
"1w38hzlw7xp05gcq1nhga7hxvndxy6dfcnzi7q2il8ff110isj6k"))))
(build-system gnu-build-system)
(arguments
'(;; Running tests in parallel can occasionally lead to failures, like:
;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead)
#:parallel-tests? #f
#:configure-flags (list "--enable-usb-redir" "--enable-opengl"
"--enable-docs"
(string-append "--smbd="
(assoc-ref %outputs "out")
"/libexec/samba-wrapper")
@ -232,6 +237,7 @@ (define-public qemu
("bison" ,bison)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)
("python-sphinx" ,python-sphinx)
("texinfo" ,texinfo)))
(home-page "https://www.qemu.org")
(synopsis "Machine emulator and virtualizer")
@ -293,7 +299,7 @@ (define-public qemu-minimal-2.10
;; qemu-minimal-2.10 needs Python 2. Remove below once no longer necessary.
(native-inputs `(("python-2" ,python-2)
,@(fold alist-delete (package-native-inputs qemu)
'("python-wrapper"))))
'("python-wrapper" "python-sphinx"))))
(inputs
(fold alist-delete (package-inputs qemu)
;; Disable seccomp support, because it's not required for the GRUB

View file

@ -121,14 +121,14 @@ (define-public wpebackend-fdo
(define-public webkitgtk
(package
(name "webkitgtk")
(version "2.26.2")
(version "2.26.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
"webkitgtk-" version ".tar.xz"))
(sha256
(base32
"04k5h0sid9azsqz9pyq436v1rx4lnfrhvmcgmicqb0c0g9iz103b"))))
"04g6y0sv04d20bw401myq3k828ikysjhx383ly81vh9wji9i3mdd"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(arguments

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
@ -76,15 +76,15 @@ (define-module (gnu packages wine)
(define-public wine
(package
(name "wine")
(version "4.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/"
(version-major+minor version)
"/wine-" version ".tar.xz"))
(sha256
(base32
"1nhgw1wm613ln9dhjm0d03zs5adcmnqr2b50p21jbmm5k2gns0i5"))))
(version "5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/"
(version-major+minor version)
"/wine-" version ".tar.xz"))
(sha256
(base32 "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
@ -96,6 +96,7 @@ (define-public wine
("dbus" ,dbus)
("cups" ,cups)
("eudev" ,eudev)
("faudio" ,faudio)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glu" ,glu)
@ -322,7 +323,7 @@ (define-public wine-minimal
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
(version "4.18")
(version "5.0")
(source
(origin
(method git-fetch)
@ -331,7 +332,7 @@ (define-public wine-staging-patchset-data
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03z0haf47mpm2aj9cji3wma4jy6j12wz10kkbgmbgrkkrc5lcqc2"))))
(base32 "054m2glvav29qnlgr3p36kahyv3kbxzba82djzqpc7cmsrin0d3f"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@ -368,18 +369,21 @@ (define-public wine-staging
(inherit wine)
(name "wine-staging")
(version (package-version wine-staging-patchset-data))
(source (origin
(method url-fetch)
(uri (string-append
"https://dl.winehq.org/wine/source/"
(version-major version) ".x"
"/wine-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"0chf6vdy41kg75liibkb862442zwi8dbjzf6l5arcy2z4580a2yi"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("faudio" ,faudio)
(source
(origin
(method url-fetch)
(uri (let ((dir (string-append
(version-major version)
(if (string-suffix? ".0" (version-major+minor version))
".0"
".x"))))
(string-append
"https://dl.winehq.org/wine/source/" dir
"/wine-" version ".tar.xz")))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32 "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+)
("libva" ,libva)

View file

@ -2054,14 +2054,14 @@ (define-public xmlrpc-c
(define-public python-elementpath
(package
(name "python-elementpath")
(version "1.3.3")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "elementpath" version))
(sha256
(base32
"1rb8892zli74wk1c4hyg77ja9wglq9hplgxwak1rmj3s9p6xnf0p"))))
"15h7d41v48q31hzjay7qzixdv531hnga3h35hksk7x52pgqcrkz7"))))
(build-system python-build-system)
(home-page
"https://github.com/sissaschool/elementpath")
@ -2108,13 +2108,17 @@ (define-public python2-lxml
(define-public python-xmlschema
(package
(name "python-xmlschema")
(version "1.0.18")
(version "1.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "xmlschema" version))
;; Unit tests are not distributed with the PyPI archive.
(method git-fetch)
(uri (git-reference
(url "https://github.com/sissaschool/xmlschema")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1inwqwr7d3qah9xf9rfzkpva433jpr4n7n43zybf2gdpz4q1g0ry"))))
"1h8321jb6q3dhlh3608y3f3sbbzfd3jg1psyirxkrm4w5xs3lbvy"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -2126,7 +2130,7 @@ (define-public python-xmlschema
(setenv "PYTHONPATH"
(string-append "./build/lib:"
(getenv "PYTHONPATH")))
(invoke "python" "xmlschema/tests/test_all.py"))
(invoke "python" "-m" "unittest" "-v"))
(format #t "test suite not run~%"))
#t)))))
(native-inputs

View file

@ -72,7 +72,7 @@ (define spice-vdagent-service-type
(define* (spice-vdagent-service
#:optional (config (spice-vdagent-configuration)))
"Start the @command{vdagentd} and @command{vdagent} deamons
"Start the @command{vdagentd} and @command{vdagent} daemons
from @var{spice-vdagent} to enable guest window resizing and
clipboard sharing."
(service spice-vdagent-service-type config))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -29,9 +29,7 @@ (define-module (guix build compile)
#:use-module (guix build utils)
#:use-module (language tree-il optimize)
#:use-module (language cps optimize)
#:export (%default-optimizations
%lightweight-optimizations
compile-files))
#:export (compile-files))
;;; Commentary:
;;;

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -240,6 +240,13 @@ (define (coalesce-duplicate-inputs inputs)
"Return a list of inputs, such that when INPUTS contains the same DRV twice,
they are coalesced, with their sub-derivations merged. This is needed because
Nix itself keeps only one of them."
(define (find pred lst) ;inlinable copy of 'find'
(let loop ((lst lst))
(match lst
(() #f)
((head . tail)
(if (pred head) head (loop tail))))))
(fold (lambda (input result)
(match input
(($ <derivation-input> (= derivation-file-name path) sub-drvs)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -371,36 +371,33 @@ (define (lines port)
(cons line result)))))
(with-error-handling
;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute))
(let ((opts (parse-command-line args %options (list %default-options))))
(parameterize ((%graft? (assoc-ref opts 'graft?)))
(cond ((assoc-ref opts 'generate-key)
=>
generate-key-pair)
((assoc-ref opts 'authorize)
(authorize-key))
(else
(with-status-verbosity (assoc-ref opts 'verbosity)
(with-store store
(set-build-options-from-command-line store opts)
(cond ((assoc-ref opts 'export)
(export-from-store store opts))
((assoc-ref opts 'import)
(import-paths store (current-input-port)))
((assoc-ref opts 'missing)
(let* ((files (lines (current-input-port)))
(missing (remove (cut valid-path? store <>)
files)))
(format #t "~{~a~%~}" missing)))
((assoc-ref opts 'list)
(list-contents (current-input-port)))
((assoc-ref opts 'extract)
=>
(lambda (target)
(restore-file (current-input-port) target)))
(else
(leave
(G_ "either '--export' or '--import' \
must be specified~%")))))))))))))
(let ((opts (parse-command-line args %options (list %default-options))))
(parameterize ((%graft? (assoc-ref opts 'graft?)))
(cond ((assoc-ref opts 'generate-key)
=>
generate-key-pair)
((assoc-ref opts 'authorize)
(authorize-key))
(else
(with-status-verbosity (assoc-ref opts 'verbosity)
(with-store store
(set-build-options-from-command-line store opts)
(cond ((assoc-ref opts 'export)
(export-from-store store opts))
((assoc-ref opts 'import)
(import-paths store (current-input-port)))
((assoc-ref opts 'missing)
(let* ((files (lines (current-input-port)))
(missing (remove (cut valid-path? store <>)
files)))
(format #t "~{~a~%~}" missing)))
((assoc-ref opts 'list)
(list-contents (current-input-port)))
((assoc-ref opts 'extract)
=>
(lambda (target)
(restore-file (current-input-port) target)))
(else
(leave
(G_ "either '--export' or '--import' \
must be specified~%"))))))))))))

View file

@ -809,7 +809,11 @@ (define (ensure-list x)
(cond ((derivation-path? spec)
(catch 'system-error
(lambda ()
(list (read-derivation-from-file spec)))
;; Ask for absolute file names so that .drv file
;; names passed from the user to 'read-derivation'
;; are absolute when it returns.
(let ((spec (canonicalize-path spec)))
(list (read-derivation-from-file spec))))
(lambda args
;; Non-existent .drv files can be substituted down
;; the road, so don't error out.
@ -927,67 +931,64 @@ (define opts
(list %default-options)))
(with-error-handling
;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute))
(with-status-verbosity (assoc-ref opts 'verbosity)
(with-store store
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(with-status-verbosity (assoc-ref opts 'verbosity)
(with-store store
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(parameterize ((current-terminal-columns (terminal-columns)))
(let* ((mode (assoc-ref opts 'build-mode))
(drv (options->derivations store opts))
(urls (map (cut string-append <> "/log")
(if (assoc-ref opts 'substitutes?)
(or (assoc-ref opts 'substitute-urls)
;; XXX: This does not necessarily match the
;; daemon's substitute URLs.
%default-substitute-urls)
'())))
(items (filter-map (match-lambda
(('argument . (? store-path? file))
;; If FILE is a .drv that's not in
;; store, keep it so that it can be
;; substituted.
(and (or (not (derivation-path? file))
(not (file-exists? file)))
file))
(_ #f))
opts))
(roots (filter-map (match-lambda
(('gc-root . root) root)
(_ #f))
opts)))
(parameterize ((current-terminal-columns (terminal-columns)))
(let* ((mode (assoc-ref opts 'build-mode))
(drv (options->derivations store opts))
(urls (map (cut string-append <> "/log")
(if (assoc-ref opts 'substitutes?)
(or (assoc-ref opts 'substitute-urls)
;; XXX: This does not necessarily match the
;; daemon's substitute URLs.
%default-substitute-urls)
'())))
(items (filter-map (match-lambda
(('argument . (? store-path? file))
;; If FILE is a .drv that's not in
;; store, keep it so that it can be
;; substituted.
(and (or (not (derivation-path? file))
(not (file-exists? file)))
file))
(_ #f))
opts))
(roots (filter-map (match-lambda
(('gc-root . root) root)
(_ #f))
opts)))
(unless (or (assoc-ref opts 'log-file?)
(assoc-ref opts 'derivations-only?))
(show-what-to-build store drv
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:dry-run? (assoc-ref opts 'dry-run?)
#:mode mode))
(unless (or (assoc-ref opts 'log-file?)
(assoc-ref opts 'derivations-only?))
(show-what-to-build store drv
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:dry-run? (assoc-ref opts 'dry-run?)
#:mode mode))
(cond ((assoc-ref opts 'log-file?)
;; Pass 'show-build-log' the output file names, not the
;; derivation file names, because there can be several
;; derivations leading to the same output.
(for-each (cut show-build-log store <> urls)
(delete-duplicates
(append (map derivation->output-path drv)
items))))
((assoc-ref opts 'derivations-only?)
(format #t "~{~a~%~}" (map derivation-file-name drv))
(for-each (cut register-root store <> <>)
(map (compose list derivation-file-name) drv)
roots))
((not (assoc-ref opts 'dry-run?))
(and (build-derivations store (append drv items)
mode)
(for-each show-derivation-outputs drv)
(for-each (cut register-root store <> <>)
(map (lambda (drv)
(map cdr
(derivation->output-paths drv)))
drv)
roots)))))))))))
(cond ((assoc-ref opts 'log-file?)
;; Pass 'show-build-log' the output file names, not the
;; derivation file names, because there can be several
;; derivations leading to the same output.
(for-each (cut show-build-log store <> urls)
(delete-duplicates
(append (map derivation->output-path drv)
items))))
((assoc-ref opts 'derivations-only?)
(format #t "~{~a~%~}" (map derivation-file-name drv))
(for-each (cut register-root store <> <>)
(map (compose list derivation-file-name) drv)
roots))
((not (assoc-ref opts 'dry-run?))
(and (build-derivations store (append drv items)
mode)
(for-each show-derivation-outputs drv)
(for-each (cut register-root store <> <>)
(map (lambda (drv)
(map cdr
(derivation->output-paths drv)))
drv)
roots))))))))))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -552,20 +552,17 @@ (define type
(read/eval-package-expression exp)))
(_ #f))
opts)))
;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute))
(run-with-store store
;; XXX: Since grafting can trigger unsolicited builds, disable it.
(mlet %store-monad ((_ (set-grafting #f))
(nodes (mapm %store-monad
(node-type-convert type)
items)))
(export-graph (concatenate nodes)
(current-output-port)
#:node-type type
#:backend backend))
#:system (assq-ref opts 'system))))))
(run-with-store store
;; XXX: Since grafting can trigger unsolicited builds, disable it.
(mlet %store-monad ((_ (set-grafting #f))
(nodes (mapm %store-monad
(node-type-convert type)
items)))
(export-graph (concatenate nodes)
(current-output-port)
#:node-type type
#:backend backend))
#:system (assq-ref opts 'system)))))
#t)
;;; graph.scm ends here

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,7 +28,6 @@ (define-module (guix self)
#:use-module (guix sets)
#:use-module (guix modules)
#:use-module ((guix build utils) #:select (find-files))
#:use-module ((guix build compile) #:select (%lightweight-optimizations))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-35)
@ -49,13 +48,13 @@ (define specification->package
(let ((ref (lambda (module variable)
(module-ref (resolve-interface module) variable))))
(match-lambda
("guile" (ref '(gnu packages commencement) 'guile-final))
("guile-json" (ref '(gnu packages guile) 'guile-json-3))
("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh))
("guile-git" (ref '(gnu packages guile) 'guile-git))
("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3))
("guile-gcrypt" (ref '(gnu packages gnupg) 'guile-gcrypt))
("gnutls" (ref '(gnu packages tls) 'gnutls))
("guile" (ref '(gnu packages guile) 'guile-3.0))
("guile-json" (ref '(gnu packages guile) 'guile3.0-json))
("guile-ssh" (ref '(gnu packages ssh) 'guile3.0-ssh))
("guile-git" (ref '(gnu packages guile) 'guile3.0-git))
("guile-sqlite3" (ref '(gnu packages guile) 'guile3.0-sqlite3))
("guile-gcrypt" (ref '(gnu packages gnupg) 'guile3.0-gcrypt))
("gnutls" (ref '(gnu packages tls) 'guile3.0-gnutls))
("zlib" (ref '(gnu packages compression) 'zlib))
("lzlib" (ref '(gnu packages compression) 'lzlib))
("gzip" (ref '(gnu packages compression) 'gzip))
@ -1121,9 +1120,9 @@ (define (shorten version)
version))
(define guile
;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2
;; unconditionally.
(default-guile))
;; When PULL-VERSION >= 1, produce a self-contained Guix and use the
;; current Guile unconditionally.
(specification->package "guile"))
(when (and (< pull-version 1)
(not (string=? (package-version guile) guile-version)))
@ -1142,7 +1141,7 @@ (define guile
(shorten version))
#:pull-version pull-version
#:guile-version (if (>= pull-version 1)
"2.2" guile-version)
"3.0" guile-version)
#:guile-for-build guile)))
(if guix
(lower-object guix)

View file

@ -27,6 +27,7 @@ (define-module (guix serialization)
#:use-module ((ice-9 rdelim) #:prefix rdelim:)
#:use-module (ice-9 match)
#:use-module (ice-9 ftw)
#:use-module (system foreign)
#:export (write-int read-int
write-long-long read-long-long
write-padding
@ -80,6 +81,17 @@ (define (get-bytevector-n* port count)
(port port)))))
bv))
(define (sub-bytevector bv len)
"Return a bytevector that aliases the first LEN bytes of BV."
(define max (bytevector-length bv))
(cond ((= len max) bv)
((< len max)
;; Yes, this is safe because the result of each conversion procedure
;; has its life cycle synchronized with that of its argument.
(pointer->bytevector (bytevector->pointer bv) len))
(else
(error "sub-bytevector called to get a super bytevector"))))
(define (write-int n p)
(let ((b (make-bytevector 8 0)))
(bytevector-u32-set! b 0 n (endianness little))
@ -119,10 +131,9 @@ (define (write-string s p)
(define (read-byte-string p)
(let* ((len (read-int p))
(m (modulo len 8))
(bv (get-bytevector-n* p len)))
(or (zero? m)
(get-bytevector-n* p (- 8 m)))
bv))
(pad (if (zero? m) 0 (- 8 m)))
(bv (get-bytevector-n* p (+ len pad))))
(sub-bytevector bv len)))
(define (read-string p)
(utf8->string (read-byte-string p)))

View file

@ -770,6 +770,17 @@ (define (manifest-entry-output* entry)
(gettext (condition-message c) %gettext-domain))
(display-hint (condition-fix-hint c))
(exit 1))
;; On Guile 3.0.0, exceptions such as 'unbound-variable' come are
;; compound and include a '&message'. However, that message only
;; contains the format string. Thus, special-case it here to
;; avoid displaying a bare format string.
((cond-expand
(guile-3
((exception-predicate &exception-with-kind-and-args) c))
(else #f))
(raise c))
((message-condition? c)
;; Normally '&message' error conditions have an i18n'd message.
(leave (G_ "~a~%")