Merge branch 'master' into staging
This commit is contained in:
		
						commit
						f10921c5ad
					
				
					 39 changed files with 1429 additions and 512 deletions
				
			
		|  | @ -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. | ||||
| 
 | ||||
|  |  | |||
|  | @ -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	\
 | ||||
|  |  | |||
|  | @ -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") | ||||
|  |  | |||
|  | @ -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") | ||||
|  |  | |||
|  | @ -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+))) | ||||
|  |  | |||
|  | @ -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") | ||||
|  |  | |||
|  | @ -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))) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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") | ||||
|  |  | |||
|  | @ -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)) | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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))) | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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/") | ||||
|  |  | |||
|  | @ -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)) | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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"))) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
							
								
								
									
										69
									
								
								gnu/packages/patches/qemu-CVE-2020-1711.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								gnu/packages/patches/qemu-CVE-2020-1711.patch
									
										
									
									
									
										Normal 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 | ||||
| 
 | ||||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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+))) | ||||
|  |  | |||
|  | @ -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)))) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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)) | ||||
| 
 | ||||
|  |  | |||
|  | @ -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.")) | ||||
|  |  | |||
|  | @ -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
									
								
							
							
						
						
									
										149
									
								
								gnu/packages/unicode.scm
									
										
									
									
									
										Normal 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))) | ||||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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/" | ||||
|  |  | |||
|  | @ -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") | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Reference in a new issue