Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2020-02-05 22:08:06 +01:00
commit f10921c5ad
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
39 changed files with 1429 additions and 512 deletions

View File

@ -3292,8 +3292,10 @@ $ guix build emacs --dry-run
@end example
@noindent
This indicates that substitutes from @code{@value{SUBSTITUTE-SERVER}} are usable and
will be downloaded, when possible, for future builds.
The text changed from ``The following derivations would be built'' to
``112.3 MB would be downloaded''. This indicates that substitutes from
@code{@value{SUBSTITUTE-SERVER}} are usable and will be downloaded, when
possible, for future builds.
@cindex substitutes, how to disable
The substitute mechanism can be disabled globally by running
@ -4158,7 +4160,7 @@ say, on another machine, by providing a channel specification in
(channel
(name 'my-personal-packages)
(url "https://example.org/personal-packages.git")
(branch "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))
(commit "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))
@end lisp
The @command{guix describe --format=channels} command can even generate this
@ -5057,12 +5059,21 @@ Alternatively, you can produce a pack in the Docker image format using
the following command:
@example
guix pack -f docker guile emacs geiser
guix pack -f docker -S /bin=bin guile guile-readline
@end example
@noindent
The result is a tarball that can be passed to the @command{docker load}
command. See the
command, followed by @code{docker run}:
@example
docker load < @var{file}
docker run -ti guile-guile-readline /bin/guile
@end example
@noindent
where @var{file} is the image returned by @var{guix pack}, and
@code{guile-guile-readline} is its ``image tag''. See the
@uref{https://docs.docker.com/engine/reference/commandline/load/, Docker
documentation} for more information.

View File

@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/tor.scm \
%D%/packages/tv.scm \
%D%/packages/uml.scm \
%D%/packages/unicode.scm \
%D%/packages/unrtf.scm \
%D%/packages/upnp.scm \
%D%/packages/usb-modeswitch.scm \
@ -1349,6 +1350,7 @@ 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-1711.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 \

View File

@ -444,8 +444,30 @@ ArrayVec and ArrayString.")
"This package provides a simple interface for querying atty.")
(license license:expat)))
(define-public rust-autocfg-1.0
(package
(name "rust-autocfg")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "autocfg" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"17cv6pwb4q08s0ynpr4n8hv5299hcmhdgvdchzixfpw8y5qcgapq"))))
(build-system cargo-build-system)
(home-page "https://github.com/cuviper/autocfg")
(synopsis
"Automatic cfg for Rust compiler features")
(description
"Automatic cfg for Rust compiler features.")
(license (list license:asl2.0 license:expat))))
(define-public rust-autocfg-0.1
(package
(inherit rust-autocfg-1.0)
(name "rust-autocfg")
(version "0.1.7")
(source
@ -456,16 +478,7 @@ ArrayVec and ArrayString.")
(sha256
(base32
"1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
(build-system cargo-build-system)
(arguments '(#:skip-build? #t))
(home-page "https://github.com/cuviper/autocfg")
(synopsis "Automatic cfg for Rust compiler features")
(description "Rust library for build scripts to automatically configure
code based on compiler support. Code snippets are dynamically tested to see
if the @code{rustc} will accept them, rather than hard-coding specific version
support.")
(license (list license:asl2.0
license:expat))))
(arguments '(#:skip-build? #t))))
(define-public rust-backtrace-0.3
(package
@ -5167,6 +5180,29 @@ immutable interval tree.")
(license (list license:asl2.0
license:expat))))
(define-public rust-iso8601-0.1
(package
(name "rust-iso8601")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "iso8601" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xy48qyfmirslaj4dy6n4g8b564jap3cjiql35fmj5vgii7ldp0i"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-clippy" ,rust-clippy-0.0)
("rust-nom" ,rust-nom-1.2))))
(home-page "https://github.com/badboy/iso8601")
(synopsis "Parsing ISO8601 dates using nom")
(description "Parsing ISO8601 dates using nom.")
(license license:expat)))
(define-public rust-itertools-0.8
(package
(name "rust-itertools")
@ -5700,6 +5736,45 @@ allows loading dynamic libraries (also known as shared libraries) as well as use
functions and static variables these libraries contain.")
(license license:isc)))
(define-public rust-libm-0.2
(package
(name "rust-libm")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "libm" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0akh56sh51adhagmk9l84dyrlz60gv8ri05xhr13i1b18czkpmy7"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-rand" ,rust-rand-0.6))
#:cargo-development-inputs
(("rust-no-panic" ,rust-no-panic-0.1))))
(home-page "https://github.com/rust-lang/libm")
(synopsis "Libm in pure Rust")
(description "This package provides an implementation of libm in pure Rust.")
(license (list license:expat license:asl2.0))))
(define-public rust-libm-0.1
(package
(inherit rust-libm-0.2)
(name "rust-libm")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "libm" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"16pc0gx4gkg0q2s1ssq8268brn14j8344623vwhadmivc4lsmivz"))))))
(define-public rust-libssh2-sys-0.2
(package
(name "rust-libssh2-sys")
@ -5745,6 +5820,28 @@ functions and static variables these libraries contain.")
(license (list license:asl2.0
license:expat))))
(define-public rust-locale-0.2
(package
(name "rust-locale")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "locale" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1z87wc7z6889x1pqlrwjw8f1crshzi15q5m102lqs8y0m69f9nsz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
(home-page "https://github.com/rust-locale/rust-locale")
(synopsis "Library for basic localisation")
(description
"This package provides a library for basic localisation.")
(license license:expat)))
(define-public rust-lock-api-0.3
(package
(name "rust-lock-api")
@ -6681,6 +6778,34 @@ release (fork of debug_unreachable)")
"Rust friendly bindings to *nix APIs.")
(license license:expat)))
(define-public rust-no-panic-0.1
(package
(name "rust-no-panic")
(version "0.1.12")
(source
(origin
(method url-fetch)
(uri (crate-uri "no-panic" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xan5v9ac1aklinc8aw16raq36pb4idjrl502np8gy32gfs6s751"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1.0)
("rust-quote" ,rust-quote-1.0)
("rust-syn" ,rust-syn-1.0))
#:cargo-development-inputs
(("rust-tempfile" ,rust-tempfile-3.1))))
(home-page "https://github.com/dtolnay/no-panic")
(synopsis "Prove a function can't ever panic")
(description
"This package provides a rust attribute macro to require that the compiler
prove a function can't ever panic.")
(license (list license:expat license:asl2.0))))
(define-public rust-nodrop-0.1
(package
(name "rust-nodrop")
@ -6760,6 +6885,24 @@ implementation (which is unstable / requires nightly).")
combinators library.")
(license license:expat)))
(define-public rust-nom-1.2
(package
(inherit rust-nom-4.2)
(name "rust-nom")
(version "1.2.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "nom" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1kjh42w67z1hh1dw3jrilgqrf54jk2xcvhw4rcdm4wclzmbc5f55"))))
(arguments
;; This is an ancient version and all inputs are optional.
`(#:skip-build? #t))))
(define-public rust-num-complex-0.2
(package
(name "rust-num-complex")
@ -6862,7 +7005,7 @@ combinators library.")
(define-public rust-num-traits-0.2
(package
(name "rust-num-traits")
(version "0.2.8")
(version "0.2.11")
(source
(origin
(method url-fetch)
@ -6871,13 +7014,15 @@ combinators library.")
(string-append name "-" version ".crate"))
(sha256
(base32
"0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
"15khrlm1bra50nd48ijl1vln13m9xg4fxzghf28jp16ic5zf8ay6"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-autocfg" ,rust-autocfg-1.0)
("rust-libm" ,rust-libm-0.2))))
(home-page "https://github.com/rust-num/num-traits")
(synopsis "Numeric traits for generic mathematics")
(description "Numeric traits for generic mathematics.")
(properties '((hidden? . #t)))
;; Dual licensed.
(license (list license:asl2.0
license:expat))))
@ -6894,7 +7039,9 @@ combinators library.")
(sha256
(base32
"0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
(build-system cargo-build-system)))
(arguments
`(#:cargo-inputs
(("rust-num-traits" , rust-num-traits-0.2))))))
(define-public rust-numtoa-0.1
(package
@ -7253,6 +7400,29 @@ normally prevent moving a type that has been borrowed from.")
(description "Portable Packed SIMD vectors.")
(license (list license:asl2.0 license:expat))))
(define-public rust-pad-0.1
(package
(name "rust-pad")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "pad" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qy0r26r52gp034fv252mmg0s599a55h9nr4xswy04hvky49pbfj"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-unicode-width" ,rust-unicode-width-0.1))))
(home-page "https://github.com/ogham/rust-pad")
(synopsis "Library for padding strings at runtime")
(description
"This package provides a library for padding strings at runtime.")
(license license:expat)))
(define-public rust-parking-lot-0.9
(package
(name "rust-parking-lot")

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
(define-module (gnu packages education)
#:use-module (ice-9 regex)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
@ -40,14 +42,18 @@
#:use-module (gnu packages javascript)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
#:use-module (gnu packages mp3)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
@ -126,7 +132,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt
(package
(name "gcompris-qt")
(version "0.96")
(version "0.97")
(source
(origin
(method url-fetch)
@ -134,11 +140,16 @@ of categories with some of the activities available in that category.
"https://gcompris.net/download/qt/src/gcompris-qt-"
version ".tar.xz"))
(sha256
(base32 "06483il59l46ny2w771sg45dgzjwv1ph7vidzzbj0wb8wbk2rg52"))))
(base32 "0hl3a1jjnrpnbqkpx3rl3fl86yfv503lh48djb888hplvr4nf747"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "tests/core/CMakeLists.txt"
(("DownloadManagerTest\\.cpp") "#"))
#t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
@ -167,6 +178,7 @@ of categories with some of the activities available in that category.
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("gettext" ,gettext-minimal)
("kdoctools" ,kdoctools)
("perl" ,perl)
("qttools" ,qttools)
("xorg-server" ,xorg-server-for-tests)))
@ -715,6 +727,103 @@ languages and keyboard layouts, and typing statistics are used to dynamically
adjust the level of difficulty.")
(license license:gpl2)))
(define-public anki
(package
(name "anki")
;; Later versions have dependencies on npm packages not yet in Guix.
(version "2.1.16")
(source
(origin
(method url-fetch)
(uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-"
version "-source.tgz"))
(sha256
(base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output))
#:tests? #f ;no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(delete 'configure) ;no configure script
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
;; List of paths to the site-packages directories of Python
;; library inputs.
(site-packages
(map (lambda (pyinput)
(string-append
(cdr pyinput)
"/lib/python"
;; Calculate the python version to avoid breaking
;; with future 3.X releases.
,(version-major+minor
(package-version python-wrapper))
"/site-packages"))
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
inputs)))
(qtwebengineprocess
(string-append (assoc-ref inputs "qtwebengine")
"/lib/qt5/libexec/QtWebEngineProcess")))
;; The program fails to find the QtWebEngineProcess program, so
;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
;; wrapped to avoid declaring Python libraries as propagated
;; inputs.
(for-each (lambda (program)
(wrap-program program
`("QTWEBENGINEPROCESS_PATH" =
(,qtwebengineprocess))
`("PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))
(native-inputs
`(("xdg-utils" ,xdg-utils)))
(inputs
`(("lame" ,lame)
("mpv" ,mpv)
("python" ,python-wrapper)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-decorator" ,python-decorator)
("python-distro" ,python-distro)
("python-jsonschema" ,python-jsonschema)
("python-markdown" ,python-markdown)
("python-pyaudio" ,python-pyaudio)
;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-pyqt" ,python-pyqt)
("python-requests" ,python-requests)
("python-send2trash" ,python-send2trash)
("python-sip" ,python-sip)
;; `qtwebengine' is included in `pyqtwebengine', included here for easy
;; wrapping.
("qtwebengine" ,qtwebengine)))
(home-page "https://apps.ankiweb.net/")
(synopsis "Powerful, intelligent flash cards")
(description "Anki is a program which makes remembering things
easy. Because it's a lot more efficient than traditional study
methods, you can either greatly decrease your time spent studying, or
greatly increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit
from Anki. Since it is content-agnostic and supports images, audio,
videos and scientific markup (via LaTeX), the possibilities are
endless. For example:
@itemize
@item Learning a language
@item Studying for medical and law exams
@item Memorizing people's names and faces
@item Brushing up on geography
@item Mastering long poems
@item Even practicing guitar chords!
@end itemize")
(license license:agpl3+)))
(define-public t4k-common
(package
(name "t4k-common")

View File

@ -6,6 +6,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Mark Wielaard <mark@klomp.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,9 +55,10 @@
(build-system gnu-build-system)
;; Separate programs because that's usually not what elfutils users want,
;; and because they duplicate what Binutils provides.
;; and because they duplicate what Binutils provides (but are named
;; differently, using the eu- prefix and can be installed in parallel).
(outputs '("out" ; libelf.so, elfutils/*.h, etc.
"bin")) ; ld, nm, objdump, etc.
"bin")) ; eu-nm, eu-objdump, etc.
(arguments
;; Programs don't have libelf.so in their RUNPATH and libraries don't
@ -84,11 +86,21 @@
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
(home-page "https://sourceware.org/elfutils/")
(synopsis "Linker and ELF manipulation tools")
(synopsis "Collection of utilities and libraries to handle ELF files and
DWARF data")
(description
"This package provides command-line tools to manipulate binaries in the
Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
@command{ar}, @command{objdump}, @command{addr2line}, and more.")
"Elfutils is a collection of utilities and libraries to read, create and
modify Executable and Linkable Format (@dfn{ELF}) binary files, find and
handle Debugging With Arbitrary Record Formats (@dfn{DWARF}) debug data,
symbols, thread state and stacktraces for processes and core files on
GNU/Linux. Elfutils includes @file{libelf} for manipulating ELF files,
@file{libdw} for inspecting DWARF data and process state and utilities like
@command{eu-stack} (to show backtraces), @command{eu-nm} (for listing symbols
from object files), @command{eu-size} (for listing the section sizes of an
object or archive file), @command{eu-strip} (for discarding symbols),
@command{eu-readelf} (to see the raw ELF file structures),
@command{eu-elflint} (to check for well-formed ELF files),
@command{eu-elfcompress} (to compress or decompress ELF sections), and more.")
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
(license lgpl3+)))

View File

@ -6942,29 +6942,26 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
(license license:gpl3+)))
(define-public emacs-wgrep
;; Tag is missing, so we use the commit directly.
;; https://github.com/mhayashi1120/Emacs-wgrep/issues/64
(let ((commit "379afd89ebd76f63842c8589127d66096a8bb595"))
(package
(name "emacs-wgrep")
(version "2.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mhayashi1120/Emacs-wgrep")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47"))))
(build-system emacs-build-system)
(home-page "https://github.com/mhayashi1120/Emacs-wgrep")
(synopsis "Edit a grep buffer and apply those changes to the files")
(description
"Emacs wgrep allows you to edit a grep buffer and apply those changes
(package
(name "emacs-wgrep")
(version "2.3.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mhayashi1120/Emacs-wgrep")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
(build-system emacs-build-system)
(home-page "https://github.com/mhayashi1120/Emacs-wgrep")
(synopsis "Edit a grep buffer and apply those changes to the files")
(description
"Emacs wgrep allows you to edit a grep buffer and apply those changes
to the file buffer. Several backends are supported beside the classic grep:
ack, ag, helm and pt.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-helm
(package
@ -8577,35 +8574,35 @@ been adapted to work with mu4e.")
(define-public emacs-yasnippet
(package
(name "emacs-yasnippet")
(version "0.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/joaotavora/yasnippet.git")
(commit version)))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
(modules '((guix build utils)))
(snippet
'(begin
;; YASnippet expects a "snippets" subdirectory in the same
;; directory as yasnippet.el, but we don't install it
;; because it's a git submodule pointing to an external
;; repository. Adjust `yas-snippet-dirs' to prevent
;; warnings about a missing directory.
(substitute* "yasnippet.el"
(("^ +'yas-installed-snippets-dir\\)\\)\n")
"))\n"))
#t))))
(version "0.14.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/joaotavora/yasnippet.git")
(commit version)))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
(modules '((guix build utils)))
(snippet
'(begin
;; YASnippet expects a "snippets" subdirectory in the same
;; directory as yasnippet.el, but we don't install it because it's
;; a git submodule pointing to an external repository. Adjust
;; `yas-snippet-dirs' to prevent warnings about a missing
;; directory.
(substitute* "yasnippet.el"
(("^ +'yas-installed-snippets-dir\\)\\)\n")
"))\n"))
#t))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "yasnippet-tests.el"
"-f" "ert-run-tests-batch-and-exit")
;; FIXME: one failing test
;; FIXME: one failing test.
#:phases
(modify-phases %standard-phases
(add-before 'check 'make-tests-writable
@ -8615,11 +8612,10 @@ been adapted to work with mu4e.")
(add-before 'check 'delete-rebinding-test
(lambda _
(emacs-batch-edit-file "yasnippet-tests.el"
`(progn (progn (goto-char (point-min))
(re-search-forward
"ert-deftest test-rebindings")
(beginning-of-line)
(kill-sexp))
`(progn (goto-char (point-min))
(re-search-forward "ert-deftest test-rebindings")
(beginning-of-line)
(kill-sexp)
(basic-save-buffer)))
#t)))))
(home-page "https://github.com/joaotavora/yasnippet")
@ -8630,50 +8626,40 @@ abbreviation and automatically expand it into function templates.")
(license license:gpl3+)))
(define-public emacs-yasnippet-snippets
(let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
(revision "1"))
(package
(name "emacs-yasnippet-snippets")
(version (string-append "1-" revision "." (string-take commit 8)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AndreaCrotti/yasnippet-snippets")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((ice-9 ftw)
(ice-9 regex)
(guix build utils))
#:builder
(begin
(use-modules (ice-9 ftw)
(ice-9 regex)
(guix build utils))
(with-directory-excursion (assoc-ref %build-inputs "source")
(for-each (lambda (dir)
(copy-recursively
dir
(string-append %output
"/share/emacs/yasnippet-snippets/"
dir)))
(scandir "." (lambda (fname)
(and (string-match "-mode$" fname)
(directory-exists? fname))))))
#t)))
(home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
(synopsis "Collection of YASnippet snippets for many languages")
(description
"Provides Andrea Crotti's collection of YASnippet snippets. After installation,
(package
(name "emacs-yasnippet-snippets")
(version "0.20")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AndreaCrotti/yasnippet-snippets")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(out (assoc-ref %outputs "out"))
(snippet-dir
(string-append out "/share/emacs/yasnippet-snippets/")))
(with-directory-excursion source
(mkdir-p snippet-dir)
(copy-recursively "snippets" snippet-dir)))
#t)))
(home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
(synopsis "Collection of YASnippet snippets for many languages")
(description
"Provides Andrea Crotti's collection of YASnippet snippets. After installation,
the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
To make YASnippet aware of these snippets, add the above directory to
@code{yas-snippet-dirs}.")
(license license:expat))))
(license license:gpl3+)))
(define-public emacs-helm-c-yasnippet
(let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")

View File

@ -46,7 +46,7 @@
(define-public lftp
(package
(name "lftp")
(version "4.8.4")
(version "4.9.1")
(source (origin
(method url-fetch)
;; See https://lftp.tech/get.html for mirrors.
@ -58,7 +58,7 @@
"ftp/lftp/lftp-" version ".tar.xz")))
(sha256
(base32
"0qks22357xv9y6ripmf5j2n5svh8j5z0yniphfk89sjwkqg2gg2f"))))
"0jq2g8h1bx06ya9fsja748vwb2qrca4wsfrgi3fmaa8hznpgqsar"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -4033,7 +4033,7 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue
(package
(name "hyperrogue")
(version "11.2d")
(version "11.2q")
;; When updating this package, be sure to update the "hyperrogue-data"
;; origin in native-inputs.
(source (origin
@ -4044,7 +4044,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-src.tgz"))
(sha256
(base32
"1b532s94zv1jsni7bvh848m42arxcclsr0x3n7c689iamwqzrxmn"))))
"1w4khi2limxhgiq7xnz0rc9nzbk86bhbyzrcd5hdghnhsviaiggq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@ -4122,7 +4122,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-win.zip"))
(sha256
(base32
"0vq4l1xaqpjj3hmxn1vn2b3bbkn1hrag42ck9f30blinv347bwhf"))))
"1k81zrbq5gmrccjac1i5c6v8j2iilfg2vwrnm8snjmmcnh5z1fgj"))))
("unzip" ,unzip)))
(inputs
`(("font-dejavu" ,font-dejavu)

View File

@ -114,6 +114,40 @@ which haven't been updated for some years. The new app icons are ported from
the Obsidian icon theme.")
(license license:gpl3)))
(define-public gnome-shell-extension-appindicator
(package
(name "gnome-shell-extension-appindicator")
(version "30")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/ubuntu/gnome-shell-extension-appindicator.git")
(commit (string-append "v" version))))
(sha256
(base32
"1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(install-dir (string-append (assoc-ref %outputs "out")
"/share/gnome-shell/extensions"
"/appindicatorsupport@rgcjonas.gmail.com")))
(mkdir-p install-dir)
(copy-recursively source install-dir)
#t))))
(synopsis "Adds KStatusNotifierItem support to GNOME Shell")
(description "This extension integrates Ubuntu AppIndicators
and KStatusNotifierItems (KDE's successor of the systray) into
GNOME Shell.")
(home-page "https://github.com/ubuntu/gnome-shell-extension-appindicator/")
(license license:gpl2+)))
(define-public gnome-shell-extension-dash-to-dock
(package
(name "gnome-shell-extension-dash-to-dock")

View File

@ -2178,6 +2178,10 @@ from forcing GEXP-PROMISE."
#+(canonical-package tar)))
(invoke "tar" "xvf" #+upstream-source)
(with-directory-excursion (string-append "librsvg-" #$version)
;; The following crate(s) are needed in addition to the ones replaced:
(begin
(invoke
"tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor"))
(for-each
(lambda (crate)
(delete-file-recursively (string-append "vendor/" (car crate)))
@ -2187,7 +2191,7 @@ from forcing GEXP-PROMISE."
("approx" . #+(package-source rust-approx-0.3))
("arrayvec" . #+(package-source rust-arrayvec-0.4))
("atty" . #+(package-source rust-atty-0.2))
("autocfg" . #+(package-source rust-autocfg-0.1))
("autocfg" . #+(package-source rust-autocfg-1.0))
("bitflags" . #+(package-source rust-bitflags-1))
;; block 0.1
("bstr" . #+(package-source rust-bstr-0.2))
@ -2238,7 +2242,7 @@ from forcing GEXP-PROMISE."
("language-tags" . #+(package-source rust-language-tags-0.2))
("lazy_static" . #+(package-source rust-lazy-static-1.3))
("libc" . #+(package-source rust-libc-0.2))
;; libm 0.1
("libm" . #+(package-source rust-libm-0.1))
;; locale_config 0.3
("log" . #+(package-source rust-log-0.4))
("mac" . #+(package-source rust-mac-0.1))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,7 +37,7 @@
(define-public gpodder
(package
(name "gpodder")
(version "3.10.11")
(version "3.10.13")
(source
(origin
(method git-fetch)
@ -46,7 +46,7 @@
(commit version)))
(sha256
(base32
"15f5z3cnch9lpzbz73l4wjykv9n74y8djz5db53la2ql4ihaxfz9"))
"1h542syaxsx1hslfzlk3fx1nbp190zjw35kigw7a1kx1jwvfwapg"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(native-inputs

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,6 +22,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libusb)
@ -29,6 +31,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sdr)
#:use-module (gnu packages xml)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -127,3 +130,49 @@ satellites, the POES NOAA weather satellite series. These transmissions are
on a frequency of 137 MHz. They can be received using an inexpensive antenna
and a dedicated receiver.")
(license license:gpl2+)))
(define-public redsea
(package
(name "redsea")
(version "0.18")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/windytan/redsea")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; The configure.ac file does not explicitly link against libiconv
;; except on Mac OS, causing the build to fail. This phase comments
;; out the original AC_SUBST macro (located inside a conditional) and
;; adds an explicit use of it underneath, so that libiconv is always
;; linked against.
(add-after 'unpack 'patch-libiconv
(lambda _
(substitute* "configure.ac"
(("^ +AC_SUBST")
"# AC_SUBST")
(("esac")
"esac\nAC_SUBST([ICONV], [\"-liconv\"])"))
#t)))))
(inputs
`(("libiconv" ,libiconv)
("libsndfile" ,libsndfile)
("liquid-dsp" ,liquid-dsp)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://github.com/windytan/redsea")
(synopsis "Lightweight RDS to JSON decoder")
(description "redsea is a lightweight command-line @dfn{FM Radio Data
System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick
with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via
csdr, for example. It can also decode raw ASCII bitstream, the hex format
used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(license license:expat)))

View File

@ -270,14 +270,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public git-annex
(package
(name "git-annex")
(version "7.20191230")
(version "7.20200202.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "1xsd4vhiv3zkcqjh2pxhbkjx75hcalcc9bpdlfc27wzxsxyrwz12"))))
(base32 "1dj1ss7kp82wa0ybilhl88q6w49rj70qh61k2q8qfyx4ghliiigh"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags

View File

@ -53,6 +53,7 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages unicode)
#:use-module (gnu packages xorg))
(define-public ibus
@ -70,19 +71,22 @@
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; tests fail because there's no connection to dbus
#:configure-flags `("--disable-emoji-dict" ; cannot find emoji.json path
"--enable-python-library"
,(string-append "--with-ucd-dir="
(getcwd) "/ucd")
"--enable-wayland")
#:parallel-build? #f ; race condition discovered with emoji support
#:configure-flags (list "--enable-python-library"
(string-append
"--with-unicode-emoji-dir="
(assoc-ref %build-inputs "unicode-emoji")
"/share/unicode/emoji")
(string-append
"--with-emoji-annotation-dir="
(assoc-ref %build-inputs "unicode-cldr-common")
"/share/unicode/cldr/common/annotations")
(string-append "--with-ucd-dir="
(assoc-ref %build-inputs "ucd")
"/share/ucd")
"--enable-wayland")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-ucd-dir
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "../ucd")
(symlink (assoc-ref inputs "unicode-blocks") "../ucd/Blocks.txt")
(symlink (assoc-ref inputs "unicode-nameslist") "../ucd/NamesList.txt")
#t))
(add-after 'unpack 'patch-python-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((root (string-append (assoc-ref outputs "out")
@ -149,20 +153,9 @@
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
;; XXX TODO: Move Unicode data to its own (versioned) package.
("unicode-nameslist"
,(origin
(method url-fetch)
(uri "https://www.unicode.org/Public/12.0.0/ucd/NamesList.txt")
(sha256
(base32 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61"))))
("unicode-blocks"
,(origin
(method url-fetch)
(uri "https://www.unicode.org/Public/12.0.0/ucd/Blocks.txt")
(sha256
(base32 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1"))))
("ucd" ,ucd)
("unicode-emoji" ,unicode-emoji)
("unicode-cldr-common" ,unicode-cldr-common)
("vala" ,vala)
("pkg-config" ,pkg-config)))
(native-search-paths

View File

@ -362,14 +362,14 @@ AbiWord documents.")
(define-public libcdr
(package
(name "libcdr")
(version "0.1.5")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256 (base32
"0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka"))))
"0qgqlw6i25zfq1gf7f6r5hrhawlrgh92sg238kjpf2839aq01k81"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)

View File

@ -455,24 +455,26 @@ over USB.")
(define-public libmtp
(package
(name "libmtp")
(version "1.1.16")
(version "1.1.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libmtp/libmtp/" version
"/libmtp-" version ".tar.gz"))
(sha256
(base32
"185vh9bds6dcy00ycggg69g4v7m3api40zv8vrcfb3fk3vfzjs2v"))))
"1p3r38nvdip40ab1h4scj3mzfjkx6kd14szjqyw9r6wz5pslr8zq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libgcrypt" ,libgcrypt)))
(propagated-inputs
;; libmtp.pc refers to all these.
`(("libgcrypt" ,libgcrypt)
("libusb" ,libusb)))
`(("libusb" ,libusb)))
(arguments
`(#:configure-flags
(list (string-append "--with-udev="
(list "--disable-static"
(string-append "--with-udev="
(assoc-ref %outputs "out")
"/lib/udev"))))
(home-page "http://libmtp.sourceforge.net/")

View File

@ -16,6 +16,7 @@
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -166,29 +167,27 @@ interactive development model in mind.")
(sbcl-package->ecl-package sbcl-fiveam))
(define-public sbcl-bordeaux-threads
(let ((commit "5dce49fbc829f4d136a734f5ef4f5d599660984f")
(revision "1"))
(package
(name "sbcl-bordeaux-threads")
(version (git-version "0.8.6" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/bordeaux-threads.git")
(commit commit)))
(sha256
(base32 "1gkh9rz7zw57n3110ikcf4835950wr4hgp8l79id5ai6nd86x7wv"))
(file-name
(git-file-name "bordeaux-threads" version))))
(inputs `(("alexandria" ,sbcl-alexandria)))
(native-inputs `(("fiveam" ,sbcl-fiveam)))
(build-system asdf-build-system/sbcl)
(synopsis "Portable shared-state concurrency library for Common Lisp")
(description "BORDEAUX-THREADS is a proposed standard for a minimal
(package
(name "sbcl-bordeaux-threads")
(version "0.8.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/bordeaux-threads.git")
(commit (string-append "v" version))))
(sha256
(base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
(file-name
(git-file-name "bordeaux-threads" version))))
(inputs `(("alexandria" ,sbcl-alexandria)))
(native-inputs `(("fiveam" ,sbcl-fiveam)))
(build-system asdf-build-system/sbcl)
(synopsis "Portable shared-state concurrency library for Common Lisp")
(description "BORDEAUX-THREADS is a proposed standard for a minimal
MP/Threading interface. It is similar to the CLIM-SYS threading and lock
support.")
(home-page "https://common-lisp.net/project/bordeaux-threads/")
(license license:x11))))
(home-page "https://common-lisp.net/project/bordeaux-threads/")
(license license:x11)))
(define-public cl-bordeaux-threads
(sbcl-package->cl-source-package sbcl-bordeaux-threads))
@ -267,7 +266,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(define-public sbcl-flexi-streams
(package
(name "sbcl-flexi-streams")
(version "1.0.16")
(version "1.0.18")
(source
(origin
(method git-fetch)
@ -276,7 +275,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(commit (string-append "v" version))))
(file-name (git-file-name "flexi-streams" version))
(sha256
(base32 "0gvykjlmja060zqq6nn6aqxlshh6r6ijahmmgf20q0d839rwpgxc"))))
(base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
@ -304,7 +303,7 @@ streams which are similar to string streams.")
(define-public sbcl-cl-ppcre
(package
(name "sbcl-cl-ppcre")
(version "2.0.11")
(version "2.1.1")
(source
(origin
(method git-fetch)
@ -313,7 +312,7 @@ streams which are similar to string streams.")
(commit (string-append "v" version))))
(file-name (git-file-name "cl-ppcre" version))
(sha256
(base32 "0q3iany07vgqm144lw6pj0af2d3vsikpbkwcxr30fci3kzsq4f49"))))
(base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
(synopsis "Portable regular expression library for Common Lisp")
@ -330,32 +329,30 @@ compatible with ANSI-compliant Common Lisp implementations.")
(sbcl-package->ecl-package sbcl-cl-ppcre))
(define sbcl-cl-unicode-base
(let ((revision "1")
(commit "9fcd06fba1ddc9e66aed2f2d6c32dc9b764f03ea"))
(package
(name "sbcl-cl-unicode-base")
(version (string-append "0.1.5-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edicl/cl-unicode.git")
(commit commit)))
(file-name (string-append "cl-unicode-" version "-checkout"))
(sha256
(base32
"1jicprb5b3bv57dy1kg03572gxkcaqdjhak00426s76g0plmx5ki"))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:asd-file "cl-unicode.asd"
#:asd-system-name "cl-unicode/base"))
(inputs
`(("cl-ppcre" ,sbcl-cl-ppcre)))
(home-page "http://weitz.de/cl-unicode/")
(synopsis "Portable Unicode library for Common Lisp")
(description "CL-UNICODE is a portable Unicode library Common Lisp, which
(package
(name "sbcl-cl-unicode-base")
(version "0.1.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edicl/cl-unicode.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:asd-file "cl-unicode.asd"
#:asd-system-name "cl-unicode/base"))
(inputs
`(("cl-ppcre" ,sbcl-cl-ppcre)))
(home-page "http://weitz.de/cl-unicode/")
(synopsis "Portable Unicode library for Common Lisp")
(description "CL-UNICODE is a portable Unicode library Common Lisp, which
is compatible with perl. It is pretty fast, thread-safe, and compatible with
ANSI-compliant Common Lisp implementations.")
(license license:bsd-2))))
(license license:bsd-2)))
(define-public sbcl-cl-unicode
(package
@ -629,6 +626,9 @@ from other CLXes around the net.")
`(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
(define-public ecl-cl-ppcre-unicode
(sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
;; The slynk that users expect to install includes all of slynk's contrib
;; modules. Therefore, we build the base module and all contribs first; then
;; we expose the union of these as `sbcl-slynk'. The following variable
@ -1417,7 +1417,7 @@ In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
(define-public sbcl-split-sequence
(package
(name "sbcl-split-sequence")
(version "1.4.1")
(version "2.0.0")
(source
(origin
(method git-fetch)
@ -1426,13 +1426,11 @@ In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
(commit (string-append "v" version))))
(sha256
(base32
"0c3zp6b7fmmp93sfhq112ind4zkld49ycw68z409xpnz3gc0wpf0"))
"0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
(file-name (git-file-name "split-sequence" version))))
(build-system asdf-build-system/sbcl)
(arguments
;; TODO: Tests seem to be broken.
;; https://github.com/sharplispers/split-sequence/issues/8
`(#:tests? #f))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(synopsis "Member of the Common Lisp Utilities family of programs")
(description
"Splits sequence into a list of subsequences delimited by objects
@ -1570,7 +1568,7 @@ with @command{colorize} support."))))
(define-public sbcl-cl-fad
(package
(name "sbcl-cl-fad")
(version "0.7.5")
(version "0.7.6")
(source
(origin
(method git-fetch)
@ -1579,7 +1577,7 @@ with @command{colorize} support."))))
(commit (string-append "v" version))))
(sha256
(base32
"1l1qmk9z57q84bz5r04sxsksggsnd7dgkxlybzh9imz6ma7sm52m"))
"1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
(file-name (string-append "cl-fad" version "-checkout"))))
(build-system asdf-build-system/sbcl)
(inputs
@ -1821,8 +1819,11 @@ processes that doesn't run under Emacs. Lisp processes created by
("cl-fad" ,sbcl-cl-fad)
("ironclad" ,sbcl-ironclad)
("named-readtables" ,sbcl-named-readtables)
("pythonic-string-reader" ,sbcl-pythonic-string-reader)
("swank" ,cl-slime-swank)))
("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
(propagated-inputs
;; Packages having mgl-pax as input complain that it can't find
;; swank if we put it in inputs, so let's put it in propageted-inputs.
`(("swank" ,cl-slime-swank)))
(synopsis "Exploratory programming environment and documentation generator")
(description
"PAX provides an extremely poor man's Explorable Programming
@ -2473,7 +2474,7 @@ non-consing thread safe queues and fibonacci priority queues.")
(define sbcl-cffi-bootstrap
(package
(name "sbcl-cffi-bootstrap")
(version "0.19.0")
(version "0.21.0")
(source
(origin
(method git-fetch)
@ -2482,7 +2483,7 @@ non-consing thread safe queues and fibonacci priority queues.")
(commit (string-append "v" version))))
(file-name (git-file-name "cffi-bootstrap" version))
(sha256
(base32 "09sfgc6r7ihmbkwfpvkq5fxc7h45cabpvgbvs47i5cvnmv3k72xy"))))
(base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("libffi" ,libffi)
@ -3177,44 +3178,43 @@ Lisp (from GBBopen project).")
(define-public ecl-portable-threada
(sbcl-package->ecl-package sbcl-portable-threads))
(define-public sbcl-usocket-boot0
(define sbcl-usocket-boot0
;; usocket's test rely on usocket-server which depends on usocket itself.
;; We break this cyclic dependency with -boot0 that packages usocket.
(let ((commit "86e7efbfe50101931edf4b67cdcfa7e221ecfde9"))
(package
(name "sbcl-usocket-boot0")
(version (git-version "0.7.1" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/usocket/usocket/")
(commit commit)))
(file-name (git-file-name "usocket" version))
(sha256
(base32
"1lk6ipakrib7kdgzw44hrgmls9akp5pz4h35yynw0k5zwmmq6374"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("split-sequence" ,sbcl-split-sequence)))
(arguments
`(#:tests? #f
#:asd-system-name "usocket"))
(home-page "https://common-lisp.net/project/usocket/")
(synopsis "Universal socket library for Common Lisp (server side)")
(description
"This library strives to provide a portable TCP/IP and UDP/IP socket
(package
(name "sbcl-usocket-boot0")
(version "0.8.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/usocket/usocket/")
(commit (string-append "v" version))))
(file-name (git-file-name "usocket" version))
(sha256
(base32
"0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("split-sequence" ,sbcl-split-sequence)))
(arguments
`(#:tests? #f
#:asd-system-name "usocket"))
(home-page "https://common-lisp.net/project/usocket/")
(synopsis "Universal socket library for Common Lisp (server side)")
(description
"This library strives to provide a portable TCP/IP and UDP/IP socket
interface for as many Common Lisp implementations as possible, while keeping
the abstraction and portability layer as thin as possible.")
(license license:expat))))
(license license:expat)))
(define-public sbcl-usocket-server
(package
(inherit sbcl-usocket-boot0)
(name "sbcl-usocket-server")
(inputs
`(("usocket" ,sbcl-usocket-boot0)
("portable-threads" ,sbcl-portable-threads)))
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
("usocket" ,sbcl-usocket-boot0)))
(arguments
'(#:asd-system-name "usocket-server"))
(synopsis "Universal socket library for Common Lisp (server side)")))
@ -3240,7 +3240,7 @@ the abstraction and portability layer as thin as possible.")
(define-public cl-usocket
(sbcl-package->cl-source-package sbcl-usocket))
(define-public ecl-socket
(define-public ecl-usocket
(sbcl-package->ecl-package sbcl-usocket))
(define-public sbcl-s-xml
@ -3663,45 +3663,45 @@ the format used by the popular compression tool bzip2.")
(sbcl-package->cl-source-package sbcl-chipz))
(define-public sbcl-drakma
(let ((version "2.0.4")
(commit "7647c0ae842ff2058624e53979c7f297760c97a7")
(revision "1"))
(package
(name "sbcl-drakma")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edicl/drakma.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1c4i9wakhj5pxfyyykxshdmv3180sbkrx6fcyynikmc0jd0rh84r"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("sbcl-puri" ,sbcl-puri)
("sbcl-cl-base64" ,sbcl-cl-base64)
("sbcl-chunga" ,sbcl-chunga)
("sbcl-flexi-streams" ,sbcl-flexi-streams)
("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-chipz" ,sbcl-chipz)
("sbcl-usocket" ,sbcl-usocket)
("sbcl-cl+ssl" ,sbcl-cl+ssl)))
(native-inputs
`(("sbcl-fiveam" ,sbcl-fiveam)))
(home-page "https://edicl.github.io/drakma/")
(synopsis "HTTP client written in Common Lisp")
(description
"Drakma is a full-featured HTTP client implemented in Common Lisp. It
(package
(name "sbcl-drakma")
(version "2.0.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edicl/drakma.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("sbcl-puri" ,sbcl-puri)
("sbcl-cl-base64" ,sbcl-cl-base64)
("sbcl-chunga" ,sbcl-chunga)
("sbcl-flexi-streams" ,sbcl-flexi-streams)
("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-chipz" ,sbcl-chipz)
("sbcl-usocket" ,sbcl-usocket)
("sbcl-cl+ssl" ,sbcl-cl+ssl)))
(native-inputs
`(("sbcl-fiveam" ,sbcl-fiveam)))
(home-page "https://edicl.github.io/drakma/")
(synopsis "HTTP client written in Common Lisp")
(description
"Drakma is a full-featured HTTP client implemented in Common Lisp. It
knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
sockets, SSL, continuable uploads, file uploads, cookies, and more.")
(license license:bsd-2))))
(license license:bsd-2)))
(define-public cl-drakma
(sbcl-package->cl-source-package sbcl-drakma))
(define-public ecl-drakma
(sbcl-package->ecl-package sbcl-drakma))
(define-public sbcl-hunchentoot
(package
(name "sbcl-hunchentoot")
@ -4102,36 +4102,37 @@ Lisp.")
(sbcl-package->cl-source-package sbcl-fast-http))
(define-public sbcl-static-vectors
(let ((commit "0681eac1f49370cde03e64b077251e8abf47d702")
(revision "1"))
(package
(name "sbcl-static-vectors")
(version (git-version "1.8.3" revision commit))
(source
(origin
(package
(name "sbcl-static-vectors")
(version "1.8.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/static-vectors.git")
(commit commit)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "138nlsq14hv8785ycjm6jw3i6ablhq8vcwys7q09y80arcgrg6r3"))))
(native-inputs
`(("sbcl-fiveam" ,sbcl-fiveam)))
(inputs
`(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
("sbcl-cffi" ,sbcl-cffi)))
(build-system asdf-build-system/sbcl)
(home-page "http://common-lisp.net/projects/iolib/")
(synopsis "Allocate SIMPLE-ARRAYs in static memory")
(description
"With @code{static-vectors}, you can create vectors allocated in static
(base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
(native-inputs
`(("sbcl-fiveam" ,sbcl-fiveam)))
(inputs
`(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
("sbcl-cffi" ,sbcl-cffi)))
(build-system asdf-build-system/sbcl)
(home-page "http://common-lisp.net/projects/iolib/")
(synopsis "Allocate SIMPLE-ARRAYs in static memory")
(description
"With @code{static-vectors}, you can create vectors allocated in static
memory.")
(license license:expat))))
(license license:expat)))
(define-public cl-static-vectors
(sbcl-package->cl-source-package sbcl-static-vectors))
(define-public ecl-static-vectors
(sbcl-package->ecl-package sbcl-static-vectors))
(define-public sbcl-marshal
(let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
(revision "1"))
@ -5222,7 +5223,7 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(package
(name "sbcl-swap-bytes")
(build-system asdf-build-system/sbcl)
(version "1.1")
(version "1.2")
(home-page "https://github.com/sionescu/swap-bytes")
(source
(origin
@ -5233,14 +5234,11 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(file-name (git-file-name name version))
(sha256
(base32
"1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
"1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
(inputs
`(("trivial-features" ,sbcl-trivial-features)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(arguments
;; TODO: Tests fail, why?
`(#:tests? #f))
(synopsis "Efficient endianness conversion for Common Lisp")
(description "This Common Lisp library provides optimized byte-swapping
primitives. The library can change endianness of unsigned integers of length
@ -6874,8 +6872,8 @@ compression/decompression using bindings to the lzlib C library.")
(sbcl-package->ecl-package sbcl-lzlib))
(define-public sbcl-chanl
(let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340")
(revision "0"))
(let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
(revision "1"))
(package
(name "sbcl-chanl")
(version (git-version "0.4.1" revision commit))
@ -6888,7 +6886,7 @@ compression/decompression using bindings to the lzlib C library.")
(file-name (git-file-name name version))
(sha256
(base32
"0ag3wz7yrqwp0s5069wwda98z3rrqd25spg8sa8rdqghj084w28w"))))
"0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
@ -6906,26 +6904,7 @@ threads.")
(sbcl-package->cl-source-package sbcl-chanl))
(define-public ecl-chanl
(let ((base (sbcl-package->ecl-package sbcl-chanl)))
(package
(inherit base)
(arguments
(substitute-keyword-arguments (package-arguments base)
;; The CHANL.ACTORS package uses the :ARGUMENTS option of
;; DEFINE-METHOD-COMBINATION, which is not implemented in ECL yet
;; (see https://gitlab.com/embeddable-common-lisp/ecl/issues/305).
;; So let's disable it for now, as it allows compiling the library
;; and using the rest of it.
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack 'disable-chanl-actors
(lambda _
(substitute* "chanl.asd"
(("\\(:file \"actors\"\\)") ""))
#t))))
;; Disable the tests for now, as the SEND-SEQUENCE test seems to
;; never end.
((#:tests? _ #f) #f))))))
(sbcl-package->ecl-package sbcl-chanl))
(define-public sbcl-cl-store
(let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
@ -7435,7 +7414,7 @@ interactive development.")
("metabang-bind" ,sbcl-metabang-bind)
("named-readtables" ,sbcl-named-readtables)))
(arguments
'(#:test-asd-file "graph.test.asd"))
'(#:test-asd-file "graph-test.asd"))
(synopsis "Graph data structure and algorithms for Common Lisp")
(description
"The GRAPH Common Lisp library provides a data structures to represent
@ -7460,7 +7439,7 @@ path, maximum flow, minimum spanning tree, etc.).")
("named-readtables" ,sbcl-named-readtables)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-graph)
((#:asd-file _ "") "graph.dot.asd")
((#:asd-file _ "") "graph-dot.asd")
((#:asd-system-name _ #f) "graph-dot")))
(synopsis "Serialize graphs to and from DOT format")))
@ -7477,7 +7456,7 @@ path, maximum flow, minimum spanning tree, etc.).")
("yason" ,sbcl-yason)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-graph)
((#:asd-file _ "") "graph.json.asd")
((#:asd-file _ "") "graph-json.asd")
((#:asd-system-name _ #f) "graph-json")))
(synopsis "Serialize graphs to and from JSON format")))
@ -10043,3 +10022,183 @@ ones.")
(define-public ecl-nodgui
(sbcl-package->ecl-package sbcl-nodgui))
(define-public sbcl-salza2
(package
(name "sbcl-salza2")
(version "2.0.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xach/salza2.git")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
(build-system asdf-build-system/sbcl)
(synopsis "Common Lisp library for zlib, deflate and gzip compression")
(description
"Salza2 is a Common Lisp library for creating compressed data in the zlib,
deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
respectively.")
(home-page "https://www.xach.com/lisp/salza2/")
(license license:bsd-2)))
(define-public cl-salza2
(sbcl-package->cl-source-package sbcl-salza2))
(define-public ecl-salza2
(sbcl-package->ecl-package sbcl-salza2))
(define-public sbcl-png-read
(let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
(revision "1"))
(package
(name "sbcl-png-read")
(version (git-version "0.3.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Ramarren/png-read.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("babel" ,sbcl-babel)
("chipz" ,sbcl-chipz)
("iterate" ,sbcl-iterate)))
(synopsis "PNG decoder for Common Lisp")
(description "This is a Common Lisp library for reading PNG images.")
(home-page "https://github.com/Ramarren/png-read")
(license license:bsd-3))))
(define-public cl-png-read
(sbcl-package->cl-source-package sbcl-png-read))
(define-public ecl-png-read
(sbcl-package->ecl-package sbcl-png-read))
(define-public sbcl-zpng
(package
(name "sbcl-zpng")
(version "1.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xach/zpng.git")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("salza2" ,sbcl-salza2)))
(synopsis "PNG encoder for Common Lisp")
(description "This is a Common Lisp library for creating PNG images.")
(home-page "https://www.xach.com/lisp/zpng/")
(license license:bsd-2)))
(define-public cl-zpng
(sbcl-package->cl-source-package sbcl-zpng))
(define-public ecl-zpng
(sbcl-package->ecl-package sbcl-zpng))
(define-public sbcl-cl-qrencode
(package
(name "sbcl-cl-qrencode")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jnjcc/cl-qrencode.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("lisp-unit" ,sbcl-lisp-unit)))
(inputs
`(("zpng" ,sbcl-zpng)))
(synopsis "QR code encoder for Common Lisp")
(description
"This Common Lisp library provides function to make QR codes and to save
them as PNG files.")
(home-page "https://github.com/jnjcc/cl-qrencode")
(license license:gpl2+)))
(define-public cl-qrencode
(sbcl-package->cl-source-package sbcl-cl-qrencode))
(define-public ecl-cl-qrencode
(sbcl-package->ecl-package sbcl-cl-qrencode))
(define-public sbcl-hdf5-cffi
(let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
(revision "1"))
(package
(name "sbcl-hdf5-cffi")
(version (git-version "1.8.18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hdfgroup/hdf5-cffi.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
(build-system asdf-build-system/sbcl)
(synopsis "Common Lisp bindings for the HDF5 library")
(description
"@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
(home-page "https://github.com/hdfgroup/hdf5-cffi")
(license (license:non-copyleft
(string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
commit
"/LICENSE")))
(inputs
`(("cffi" ,sbcl-cffi)
("cffi-grovel" ,sbcl-cffi-grovel)
("hdf5" ,hdf5-1.10)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(arguments
`(#:asd-system-name "hdf5-cffi"
#:asd-file "hdf5-cffi.asd"
#:test-asd-file "hdf5-cffi.test.asd"
;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
;; I don't know if there is a way to tell asdf-build-system to load
;; an additional system first, so tests are disabled.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/library.lisp"
(("libhdf5.so")
(string-append
(assoc-ref inputs "hdf5")
"/lib/libhdf5.so")))))
(add-after 'unpack 'fix-dependencies
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "hdf5-cffi.asd"
((":depends-on \\(:cffi\\)")
":depends-on (:cffi :cffi-grovel)"))
(substitute* "hdf5-cffi.test.asd"
((":depends-on \\(:cffi :hdf5-cffi")
":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
(define-public cl-hdf5-cffi
(sbcl-package->cl-source-package sbcl-hdf5-cffi))
(define-public ecl-hdf5-cffi
(sbcl-package->ecl-package sbcl-hdf5-cffi))

View File

@ -8,6 +8,7 @@
;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
;;; Copyright © 2020 Fakhri Sajadi <f.sajadi@pantherx.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -379,6 +380,7 @@ the operating system LXQt is running on.")
("qtx11extras" ,qtx11extras)
("solid" ,solid)
("xf86-input-libinput" ,xf86-input-libinput)
("xkeyboard-config" ,xkeyboard-config)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)
@ -394,6 +396,14 @@ the operating system LXQt is running on.")
(("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
"DESTINATION \"etc/xdg"))
#t))
(add-after 'unpack 'set-xkeyboard-config-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Set the file name to xkeyboard-config.
(let ((xkb (assoc-ref inputs "xkeyboard-config")))
(substitute* "lxqt-config-input/keyboardlayoutconfig.h"
(("/usr/share/X11/xkb/rules/base.lst")
(string-append xkb "/share/X11/xkb/rules/base.lst")))
#t)))
(add-after 'unpack 'patch-translations-dir
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("lxqt-config-file-associations/CMakeLists.txt"

View File

@ -397,9 +397,11 @@ aliasing facilities to work just as they would on normal mail.")
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
("gpgme" ,gpgme)
("libidn2" ,libidn2)
("ncurses" ,ncurses)
("openssl" ,openssl)
("perl" ,perl)))
("perl" ,perl)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags '("--enable-smtp"
"--enable-imap"
@ -407,8 +409,11 @@ aliasing facilities to work just as they would on normal mail.")
"--enable-gpgme"
"--enable-hcache" ; for header caching
"--enable-sidebar"
"--enable-autocrypt"
"--with-ssl"
"--with-sasl"
"--with-sqlite3" ; required for Autocrypt
"--with-idn2" ; recommended for Autocrypt
;; so that mutt does not check whether the path
;; exists, which it does not in the chroot
"--with-mailpath=/var/mail")))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2019 Eric Bavier <bavier@member.fsf.org>
;;; 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 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
@ -2213,7 +2213,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
(version "1.6.1")
(version "1.7.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@ -2221,7 +2221,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
"1shnz429zgl0b4y5bpb61frk1747jwqfahq4hx44c972580zghzh"))))
"1pkqrrr51vlxh96vy0c0rf5ijjvymys4brsw9rv1bdp1bb8izw6c"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@ -5142,7 +5142,7 @@ and as an LV2 plugin.")
(define-public zrythm
(package
(name "zrythm")
(version "0.7.345")
(version "0.7.474")
(source
(origin
(method url-fetch)
@ -5150,13 +5150,21 @@ and as an LV2 plugin.")
version ".tar.xz"))
(sha256
(base32
"1csiwq38a1ckx23lairfpl7qjkz71wsa7a9vsxl3k58f9ybibiil"))))
"0qq9v8y27zhamcb7nq7pl76874ws8x8cxhp5r685b8binvl9p0az"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:configure-flags
`("-Denable_tests=true" "-Dmanpage=true"
"-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")))
"-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-xdg-open
(lambda _
(substitute* "src/utils/io.c"
(("OPEN_DIR_CMD")
(string-append "\"" (which "xdg-open") "\"")))
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)

View File

@ -0,0 +1,69 @@
Fix CVE-2020-1711:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1711
Patch copied from upstream source repository:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=693fd2acdf14dd86c0bf852610f1c2cca80a74dc
From 693fd2acdf14dd86c0bf852610f1c2cca80a74dc Mon Sep 17 00:00:00 2001
From: Felipe Franciosi <felipe@nutanix.com>
Date: Thu, 23 Jan 2020 12:44:59 +0000
Subject: [PATCH] iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711)
When querying an iSCSI server for the provisioning status of blocks (via
GET LBA STATUS), Qemu only validates that the response descriptor zero's
LBA matches the one requested. Given the SCSI spec allows servers to
respond with the status of blocks beyond the end of the LUN, Qemu may
have its heap corrupted by clearing/setting too many bits at the end of
its allocmap for the LUN.
A malicious guest in control of the iSCSI server could carefully program
Qemu's heap (by selectively setting the bitmap) and then smash it.
This limits the number of bits that iscsi_co_block_status() will try to
update in the allocmap so it can't overflow the bitmap.
Fixes: CVE-2020-1711
Cc: qemu-stable@nongnu.org
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Signed-off-by: Peter Turschmid <peter.turschm@nutanix.com>
Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/iscsi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/block/iscsi.c b/block/iscsi.c
index 2aea7e3f13..cbd57294ab 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -701,7 +701,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
struct scsi_get_lba_status *lbas = NULL;
struct scsi_lba_status_descriptor *lbasd = NULL;
struct IscsiTask iTask;
- uint64_t lba;
+ uint64_t lba, max_bytes;
int ret;
iscsi_co_init_iscsitask(iscsilun, &iTask);
@@ -721,6 +721,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
}
lba = offset / iscsilun->block_size;
+ max_bytes = (iscsilun->num_blocks - lba) * iscsilun->block_size;
qemu_mutex_lock(&iscsilun->mutex);
retry:
@@ -764,7 +765,7 @@ retry:
goto out_unlock;
}
- *pnum = (int64_t) lbasd->num_blocks * iscsilun->block_size;
+ *pnum = MIN((int64_t) lbasd->num_blocks * iscsilun->block_size, max_bytes);
if (lbasd->provisioning == SCSI_PROVISIONING_TYPE_DEALLOCATED ||
lbasd->provisioning == SCSI_PROVISIONING_TYPE_ANCHORED) {
--
2.25.0

View File

@ -24,11 +24,11 @@ index 193b6e3..56afc8f 100644
-(register-system-packages "femlisp-matlisp" '(:fl.matlisp))
+ cl-heap)
+ :components ((:file "graph")))
diff --git a/graph.dot.asd b/graph.dot.asd
diff --git a/graph-dot.asd b/graph-dot.asd
new file mode 100644
index 0000000..12aec7e
--- /dev/null
+++ b/graph.dot.asd
+++ b/graph-dot.asd
@@ -0,0 +1,8 @@
+(defsystem :graph-dot
+ :depends-on (alexandria
@ -38,11 +38,11 @@ index 0000000..12aec7e
+ cl-ppcre
+ graph)
+ :components ((:file "dot")))
diff --git a/graph.json.asd b/graph.json.asd
diff --git a/graph-json.asd b/graph-json.asd
new file mode 100644
index 0000000..e7d091f
--- /dev/null
+++ b/graph.json.asd
+++ b/graph-json.asd
@@ -0,0 +1,8 @@
+(defsystem :graph-json
+ :depends-on (alexandria
@ -52,11 +52,11 @@ index 0000000..e7d091f
+ yason
+ graph)
+ :components ((:file "json")))
diff --git a/graph.test.asd b/graph.test.asd
diff --git a/graph-test.asd b/graph-test.asd
new file mode 100644
index 0000000..1e811e1
--- /dev/null
+++ b/graph.test.asd
+++ b/graph-test.asd
@@ -0,0 +1,10 @@
+(defsystem :graph-test
+ :depends-on (alexandria

View File

@ -9,6 +9,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Amin Bandali <mab@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +38,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages dbm)
#:use-module (gnu packages glib)
@ -365,3 +367,38 @@ install one or more of the following packages alongside pulseaudio-dlna:
@item vorbis-tools - Vorbis transcoding support
@end itemize")
(license l:gpl3+))))
(define-public pamixer
(package
(name "pamixer")
(version "1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cdemoulins/pamixer.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1i14550n8paijwwnhksv5izgfqm3s5q2773bdfp6vyqybkll55f7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There is no test suite.
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There's no configure phase.
(add-before 'install 'mkdir-bin
(lambda _
(mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))
#t)))))
(inputs
`(("boost" ,boost)
("pulseaudio" ,pulseaudio)))
(home-page "https://github.com/cdemoulins/pamixer")
(synopsis "PulseAudio command line mixer")
(description
"pamixer is like amixer but for PulseAudio, allowing easy control of the
volume levels of the sinks (get, set, decrease, increase, toggle mute, etc).")
(license l:gpl3+)))

View File

@ -31,6 +31,7 @@
;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3494,3 +3495,81 @@ is part of the Weblate translation platform.")
(description "This package provides an extended library for interacting
with GitLab instances through their API.")
(license license:lgpl3+)))
(define-public python-path-and-address
(package
(name "python-path-and-address")
(version "2.0.1")
(source
(origin
;; The source distributed on PyPI doesn't include tests.
(method git-fetch)
(uri (git-reference
(url "https://github.com/joeyespo/path-and-address")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/joeyespo/path-and-address")
(synopsis "Functions for command-line server tools used by humans")
(description "Path-and-address resolves ambiguities of command-line
interfaces, inferring which argument is the path, and which is the address.")
(license license:expat)))
(define-public grip
;; No release by upstream for quite some time, some bugs fixed since. See:
;; https://github.com/joeyespo/grip/issues/304
(let ((commit "27a4d6d87ea1d0ea7f7f120de55baabee3de73e3"))
(package
(name "grip")
(version (git-version "4.5.2" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/joeyespo/grip")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0kx5hgb3q19i4l18a4vqdq9af390xgpk88lp2ay75qi96k0dc68w"))))
(build-system python-build-system)
(propagated-inputs
`(("python-docopt" ,python-docopt)
("python-flask" ,python-flask)
("python-markdown" ,python-markdown)
("python-path-and-address" ,python-path-and-address)
("python-pygments" ,python-pygments)
("python-requests" ,python-requests)))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-responses" ,python-responses)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(setenv "PATH" (string-append
(getenv "PATH") ":"
(assoc-ref %outputs "out") "/bin"))
(invoke "py.test" "-m" "not assumption"))))))
(home-page "https://github.com/joeyespo/grip")
(synopsis "Preview Markdown files using the GitHub API")
(description "Grip is a command-line server application written in Python
that uses the GitHub Markdown API to render a local Markdown file. The styles
and rendering come directly from GitHub, so you'll know exactly how it will
appear. Changes you make to the file will be instantly reflected in the browser
without requiring a page refresh.")
(license license:expat))))

View File

@ -3079,14 +3079,14 @@ Server (PLS).")
(define-public python-language-server
(package
(name "python-language-server")
(version "0.31.6")
(version "0.31.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
"0cqrffd5272p2hifa35rf1h1g6dss741jmjkwa43jninifmbz0df"))))
"0f8rljff4h2ay9m2n9ang7axai37nzd39zd7m6c90rci5wh8cmxh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
@ -10432,13 +10432,13 @@ Wikipedia code samples at
(define-public python-cleo
(package
(name "python-cleo")
(version "0.6.8")
(version "0.7.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "cleo" version))
(sha256
(base32
"06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"))))
"02dlc0rn43zgvw0s5v4j80bca9n1jfpwy3r78gn9qjgk0qj39kwr"))))
(build-system python-build-system)
(native-inputs
`( ;; For testing
@ -10447,6 +10447,7 @@ Wikipedia code samples at
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-backpack" ,python-backpack)
("python-clikit" ,python-clikit)
("python-pastel" ,python-pastel)
("python-pylev" ,python-pylev)))
(home-page "https://github.com/sdispater/cleo")
@ -10462,14 +10463,14 @@ docstring and colored output.")
(define-public python-tomlkit
(package
(name "python-tomlkit")
(version "0.5.7")
(version "0.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomlkit" version))
(sha256
(base32
"18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4"))))
"0sf2a4q61kf344hjbw8kb6za1hlccl89j9lzqw0l2zpddp0hrh9j"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
@ -10529,14 +10530,14 @@ more, possibly remote, memcached servers.")
(define-public python-clikit
(package
(name "python-clikit")
(version "0.2.4")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "clikit" version))
(sha256
(base32
"0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n"))))
"10gab65pq0jdf589n33sj2513pxal2lisl4xwf1ijysdjxmpdr4a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pastel" ,python-pastel)

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@ -423,26 +423,16 @@ key-value pair databases and a real LDAP database.")
(define-public ppp
(package
(name "ppp")
(version "2.4.7")
(version "2.4.8")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/ppp/ppp-"
version ".tar.gz"))
(patches
(list (origin
;; Use OpenSSL for cryptography instead of the obsolete glibc
;; crypto functions that were removed in glibc 2.28.
(method url-fetch)
(uri (string-append "https://github.com/paulusmack/ppp/commit/"
"3c7b86229f7bd2600d74db14b1fe5b3896be3875"
".patch"))
(file-name "ppp-use-openssl-crypto.patch")
(sha256
(base32
"0qlbi247lx3injpy8a1gcij9yilik0vfaibkpvdp88k3sa1rs69z")))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/paulusmack/ppp")
(commit (string-append "ppp-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0c7vrjxl52pdwi4ckrvfjr08b31lfpgwf3pp0cqy76a77vfs7q02"))))
"1i88m79h6g3fzsb4yw3k8bq1grsx3hsyawm7id2vcaab0gfqzjjv"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,11 +20,9 @@
(define-module (gnu packages sdr)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools))

View File

@ -101,3 +101,14 @@ decoding from file or memory. A variety of formats are supported."))
"stb-image-write" "1.13"
"stb-image-write is a small library for writing image files to the
C@tie{}@code{stdio} interface."))
(define-public stb-sprintf
(make-stb-header-package
"stb-sprintf" "1.06"
"stb-sprintf implements fast @code{sprintf}, @code{snprintf} for C/C++."))
(define-public stb-truetype
(make-stb-header-package
"stb-truetype" "1.22"
"stb-truetype is a library for parsing, decoding, and rasterizing
characters from TrueType fonts."))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
@ -50,14 +50,14 @@
(define-public tor
(package
(name "tor")
(version "0.4.2.5")
(version "0.4.2.6")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"1hnqg6psf7shcmlvfk44mkpaz7v66mify3cnx7mzl23q5s37anad"))))
"1i766s211nrbjvwvkd2375mjsbbc28yrg46564rbx6w46cj10005"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

149
gnu/packages/unicode.scm Normal file
View File

@ -0,0 +1,149 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages unicode)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system trivial))
(define-public ucd
(package
(name "ucd")
(version "12.0.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://www.unicode.org/Public/zipped/" version
"/UCD.zip"))
(sha256
(base32
"1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(let ((out (string-append %output "/share/ucd")))
(use-modules (guix build utils))
(mkdir-p out)
(copy-recursively (assoc-ref %build-inputs "source") out)
#t)))
(home-page "https://www.unicode.org")
(synopsis "Unicode Character Database")
(description
"The @dfn{Unicode Character Database} (UCD) consists of a number of data
files listing Unicode character properties and related data. It also includes
test data for conformance to several important Unicode algorithms.")
(license unicode)))
(define (unicode-emoji-file name version hash)
(origin
(method url-fetch)
(uri (string-append "https://www.unicode.org/Public/emoji/"
version
"/emoji-" name ".txt"))
(sha256 (base32 hash))))
(define-public unicode-emoji
(package
(name "unicode-emoji")
(version "12.0")
(source #f)
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(let ((out (string-append %output "/share/unicode/emoji")))
(use-modules (guix build utils))
(mkdir-p out)
(for-each
(lambda (input)
(copy-file
(cdr input)
(string-append out "/"
(substring (car input) 8) ; strip "unicode-"
".txt")))
%build-inputs)
#t)))
(inputs
`(("unicode-emoji-data"
,(unicode-emoji-file
"data" version
"03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv"))
("unicode-emoji-sequences"
,(unicode-emoji-file
"sequences" version
"1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs"))
("unicode-emoji-test"
,(unicode-emoji-file
"test" version
"1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck"))
("unicode-emoji-variation-sequences"
,(unicode-emoji-file
"variation-sequences" version
"1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a"))
("unicode-emoji-zwj-sequences"
,(unicode-emoji-file
"zwj-sequences" version
"1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n"))))
(home-page "https://www.unicode.org")
(synopsis "Unicode Emoji data")
(description
"This package includes data files listing characters and sequences, that
Unicode emoji supporting fonts or keyboards should support according to the
Unicode Technological Standard #51.")
(license unicode)))
(define-public unicode-cldr-common
(package
(name "unicode-cldr-common")
(version "36.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://unicode.org/Public/cldr/"
(version-major version)
"/cldr-common-" version ".zip"))
(sha256
(base32
"0hxsc3j5zb32hmiaj0r3ajchmklx6zng6zlh1ca6s9plq5b9w9q7"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(let ((out (string-append %output "/share/unicode/cldr/common")))
(use-modules (guix build utils))
(mkdir-p out)
(copy-recursively (string-append (assoc-ref %build-inputs "source")
"/common")
out)
#t)))
(home-page "https://www.unicode.org")
(synopsis "Locale data repository")
(description
"The Unicode Common Locale Data Repository (CLDR) is a large repository
of locale data, including among others
@itemize
@item patterns for formatting and parsing,
@item name translations,
@item and various informations on languages, scripts and country-specific
conventions.
@end itemize\n")
(license unicode)))

View File

@ -36,6 +36,7 @@
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2182,14 +2183,14 @@ and custom quantization matrices.")
(define-public streamlink
(package
(name "streamlink")
(version "1.3.0")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
"0593ffjpz82jrljnzxfafkcmcqad3r1ijjan0hm04xjcnxc9cr00"))))
"0cnlg3ra3g6dml4xfy9ysy9b4qwyn458fadd8ac44cfwi3v4gq6y"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs

View File

@ -115,7 +115,8 @@
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(patches (search-patches "qemu-CVE-2020-7039.patch"
(patches (search-patches "qemu-CVE-2020-1711.patch"
"qemu-CVE-2020-7039.patch"
"qemu-CVE-2020-7211.patch"
"qemu-fix-documentation-build-failure.patch"))
(sha256

View File

@ -276,7 +276,7 @@ access.")
(define-public qutebrowser
(package
(name "qutebrowser")
(version "1.9.0")
(version "1.10.0")
(source
(origin
(method url-fetch)
@ -285,7 +285,7 @@ access.")
"qutebrowser-" version ".tar.gz"))
(sha256
(base32
"1y0yq1qfr6g1s7kf3w2crd0b025dv2dfknhlz3v0001ns3rgwj17"))))
"1prvd3cysmcjfybn0dmr3ih0bl6lm5ml9i7wd09fn8hb7047mkby"))))
(build-system python-build-system)
(native-inputs
`(("python-attrs" ,python-attrs))) ; for tests

View File

@ -1,16 +1,16 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
;;; 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 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
@ -4612,7 +4612,7 @@ tools they trust (e.g. wget).")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"buildsystem-" version ".tar.gz"))
(sha256
(base32
@ -4625,7 +4625,7 @@ tools they trust (e.g. wget).")
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build))))
(home-page "http://www.netsurf-browser.org")
(home-page "https://www.netsurf-browser.org")
(synopsis "Build system for the Netsurf project")
(description
"This package provides the shared build system for Netsurf project
@ -4651,7 +4651,7 @@ libraries.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@ -4662,7 +4662,7 @@ libraries.")
("pkg-config" ,pkg-config)
("perl" ,perl))) ;for test harness
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libparserutils/")
(home-page "https://www.netsurf-browser.org/projects/libparserutils/")
(synopsis "Parser building library")
(description
"LibParserUtils is a library for building efficient parsers, written in
@ -4676,7 +4676,7 @@ C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libhubbub-" version "-src.tar.gz"))
(sha256
(base32
@ -4692,7 +4692,7 @@ C. It is developed as part of the NetSurf project.")
(propagated-inputs
`(("libparserutils" ,libparserutils))) ;for libhubbub.pc
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/hubbub/")
(home-page "https://www.netsurf-browser.org/projects/hubbub/")
(synopsis "HTML5 compliant parsing library")
(description
"Hubbub is an HTML5 compliant parsing library, written in C, which can
@ -4782,7 +4782,7 @@ commenting.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libwapcaplet-" version "-src.tar.gz"))
(sha256
(base32
@ -4793,7 +4793,7 @@ commenting.")
("pkg-config" ,pkg-config)
("check" ,check))) ;for tests
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libwapcaplet/")
(home-page "https://www.netsurf-browser.org/projects/libwapcaplet/")
(synopsis "String internment library")
(description
"LibWapcaplet provides a reference counted string internment system
@ -4808,7 +4808,7 @@ developed as part of the Netsurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libcss-" version "-src.tar.gz"))
(sha256
(base32
@ -4822,7 +4822,7 @@ developed as part of the Netsurf project.")
`(("libparserutils" ,libparserutils)
("libwapcaplet" ,libwapcaplet)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libcss/")
(home-page "https://www.netsurf-browser.org/projects/libcss/")
(synopsis "CSS parser and selection library")
(description
"LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,
@ -4836,7 +4836,7 @@ written in C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libdom-" version "-src.tar.gz"))
(sha256
(base32
@ -4858,7 +4858,7 @@ written in C. It is developed as part of the NetSurf project.")
(arguments
`(#:tests? #f ;TODO: re-enable. tests take a looong time.
,@netsurf-buildsystem-arguments))
(home-page "http://www.netsurf-browser.org/projects/libdom/")
(home-page "https://www.netsurf-browser.org/projects/libdom/")
(synopsis "Implementation of the W3C DOM")
(description
"LibDOM is an implementation of the W3C DOM, written in C. It is
@ -4872,7 +4872,7 @@ developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@ -4887,7 +4887,7 @@ developed as part of the NetSurf project.")
(propagated-inputs
`(("libdom" ,libdom))) ;for libsvgtiny.pc
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libsvgtiny/")
(home-page "https://www.netsurf-browser.org/projects/libsvgtiny/")
(synopsis "Library for parsing SVG files")
(description
"Libsvgtiny takes some SVG as input and returns a list of paths and texts
@ -4903,7 +4903,7 @@ project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@ -4912,7 +4912,7 @@ project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libnsbmp/")
(home-page "https://www.netsurf-browser.org/projects/libnsbmp/")
(synopsis "Decoding library for BMP and ICO files")
(description
"Libnsbmp is a decoding library for BMP and ICO image file formats,
@ -4926,7 +4926,7 @@ written in C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@ -4935,7 +4935,7 @@ written in C. It is developed as part of the NetSurf project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libnsgif/")
(home-page "https://www.netsurf-browser.org/projects/libnsgif/")
(synopsis "Decoding library for GIF files")
(description
"Libnsgif is a decoding library for the GIF image file format, written in
@ -4949,7 +4949,7 @@ C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libnslog-" version "-src.tar.gz"))
(sha256
(base32
@ -4962,7 +4962,7 @@ C. It is developed as part of the NetSurf project.")
("bison" ,bison)
("flex" ,flex)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/")
(home-page "https://www.netsurf-browser.org/")
(synopsis "Logging library")
(description
"Libnslog provides a category-based logging library which supports
@ -4977,7 +4977,7 @@ client applications. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@ -4986,7 +4986,7 @@ client applications. It is developed as part of the NetSurf project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/")
(home-page "https://www.netsurf-browser.org/")
(synopsis "Utility library for NetSurf")
(description
"Libnsutils provides a small number of useful utility routines. It is
@ -5000,7 +5000,7 @@ developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libnspsl-" version "-src.tar.gz"))
(sha256
(base32
@ -5009,7 +5009,7 @@ developed as part of the NetSurf project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/")
(home-page "https://www.netsurf-browser.org/")
(synopsis "Library to generate a static Public Suffix List")
(description
"Libnspsl is a library to generate a static code representation of the
@ -5023,7 +5023,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
(uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"nsgenbind-" version "-src.tar.gz"))
(sha256
(base32
@ -5037,7 +5037,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(substitute-keyword-arguments netsurf-buildsystem-arguments
((#:make-flags flags)
`(delete "COMPONENT_TYPE=lib-shared" ,flags))))
(home-page "http://www.netsurf-browser.org/")
(home-page "https://www.netsurf-browser.org/")
(synopsis "Generate JavaScript to DOM bindings")
(description
"@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from
@ -5051,7 +5051,7 @@ w3c webidl files and a binding configuration file.")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/netsurf/"
(uri (string-append "https://download.netsurf-browser.org/netsurf/"
"releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
@ -5072,7 +5072,7 @@ w3c webidl files and a binding configuration file.")
("xxd" ,xxd)))
(inputs
`(("curl" ,curl)
("gtk+" ,gtk+-2)
("gtk+" ,gtk+)
("openssl" ,openssl)
("utf8proc" ,utf8proc)
("libpng" ,libpng)
@ -5088,6 +5088,7 @@ w3c webidl files and a binding configuration file.")
("miscfiles" ,miscfiles)))
(arguments
`(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
"TARGET=gtk3"
,(string-append "PREFIX=" %output)
,(string-append "NSSHARED="
(assoc-ref %build-inputs
@ -5120,12 +5121,19 @@ w3c webidl files and a binding configuration file.")
;; Leave the DOCTYPE header as is.
(display (read-line in 'concat) out)
(sxml->xml
(let rec ((sxml (xml->sxml in)))
(let rec ((sxml (xml->sxml in
#:default-entity-handler
(lambda (port name)
(string-append "<ENTITY>"
(symbol->string name)
"</ENTITY>")))))
;; We'd like to use sxml-match here, but it can't
;; match against generic tag symbols...
(match sxml
(`(div (@ (class "links")) . ,rest)
'())
(`(ENTITY ,ent)
`(*ENTITY* ,ent))
((x ...)
(map rec x))
(x x)))
@ -5152,7 +5160,7 @@ w3c webidl files and a binding configuration file.")
(install-file "docs/netsurf-gtk.1"
(string-append out "/share/man/man1/"))
#t))))))
(home-page "http://www.netsurf-browser.org")
(home-page "https://www.netsurf-browser.org")
(synopsis "Web browser")
(description
"NetSurf is a lightweight web browser that has its own layout and
@ -5357,13 +5365,13 @@ deployments.")
(package
(name "varnish")
(home-page "https://varnish-cache.org/")
(version "6.3.1")
(version "6.3.2")
(source (origin
(method url-fetch)
(uri (string-append home-page "_downloads/varnish-" version ".tgz"))
(sha256
(base32
"0xa14pd68zpi5hxcax3arl14rcmh5d1cdwa8gv4l5f23mmynr8ni"))))
"1f5ahzdh3am6fij5jhiybv3knwl11rhc5r3ig1ybzw55ai7788q8"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
@ -6843,14 +6851,13 @@ features include:
"0s7b5whqsmfa57prbgl66ym551kg6ly0z14h5dgrlx4lqm70y2yw"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
(srfi srfi-1)
(srfi srfi-26))
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(srfi srfi-1)
(srfi srfi-26))
(let ((source (assoc-ref %build-inputs "source"))
(php-dir (string-append %output "/share/web/" ,name "/")))
;; The cache directory must not be in the store, but in a writable

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,28 +21,68 @@
(define-module (guix import gem)
#:use-module (ice-9 match)
#:use-module (ice-9 pretty-print)
#:use-module (srfi srfi-1)
#:use-module (rnrs bytevectors)
#:use-module (json)
#:use-module (web uri)
#:use-module (guix json)
#:use-module ((guix download) #:prefix download:)
#:use-module (guix import utils)
#:use-module (guix import json)
#:use-module (guix packages)
#:use-module (guix upstream)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix base16)
#:use-module (guix base32)
#:use-module (guix build-system ruby)
#:use-module ((guix build-system ruby) #:select (rubygems-uri))
#:export (gem->guix-package
%gem-updater
gem-recursive-import))
;; Gems as defined by the API at <https://rubygems.org/api/v1/gems>.
(define-json-mapping <gem> make-gem gem?
json->gem
(name gem-name) ;string
(platform gem-platform) ;string
(version gem-version) ;string
(authors gem-authors) ;string
(licenses gem-licenses "licenses" ;list of strings
(lambda (licenses)
;; This is sometimes #nil (the JSON 'null' value). Arrange
;; to always return a list.
(cond ((not licenses) '())
((vector? licenses) (vector->list licenses))
(else '()))))
(info gem-info)
(sha256 gem-sha256 "sha" ;bytevector
base16-string->bytevector)
(home-page gem-home-page "homepage_uri") ;string
(dependencies gem-dependencies "dependencies" ;<gem-dependencies>
json->gem-dependencies))
(define-json-mapping <gem-dependencies> make-gem-dependencies
gem-dependencies?
json->gem-dependencies
(development gem-dependencies-development ;list of <gem-dependency>
"development"
json->gem-dependency-list)
(runtime gem-dependencies-runtime ;list of <gem-dependency>
"runtime"
json->gem-dependency-list))
(define (json->gem-dependency-list vector)
(if vector
(map json->gem-dependency (vector->list vector))
'()))
(define-json-mapping <gem-dependency> make-gem-dependency gem-dependency?
json->gem-dependency
(name gem-dependency-name) ;string
(requirements gem-dependency-requirements)) ;string
(define (rubygems-fetch name)
"Return an alist representation of the RubyGems metadata for the package NAME,
or #f on failure."
(json-fetch
(string-append "https://rubygems.org/api/v1/gems/" name ".json")))
"Return a <gem> record for the package NAME, or #f on failure."
(and=> (json-fetch
(string-append "https://rubygems.org/api/v1/gems/" name ".json"))
json->gem))
(define (ruby-package-name name)
"Given the NAME of a package on RubyGems, return a Guix-compliant name for
@ -50,41 +91,6 @@ the package."
(snake-case name)
(string-append "ruby-" (snake-case name))))
(define (hex-string->bytevector str)
"Convert the hexadecimal encoded string STR to a bytevector."
(define hex-char->int
(match-lambda
(#\0 0)
(#\1 1)
(#\2 2)
(#\3 3)
(#\4 4)
(#\5 5)
(#\6 6)
(#\7 7)
(#\8 8)
(#\9 9)
(#\a 10)
(#\b 11)
(#\c 12)
(#\d 13)
(#\e 14)
(#\f 15)))
(define (read-byte i)
(let ((j (* 2 i)))
(+ (hex-char->int (string-ref str (1+ j)))
(* (hex-char->int (string-ref str j)) 16))))
(let* ((len (/ (string-length str) 2))
(bv (make-bytevector len)))
(let loop ((i 0))
(if (= i len)
bv
(begin
(bytevector-u8-set! bv i (read-byte i))
(loop (1+ i)))))))
(define (make-gem-sexp name version hash home-page synopsis description
dependencies licenses)
"Return the `package' s-expression for a Ruby package with the given NAME,
@ -97,8 +103,7 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
(uri (rubygems-uri ,name version))
(sha256
(base32
,(bytevector->nix-base32-string
(hex-string->bytevector hash))))))
,(bytevector->nix-base32-string hash)))))
(build-system ruby-build-system)
,@(if (null? dependencies)
'()
@ -120,31 +125,25 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
(define* (gem->guix-package package-name #:optional (repo 'rubygems) version)
"Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
`package' s-expression corresponding to that package, or #f on failure."
(let ((package (rubygems-fetch package-name)))
(and package
(let* ((name (assoc-ref package "name"))
(version (assoc-ref package "version"))
(hash (assoc-ref package "sha"))
(synopsis (assoc-ref package "info")) ; nothing better to use
(description (beautify-description
(assoc-ref package "info")))
(home-page (assoc-ref package "homepage_uri"))
(dependencies-names (map (lambda (dep) (assoc-ref dep "name"))
(vector->list
(assoc-ref* package
"dependencies"
"runtime"))))
(dependencies (map (lambda (dep)
(if (string=? dep "bundler")
"bundler" ; special case, no prefix
(ruby-package-name dep)))
dependencies-names))
(licenses (map string->license
(vector->list
(assoc-ref package "licenses")))))
(values (make-gem-sexp name version hash home-page synopsis
description dependencies licenses)
dependencies-names)))))
(let ((gem (rubygems-fetch package-name)))
(if gem
(let* ((dependencies-names (map gem-dependency-name
(gem-dependencies-runtime
(gem-dependencies gem))))
(dependencies (map (lambda (dep)
(if (string=? dep "bundler")
"bundler" ; special case, no prefix
(ruby-package-name dep)))
dependencies-names))
(licenses (map string->license (gem-licenses gem))))
(values (make-gem-sexp (gem-name gem) (gem-version gem)
(gem-sha256 gem) (gem-home-page gem)
(gem-info gem)
(beautify-description (gem-info gem))
dependencies
licenses)
dependencies-names))
(values #f '()))))
(define (guix-package->gem-name package)
"Given a PACKAGE built from rubygems.org, return the name of the
@ -185,9 +184,9 @@ package on RubyGems."
(define (latest-release package)
"Return an <upstream-source> for the latest release of PACKAGE."
(let* ((gem-name (guix-package->gem-name package))
(metadata (rubygems-fetch gem-name))
(version (assoc-ref metadata "version"))
(url (rubygems-uri gem-name version)))
(gem (rubygems-fetch gem-name))
(version (gem-version gem))
(url (rubygems-uri gem-name version)))
(upstream-source
(package (package-name package))
(version version)

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -363,7 +364,11 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(receive (guix-dependencies upstream-dependencies)
(compute-inputs source-url wheel-url temp)
(match guix-dependencies
((required-inputs test-inputs)
((required-inputs native-inputs)
(when (string-suffix? ".zip" source-url)
(set! native-inputs (cons
'("unzip" ,unzip)
native-inputs)))
(values
`(package
(name ,(python->package-name name))
@ -371,20 +376,29 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(source
(origin
(method url-fetch)
;; PyPI URL are case sensitive, but sometimes a project
;; named using mixed case has a URL using lower case, so
;; we must work around this inconsistency. For actual
;; examples, compare the URLs of the "Deprecated" and
;; "uWSGI" PyPI packages.
(uri ,(if (string-contains source-url name)
`(pypi-uri ,name version)
`(pypi-uri ,(string-downcase name) version)))
(uri (pypi-uri
;; PyPI URL are case sensitive, but sometimes
;; a project named using mixed case has a URL
;; using lower case, so we must work around this
;; inconsistency. For actual examples, compare
;; the URLs of the "Deprecated" and "uWSGI" PyPI
;; packages.
,(if (string-contains source-url name)
name
(string-downcase name))
version
;; Some packages have been released as `.zip`
;; instead of the more common `.tar.gz`. For
;; example, see "path-and-address".
,@(if (string-suffix? ".zip" source-url)
'(".zip")
'())))
(sha256
(base32
,(guix-hash-url temp)))))
(build-system python-build-system)
,@(maybe-inputs required-inputs 'propagated-inputs)
,@(maybe-inputs test-inputs 'native-inputs)
,@(maybe-inputs native-inputs 'native-inputs)
(home-page ,home-page)
(synopsis ,synopsis)
(description ,description)

View File

@ -85,6 +85,7 @@
silofl1.1
sleepycat
tcl/tk
unicode
unlicense
vim
w3c
@ -584,6 +585,11 @@ at URI, which may be a file:// URI pointing the package's tree."
"http://directory.fsf.org/wiki/License:Vim7.2"
"http://www.gnu.org/licenses/license-list.html#Vim"))
(define unicode
(license "Unicode"
"https://directory.fsf.org/wiki/License:Unicode"
"http://www.gnu.org/licenses/license-list.html#Unicode"))
(define unlicense
(license "Unlicense"
"https://unlicense.org/"

View File

@ -55,7 +55,7 @@
{ \"name\": \"bundler\" },
]
},
\"licenses\": [\"MIT\", \"Apache 2.0\"]
\"licenses\": null
}")
(define test-bundler-json
@ -138,7 +138,7 @@
('synopsis "Another cool gem")
('description "Another cool gem")
('home-page "https://example.com")
('license ('list 'license:expat 'license:asl2.0)))
('license #f)) ;no licensing info
('package
('name "ruby-bundler")
('version "1.14.2")

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>
;;;
;;; This file is part of GNU Guix.
;;;
@ -195,7 +195,7 @@ edges."
(let-values (((dune bap ocaml-base)
(values (specification->package "dune")
(specification->package "bap")
(specification->package "ocaml-base")))
(specification->package "ocaml4.07-base")))
((backend nodes+edges) (make-recording-backend)))
(run-with-store %store
(export-graph (list dune) 'port