diff options
author | Christopher Baines <mail@cbaines.net> | 2021-02-03 09:14:43 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-02-03 09:57:35 +0000 |
commit | e740cc614096e768813280c718f9e96343ba41b3 (patch) | |
tree | 25ade70a5d408be80f62f19c6511172aab7dcce5 /gnu | |
parent | 1b9186828867e77af1f2ee6741063424f8256398 (diff) | |
parent | 63cf277bfacf282d2b19f00553745b2a9370eca0 (diff) |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
189 files changed, 12672 insertions, 5158 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 29c81ae641..13ee695909 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -168,15 +168,14 @@ STORE-DEVICE designates the device holding the store, and STORE-MOUNT-POINT is its mount point; these are used to determine where the background image and fonts must be searched for. STORE-DIRECTORY-PREFIX is a directory prefix to prepend to any store file name." - (define (setup-gfxterm config font-file) + (define (setup-gfxterm config) (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config)) #~(format #f " -if loadfont ~a; then +if loadfont unicode; then set gfxmode=~a insmod all_video insmod gfxterm fi~%" - #+font-file #$(string-join (grub-theme-gfxmode (bootloader-theme config)) ";")) @@ -188,13 +187,6 @@ fi~%" (string-append (symbol->string (assoc-ref colors 'fg)) "/" (symbol->string (assoc-ref colors 'bg))))) - (define font-file - (let* ((bootloader (bootloader-configuration-bootloader config)) - (grub (bootloader-package bootloader))) - (normalize-file (file-append grub "/share/grub/unicode.pf2") - store-mount-point - store-directory-prefix))) - (define image (normalize-file (grub-background-image config) store-mount-point @@ -216,8 +208,8 @@ else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi~%" - #$(grub-root-search store-device font-file) - #$(setup-gfxterm config font-file) + #$(grub-root-search store-device image) + #$(setup-gfxterm config) #$(grub-setup-io config) #$image @@ -545,9 +537,13 @@ fi~%")))) (invoke/quiet grub "--no-floppy" "--target=i386-pc" "--boot-directory" install-dir device)) - ;; When creating a disk-image, only install GRUB modules. - (copy-recursively (string-append bootloader "/lib/") - install-dir))))) + ;; When creating a disk-image, only install a font and GRUB modules. + (let* ((fonts (string-append install-dir "/grub/fonts"))) + (mkdir-p fonts) + (copy-file (string-append bootloader "/share/grub/unicode.pf2") + (string-append fonts "/unicode.pf2")) + (copy-recursively (string-append bootloader "/lib/") + install-dir)))))) (define install-grub-disk-image #~(lambda (bootloader root-index image) diff --git a/gnu/ci.scm b/gnu/ci.scm index 858b6bf520..96bff64875 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -234,7 +234,7 @@ passing the PERIOD argument." system.") (license . ,(license-name gpl3+)) (period . ,(hours 48)) - (max-silent-time . 600) + (max-silent-time . 3600) (timeout . 3600) (home-page . ,%guix-home-page-url) (maintainers . ("bug-guix@gnu.org")))) @@ -349,7 +349,7 @@ system.") (long-description . ,(system-test-description test)) (license . ,(license-name gpl3+)) (period . ,(hours 48)) - (max-silent-time . 600) + (max-silent-time . 3600) (timeout . 3600) (home-page . ,%guix-home-page-url) (maintainers . ("bug-guix@gnu.org"))))) @@ -412,8 +412,7 @@ all its dependencies, and ready to be installed on \"foreign\" distributions.") (define job-name ;; Return the name of a package's job. - (compose string->symbol - (cut package-full-name <> "-"))) + (compose string->symbol package-name)) (define package->job (let ((base-packages diff --git a/gnu/installer.scm b/gnu/installer.scm index 7863edbb67..d2be4b34f9 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -187,7 +187,7 @@ selected keymap." (lambda (models layouts) ((installer-keymap-page current-installer) layouts '#$context))))) - (#$apply-keymap result) + (and result (#$apply-keymap result)) result))) (define (installer-steps) diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index 1b3af2f158..92f7f46f34 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm @@ -56,7 +56,7 @@ different layout at any time from the parameters menu."))) (else (G_ "Exit"))) #:button-callback-procedure (case context - ((param) (const #t)) + ((param) (const #f)) (else (lambda _ (raise @@ -183,7 +183,9 @@ options." (compute (lambda (result _) (let* ((layout (result-step result 'layout)) - (variants (x11-keymap-layout-variants layout))) + (variants (if layout + (x11-keymap-layout-variants layout) + '()))) ;; Return #f if the layout does not have any variant. (and (not (null? variants)) (run-variant-page @@ -196,16 +198,19 @@ options." (gettext (x11-keymap-layout-description layout) "xkeyboard-config"))))))))))) - (define (format-result result) - (let ((layout (x11-keymap-layout-name - (result-step result 'layout))) - (variant (and=> (result-step result 'variant) + (define (format-result layout variant) + (let ((layout (x11-keymap-layout-name layout)) + (variant (and=> variant (lambda (variant) (gettext (x11-keymap-variant-name variant) "xkeyboard-config"))))) (toggleable-latin-layout layout variant))) - (format-result - (run-installer-steps #:steps keymap-steps))) + + (let* ((result (run-installer-steps #:steps keymap-steps)) + (layout (result-step result 'layout)) + (variant (result-step result 'variant))) + (and layout + (format-result layout variant)))) (define (keyboard-layout->configuration keymap) "Return the operating system configuration snippet to install KEYMAP." diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index ae249ba972..74f28e41ba 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,9 +35,9 @@ environments." (let ((items (filter desktop-system-service? %system-services))) (run-checkbox-tree-page - #:info-text (G_ "Please select the desktop(s) environment(s) you wish to \ -install. If you select multiple desktops environments, you will be able to \ -choose the one to use on the log-in screen.") + #:info-text (G_ "Please select the desktop environment(s) you wish to \ +install. If you select multiple desktop environments here, you will be able \ +to choose from them later when you log in.") #:title (G_ "Desktop environment") #:items items #:selection (map system-service-recommended? items) diff --git a/gnu/local.mk b/gnu/local.mk index cbb8abd2fe..ac7c7c0f26 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -7,17 +7,17 @@ # Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net> # Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org> # Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> -# Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> # Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com> -# Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> # Copyright © 2016, 2017, 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> # Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> # Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> # Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com> # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> -# Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com> +# Copyright © 2018, 2019, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> # Copyright © 2018, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> # Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> @@ -537,6 +537,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/task-management.scm \ %D%/packages/tbb.scm \ %D%/packages/tcl.scm \ + %D%/packages/telegram.scm \ %D%/packages/telephony.scm \ %D%/packages/terminals.scm \ %D%/packages/terraform.scm \ @@ -633,6 +634,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/sddm.scm \ %D%/services/spice.scm \ %D%/services/ssh.scm \ + %D%/services/syncthing.scm \ %D%/services/sysctl.scm \ %D%/services/telephony.scm \ %D%/services/version-control.scm \ @@ -684,6 +686,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests.scm \ %D%/tests/audio.scm \ %D%/tests/base.scm \ + %D%/tests/cuirass.scm \ %D%/tests/cups.scm \ %D%/tests/databases.scm \ %D%/tests/desktop.scm \ @@ -823,9 +826,6 @@ dist_patch_DATA = \ %D%/packages/patches/audiofile-function-signature.patch \ %D%/packages/patches/automake-skip-amhello-tests.patch \ %D%/packages/patches/avahi-localstatedir.patch \ - %D%/packages/patches/avogadro-boost148.patch \ - %D%/packages/patches/avogadro-eigen3-update.patch \ - %D%/packages/patches/avogadro-python-eigen-lib.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \ @@ -918,6 +918,7 @@ dist_patch_DATA = \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ + %D%/packages/patches/c++-gsl-find-system-gtest.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/datefudge-gettimeofday.patch \ %D%/packages/patches/dbacl-include-locale.h.patch \ @@ -1000,6 +1001,7 @@ dist_patch_DATA = \ %D%/packages/patches/fpc-reproducibility.patch \ %D%/packages/patches/fplll-std-fenv.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ + %D%/packages/patches/freebayes-devendor-deps.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \ @@ -1129,6 +1131,7 @@ dist_patch_DATA = \ %D%/packages/patches/grub-setup-root.patch \ %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \ %D%/packages/patches/gspell-dash-test.patch \ + %D%/packages/patches/gst-plugins-good-fix-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-2.2-skip-so-test.patch \ @@ -1180,12 +1183,14 @@ dist_patch_DATA = \ %D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ + %D%/packages/patches/idris-disable-test.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/inetutils-hurd.patch \ %D%/packages/patches/inkscape-poppler-0.76.patch \ %D%/packages/patches/intel-xed-fix-nondeterminism.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/iputils-libcap-compat.patch \ + %D%/packages/patches/ipxe-reproducible-geniso.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/json-c-CVE-2020-12762.patch \ @@ -1348,7 +1353,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmemcached-build-with-gcc7.patch \ %D%/packages/patches/libmhash-hmac-fix-uaf.patch \ %D%/packages/patches/mediastreamer2-srtp2.patch \ - %D%/packages/patches/mesa-skip-disk-cache-test.patch \ + %D%/packages/patches/mesa-skip-tests.patch \ %D%/packages/patches/mescc-tools-boot.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ @@ -1403,6 +1408,7 @@ dist_patch_DATA = \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nyacc-binary-literals.patch \ + %D%/packages/patches/obs-modules-location.patch \ %D%/packages/patches/ocaml-bitstring-fix-configure.patch \ %D%/packages/patches/ocaml-cairo2-caml_ba_array-fix.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \ @@ -1477,7 +1483,6 @@ dist_patch_DATA = \ %D%/packages/patches/pinball-missing-separators.patch \ %D%/packages/patches/pinball-src-deps.patch \ %D%/packages/patches/pinball-system-ltdl.patch \ - %D%/packages/patches/pinentry-efl.patch \ %D%/packages/patches/pingus-boost-headers.patch \ %D%/packages/patches/pingus-sdl-libs-config.patch \ %D%/packages/patches/pixman-CVE-2016-5296.patch \ @@ -1488,7 +1493,6 @@ dist_patch_DATA = \ %D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \ %D%/packages/patches/plotutils-spline-test.patch \ - %D%/packages/patches/podofo-cmake-3.12.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/postgresql-disable-resolve_symlinks.patch \ @@ -1533,6 +1537,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-flint-includes.patch \ %D%/packages/patches/python-libxml2-python39-compat.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ + %D%/packages/patches/python-mediafile-wavpack.patch \ %D%/packages/patches/python-memcached-syntax-warnings.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-testtools.patch \ @@ -1577,7 +1582,7 @@ dist_patch_DATA = \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/renpy-use-system-fribidi.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ - %D%/packages/patches/r-httpuv-1.5.4-unvendor-libuv.patch \ + %D%/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch \ %D%/packages/patches/ri-li-modernize_cpp.patch \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ @@ -1664,8 +1669,10 @@ dist_patch_DATA = \ %D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ %D%/packages/patches/tinyxml-use-stl.patch \ + %D%/packages/patches/tipp10-disable-downloader.patch \ %D%/packages/patches/tipp10-fix-compiling.patch \ %D%/packages/patches/tipp10-remove-license-code.patch \ + %D%/packages/patches/tipp10-qt5.patch \ %D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transmission-honor-localedir.patch \ @@ -1700,8 +1707,6 @@ dist_patch_DATA = \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ %D%/packages/patches/vboot-utils-skip-test-workbuf.patch \ - %D%/packages/patches/vcflib-use-shared-libraries.patch \ - %D%/packages/patches/vlc-qt-5.15.patch \ %D%/packages/patches/vigra-python-compat.patch \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 2933c6a370..759f12d657 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> @@ -268,7 +268,8 @@ and provides a \"top-like\" mode (monitoring).") "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--localstatedir=/var"))) + '(#:configure-flags '("--localstatedir=/var") + #:make-flags '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("pkg-config" ,pkg-config) @@ -298,7 +299,8 @@ interface and is based on GNU Guile.") `(("pkg-config" ,pkg-config) ("guile" ,guile-2.2))) (inputs - `(("guile" ,guile-2.2))))) + `(("guile" ,guile-2.2) + ("guile2.2-readline" ,guile2.2-readline))))) (define-public guile3.0-shepherd (deprecated-package "guile3.0-shepherd" shepherd)) @@ -308,10 +310,21 @@ interface and is based on GNU Guile.") (inherit shepherd) (name "guile2.0-shepherd") (native-inputs - `(("pkg-config" ,pkg-config) + `(("help2man" ,help2man) + ("pkg-config" ,pkg-config) ("guile" ,guile-2.0))) (inputs - `(("guile" ,guile-2.0))))) + `(("guile" ,guile-2.0))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; (ice-9 threads) isn't available in guile-2.0 + (substitute* "modules/shepherd.scm" + ((".*\\(ice-9 threads\\).*") "")) + #t))) + ,@(package-arguments shepherd))))) (define-public cloud-utils (package @@ -446,7 +459,7 @@ graphs and can export its output to different formats.") (define-public facter (package (name "facter") - (version "4.0.47") + (version "4.0.49") (source (origin (method git-fetch) (uri (git-reference @@ -455,7 +468,7 @@ graphs and can export its output to different formats.") (file-name (git-file-name name version)) (sha256 (base32 - "1zz5kk3ad1jj8y939369dfvjh7zqwpkcqzzad7yb6wp01rc5sf88")))) + "0l7gic5ql5xiy5s6rb0j9ydyaal5bcxl10bx45khcgdr9zg16pb1")))) (build-system ruby-build-system) (arguments `(#:phases @@ -517,7 +530,7 @@ or via the @code{facter} Ruby library.") (define-public htop (package (name "htop") - (version "3.0.4") + (version "3.0.5") (source (origin (method git-fetch) @@ -525,7 +538,7 @@ or via the @code{facter} Ruby library.") (url "https://github.com/htop-dev/htop") (commit version))) (sha256 - (base32 "1fckfv96vzqjs3lzy0cgwsqv5vh1sxca3fhvgskmnkvr5bq6cia9")) + (base32 "10lp6cbfvigzp6pq5nwj3s3l4vs7cv92krz2r08nwrz8vl6rqdzp")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs @@ -685,7 +698,10 @@ hostname.") `(;; Assume System V `setpgrp (void)', which is the default on GNU ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.) #:configure-flags - '("--with-libpam" "ac_cv_func_setpgrp_void=yes") + '(,@(if (hurd-target?) + '() + '("--with-libpam")) + "ac_cv_func_setpgrp_void=yes") #:phases (modify-phases %standard-phases @@ -710,7 +726,10 @@ hostname.") (for-each delete-file (find-files man "^groups\\.")) #t)))))) - (inputs `(("linux-pam" ,linux-pam))) + (inputs + `(,@(if (hurd-target?) + '() + `(("linux-pam" ,linux-pam))))) (home-page "https://github.com/shadow-maint/shadow") (synopsis "Authentication-related tools such as passwd, su, and login") (description @@ -1424,7 +1443,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.4p2") + (version "1.9.5p2") (source (origin (method url-fetch) (uri @@ -1434,7 +1453,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "0r0g8z289ipw0zpkhmm33cpfm42j01jds2q1wilhh3flg7xg2jn3")) + "0y093z4f3822rc88g9asdch12nljdamp817vjxk04mca7ks2x7jk")) (modules '((guix build utils))) (snippet '(begin @@ -1502,7 +1521,9 @@ system administrator.") `(("groff" ,groff))) (inputs `(("coreutils" ,coreutils) - ("linux-pam" ,linux-pam) + ,@(if (hurd-target?) + '() + `(("linux-pam" ,linux-pam))) ("zlib" ,zlib))) (home-page "https://www.sudo.ws/") (synopsis "Run commands as root") @@ -1518,7 +1539,7 @@ commands and their arguments.") (define-public opendoas (package (name "opendoas") - (version "6.8") + (version "6.8.1") (source (origin (method git-fetch) (uri (git-reference @@ -1527,7 +1548,7 @@ commands and their arguments.") (file-name (git-file-name name version)) (sha256 (base32 - "1dlwnvy8r6slxcy260gfkximp1ms510wdslpfq9y6xvd2qi5izcb")))) + "0gfcssm21vdfg6kcrcc7hz1h4jmhy2zv29rfqyrrj3a6r9b5ah8p")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1881,7 +1902,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20201217") + (version "20210105") (source (origin (method url-fetch) (uri (string-append @@ -1889,7 +1910,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "06rdpfjmij5nni1x2wi1gnalhsza5yxq1viskjm9r11wmsjnxm2a")))) + "1gi7qzfywg118g5nlqn5lawxk25pg2sz01gmbz40vvmikks4ri9r")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -2101,7 +2122,7 @@ track changes in important system configuration files.") (define-public libcap-ng (package (name "libcap-ng") - (version "0.8") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append @@ -2109,7 +2130,7 @@ track changes in important system configuration files.") version ".tar.gz")) (sha256 (base32 - "08cy59iassiwbmfxa5v0kb374r80290vv32f5q1mnip11av26kgi")))) + "1sasp1n154aqy9fz0knlb966svm7xg1zjhg1vr4q839bgjvq7h2j")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2630,14 +2651,14 @@ done with the @code{auditctl} utility.") (define-public nmap (package (name "nmap") - (version "7.91") + (version "7.80") (source (origin (method url-fetch) (uri (string-append "https://nmap.org/dist/nmap-" version ".tar.bz2")) (sha256 (base32 - "001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q")) + "1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw")) (modules '((guix build utils))) (snippet '(begin @@ -2715,7 +2736,7 @@ advanced netcat implementation (ncat), a utility for comparing scan results (ndiff), and a packet generation and response analysis tool (nping).") ;; This package uses nmap's bundled versions of libdnet and liblinear, which ;; both use a 3-clause BSD license. - (license (list license:npsl license:bsd-3)))) + (license (list license:nmap license:bsd-3)))) (define-public dstat (package @@ -3636,7 +3657,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.2.01-1") + (version "3.2.02-2") (source (origin (method git-fetch) @@ -3645,7 +3666,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "15bakrv3jzj5h88c3bd0cfhh6hb8b4hm79924k1ygn29sqzgyw65")))) + (base32 "0fwx798v9kwiwkgbj97w6rjdanwf7ap65vvq1fqy7gd9x78xcxsq")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) @@ -4324,3 +4345,59 @@ This program allows you to view and manipulate this EEPROM list.") (home-page "https://github.com/xobs/novena-eeprom/") (supported-systems '("armhf-linux")) (license license:bsd-3))) + +(define-public lrzsz + (package + (name "lrzsz") + (version "0.12.20") + (source (origin + (method url-fetch) + (uri (string-append "https://www.ohse.de/uwe/releases/lrzsz-" + version ".tar.gz")) + (sha256 + (base32 + "1wcgfa9fsigf1gri74gq0pa7pyajk12m4z69x7ci9c6x9fqkd2y2")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (setenv "CONFIG_SHELL" (which "bash")) + (invoke "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out")))))))) + (synopsis "Implementation of XMODEM/YMODEM/ZMODEM transfer protocols") + (description "This package provides programs that transfer files using +the XMODEM/YMODEM/ZMODEM file transfer protocols.") + (home-page "https://ohse.de/uwe/software/lrzsz.html") + (license license:gpl2+))) + +(define-public nq + (package + (name "nq") + (version "0.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leahneukirchen/nq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) + (arguments + `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (synopsis "Unix command line queue utility") + (description + "@code{nq} can create very lightweight job queue systems which require no +setup, maintenance, supervision, or any long-running processes.") + (home-page "https://github.com/leahneukirchen/nq") + (license license:public-domain))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b425c3b299..546b058e71 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> @@ -327,9 +327,9 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (version "1.0") (source (origin (method url-fetch) - (uri (string-append - "https://gforge.inria.fr/frs/download.php/33497/cmh-" - version ".tar.gz")) + ;; Git repo at <https://gitlab.inria.fr/cmh/cmh>. + (uri (string-append "http://www.multiprecision.org/downloads/cmh-" + version ".tar.gz")) (sha256 (base32 "1a28xr9bs0igms0ik99x0w8lnb0jyfcmvyi26pbyh9ggcdivd33p")))) @@ -349,13 +349,12 @@ varieties, i.e. Jacobians of hyperelliptic curves. It can also be used to compute theta constants at arbitrary precision.") (license license:gpl3+) - (home-page - "https://gitlab.inria.fr/cmh/cmh#cmh-computation-of-genus-2-class-polynomials"))) + (home-page "http://www.multiprecision.org/cmh/home.html"))) (define-public giac (package (name "giac") - (version "1.6.0-41") + (version "1.6.0-47") (source (origin (method url-fetch) @@ -367,7 +366,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "1z5b3jm6ffxk3yvdqzwn9icbna68brkrz5kspgacq823d03jfklc")))) + (base32 "15sgsr8l6njp5spagbqclqkdy3x7ra23wi6wvpc8vzlbivy3v43k")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -674,9 +673,11 @@ geometry and singularity theory.") (version "7.0.4") (source (origin (method url-fetch) - ;; Use the ‘Latest version’ link for a stable URI across releases. - (uri (string-append "https://gforge.inria.fr/frs/download.php/" - "latestfile/160/ecm-" version ".tar.gz")) + (uri + (let ((hash "00c4c691a1ef8605b65bdf794a71539d")) + (string-append "https://gitlab.inria.fr/zimmerma/ecm/" + "uploads/" hash "/ecm-" version + ".tar.gz"))) (sha256 (base32 "0hxs24c2m3mh0nq1zz63z3sb7dhy1rilg2s1igwwcb26x3pb7xqc")))) (build-system gnu-build-system) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 6bfe8f0a12..c92c4ae7e7 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -26,10 +26,12 @@ #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages dejagnu) @@ -53,6 +55,37 @@ #:use-module (gnu packages video) #:use-module (gnu packages xiph)) +(define-public rlottie + (package + (name "rlottie") + (version "0.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Samsung/rlottie.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list + "-Dlog=true" + "-Dtest=true"))) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (synopsis "Lottie Animation Library") + (description "Rlottie is a platform independent standalone c++ library for +rendering vector based animations and art in realtime.") + (home-page "https://github.com/Samsung/rlottie/") + (license license:expat))) + ;; ETL, synfig, and Synfig Studio are updated in tandem. (define synfig-version "1.2.2") diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 76089333ce..26c0cf4332 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -476,14 +476,14 @@ under permissive licensing terms. See the 'Copyright' file.")))) (define-public ispell (package (name "ispell") - (version "3.4.01") + (version "3.4.02") (source (origin (method url-fetch) (uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-" version ".tar.gz")) (sha256 - (base32 "103vscg4bc7x2q84y18x1l75k54yhkw8lpza3qh8xxhcz5b0w7jb")))) + (base32 "0b6rqzqjdhwf323sf1dv8qzx5pxa5asz618922r59zjp65660yb6")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 9fc0f5867a..307d261b82 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; Copyright © 2019 Andy Tai <atai@atai.org> @@ -27,6 +27,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages assembly) + #:use-module (guix build-system meson) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -149,6 +150,38 @@ to the clients.") (home-page "https://www.gnu.org/software/lightning/") (license license:gpl3+))) +(define-public simde + (package + (name "simde") + (version "0.7.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/simd-everywhere/simde") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xf5xfzkk9rj47cichgz5ni8xs9hbpz5p6fmxr4ij721ffd002k3")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix the version string + (substitute* "meson.build" + (("0.7.0-rc2") "0.7.0")) + #t)))) + (build-system meson-build-system) + ;; We really want this for the headers, and the tests require a bundled library. + (arguments '(#:configure-flags '("-Dtests=false"))) + (synopsis "Implementations of SIMD instruction sets for foreign systems") + (description "The SIMDe header-only library provides fast, portable +implementations of SIMD intrinsics on hardware which doesn't natively support +them, such as calling SSE functions on ARM. There is no performance penalty if +the hardware supports the native implementation (e.g., SSE/AVX runs at full +speed on x86, NEON on ARM, etc.).") + (home-page "https://simd-everywhere.github.io/blog/") + (license license:expat))) + (define-public fasm (package (name "fasm") diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 9485fe600f..9777b0008f 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1,10 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 by Amar Singh <nly@disroot.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) @@ -39,6 +41,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages libusb) #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages netpbm) @@ -51,6 +54,7 @@ #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (ice-9 match) #:use-module (srfi srfi-1)) (define-public cfitsio @@ -86,6 +90,29 @@ in FITS files.") (license (license:non-copyleft "file://License.txt" "See License.txt in the distribution.")))) +(define-public eye + (package + (name "eye") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/eye/" + "eye-" version ".tar.gz")) + (sha256 + (base32 "092qhzcbrkcfidbx4bv9wz42w297n80jk7a6kwyi9a3fjfz81d7k")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/eye") + (synopsis "Small image feature detector using machine learning") + (description + "In EyE (Enhance Your Extraction) an artificial neural network connected to +pixels of a moving window (retina) is trained to associate these input stimuli +to the corresponding response in one or several output image(s). The resulting +filter can be loaded in SExtractor to operate complex, wildly non-linear filters +on astronomical images. Typical applications of EyE include adaptive filtering, +feature detection and cosmetic corrections.") + (license license:cecill))) + (define-public wcslib (package (name "wcslib") @@ -125,10 +152,30 @@ coordinate systems in a @dfn{FITS} (Flexible Image Transport System) image header.") (license license:lgpl3+))) +(define-public weightwatcher + (package + (name "weightwatcher") + (version "1.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/weightwatcher/" + "weightwatcher-" version ".tar.gz")) + (sha256 + (base32 "1zaqd8d9rpgcwjsp92q3lkfaa22i20gppb91dz34ym54swisjc2p")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/weightwatcher") + (synopsis "Weight-map/flag-map multiplexer and rasteriser") + (description + "Weightwatcher is a program hat combines weight-maps, flag-maps and +polygon data in order to produce control maps which can directly be used in +astronomical image-processing packages like Drizzle, Swarp or SExtractor.") + (license license:gpl3+))) + (define-public gnuastro (package (name "gnuastro") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) @@ -136,13 +183,15 @@ header.") version ".tar.lz")) (sha256 (base32 - "07di6zx2irc5q0zyymx2951ydzxdfjmzd3az5qnk67ncf3hknvj5")))) + "1xp6n42qxv0x6yigi2w2l5k8006smv27lhrcssysgsvzbydghzg5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) (inputs `(("cfitsio" ,cfitsio) + ("curl" ,curl-minimal) ("gsl" ,gsl) + ("libgit2" ,libgit2) ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("wcslib" ,wcslib) @@ -156,6 +205,82 @@ header.") programs for the manipulation and analysis of astronomical data.") (license license:gpl3+))) +(define-public sextractor + (package + (name "sextractor") + (version "2.25.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/sextractor") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q69n3nyal57h3ik2xirwzrxzljrwy9ivwraxzv9566vi3n4z5mw")))) + (build-system gnu-build-system) + ;; NOTE: (Sharlatan-20210124T103117+0000): Building with `atlas' is failing + ;; due to missing shared library which required on configure phase. Switch + ;; build to use `openblas' instead. It requires FFTW with single precision + ;; `fftwf'. + (arguments + `(#:configure-flags + (list + "--enable-openblas" + (string-append + "--with-openblas-libdir=" (assoc-ref %build-inputs "openblas") "/lib") + (string-append + "--with-openblas-incdir=" (assoc-ref %build-inputs "openblas") "/include") + (string-append + "--with-fftw-libdir=" (assoc-ref %build-inputs "fftw") "/lib") + (string-append + "--with-fftw-incdir=" (assoc-ref %build-inputs "fftw") "/include")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("openblas" ,openblas) + ("fftw" ,fftwf))) + (home-page "http://www.astromatic.net/software/sextractor") + (synopsis "Extract catalogs of sources from astronomical images") + (description + "SExtractor is a program that builds a catalogue of objects from an +astronomical image. Although it is particularly oriented towards reduction of +large scale galaxy-survey data, it can perform reasonably well on moderately +crowded star fields.") + (license license:gpl3+))) + +(define-public skymaker + (package + (name "skymaker") + (version "3.10.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/skymaker/" + "skymaker-" version ".tar.gz")) + (sha256 + (base32 "03zvx7c89plp9559niqv5532r233kza3ir992rg3nxjksqmrqvx1")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + (string-append + "--with-fftw-libdir=" (assoc-ref %build-inputs "fftw") "/lib") + (string-append + "--with-fftw-incdir=" (assoc-ref %build-inputs "fftw") "/include")))) + (inputs + `(("fftw" ,fftwf))) + (home-page "https://www.astromatic.net/software/skymaker") + (synopsis "Astronomical image simulator") + (description + "SkyMaker is a program that simulates astronomical images. It accepts +object lists in ASCII generated by the Stuff program to produce realistic +astronomical fields. SkyMaker is part of the EFIGI +(@url{https://www.astromatic.net/projects/efigi}) development project.") + (license license:gpl3+))) + (define-public stellarium (package (name "stellarium") @@ -203,6 +328,46 @@ can be used to control telescopes over a serial port for tracking celestial objects.") (license license:gpl2+))) +(define-public stuff + (package + (name "stuff") + (version "1.26.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/stuff/" + "stuff-" version ".tar.gz")) + (sha256 + (base32 "1syibi3b86z9pikhicvkkmgxm916j732fdiw0agw0lq6z13fdcjm")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/stuff") + (synopsis "Astronomical catalogue simulation") + (description + "Stuff is a program that simulates \"perfect\" astronomical catalogues. +It generates object lists in ASCII which can read by the SkyMaker program to +produce realistic astronomical fields. Stuff is part of the EFIGI development +project.") + (license license:gpl3+))) + +(define-public swarp + (package + (name "swarp") + (version "2.38.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/swarp/" + "swarp-" version ".tar.gz")) + (sha256 + (base32 "1i670waqp54vin1cn08mqckcggm9zqd69nk7yya2vvqpdizn6jpm")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/swarp") + (synopsis "FITS image resampling and co-addition") + (description + "SWarp is a program that resamples and co-adds together FITS images using +any arbitrary astrometric projection defined in the WCS standard.") + (license license:gpl3+))) + (define-public celestia (let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce")) (package @@ -299,6 +464,82 @@ Mechanics, Astrometry and Astrodynamics library.") (license (list license:lgpl2.0+ license:gpl2+)))) ; examples/transforms.c & lntest/*.c +(define-public libpasastro + ;; NOTE: (Sharlatan-20210122T215921+0000): the version tag has a build + ;; error on spice which is resolved with the latest commit. + (let ((commit "e3c218d1502a18cae858c83a9a8812ab197fcb60") + (revision "1")) + (package + (name "libpasastro") + (version (git-version "1.4.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pchev/libpasastro") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0asp2sn34nds5va2ghppwc41vb6j3d1mf049j949rgrll817kx47")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:make-flags + (list + ,(match (or (%current-target-system) (%current-system)) + ((or "aarch64-linux" "armhf-linux" "i686-linux" "x86_64-linux") + "OS_TARGET=linux") + (_ #f)) + ,(match (or (%current-target-system) (%current-system)) + ("i686-linux" "CPU_TARGET=i386") + ("x86_64-linux" "CPU_TARGET=x86_64") + ((or "armhf-linux" "aarch64-linux") "CPU_TARGET=armv7l") + (_ #f)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/pchev/libpasastro") + (synopsis "Interface to astronomy library for use from Pascal program") + (description + "This package provides shared libraries to interface Pascal program with +standard astronomy libraries: + +@itemize +@item @code{libpasgetdss.so}: Interface with GetDSS to work with DSS images. +@item @code{libpasplan404.so}: Interface with Plan404 to compute planets position. +@item @code{libpaswcs.so}: Interface with libwcs to work with FITS WCS. +@item @code{libpasspice.so}: To work with NAIF/SPICE kernel. +@end itemize\n") + (license license:gpl2+)))) + +(define-public missfits + (package + (name "missfits") + (version "2.8.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/missfits/" + "missfits-" version ".tar.gz")) + (sha256 + (base32 "04jrd7fsvzr14vdmwgj2f6v97gdcfyjyz6jppml3ghr9xh12jxv5")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/missfits") + (synopsis "FITS files Maintenance program") + (description + "MissFITS is a program that performs basic maintenance and packaging tasks +on FITS files: + +@itemize +@item add/edit FITS header keywords +@item split/join Multi-Extension-FITS (MEF) files +@item unpack/pack FITS data-cubes +@item create/check/update FITS checksums, using R. Seaman's protocol + (see http://www.adass.org/adass/proceedings/adass94/seamanr.html) +@end itemize\n") + (license license:gpl3+))) + (define-public xplanet (package (name "xplanet") @@ -391,3 +632,63 @@ Gpredict can also predict the time of future passes for a satellite, and provide you with detailed information about each pass.") (home-page "http://gpredict.oz9aec.net/index.php") (license license:gpl2+))) + +(define-public indi + (package + (name "indi") + (version "1.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/indilib/indi") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19gm7rbnm3295g2i8mdzfslpz0vrcgfmbl59311qpszvlxbmyd2r")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (let ((out (assoc-ref %outputs "out"))) + (list + "-DINDI_BUILD_UNITTESTS=ON" + "-DCMAKE_BUILD_TYPE=Release" + (string-append "-DCMAKE_INSTALL_PREFIX=" out) + (string-append "-DUDEVRULES_INSTALL_DIR=" out "/lib/udev/rules.d"))) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (chdir "test") + (invoke "ctest") + (chdir "..") + #t)) + (add-before 'install 'set-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/lib/udev/rules.d"))) + #t))))) + (native-inputs + `(("googletest" ,googletest))) + (inputs + `(("cfitsio" ,cfitsio) + ("curl" ,curl) + ("fftw" ,fftw) + ("gsl" ,gsl) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libnova" ,libnova) + ("libtiff" ,libtiff) + ("libusb" ,libusb) + ("zlib" ,zlib))) + (home-page "https://www.indilib.org") + (synopsis "Library for astronimical intrumentation control") + (description + "INDI (Instrument-Neutral Device Interface) is a distributed XML-based +control protocol designed to operate astronomical instrumentation. INDI is +small, flexible, easy to parse, scalable, and stateless. It supports common +DCS functions such as remote control, data acquisition, monitoring, and a lot +more.") + (license (list license:bsd-3 + license:gpl2+ + license:lgpl2.0+ + license:lgpl2.1+)))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 90b3c49873..565346db00 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> @@ -4134,6 +4134,63 @@ the following features: ") (license license:lgpl3+))) +(define-public lv2-speech-denoiser + (let ((commit "04cfba929630404f8d4f4ca5bac8d9b09a99152f") + (revision "1")) + (package + (name "lv2-speech-denoiser") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lucianodato/speech-denoiser/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "189l6lz8sz5vr6bjyzgcsrvksl1w6crqsg0q65r94b5yjsmjnpr4")))) + (build-system meson-build-system) + (arguments + `(#:meson ,meson-0.55 + ;; Using a "release" build is recommended for performance + #:build-type "release" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-meson-build + (lambda _ + (substitute* "meson.build" + (("install_folder = 'sdenoise.lv2'") + "install_folder = 'lib/lv2/sdenoise.lv2'") + (("build/manifest.ttl") "../build/manifest.ttl")) + #t)) + (add-after 'unpack 'build-rnnoise + (lambda _ + (with-directory-excursion "rnnoise" + (let ((old-CFLAGS (getenv "CFLAGS"))) + (setenv "CFLAGS" "-fvisibility=hidden -fPIC -Wl,--exclude-libs,ALL") + (setenv "CONFIG_SHELL" (which "bash")) + (invoke "autoreconf" "-vif") + (invoke "sh" "configure" + "--disable-examples" + "--disable-doc" + "--disable-shared" + "--enable-static") + (invoke "make") + (setenv "CFLAGS" old-CFLAGS)))))))) + (inputs + `(("lv2" ,lv2))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/werman/noise-suppression-for-voice") + (synopsis "Speech denoise LV2 plugin based on Xiph's RNNoise library") + (description "RNNoise is a library that uses deep learning to apply +noise supression to audio sources with voice presence. This package provides +an LV2 audio plugin.") + (license license:lgpl3+)))) + (define-public cli-visualizer (package (name "cli-visualizer") @@ -4772,11 +4829,13 @@ with the provided metadata and adhere to well-known best practices.") (base32 "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1")))) (build-system meson-build-system) - (inputs - `(("cairo" ,cairo) - ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) + ;; These are listed as propagated inputs because they are dependencies + ;; in pkgconfig. + (propagated-inputs + `(("cairo" ,cairo) + ("libx11" ,libx11))) (synopsis "GUI toolkit for LV2 plugins") (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily inspired by GTK. It handles events and low level drawing on behalf of @@ -4825,9 +4884,9 @@ edited, converted, compressed and saved.") (name "ztoolkit-rsvg") (arguments `(#:configure-flags `("-Denable_rsvg=true"))) - (inputs + (propagated-inputs `(("librsvg" ,librsvg) - ,@(package-inputs ztoolkit))) + ,@(package-propagated-inputs ztoolkit))) (synopsis "ZToolkit with SVG support"))) (define-public lsp-dsp-lib diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 6bfb0af726..abae71415f 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2015, 2017, 2018 Mark H Weaver <mhw@netris.org> @@ -105,10 +105,11 @@ scripts are self-contained and portable, freeing the user from needing to know anything about Autoconf or M4.") (license gpl3+))) ; some files are under GPLv2+ -(define-public autoconf-2.70 +;; This is the renaissance version, which is not widely supported yet. +(define-public autoconf-2.71 (package (inherit autoconf-2.69) - (version "2.70") + (version "2.71") (source (origin (method url-fetch) @@ -116,7 +117,7 @@ know anything about Autoconf or M4.") version ".tar.xz")) (sha256 (base32 - "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps")))) + "197sl23irn6s9pd54rxj5vcp5y8dv65jb9yfqgr2g56cxg7q6k7i")))) (arguments (substitute-keyword-arguments (package-arguments autoconf-2.69) ((#:tests? _ #f) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 235353dff4..c1e9de5595 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1008,7 +1008,7 @@ is format-agnostic, so you can feed virtually any files to it.") (define-public dump (package (name "dump") - (version "0.4b46") + (version "0.4b47") (source (origin (method url-fetch) @@ -1016,7 +1016,7 @@ is format-agnostic, so you can feed virtually any files to it.") version "/dump-" version ".tar.gz")) (sha256 (base32 - "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0")))) + "1l2gzzxyqhinx1yqvj4yn9k8vx3iyqi1965dxf9kvvdv9zgaq8fh")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1026,7 +1026,7 @@ is format-agnostic, so you can feed virtually any files to it.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl-1.0) + `(("openssl" ,openssl) ("zlib" ,zlib) ("util-linux" ,util-linux "lib") ("e2fsprogs" ,e2fsprogs))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 86270ecc75..77af190659 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,17 +1,17 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2020 Roel Janssen <roel@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> -;;; Copyright © 2018, 2019, 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> +;;; Copyright © 2018, 2019, 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> @@ -57,6 +57,7 @@ #:use-module (guix build-system trivial) #:use-module (guix deprecation) #:use-module (gnu packages) + #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) #:use-module (gnu packages algebra) #:use-module (gnu packages base) @@ -142,6 +143,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (ice-9 match)) (define-public aragorn @@ -2770,6 +2772,86 @@ sequencing data. It uses paired-ends and split-reads to sensitively and accurately delineate genomic rearrangements throughout the genome.") (license license:gpl3+))) +(define-public trf + (package + (name "trf") + (version "4.09.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Benson-Genomics-Lab/TRF") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fhwr4s1mf8nw8fr5imwjvjr42b59p97zr961ifm8xl1bajz4wpg")))) + (build-system gnu-build-system) + (home-page "https://github.com/Benson-Genomics-Lab/TRF") + (synopsis "Tandem Repeats Finder: a program to analyze DNA sequences") + (description "A tandem repeat in DNA is two or more adjacent, approximate +copies of a pattern of nucleotides. Tandem Repeats Finder is a program to +locate and display tandem repeats in DNA sequences. In order to use the +program, the user submits a sequence in FASTA format. The output consists of +two files: a repeat table file and an alignment file. Submitted sequences may +be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 +bases are detected.") + (license license:agpl3+))) + +(define-public repeat-masker + (package + (name "repeat-masker") + (version "4.1.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.repeatmasker.org/" + "RepeatMasker/RepeatMasker-" + version ".tar.gz")) + (sha256 + (base32 "03144sl9kh5ni2i33phi7x2pjndzbm5bjw3r4kqvmm6hxyb4k4x2")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #false ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") + "/share/RepeatMasker"))) + (mkdir-p share) + (copy-recursively "." share) + (with-directory-excursion share + (invoke "perl" "configure" + "--trf_prgm" (which "trf") + "--hmmer_dir" + (string-append (assoc-ref inputs "hmmer") + "/bin")))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/RepeatMasker")) + (bin (string-append out "/bin")) + (path (getenv "PERL5LIB"))) + (install-file (string-append share "/RepeatMasker") bin) + (wrap-program (string-append bin "/RepeatMasker") + `("PERL5LIB" ":" prefix (,path ,share))))))))) + (inputs + `(("perl" ,perl) + ("perl-text-soundex" ,perl-text-soundex) + ("python" ,python) + ("python-h5py" ,python-h5py) + ("hmmer" ,hmmer) + ("trf" ,trf))) + (home-page "https://github.com/Benson-Genomics-Lab/TRF") + (synopsis "Tandem Repeats Finder: a program to analyze DNA sequences") + (description "A tandem repeat in DNA is two or more adjacent, approximate +copies of a pattern of nucleotides. Tandem Repeats Finder is a program to +locate and display tandem repeats in DNA sequences. In order to use the +program, the user submits a sequence in FASTA format. The output consists of +two files: a repeat table file and an alignment file. Submitted sequences may +be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 +bases are detected.") + (license license:osl2.1))) + (define-public diamond (package (name "diamond") @@ -3508,61 +3590,60 @@ comment or quality sections.") (define-public gemma (package (name "gemma") - (version "0.98") + (version "0.98.3") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/xiangzhou/GEMMA") - (commit (string-append "v" version)))) + (url "https://github.com/genetics-statistics/GEMMA") + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "1s3ncnbn45r2hh1cvrqky1kbqq6546biypr4f5mkw1kqlrgyh0yg")))) + "1p8a7kkfn1mmrg017aziy544aha8i9h6wd1x2dk3w2794wl33qb7")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "contrib") + #t)))) + (build-system gnu-build-system) (inputs - `(("eigen" ,eigen) - ("gfortran" ,gfortran "lib") - ("gsl" ,gsl) - ("lapack" ,lapack) + `(("gsl" ,gsl) ("openblas" ,openblas) ("zlib" ,zlib))) - (build-system gnu-build-system) + (native-inputs + `(("catch" ,catch-framework2-1) + ("perl" ,perl) + ("shunit2" ,shunit2) + ("which" ,which))) (arguments - `(#:make-flags - '(,@(match (%current-system) - ("x86_64-linux" - '("FORCE_DYNAMIC=1")) - ("i686-linux" - '("FORCE_DYNAMIC=1" "FORCE_32BIT=1")) - (_ - '("FORCE_DYNAMIC=1" "NO_INTEL_COMPAT=1")))) - #:phases + `(#:phases (modify-phases %standard-phases (delete 'configure) - (add-after 'unpack 'find-eigen + (add-after 'unpack 'prepare-build (lambda* (#:key inputs #:allow-other-keys) - ;; Ensure that Eigen headers can be found - (setenv "CPLUS_INCLUDE_PATH" - (string-append (assoc-ref inputs "eigen") - "/include/eigen3")) + (mkdir-p "bin") + (substitute* "Makefile" + (("/usr/local/opt/openblas") + (assoc-ref inputs "openblas"))) #t)) - (add-before 'build 'bin-mkdir - (lambda _ - (mkdir-p "bin") - #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; 'make slow-check' expects shunit2-2.0.3. + (with-directory-excursion "test" + (invoke "./test_suite.sh")) + #t))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "bin/gemma" - (string-append - out "/bin"))) - #t))) - #:tests? #f)) ; no tests included yet - (home-page "https://github.com/xiangzhou/GEMMA") + (install-file "bin/gemma" + (string-append (assoc-ref outputs "out") "/bin")) + #t))))) + (home-page "https://github.com/genetics-statistics/GEMMA") (synopsis "Tool for genome-wide efficient mixed model association") (description - "Genome-wide Efficient Mixed Model Association (GEMMA) provides a -standard linear mixed model resolver with application in genome-wide -association studies (GWAS).") + "@acronym{GEMMA, Genome-wide Efficient Mixed Model Association} provides a +standard linear mixed model resolver with application in @acronym{GWAS, +genome-wide association studies}.") (license license:gpl3))) (define-public grit @@ -4632,7 +4713,7 @@ sequencing tag position and orientation.") (define-public mafft (package (name "mafft") - (version "7.471") + (version "7.475") (source (origin (method url-fetch) (uri (string-append @@ -4641,7 +4722,7 @@ sequencing tag position and orientation.") (file-name (string-append name "-" version ".tgz")) (sha256 (base32 - "0r1973fx2scq4712zdqfy67wkzqj0c0bhrdy4jxhvq40mdxyry30")))) + "0i2i2m3blh2xkbkdk48hxfssks30ny0v381gdl7zwhcvp0axs26r")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no automated tests, though there are tests in the read me @@ -6999,6 +7080,55 @@ sequence.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:bsd-3))) +(define-public r-snapatac + (package + (name "r-snapatac") + (version "2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/r3fang/SnapATAC") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "037jzlbl436fi7lkpq7d83i2vd1crnrik3vac2x6xj75dbikb2av")))) + (properties `((upstream-name . "SnapATAC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bigmemory" ,r-bigmemory) + ("r-doparallel" ,r-doparallel) + ("r-dosnow" ,r-dosnow) + ("r-edger" ,r-edger) + ("r-foreach" ,r-foreach) + ("r-genomicranges" ,r-genomicranges) + ("r-igraph" ,r-igraph) + ("r-iranges" ,r-iranges) + ("r-irlba" ,r-irlba) + ("r-matrix" ,r-matrix) + ("r-plyr" ,r-plyr) + ("r-plot3d" ,r-plot3d) + ("r-rann" ,r-rann) + ("r-raster" ,r-raster) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rhdf5" ,r-rhdf5) + ("r-rtsne" ,r-rtsne) + ("r-scales" ,r-scales) + ("r-viridis" ,r-viridis))) + (home-page "https://github.com/r3fang/SnapATAC") + (synopsis "Single nucleus analysis package for ATAC-Seq") + (description + "This package provides a fast and accurate analysis toolkit for single +cell ATAC-seq (Assay for transposase-accessible chromatin using sequencing). +Single cell ATAC-seq can resolve the heterogeneity of a complex tissue and +reveal cell-type specific regulatory landscapes. However, the exceeding data +sparsity has posed unique challenges for the data analysis. This package +@code{r-snapatac} is an end-to-end bioinformatics pipeline for analyzing large- +scale single cell ATAC-seq data which includes quality control, normalization, +clustering analysis, differential analysis, motif inference and exploration of +single cell ATAC-seq sequencing data.") + (license license:gpl3))) + (define-public r-scde (package (name "r-scde") @@ -7065,6 +7195,45 @@ between two different types of motif instances using as much relevant information as possible.") (license (list license:gpl2+ license:gpl3+)))) +(define-public r-demultiplex + (let ((commit "6e2a1422c8e6f418cfb271997eebc91f9195f299") + (revision "1")) + (package + (name "r-demultiplex") + (version (git-version "1.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chris-mcginnis-ucsf/MULTI-seq") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01kv88wp8vdaq07sjk0d3d1cb553mq1xqg0war81pgmg63bgi38w")))) + (properties `((upstream-name . "deMULTIplex"))) + (build-system r-build-system) + (propagated-inputs + `(("r-kernsmooth" ,r-kernsmooth) + ("r-reshape2" ,r-reshape2) + ("r-rtsne" ,r-rtsne) + ("r-shortread" ,r-shortread) + ("r-stringdist" ,r-stringdist))) + (home-page "https://github.com/chris-mcginnis-ucsf/MULTI-seq") + (synopsis "MULTI-seq pre-processing and classification tools") + (description + "deMULTIplex is an R package for analyzing single-cell RNA sequencing +data generated with the MULTI-seq sample multiplexing method. The package +includes software to + +@enumerate +@item Convert raw MULTI-seq sample barcode library FASTQs into a sample + barcode UMI count matrix, and +@item Classify cell barcodes into sample barcode groups. +@end enumerate +") + (license license:cc0)))) + (define-public r-genefilter (package (name "r-genefilter") @@ -7652,6 +7821,31 @@ BLAST, KEGG, GenBank, MEDLINE and GO.") ;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+) (license (list license:ruby license:lgpl2.1+ license:gpl2+ )))) +(define-public bio-vcf + (package + (name "bio-vcf") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "bio-vcf" version)) + (sha256 + (base32 + "1glw5pn9s8z13spxk6yyfqaz80n9lga67f33w35nkpq9dwi2vg6g")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-cucumber" ,ruby-cucumber))) + (synopsis "Smart VCF parser DSL") + (description + "Bio-vcf provides a @acronym{DSL, domain specific language} for processing +the VCF format. Record named fields can be queried with regular expressions. +Bio-vcf is a new generation VCF parser, filter and converter. Bio-vcf is not +only very fast for genome-wide (WGS) data, it also comes with a filtering, +evaluation and rewrite language and can output any type of textual data, +including VCF header and contents in RDF and JSON.") + (home-page "https://github.com/vcflib/bio-vcf") + (license license:expat))) + (define-public r-biocviews (package (name "r-biocviews") @@ -9312,8 +9506,9 @@ group or two ChIP groups run under different conditions.") (delete 'configure) ; There is no configure phase. (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "filevercmp" bin) + (let ((out (assoc-ref outputs "out"))) + (install-file "filevercmp" (string-append out "/bin")) + (install-file "filevercmp.h" (string-append out "/include")) #t)))))) (home-page "https://github.com/ekg/filevercmp") (synopsis "This program compares version strings") @@ -10440,41 +10635,20 @@ explore and perform basic analysis of single cell sequencing data coming from droplet sequencing. It has been particularly tailored for Drop-seq.") (license license:gpl3)))) -(define htslib-for-sambamba - (let ((commit "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5")) - (package - (inherit htslib) - (name "htslib-for-sambamba") - (version (string-append "1.3.1-1." (string-take commit 9))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/lomereiter/htslib") - (commit commit))) - (file-name (string-append "htslib-" version "-checkout")) - (sha256 - (base32 - "0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9")))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ,@(package-native-inputs htslib)))))) - (define-public sambamba (package (name "sambamba") - (version "0.7.1") + (version "0.8.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/lomereiter/sambamba") + (url "https://github.com/biod/sambamba") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "111h05b60pj8dxbidiamy4imc92x2962b3lmb7wgysl6lx064qis")))) + "07dznzl6m8k7sw84jxw2kx6i3ymrapbmcmyh0fxz8wrybhw8fmwc")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there is no test target @@ -10484,52 +10658,30 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") (delete 'configure) (add-after 'unpack 'fix-ldc-version (lambda _ - (substitute* "gen_ldc_version_info.py" - (("/usr/bin/env.*") (which "python3"))) (substitute* "Makefile" ;; We use ldc2 instead of ldmd2 to compile sambamba. (("\\$\\(shell which ldmd2\\)") (which "ldc2"))) #t)) - (add-after 'unpack 'place-biod-and-undead - (lambda* (#:key inputs #:allow-other-keys) - (copy-recursively (assoc-ref inputs "biod") "BioD") - #t)) (add-after 'unpack 'unbundle-prerequisites (lambda _ (substitute* "Makefile" - (("htslib/libhts.a lz4/lib/liblz4.a") - "-L-lhts -L-llz4") - ((" lz4-static htslib-static") "")) + (("= lz4/lib/liblz4.a") "= -L-llz4") + (("ldc_version_info lz4-static") "ldc_version_info")) #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) (mkdir-p bin) (copy-file (string-append "bin/sambamba-" ,version) (string-append bin "/sambamba")) #t)))))) (native-inputs - `(("ldc" ,ldc) - ("rdmd" ,rdmd) - ("python" ,python) - ("biod" - ,(let ((commit "7969eb0a847b05874e83ffddead26e193ece8101")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/biod/BioD") - (commit commit))) - (file-name (string-append "biod-" - (string-take commit 9) - "-checkout")) - (sha256 - (base32 - "0mjxsmbmv0jxl3pq21p8j5r829d648if8q58ka50b2956lc6qkpm"))))))) + `(("python" ,python))) (inputs - `(("lz4" ,lz4) - ("htslib" ,htslib-for-sambamba))) - (home-page "https://lomereiter.github.io/sambamba/") + `(("ldc" ,ldc) + ("lz4" ,lz4) + ("zlib" ,zlib))) + (home-page "https://github.com/biod/sambamba") (synopsis "Tools for working with SAM/BAM data") (description "Sambamba is a high performance modern robust and fast tool (and library), written in the D programming language, for @@ -14773,10 +14925,14 @@ some of the details of opening and jumping in tabix-indexed files.") (delete 'configure) ; There is no configure phase. (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (include (string-append out "/include"))) ;; TODO: There are Python modules for these programs too. (install-file "multichoose" bin) - (install-file "multipermute" bin)) + (install-file "multipermute" bin) + (install-file "multichoose.h" include) + (install-file "multipermute.h" include)) #t))))) (home-page "https://github.com/ekg/multichoose") (synopsis "Efficient loopless multiset combination generation algorithm") @@ -14885,32 +15041,44 @@ library automatically handles index file generation and use.") (define-public vcflib (package (name "vcflib") - (version "1.0.1") + (version "1.0.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/vcflib/vcflib/releases/" - "download/v" version - "/vcflib-" version "-src.tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/vcflib/vcflib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "14zzrg8hg8cq9cvq2wdvp21j7nmxxkjrbagw2apd2yqv2kyx42lm")) - (patches (search-patches "vcflib-use-shared-libraries.patch")) + (base32 "1k1z3876kbzifj1sqfzsf3lgb4rw779hvkg6ryxbyq5bc2paj9kh")) (modules '((guix build utils))) (snippet - `(begin + '(begin + (substitute* "CMakeLists.txt" + ((".*fastahack.*") "") + ((".*smithwaterman.*") "") + (("(pkg_check_modules\\(TABIXPP)" text) + (string-append + "pkg_check_modules(FASTAHACK REQUIRED fastahack)\n" + "pkg_check_modules(SMITHWATERMAN REQUIRED smithwaterman)\n" + text)) + (("\\$\\{TABIXPP_LIBRARIES\\}" text) + (string-append "${FASTAHACK_LIBRARIES} " + "${SMITHWATERMAN_LIBRARIES} " + text))) (substitute* (find-files "." "\\.(h|c)(pp)?$") (("\"SmithWatermanGotoh.h\"") "<smithwaterman/SmithWatermanGotoh.h>") (("\"convert.h\"") "<smithwaterman/convert.h>") (("\"disorder.h\"") "<smithwaterman/disorder.h>") - (("\"tabix.hpp\"") "<tabix.hpp>") - (("\"Fasta.h\"") "<fastahack/Fasta.h>")) + (("Fasta.h") "fastahack/Fasta.h")) (for-each delete-file-recursively '("fastahack" "filevercmp" "fsom" "googletest" "intervaltree" - "libVCFH" "multichoose" "smithwaterman" "tabixpp")) + "libVCFH" "multichoose" "smithwaterman")) #t)))) - (build-system gnu-build-system) + (build-system cmake-build-system) (inputs - `(("htslib" ,htslib) + `(("bzip2" ,bzip2) + ("htslib" ,htslib) ("fastahack" ,fastahack) ("perl" ,perl) ("python" ,python) @@ -14923,22 +15091,20 @@ library automatically handles index file generation and use.") ;; Submodules. ;; This package builds against the .o files so we need to extract the source. ("filevercmp-src" ,(package-source filevercmp)) + ("fsom-src" ,(package-source fsom)) ("intervaltree-src" ,(package-source intervaltree)) ("multichoose-src" ,(package-source multichoose)))) (arguments `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'set-flags - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - (("LDFLAGS =") - (string-append "LDFLAGS = -Wl,-rpath=" - (assoc-ref outputs "out") "/lib "))) - (substitute* "filevercmp/Makefile" - (("-c") "-c -fPIC")) + (add-after 'unpack 'build-shared-library + (lambda _ + (substitute* "CMakeLists.txt" + (("vcflib STATIC") "vcflib SHARED")) + (substitute* "test/Makefile" + (("libvcflib.a") "libvcflib.so")) #t)) - (delete 'configure) (add-after 'unpack 'unpack-submodule-sources (lambda* (#:key inputs #:allow-other-keys) (let ((unpack (lambda (source target) @@ -14951,39 +15117,31 @@ library automatically handles index file generation and use.") "--strip-components=1")))))) (and (unpack "filevercmp-src" "filevercmp") + (unpack "fsom-src" "fsom") (unpack "intervaltree-src" "intervaltree") - (unpack "multichoose-src" "multichoose"))))) - (replace 'install + (unpack "multichoose-src" "multichoose")) + #t))) + ;; This pkg-config file is provided by other distributions. + (add-after 'install 'install-pkg-config-file (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib"))) - (for-each (lambda (file) - (install-file file bin)) - (find-files "bin" ".*")) - (install-file "libvcflib.so" lib) - (install-file "libvcflib.a" lib) - (for-each - (lambda (file) - (install-file file (string-append out "/include"))) - (find-files "include" "\\.h(pp)?$")) - (mkdir-p (string-append lib "/pkgconfig")) - (with-output-to-file (string-append lib "/pkgconfig/vcflib.pc") + (pkgconfig (string-append out "/lib/pkgconfig"))) + (mkdir-p pkgconfig) + (with-output-to-file (string-append pkgconfig "/vcflib.pc") (lambda _ (format #t "prefix=~a~@ exec_prefix=${prefix}~@ libdir=${exec_prefix}/lib~@ includedir=${prefix}/include~@ ~@ - ~@ - Name: libvcflib~@ + Name: vcflib~@ Version: ~a~@ - Requires: smithwaterman, fastahack~@ + Requires: smithwaterman, fastahack, tabixpp~@ Description: C++ library for parsing and manipulating VCF files~@ Libs: -L${libdir} -lvcflib~@ Cflags: -I${includedir}~%" - out ,version)))) - #t))))) + out ,version))) + #t)))))) (home-page "https://github.com/vcflib/vcflib/") (synopsis "Library for parsing and manipulating VCF files") (description "Vcflib provides methods to manipulate and interpret @@ -14994,125 +15152,94 @@ manipulations on VCF files.") (license license:expat))) (define-public freebayes - (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb") - (revision "1") - (version "1.0.2")) - (package - (name "freebayes") - (version (git-version version revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ekg/freebayes") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2")))) - (build-system gnu-build-system) - (inputs - `(("bamtools" ,bamtools) - ("htslib" ,htslib) - ("zlib" ,zlib))) - (native-inputs - `(("bc" ,bc) ; Needed for running tests. - ("samtools" ,samtools) ; Needed for running tests. - ("parallel" ,parallel) ; Needed for running tests. - ("perl" ,perl) ; Needed for running tests. - ("procps" ,procps) ; Needed for running tests. - ("python" ,python-2) ; Needed for running tests. - ("vcflib-src" ,(package-source vcflib)) - ;; These are submodules for the vcflib version used in freebayes. - ;; This package builds against the .o files so we need to extract the source. - ("tabixpp-src" ,(package-source tabixpp)) - ("smithwaterman-src" ,(package-source smithwaterman)) - ("multichoose-src" ,(package-source multichoose)) - ("fsom-src" ,(package-source fsom)) - ("filevercmp-src" ,(package-source filevercmp)) - ("fastahack-src" ,(package-source fastahack)) - ("intervaltree-src" ,(package-source intervaltree)) - ;; These submodules are needed to run the tests. - ("bash-tap-src" ,(package-source bash-tap)) - ("test-simple-bash-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ingydotnet/test-simple-bash/") - (commit "124673ff204b01c8e96b7fc9f9b32ee35d898acc"))) - (file-name "test-simple-bash-src-checkout") - (sha256 - (base32 "043plp6z0x9yf7mdpky1fw7zcpwn1p47px95w9mh16603zqqqpga")))))) - (arguments - `(#:make-flags - (list "CC=gcc" - (string-append "BAMTOOLS_ROOT=" - (assoc-ref %build-inputs "bamtools"))) - #:test-target "test" - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'fix-tests - (lambda _ - (substitute* "test/t/01_call_variants.t" - (("grep -P \"\\(\\\\t500\\$\\|\\\\t11000\\$\\|\\\\t1000\\$\\)\"") - "grep -E ' (500|11000|1000)$'")) - #t)) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (if (file-is-directory? (assoc-ref inputs source)) - (copy-recursively (assoc-ref inputs source) ".") - (invoke "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1")))))) - (and - (unpack "vcflib-src" "vcflib") - (unpack "fastahack-src" "vcflib/fastahack") - (unpack "filevercmp-src" "vcflib/filevercmp") - (unpack "fsom-src" "vcflib/fsom") - (unpack "intervaltree-src" "vcflib/intervaltree") - (unpack "multichoose-src" "vcflib/multichoose") - (unpack "smithwaterman-src" "vcflib/smithwaterman") - (unpack "tabixpp-src" "vcflib/tabixpp") - (unpack "test-simple-bash-src" "test/test-simple-bash") - (unpack "bash-tap-src" "test/bash-tap"))))) - (add-after 'unpack-submodule-sources 'fix-makefiles - (lambda _ - ;; We don't have the .git folder to get the version tag from. - (substitute* "vcflib/Makefile" - (("^GIT_VERSION.*") - (string-append "GIT_VERSION = v" ,version))) - (substitute* "src/Makefile" - (("-I\\$\\(BAMTOOLS_ROOT\\)/src") - "-I$(BAMTOOLS_ROOT)/include/bamtools")) - #t)) - (add-before 'build 'build-tabixpp-and-vcflib - (lambda* (#:key inputs make-flags #:allow-other-keys) - (with-directory-excursion "vcflib" - (with-directory-excursion "tabixpp" - (apply invoke "make" - (string-append "HTS_LIB=" - (assoc-ref inputs "htslib") - "/lib/libhts.a") - make-flags)) - (apply invoke "make" - (string-append "CFLAGS=-Itabixpp") - "all" - make-flags)))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "bin/freebayes" bin) - (install-file "bin/bamleftalign" bin)) - #t))))) - (home-page "https://github.com/ekg/freebayes") - (synopsis "Haplotype-based variant detector") - (description "FreeBayes is a Bayesian genetic variant detector designed to + (package + (name "freebayes") + (version "1.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/freebayes/freebayes") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0myz3giad7jqp6ricdfnig9ymlcps2h67mlivadvx97ngagm85z8")) + (patches (search-patches "freebayes-devendor-deps.patch")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "contrib/htslib") + #t)))) + (build-system meson-build-system) + (inputs + `(("fastahack" ,fastahack) + ("htslib" ,htslib) + ("smithwaterman" ,smithwaterman) + ("tabixpp" ,tabixpp) + ("vcflib" ,vcflib) + ("zlib" ,zlib))) + (native-inputs + `(("bash-tap" ,bash-tap) + ("bc" ,bc) + ("grep" ,grep) ; Built with perl support. + ("parallel" ,parallel) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("samtools" ,samtools) + ("simde" ,simde) + ;; This submodule is needed to run the tests. + ("test-simple-bash-src" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ingydotnet/test-simple-bash/") + (commit "124673ff204b01c8e96b7fc9f9b32ee35d898acc"))) + (file-name "test-simple-bash-src-checkout") + (sha256 + (base32 "043plp6z0x9yf7mdpky1fw7zcpwn1p47px95w9mh16603zqqqpga")))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash-tap (assoc-ref inputs "bash-tap"))) + (substitute* (find-files "test/t") + (("BASH_TAP_ROOT=bash-tap") + (string-append "BASH_TAP_ROOT=" bash-tap "/bin")) + (("bash-tap/bash-tap-bootstrap") + (string-append bash-tap "/bin/bash-tap-bootstrap")) + (("source.*bash-tap-bootstrap") + (string-append "source " bash-tap "/bin/bash-tap-bootstrap"))) + (substitute* "meson.build" + ;; Some inputs aren't actually needed. + ((".*bamtools/src.*") "") + ((".*multichoose.*") "")) + (substitute* '("src/BedReader.cpp" + "src/BedReader.h") + (("../intervaltree/IntervalTree.h") "IntervalTree.h")) + #t))) + (add-after 'unpack 'unpack-submodule-sources + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "test/test-simple-bash") + (copy-recursively (assoc-ref inputs "test-simple-bash-src") + "test/test-simple-bash") + #t)) + ;; The slow tests take longer than the specified timeout. + ,@(if (any (cute string=? <> (%current-system)) + '("armhf-linux" "aarch64-linux")) + '((replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "meson" "test" "--timeout-multiplier" "5")) + #t))) + '())))) + (home-page "https://github.com/freebayes/freebayes") + (synopsis "Haplotype-based variant detector") + (description "FreeBayes is a Bayesian genetic variant detector designed to find small polymorphisms, specifically SNPs (single-nucleotide polymorphisms), indels (insertions and deletions), MNPs (multi-nucleotide polymorphisms), and complex events (composite insertion and substitution events) smaller than the length of a short-read sequencing alignment.") - (license license:expat)))) + (license license:expat))) (define-public samblaster (package @@ -15398,44 +15525,3 @@ biological processes. SBML is useful for models of metabolism, cell signaling, and more. It continues to be evolved and expanded by an international community.") (license license:lgpl2.1+))) - -(define-public grocsvs - ;; The last release is out of date and new features have been added. - (let ((commit "ecd956a65093a0b2c41849050e4512d46fecea5d") - (revision "1")) - (package - (name "grocsvs") - (version (git-version "0.2.6.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grocsvs/grocsvs") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "14505725gr7qxc17cxxf0k6lzcwmgi64pija4mwf29aw70qn35cc")) - (patches (search-patches "grocsvs-dont-use-admiral.patch")))) - (build-system python-build-system) - (arguments - `(#:tests? #f ; No test suite. - #:python ,python-2)) ; Only python-2 supported. - (inputs - `(("python2-h5py" ,python2-h5py) - ("python2-ipython-cluster-helper" ,python2-ipython-cluster-helper) - ("python2-networkx" ,python2-networkx) - ("python2-psutil" ,python2-psutil) - ("python2-pandas" ,python2-pandas) - ("python2-pybedtools" ,python2-pybedtools) - ("python2-pyfaidx" ,python2-pyfaidx) - ("python2-pygraphviz" ,python2-pygraphviz) - ("python2-pysam" ,python2-pysam) - ("python2-scipy" ,python2-scipy))) - (home-page "https://github.com/grocsvs/grocsvs") - (synopsis "Genome-wide reconstruction of complex structural variants") - (description - "@dfn{Genome-wide Reconstruction of Complex Structural Variants} -(GROC-SVs) is a software pipeline for identifying large-scale structural -variants, performing sequence assembly at the breakpoints, and reconstructing -the complex structural variants using the long-fragment information from the -10x Genomics platform.") - (license license:expat)))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 9ca574a151..88abe29a1e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,12 +7,14 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1095,3 +1097,124 @@ systems so that they can be added to the bootloader. It also works out how to boot existing GNU/Linux systems and detects what distribution is installed in order to add a suitable bootloader menu entry.") (license license:gpl2+))) + +(define-public ipxe + ;; XXX: 'BUILD_TIMESTAMP' is used to automatically select the newest version + ;; of iPXE if multiple iPXE drivers are loaded concurrently in a UEFI system. + ;; + ;; TODO: Bump this timestamp at each modifications of the package (not only + ;; for updates) by running: date +%s. + (let ((timestamp "1591706427")) + (package + (name "ipxe") + (version "1.21.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipxe/ipxe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "ipxe-reproducible-geniso.patch")) + (sha256 + (base32 + "1pkf1n1c0rdlzfls8fvjvi1sd9xjd9ijqlyz3wigr70ijcv6x8i9")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build gnu-build-system) + (guix base32) + (ice-9 string-fun) + (ice-9 regex) + (rnrs bytevectors)) + #:imported-modules ((guix base32) + ,@%gnu-build-system-modules) + #:make-flags + ;; XXX: 'BUILD_ID' is used to determine when another ROM in the + ;; system contains identical code in order to save space within the + ;; legacy BIOS option ROM area, which is extremely limited in size. + ;; It is supposed to be collision-free across all ROMs, to do so we + ;; use the truncated output hash of the package. + (let ((build-id + (lambda (out) + (let* ((nix-store (string-append + (or (getenv "NIX_STORE") "/gnu/store") + "/")) + (filename + (string-replace-substring out nix-store "")) + (hash (match:substring (string-match "[0-9a-z]{32}" + filename))) + (bv (nix-base32-string->bytevector hash))) + (format #f "0x~x" + (bytevector-u32-ref bv 0 (endianness big)))))) + (out (assoc-ref %outputs "out")) + (syslinux (assoc-ref %build-inputs "syslinux"))) + (list "ECHO_E_BIN_ECHO=echo" + "ECHO_E_BIN_ECHO_E=echo -e" + + ;; cdrtools' mkisofs will silently ignore a missing isolinux.bin! + ;; Luckily xorriso is more strict. + (string-append "ISOLINUX_BIN=" syslinux + "/share/syslinux/isolinux.bin") + (string-append "SYSLINUX_MBR_DISK_PATH=" syslinux + "/share/syslinux/isohdpfx.bin") + + ;; Build reproducibly. + (string-append "BUILD_ID_CMD=echo -n " (build-id out)) + (string-append "BUILD_TIMESTAMP=" ,timestamp) + "everything")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source-directory + (lambda _ (chdir "src") #t)) + (add-after 'enter-source-directory 'set-options + (lambda _ + (substitute* "config/general.h" + (("^//(#define PING_CMD.*)" _ uncommented) uncommented) + (("^//(#define IMAGE_TRUST_CMD.*)" _ uncommented) + uncommented) + (("^#undef.*(DOWNLOAD_PROTO_HTTPS.*)" _ option) + (string-append "#define " option)) + (("^#undef.*(DOWNLOAD_PROTO_NFS.*)" _ option) + (string-append "#define " option))) + #t)) + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (ipxe (string-append out "/lib/ipxe")) + (exts-re + "\\.(efi|efirom|iso|kkpxe|kpxe|lkrn|mrom|pxe|rom|usb)$") + (dirs '("bin" "bin-i386-linux" "bin-x86_64-pcbios" + "bin-x86_64-efi" "bin-x86_64-linux" "bin-i386-efi")) + (files (apply append + (map (lambda (dir) + (find-files dir exts-re)) dirs)))) + (for-each (lambda (file) + (let* ((subdir (dirname file)) + (fn (basename file)) + (tgtsubdir (cond + ((string=? "bin" subdir) "") + ((string-prefix? "bin-" subdir) + (string-drop subdir 4))))) + (install-file file + (string-append ipxe "/" tgtsubdir)))) + files)) + #t)) + (add-after 'install 'leave-source-directory + (lambda _ (chdir "..") #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("perl" ,perl) + ("syslinux" ,syslinux) + ("xorriso" ,xorriso))) + (home-page "https://ipxe.org") + (synopsis "PXE-compliant network boot firmware") + (description "iPXE is a network boot firmware. It provides a full PXE +implementation enhanced with additional features such as booting from: a web +server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a +wireless network, a wide-area network, an Infiniband network. It allows to +control the boot process with a script. You can use iPXE to replace the +existing PXE ROM on your network card, or you can chainload into iPXE to obtain +the features of iPXE without the hassle of reflashing.") + (license license:gpl2+)))) + diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 10b8304eb6..3824dc7f72 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +49,7 @@ supported content to the Kodi media center.") (make-chromium-extension play-to-kodi)) (define uassets - (let ((commit "8e79f25fceb7c27960753de6f4d21491257741ab")) + (let ((commit "a5b1e3cae3e63435caa03940eff549133e524970")) (origin (method git-fetch) (uri (git-reference @@ -58,12 +58,12 @@ supported content to the Kodi media center.") (file-name (git-file-name "uAssets" (string-take commit 9))) (sha256 (base32 - "19ymyv6qpmmyw4lnpx6adm6mzf8ygfj0c9ljw24wl239v9vzn46w"))))) + "1qjq9x6qb07x4iyha3zzwjcgr0p54c2pdadvcp2kj7h34vjlpksj"))))) (define ublock-origin (package (name "ublock-origin") - (version "1.32.4") + (version "1.33.0") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -71,7 +71,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "0v5phzsrav1z0gd7rirmsy7k500xhibw73ffk61754hkqd0l635v")))) + "1indr8p4imljgc1d5vyn48cbpzy9ygqmkk4q07czlrhcrz7hb4nx")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 7fc065f7ac..5af67e084d 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,7 +33,7 @@ (define-public busybox (package (name "busybox") - (version "1.32.0") + (version "1.32.1") (source (origin (method url-fetch) (uri (string-append @@ -41,7 +41,7 @@ version ".tar.bz2")) (sha256 (base32 - "12g63zsvzfz04wbyga8riyl8ils05riw4xf26cyiaasbs3qqfpf3")))) + "1vhd59qmrdyrr1q7rvxmyl96z192mxl089hi87yl0hcp6fyw8mwx")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 6f7c1f4422..0c1085cac9 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> @@ -289,6 +289,55 @@ unit testing. Test output is in XML for automatic testing and GUI based for supervised tests.") (license license:lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball +(define-public shunit2 + (package + (name "shunit2") + (version "2.1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kward/shunit2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08vs0jjl3pfh100sjlw31x4638xj7fghr0j2g1zfikba8n1f9491")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (delete 'build) + (add-after 'patch-source-shebangs 'patch-more-shebangs + (lambda _ + (substitute* "shunit2" + (("#! /bin/sh") (string-append "#! " (which "sh"))) + (("/usr/bin/od") (which "od"))) + (substitute* "test_runner" + (("/bin/sh") (which "sh")) + (("/bin/bash") (which "bash"))) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; This test is buggy in the build container. + (delete-file "shunit2_misc_test.sh") + (invoke "sh" "test_runner")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "shunit2" + (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (home-page "https://github.com/kward/shunit2") + (synopsis "@code{xUnit} based unit testing for Unix shell scripts") + (description "@code{shUnit2} was originally developed to provide a +consistent testing solution for @code{log4sh}, a shell based logging framework +similar to @code{log4j}. It is designed to work in a similar manner to JUnit, +PyUnit and others.") + (license license:asl2.0))) + ;; When dependent packages upgraded to use newer version of catch, this one should ;; be removed. (define-public catch-framework @@ -1316,9 +1365,6 @@ subprocess and see the output as well as any file modifications.") "This package is only for bootstrapping. Do not use this.") (license license:psfl))) -(define-public python2-testtools-bootstrap - (package-with-python2 python-testtools-bootstrap)) - (define-public python-testtools (package (inherit python-testtools-bootstrap) @@ -1344,9 +1390,6 @@ subprocess and see the output as well as any file modifications.") provide matchers, more debugging information, and cross-Python compatibility."))) -(define-public python2-testtools - (package-with-python2 python-testtools)) - (define-public python-testscenarios-bootstrap (package (name "python-testscenarios-bootstrap") @@ -1374,9 +1417,6 @@ compatibility."))) "This package is only for bootstrapping. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-testscenarios-bootstrap - (package-with-python2 python-testscenarios-bootstrap)) - (define-public python-testscenarios (package (inherit python-testscenarios-bootstrap) @@ -1388,9 +1428,6 @@ compatibility."))) "Testscenarios provides clean dependency injection for Python unittest style tests."))) -(define-public python2-testscenarios - (package-with-python2 python-testscenarios)) - ;; Testresources requires python-pbr at runtime, but pbr needs it for its ;; own tests. Hence this bootstrap variant. (define-public python-testresources-bootstrap @@ -1415,9 +1452,6 @@ style tests."))) testresources package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-testresources-bootstrap - (package-with-python2 python-testresources-bootstrap)) - (define-public python-testresources (package (inherit python-testresources-bootstrap) @@ -1432,9 +1466,6 @@ testresources package instead.") "Testresources is an extension to Python's unittest to allow declarative use of resources by test cases."))) -(define-public python2-testresources - (package-with-python2 python-testresources)) - (define-public python-subunit-bootstrap (package (name "python-subunit-bootstrap") @@ -1461,9 +1492,6 @@ use of resources by test cases."))) python-subunit package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-subunit-bootstrap - (package-with-python2 python-subunit-bootstrap)) - (define-public python-subunit (package (inherit python-subunit-bootstrap) @@ -1479,9 +1507,6 @@ python-subunit package instead.") "Python-subunit is a Python implementation of the subunit test streaming protocol."))) -(define-public python2-subunit - (package-with-python2 python-subunit)) - ;; Fixtures requires python-pbr at runtime, but pbr uses fixtures for its ;; own tests. Hence this bootstrap variant. (define-public python-fixtures-bootstrap @@ -1511,9 +1536,6 @@ protocol."))) python-fixtures package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at user's option -(define-public python2-fixtures-bootstrap - (package-with-python2 python-fixtures-bootstrap)) - (define-public python-fixtures (package (inherit python-fixtures-bootstrap) @@ -1536,9 +1558,6 @@ python-fixtures package instead.") "Fixtures provides a way to create reusable state, useful when writing Python tests."))) -(define-public python2-fixtures - (package-with-python2 python-fixtures)) - (define-public python-testrepository-bootstrap (package (name "python-testrepository-bootstrap") @@ -1564,9 +1583,6 @@ Python tests."))) "Bootstrap package for python-testrepository. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at user's option -(define-public python2-testrepository-bootstrap - (package-with-python2 python-testrepository-bootstrap)) - (define-public python-testrepository (package (inherit python-testrepository-bootstrap) @@ -1584,9 +1600,6 @@ Python tests."))) be used as part of a developer's workflow to check things such as what tests have failed since the last commit or what tests are currently failing."))) -(define-public python2-testrepository - (package-with-python2 python-testrepository)) - (define-public python-coverage (package (name "python-coverage") @@ -2334,9 +2347,6 @@ tests written in a natural language style, backed up by Python code.") JSON APIs with Behave.") (license license:expat))) -(define-public python2-behave-web-api - (package-with-python2 python-behave-web-api)) - (define-public python-rednose (package (name "python-rednose") diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 4aa39a567d..4b0e719959 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> -;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2018, 2021 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -29,6 +29,8 @@ #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -43,95 +45,89 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) -(define-public avogadro +(define-public avogadrolibs (package - (name "avogadro") - (version "1.2.0") + (name "avogadrolibs") + (version "1.93.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cryos/avogadro") + (url "https://github.com/OpenChemistry/avogadrolibs") (commit version))) (sha256 - (base32 "0258py3lkba85qhs5ynancinyym61vlp0zaq9yrfs3hhnhpzv9n2")) - (file-name (git-file-name name version)) - (patches - (search-patches "avogadro-eigen3-update.patch" - "avogadro-python-eigen-lib.patch" - "avogadro-boost148.patch")))) + (base32 "1xivga626n5acnmwmym8svl0pdri8hkp59czf04ri2zflnviyh39")) + (file-name (git-file-name name version)))) (build-system cmake-build-system) + (native-inputs + `(("eigen" ,eigen) + ("mmtf-cpp" ,mmtf-cpp) + ("msgpack" ,msgpack) + ("googletest" ,googletest) + ("pkg-config" ,pkg-config) + ("pybind11" ,pybind11))) + (inputs + `(("glew" ,glew) + ("libarchive" ,libarchive) + ("libmsym" ,libmsym) + ("molequeue" ,molequeue) + ("python" ,python) + ("spglib" ,spglib) + ("qtbase" ,qtbase))) (arguments - `(#:tests? #f - #:configure-flags - (list "-DENABLE_GLSL=ON" - (string-append "-DPYTHON_LIBRARIES=" - (assoc-ref %build-inputs "python") - "/lib") - (string-append "-DPYTHON_INCLUDE_DIRS=" - (assoc-ref %build-inputs "python") - "/include/python" - ,(version-major+minor - (package-version python)))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-python-lib-path - (lambda* (#:key outputs #:allow-other-keys) - ;; This is necessary to install the Python module in the correct - ;; directory. - (substitute* "libavogadro/src/python/CMakeLists.txt" - (("^EXECUTE_PROCESS.*$") "") - (("^.*from sys import stdout.*$") "") - (("^.*OUTPUT_VARIABLE.*") - (string-append "set(PYTHON_LIB_PATH \"" - (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages\")"))))) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make sure 'avogadro' runs with the correct PYTHONPATH. - (let* ((out (assoc-ref outputs "out"))) - (setenv "GUIX_PYTHONPATH" - (string-append - (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages:" - (getenv "GUIX_PYTHONPATH"))) - (wrap-program (string-append out "/bin/avogadro") - `("GUIX_PYTHONPATH" ":" prefix - (,(getenv "GUIX_PYTHONPATH")))))))))) + '(#:configure-flags (list "-DENABLE_TESTING=ON" + (string-append "-DSPGLIB_INCLUDE_DIR=" + (assoc-ref %build-inputs "spglib") + "/include")))) + (home-page "https://www.openchemistry.org/projects/avogadro2/") + (synopsis "Libraries for chemistry, bioinformatics, and related areas") + (description + "Avogadro libraries provide 3D rendering, visualization, analysis and data +processing useful in computational chemistry, molecular modeling, +bioinformatics, materials science, and related areas.") + (license license:bsd-3))) + +(define-public avogadro2 + (package + (name "avogadro2") + (version "1.93.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenChemistry/avogadroapp") + (commit version))) + (sha256 + (base32 + "1z3pjlwja778a1dmvx9aqz2hlw5q9g3kqxhm9slz08452600jsv7")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) (native-inputs - `(("doxygen" ,doxygen) + `(("eigen" ,eigen) ("pkg-config" ,pkg-config))) (inputs - `(("boost" ,boost) - ("eigen" ,eigen) - ("glew" ,glew) - ("openbabel" ,openbabel) - ("python" ,python-2) - ("python-numpy" ,python2-numpy) - ("python-pyqt" ,python2-pyqt-4) - ("python-sip" ,python2-sip) - ("qt" ,qt-4) - ("zlib" ,zlib))) - (home-page "https://avogadro.cc") + `(("avogadrolibs" ,avogadrolibs) + ("hdf5" ,hdf5) + ("molequeue" ,molequeue) + ("qtbase" ,qtbase))) + ;; TODO: Enable tests with "-DENABLE_TESTING" configure flag. + (arguments + '(#:tests? #f)) + (home-page "https://www.openchemistry.org/projects/avogadro2/") (synopsis "Advanced molecule editor") (description - "Avogadro is an advanced molecule editor and visualizer designed for use + "Avogadro 2 is an advanced molecule editor and visualizer designed for use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas. It offers flexible high quality rendering and a powerful plugin architecture.") - (license license:gpl2+))) + (license license:bsd-3))) (define-public domainfinder (package @@ -165,15 +161,16 @@ only with Python 2 and NumPy < 1.9.") (define-public inchi (package (name "inchi") - (version "1.05") + ;; Update the inchi-doc native input when updating inchi. + (version "1.06") (source (origin (method url-fetch) - (uri (string-append "http://www.inchi-trust.org/download/" + (uri (string-append "https://www.inchi-trust.org/download/" (string-join (string-split version #\.) "") "/INCHI-1-SRC.zip")) (sha256 (base32 - "081pcjx1z5jm23fs1pl2r3bccia0ww8wfkzcjpb7byhn7b513hsa")) + "1zbygqn0443p0gxwr4kx3m1bkqaj8x9hrpch3s41py7jq08f6x28")) (file-name (string-append name "-" version ".zip")))) (build-system gnu-build-system) (arguments @@ -226,7 +223,7 @@ only with Python 2 and NumPy < 1.9.") "/INCHI-1-DOC.zip")) (sha256 (base32 - "1id1qb2y4lwsiw91qr2yqpn6kxbwjwhjk0hb2rwk4fxhdqib6da6")) + "1kyda09i9p89xfq90ninwi7w13k1w3ljpl4gqdhpfhi5g8fgxx7f")) (file-name (string-append name "-" version ".zip")))))) (home-page "https://www.inchi-trust.org") (synopsis "Utility for manipulating machine-readable chemical structures") @@ -240,6 +237,103 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.") "file://LICENCE" "See LICENCE in the distribution.")))) +(define-public libmsym + (package + (name "libmsym") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mcodev31/libmsym") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0a9j28irdsr461qpzlc9z1yjyb9kp64fh5zw7ylspc9zn3189qwk")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") + #:tests? #f)) ; no check target + (home-page "https://github.com/mcodev31/libmsym") + (synopsis "C library dealing with point group symmetry in molecules") + (description "libmsym is a C library dealing with point group symmetry in +molecules.") + (license license:expat))) + +(define-public mmtf-cpp + (package + (name "mmtf-cpp") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rcsb/mmtf-cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17ylramda69plf5w0v5hxbl4ggkdi5s15z55cv0pljl12yvyva8l")))) + (build-system cmake-build-system) + ;; Tests require the soon-to-be-deprecated version 1 of the catch-framework. + (arguments + '(#:tests? #f)) + (home-page "https://mmtf.rcsb.org/") + (synopsis "C++ API for the Macromolecular Transmission Format") + (description "This package is a library for the +@acronym{MMTF,macromolecular transmission format}, a binary encoding of +biological structures.") + (license license:expat))) + +(define-public molequeue + (package + (name "molequeue") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/OpenChemistry/molequeue/" + "releases/download/" version "/molequeue-" + version ".tar.bz2")) + (sha256 + (base32 + "1w1fgxzqrb5yxvpmnc3c9ymnvixy0z1nfafkd9whg9zw8nbgl998")))) + (build-system cmake-build-system) + (inputs + `(("qtbase" ,qtbase))) + (arguments + '(#:configure-flags '("-DENABLE_TESTING=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + ;; TODO: Fix/enable the failing message and clientserver tests. + ;; In the message test, the floating-point value "5.36893473232" on + ;; line 165 of molequeue/app/testing/messagetest.cpp should + ;; (apparently) be truncated, but it is not. + (substitute* "molequeue/app/testing/messagetest.cpp" + (("5\\.36893473232") "5.36893")) + ;; It is unclear why the clientserver test fails, so it is + ;; completely disabled. + (substitute* "molequeue/app/testing/CMakeLists.txt" + ((".*clientserver.*") "")) + #t)) + (add-before 'check 'set-display + (lambda _ + ;; Make Qt render "offscreen" for the sake of tests. + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://www.openchemistry.org/projects/molequeue/") + (synopsis "Application for coordinating computational jobs") + (description "MoleQueue is a system-tray resident desktop application for +abstracting, managing, and coordinating the execution of tasks both locally and + on remote computational resources. Users can set up local and remote queues +that describe where the task will be executed. Each queue can have programs, +with templates to facilitate the execution of the program. Input files can be +staged, and output files collected using a standard interface.") + (license license:bsd-3))) + (define with-numpy-1.8 (package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8)))) @@ -428,19 +522,23 @@ usual algorithms you expect from a modern molecular dynamics implementation.") (define-public openbabel (package (name "openbabel") - (version "2.4.1") + (version "3.1.1") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/" name "/" name "/" - version "/" name "-" version ".tar.gz")) + (uri (string-append "https://github.com/openbabel/openbabel/" + "releases/download/openbabel-" + (string-replace-substring version "." "-") + "/openbabel-" version "-source.tar.bz2")) (sha256 (base32 - "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")) - (patches - (search-patches "openbabel-fix-crash-on-nwchem-output.patch")))) + "0s0f4zib8vshfaywsr5bjjz55jwsg6yiz2qw4i5jm8wysn0q7v56")))) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(;; FIXME: Disable tests on i686 to work around + ;; https://github.com/openbabel/openbabel/issues/2041. + #:tests? ,(or (%current-target-system) + (not (string=? "i686-linux" (%current-system)))) + #:configure-flags (list "-DOPENBABEL_USE_SYSTEM_INCHI=ON" (string-append "-DINCHI_LIBRARY=" (assoc-ref %build-inputs "inchi") @@ -463,3 +561,49 @@ chemical data. It's a collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.") (license license:gpl2))) + +(define-public spglib + (package + (name "spglib") + (version "1.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spglib/spglib") + (commit (string-append "v" version)))) + (sha256 + (base32 "1kzc956m1pnazhz52vspqridlw72wd8x5l3dsilpdxl491aa2nws")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:test-target "check" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-header-install-dir + (lambda _ + ;; As of the writing of this package, CMake and GNU build systems + ;; install the header to two different location. This patch makes + ;; the CMake build system's choice of header directory compatible + ;; with the GNU build system's choice and with what avogadrolibs + ;; expects. + ;; See https://github.com/spglib/spglib/issues/75 and the relevant + ;; part of https://github.com/OpenChemistry/avogadroapp/issues/97. + (substitute* "CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_INCLUDEDIR\\}" include-dir) + (string-append include-dir "/spglib"))) + #t))))) + (home-page "https://spglib.github.io/spglib/index.html") + (synopsis "Library for crystal symmetry search") + (description "Spglib is a library for finding and handling crystal +symmetries written in C. Spglib can be used to: + +@enumerate +@item Find symmetry operations +@item Identify space-group type +@item Wyckoff position assignment +@item Refine crystal structure +@item Find a primitive cell +@item Search irreducible k-points +@end enumerate") + (license license:bsd-3))) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 175b1a74ef..0b8f55ff02 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020, 2021 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; ;;; This file is part of GNU Guix. @@ -160,6 +160,7 @@ "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 + "third_party/fusejs" ;ASL2.0 "third_party/glslang" ;BSD-3, Expat, ASL2.0 "third_party/google_input_tools" ;ASL2.0 "third_party/google_input_tools/third_party/closure_library" ;ASL2.0 @@ -277,6 +278,13 @@ "third_party/woff2" ;ASL2.0 "third_party/xcbproto" ;X11 "third_party/xdg-utils" ;Expat + + ;; These are forked components of the X11 keybinding code. + "third_party/libxcb-keysyms" ;X11 + "third_party/libx11/src/KeyBind.c" ;X11 + "third_party/libx11/src/xkb/XKBBind.c" ;X11 + "third_party/x11proto/keysymdef.h" ;X11 + "third_party/zlib/google" ;BSD-3 "third_party/zxcvbn-cpp" ;Expat "url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+ @@ -302,8 +310,8 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define %chromium-version "87.0.4280.88") -(define %ungoogled-revision "b78cb927fa8beaee0ddfb4385277edb96444c40f") +(define %chromium-version "88.0.4324.104") +(define %ungoogled-revision "4e2679ce15a53925b34a95aa3e1731751530dc22") (define %debian-revision "debian/84.0.4147.105-1") (define %debian-patches @@ -321,7 +329,7 @@ (string-take %ungoogled-revision 7))) (sha256 (base32 - "0w2137w8hfcgl6f938hqnb4ffp33v5r8vdzxrvs814w7dszkiqgg")))) + "09x6kxd99a274mln3k3ckly6swyp5qdnkkp8p6grs9nr5jrgqqx5")))) (define %guix-patches (list (local-file @@ -405,6 +413,22 @@ `(cons "--enable-custom-modes" ,flags)))))) +;; WebRTC in Chromium 88 requires an unreleased version of libvpx. Use the +;; commit mentioned in "third_party/libvpx/README.chromium". +(define libvpx/chromium + (package + (inherit libvpx) + (version "1.9.0-88-g12059d956") + (source (origin + (inherit (package-source libvpx)) + (uri (git-reference + (url "https://chromium.googlesource.com/webm/libvpx") + (commit (string-append "v" version)))) + (file-name (git-file-name "libvpx" version)) + (sha256 + (base32 + "14knnvfaskfz97vs3lfqrdpcbcx22s6qp16213wdnvnsf4c1lx1b")))))) + ;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need ;; this trick to make it wrap 'lld'. (define (make-lld-wrapper lld) @@ -443,7 +467,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy")) + "0iq1rmfiqmxsj6skbi17g007zqgjsb50b59slfni2n4mz06xmgbx")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -580,6 +604,12 @@ (("third_party/icu/source/(common|i18n)/") "")) + ;; Fix faulty ICU call. Likely fixed in M89. + (substitute* + "third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc" + (("ideographicSpaceCharacter") + "kIdeographicSpaceCharacter")) + ;; XXX: Should be unnecessary when use_system_lcms2=true. (substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h" (("include \"third_party/lcms/include/lcms2\\.h\"") @@ -805,14 +835,14 @@ ("glib" ,glib) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c-67) + ("icu4c" ,icu4c-68) ("lcms" ,lcms) ("libevent" ,libevent) ("libffi" ,libffi) ("libjpeg-turbo" ,libjpeg-turbo) ("libpng" ,libpng) ("libva" ,libva) - ("libvpx" ,libvpx) + ("libvpx" ,libvpx/chromium) ("libwebp" ,libwebp) ("libx11" ,libx11) ("libxcb" ,libxcb) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 161b45846e..fe2ef7bb83 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix git-download) + #:use-module (guix download) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages docbook) @@ -39,7 +40,6 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages texinfo) #:use-module (gnu packages version-control) @@ -47,29 +47,9 @@ #:use-module (gnu packages xml) #:use-module (guix build-system gnu)) -;; Guile-Sqlite3 package adding SQL query logging support. -;; Remove it when next Guile-Sqlite3 release is out. -(define-public guile-sqlite3-dev - (let ((commit "22ef45d268de7707cbbb943c404f9b0c1668e2e1") - (revision "1")) - (package - (inherit guile-sqlite3) - (name "guile-sqlite3") - (version (git-version "0.1.2" revision commit)) - (home-page "https://notabug.org/mothacehe/guile-sqlite3.git") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (sha256 - (base32 - "1q90f8zhw9n1c39szd2ba7aj5fi92m09pnlv0z7jbhnnjam5jwcd")) - (file-name (string-append name "-" version "-checkout"))))))) - (define-public cuirass - (let ((commit "697fa14584551d9595cd042f1ffeba240e45a127") - (revision "56")) + (let ((commit "6bd940fc24646533ed2c113d9b551d23fe4f030d") + (revision "65")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -81,43 +61,33 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0gw9cja8fiyra9vnn3y384gwanvsqdq6gwjcvmz91sy5lvfwv34m")))) + "0nv8y6dm17m4z28aqr47ch4l4qaqr1zixdv7jajxdky9dqy085vm")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) (guix build gnu-build-system) (ice-9 rdelim) (ice-9 popen)) - #:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass - + #:tests? #f ;requires a PostgreSQL database. #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-repo-tests - (lambda _ - ;; Disable tests that use a connection to the Guix daemon. - (substitute* "Makefile.am" - (("tests/repo.scm \\\\") "\\")) - #t)) - (add-after 'disable-repo-tests 'patch-/bin/sh - (lambda _ - (substitute* "build-aux/git-version-gen" - (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) ;; Wrap the 'cuirass' command to refer to the right modules. (let* ((out (assoc-ref outputs "out")) + (avahi (assoc-ref inputs "guile-avahi")) (gcrypt (assoc-ref inputs "guile-gcrypt")) (json (assoc-ref inputs "guile-json")) - (sqlite (assoc-ref inputs "guile-sqlite3")) + (zmq (assoc-ref inputs "guile-simple-zmq")) + (squee (assoc-ref inputs "guile-squee")) (git (assoc-ref inputs "guile-git")) (bytes (assoc-ref inputs "guile-bytestructures")) (fibers (assoc-ref inputs "guile-fibers")) (zlib (assoc-ref inputs "guile-zlib")) (guix (assoc-ref inputs "guix")) - (deps (list gcrypt json sqlite git bytes fibers - zlib guix)) + (deps (list avahi gcrypt json zmq squee git bytes + fibers zlib guix)) (guile (assoc-ref %build-inputs "guile")) (effective (read-line (open-pipe* OPEN_READ @@ -137,17 +107,22 @@ 1))) ;; Make sure 'cuirass' can find the 'evaluate' command, as ;; well as the relevant Guile modules. - (wrap-program (string-append out "/bin/cuirass") - `("PATH" ":" prefix (,(string-append out "/bin"))) - `("GUILE_LOAD_PATH" ":" prefix (,mods)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))) + (for-each + (lambda (name) + (wrap-program (string-append out "/bin/" name) + `("PATH" ":" prefix (,(string-append out "/bin"))) + `("GUILE_LOAD_PATH" ":" prefix (,mods)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))) + '("cuirass" "remote-server" "remote-worker")) #t)))))) (inputs `(("guile" ,guile-3.0/libgc-7) + ("guile-avahi" ,guile-avahi) ("guile-fibers" ,guile-fibers) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) - ("guile-sqlite3" ,guile-sqlite3-dev) + ("guile-simple-zmq" ,guile-simple-zmq) + ("guile-squee" ,guile-squee) ("guile-git" ,guile-git) ("guile-zlib" ,guile-zlib) ;; FIXME: this is propagated by "guile-git", but it needs to be among diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 238c21eacb..bee721e15b 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -31,6 +31,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix deprecation) #:use-module (guix build-system gnu) @@ -43,6 +44,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages file) #:use-module (gnu packages hurd) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) #:use-module (gnu packages serialization) @@ -52,6 +54,33 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1)) +(define-public cmake-shared + (package + (name "cmake-shared") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lirios/cmake-shared.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ; No target + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (synopsis "Shared CMake functions and macros") + (description "CMake-Shared are shared functions and macros for projects +using the CMake build system.") + (home-page "https://github.com/lirios/cmake-shared/") + (license license:bsd-3))) + ;;; Build phases shared between 'cmake-bootstrap' and the later variants ;;; that use cmake-build-system. (define %common-build-phases diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 5fe2c4e8b2..d6810364bf 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Léo Le Bouter <lle-bout@zaclys.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +56,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) @@ -70,7 +72,9 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) + #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -78,6 +82,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) + #:use-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (last))) @@ -1026,6 +1031,41 @@ smaller than those produced by @code{Xdelta}.") ;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3. (license license:gpl3+))) +(define-public libjcat + (package + (name "libjcat") + (version "0.1.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/hughsie/libjcat") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rxyqikdhkh2nq1y0hy05df2kkxf3d2cp6lm5x1s5i717k6y3zy5")))) + (build-system meson-build-system) + (native-inputs + `(("gobject-introspection" ,gobject-introspection) + ("help2man" ,help2man) + ("pkg-config" ,pkg-config))) + (inputs + `(("git" ,git) + ("glib" ,glib) + ("gnupg" ,gnupg) + ("gnutls" ,gnutls) + ("gpgme" ,gpgme) + ("json-glib" ,json-glib) + ("vala" ,vala))) + (home-page "https://github.com/hughsie/libjcat") + (synopsis "Library for reading and writing Jcat files") + (description + "This library allows reading and writing gzip-compressed JSON catalog +files, which can be used to store GPG, PKCS-7 and SHA-256 checksums for each +file.") + (license license:lgpl2.1+))) + (define-public xdelta (package (name "xdelta") @@ -1808,14 +1848,14 @@ Clzip is intended to be fully compatible with the regular lzip package.") (define-public lzlib (package (name "lzlib") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/lzlib/" "lzlib-" version ".tar.gz")) (sha256 - (base32 "0djdj4sg33rzi4k84cygvnp09bfsv6i8wy2k7i67rayib63myp3c")))) + (base32 "1c9pwd6by8is4z8bs6j306jyy6pgm2dvsn4fr7fg2b5m5qj88pcf")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2067,13 +2107,13 @@ reading from and writing to ZIP archives. ") (define-public zutils (package (name "zutils") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/zutils/zutils-" version ".tar.lz")) (sha256 - (base32 "0y2wm8wqr1wi1b1fv45dn50njv4q81p6ifx0279ji1bq56qkrn2r")))) + (base32 "15dimqp8zlqaaa2l46r22srp1py38mlmn69ph1j5fmrd54w43m0d")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 11b9d4ec5c..4ddf6ab385 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> @@ -138,15 +138,15 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.") (define-public cmst (package (name "cmst") - (version "2019.01.13") + (version "2020.11.01") (source (origin (method url-fetch) (uri (string-append - "https://github.com/andrew-bibb/cmst/releases/download/cmst-" + "https://github.com/andrew-bibb/cmst/releases/download/" version "/cmst-" version ".tar.xz")) (sha256 - (base32 "1cn6xz2rpkf5kx5d6p2x2lh85zppjacp59l6gj3n6x12p90al1vl")))) + (base32 "0jn12wxwjznady6aniwmvahg1dj25p902sdwj0070biv6vx5c7dq")))) (inputs `(("qtbase" ,qtbase))) (native-inputs diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 45d3faeafb..ae47490755 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> -;;; Copyright © 2020 Greg Hogan <code@greghogan.com> +;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -49,6 +49,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages documentation) #:use-module (gnu packages gcc) #:use-module (gnu packages libevent) #:use-module (gnu packages libunwind) @@ -63,6 +64,74 @@ #:use-module (gnu packages tls) #:use-module (gnu packages web)) +(define-public range-v3 + (package + (name "range-v3") + (version "0.11.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/ericniebler/range-v3.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh")))) + (build-system cmake-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("perl" ,perl))) + (inputs + `(("boost" ,boost))) + (synopsis "Range library for C++14/17/20") + (description "Range-v3 is an extension of the Standard Template Library that +makes its iterators and algorithms more powerful by making them composable. +Unlike other range-like solutions which, seek to do away with iterators, in +range-v3 ranges are an abstration layer on top of iterators.") + (home-page "https://github.com/ericniebler/range-v3/") + (license + (list + ;; Elements of Programming + (license:x11-style "file:///LICENSE.txt") + ;; SGI STL + license:sgifreeb2.0 + ;;; LibC++ (dual-licensed) + license:expat + license:ncsa + ;; Others + license:boost1.0)))) + +(define-public c++-gsl + (package + (name "c++-gsl") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/microsoft/GSL.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (patches + (search-patches + "c++-gsl-find-system-gtest.patch")) + (sha256 + (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0")))) + (build-system cmake-build-system) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (synopsis "Guidelines Support Library") + (description "c++-gsl contains functions and types that are suggested for +use by the C++ Core Guidelines maintained by the Standard C++ Foundation.") + (home-page "https://github.com/microsoft/GSL/") + (license license:expat))) + (define-public libzen (package (name "libzen") @@ -689,7 +758,7 @@ standard GNU style syntax for options.") (define-public folly (package (name "folly") - (version "2020.10.05.00") + (version "2021.01.25.00") (source (origin (method git-fetch) (uri (git-reference @@ -698,7 +767,7 @@ standard GNU style syntax for options.") (file-name (git-file-name name version)) (sha256 (base32 - "0q4w4cvjxffc462hvs8h4zryq4965j7015zvkwagcm6cj6wmz3cn")))) + "14dl1g6vf7mc90mcync5h2lp14fwcx8n9h91pmiq6rfgv1fjjrwz")))) (build-system cmake-build-system) (arguments '(;; Tests must be explicitly enabled @@ -808,3 +877,25 @@ code will be mixed in with the actual programming logic. This implementation provides a number of utilities to make coding with expected cleaner.") (home-page "https://tl.tartanllama.xyz/") (license license:cc0))) + +(define-public magic-enum + (package + (name "magic-enum") + (version "0.7.2") + (home-page "https://github.com/Neargye/magic_enum") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07j5zdf3vkliwrcv6k663k35akn7qp23794sz2mnvkj9hbv9s8cx")))) + (build-system cmake-build-system) + (native-inputs + `(("gcc" ,gcc-9))) + (synopsis "C++17 header only library for compile time reflection of enums") + (description "Magic Enum offers static reflection of enums, with +conversions to and from strings, iteration and related functionality.") + (license license:expat))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 40f8e82c34..874a77c552 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> @@ -126,14 +126,14 @@ files and provide more explicit control over line endings.") (define-public r-diffobj (package (name "r-diffobj") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "diffobj" version)) (sha256 (base32 - "0v18zz14g8ppzmj1d997rdmsfh327ml4wvpmfx168lravdsk5ym2")))) + "1x3d5sk8mk0s2d7dq8wxi1zv6krlx33n22ls2jwnb58b8xrmakj1")))) (properties `((upstream-name . "diffobj"))) (build-system r-build-system) (propagated-inputs `(("r-crayon" ,r-crayon))) @@ -178,14 +178,14 @@ easier.") (define-public r-rticles (package (name "r-rticles") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) (uri (cran-uri "rticles" version)) (sha256 (base32 - "1wbwva5n88dw3vvhcrlzkr58cv03hyx0dqgfmxj7d0dgf4ichr3c")))) + "1srczjy9dqw06glrv95798xsg462kfbbwm3yk1fv1zhpz9jhakwv")))) (properties `((upstream-name . "rticles"))) (build-system r-build-system) (propagated-inputs @@ -639,13 +639,13 @@ objects.") (define-public r-mboost (package (name "r-mboost") - (version "2.9-3") + (version "2.9-4") (source (origin (method url-fetch) (uri (cran-uri "mboost" version)) (sha256 (base32 - "1qp5c43kc0939sss5w3hhn794lbi69wgfsa31sq4c8vzh35pjqmf")))) + "1dgyc38axfk2a430wsdnnk76xikizkyxf5r0l1kbp6cacrx6idz0")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -1024,19 +1024,17 @@ into a pipeline of data manipulation and visualisation.") (define-public r-httpuv (package (name "r-httpuv") - (version "1.5.4") + (version "1.5.5") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "066rprqvz9qln6xd85x1yh1wbbmzd157xjl8zq1zbgr8l6347inm")) + "05rir03xwamwfq5691vx0x957sgmr4i8iv5vpx5rv1f74y4wkrhb")) ;; Unvendor bundled libraries. As of 1.5.4 the vendored libuv ;; only contains fixes for building on Solaris. - (patches (search-patches "r-httpuv-1.5.4-unvendor-libuv.patch")) - (modules '((guix build utils) - (ice-9 ftw) - (srfi srfi-1))) + (patches (search-patches "r-httpuv-1.5.5-unvendor-libuv.patch")) + (modules '((guix build utils))) (snippet `(begin (delete-file-recursively "src/libuv") @@ -1080,13 +1078,13 @@ particularly easy to create complete web applications using httpuv alone.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "1.7.1") + (version "1.7.2") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "1wygpnycmyf339x92hwapqk7nc1gs9cadx890b809a9spjhah41a")))) + "1lhzcpz9clwq04i5m6jzkvw9x03pwlqrixv4l9xzchjr8d84nd86")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -1106,13 +1104,13 @@ in systems and applications.") (define-public r-servr (package (name "r-servr") - (version "0.20") + (version "0.21") (source (origin (method url-fetch) (uri (cran-uri "servr" version)) (sha256 (base32 - "0px75vkc6q4iwbirr27bbrbpv0v9ial7zijnbd6dhjccwxl3x1l3")))) + "12fk585hmz735v4hra8da9wld1fmd67byqnf95m7jjyh7l3dmh1z")))) (build-system r-build-system) (propagated-inputs `(("r-httpuv" ,r-httpuv) @@ -1130,13 +1128,13 @@ directory.") (define-public r-htmltools (package (name "r-htmltools") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "htmltools" version)) (sha256 (base32 - "07fjznax5sin563ddnzlb7iwc8b39wzf7ymjn66pbmxgskijq2pz")))) + "01v33zcs9rv16r6v8ckqh92k5axj6skmk9hyakmqqmgra522xj3a")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -1151,13 +1149,13 @@ directory.") (define-public r-htmlwidgets (package (name "r-htmlwidgets") - (version "1.5.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (cran-uri "htmlwidgets" version)) (sha256 (base32 - "0072wlkl58lav3qszzqw6pmx8qra4784r0yb6rx4lg7rbrik6335")))) + "0a8g7wqd3qxnhwkm9c9bkzg29db7gvjiaa5y038ln8nch8qq7981")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -1728,14 +1726,14 @@ in R and Shiny via the D3 visualization library.") (define-public r-crosstalk (package (name "r-crosstalk") - (version "1.1.0.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "crosstalk" version)) (sha256 (base32 - "03ihj7cimkklrbad9zic78xsrfcisygmgy859hqnx0hiph80p9rn")))) + "1n6c6s7a6yxiwvva71x6bzcrim8xprl5s01fqiy61yq0y3vk8cpd")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -2143,13 +2141,13 @@ initiative to bring PASSTEC 2000 functionalities to R.") (define-public r-partykit (package (name "r-partykit") - (version "1.2-10") + (version "1.2-11") (source (origin (method url-fetch) (uri (cran-uri "partykit" version)) (sha256 (base32 - "1jg68rqhk2r0h2hk50xl99zp56b1nfdcam06kfvssqrkgkavkswf")))) + "00n6a74x257m2jk7jadjfxaclihxqpqwh356bgxmq8rag0nk70rs")))) (build-system r-build-system) (propagated-inputs `(("r-formula" ,r-formula) @@ -2241,13 +2239,13 @@ processes. Most of its code is based on the @code{psutil} Python package.") (define-public r-pkgbuild (package (name "r-pkgbuild") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "pkgbuild" version)) (sha256 - (base32 "1gdbrjq4kiwm45c6pb23mp327qyjvslhyf72ca4zhlzwc5vgp6xk")))) + (base32 "0qx920h2viwjg10va81nj0xja495d8ni6vcc25ggvzki6a6k069f")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -2298,13 +2296,13 @@ you to rapidly iterate while developing a package.") (define-public r-rcpp (package (name "r-rcpp") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "012wbj446k1wz6bp6bpf6h77ypvcsw69xvnax6qf6vyc7dj2qimq")))) + (base32 "04ph6lm36cmvz01ng53pvvf3jxvzsn9smyflkfc7l3q0pib4gwn9")))) (build-system r-build-system) (home-page "http://www.rcpp.org") (synopsis "Seamless R and C++ integration") @@ -2473,14 +2471,14 @@ validation and filtering on the values, making options invisible or private.") (define-public r-circlize (package (name "r-circlize") - (version "0.4.11") + (version "0.4.12") (source (origin (method url-fetch) (uri (cran-uri "circlize" version)) (sha256 (base32 - "1s84xl7kv3qc1261xxaq4aqh64gwywhacsf5nh6yf8djw0d1w42d")))) + "1x2j6a80bb4fly3dm91ias964s1gb1cmzj3lyh69ikwjaam0rdmk")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -2581,14 +2579,14 @@ compare different dendrograms to one another.") (define-public r-getoptlong (package (name "r-getoptlong") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "GetoptLong" version)) (sha256 (base32 - "0l9pa9dx8pcg3j7jn4b9k98g7r5vdsvnmf6apnifzm57mc0vlkg6")))) + "00fpm6nd3kqa2ikasxa62jzywi46fvvmx1mdavcp5yrxxn37j8wc")))) (properties `((upstream-name . "GetoptLong"))) (build-system r-build-system) (inputs @@ -2718,13 +2716,13 @@ quantities.") (define-public r-restrserve (package (name "r-restrserve") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (cran-uri "RestRserve" version)) (sha256 - (base32 "07mm65yxzpwlg6x3lsggj41v8nl4m6v9mszhqjpgj19v3yxvwgi0")))) + (base32 "1486hrzj5q5w4nbrsbqlv7vv20ly01y90qc2vygl5syzwvyjd422")))) (build-system r-build-system) (propagated-inputs `(("r-checkmate" ,r-checkmate) @@ -2774,20 +2772,22 @@ package also provides a C++ API, that works with or without Rcpp.") (define-public r-ggally (package (name "r-ggally") - (version "2.0.0") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "GGally" version)) (sha256 (base32 - "1gkmpzh1yvwvypkw0nwqv3gsf6za3220wig3rfv8g23kss60rl1s")))) + "0lvcvlc8p2cii7rqx7m81f7cv3kk9mlf7cbbgv7l75g7ljw8dyvz")))) (properties `((upstream-name . "GGally"))) (build-system r-build-system) (inputs - `(("libressl" ,libressl))) + `(("openssl" ,openssl))) (propagated-inputs - `(("r-ggplot2" ,r-ggplot2) + `(("r-dplyr" ,r-dplyr) + ("r-forcats" ,r-forcats) + ("r-ggplot2" ,r-ggplot2) ("r-gtable" ,r-gtable) ("r-lifecycle" ,r-lifecycle) ("r-plyr" ,r-plyr) @@ -2795,7 +2795,8 @@ package also provides a C++ API, that works with or without Rcpp.") ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-reshape" ,r-reshape) ("r-rlang" ,r-rlang) - ("r-scales" ,r-scales))) + ("r-scales" ,r-scales) + ("r-tidyr" ,r-tidyr))) (home-page "https://ggobi.github.io/ggally") (synopsis "Extension to ggplot2") (description @@ -2830,13 +2831,13 @@ most popular ones.") (define-public r-sp (package (name "r-sp") - (version "1.4-4") + (version "1.4-5") (source (origin (method url-fetch) (uri (cran-uri "sp" version)) (sha256 - (base32 "0zzw1gfic5b311vrbkmmmaap3yllgd192af067l5ymm885jqm1zs")))) + (base32 "1nh9izsnszzm5kbq461w8bi0yh7fqzb74b2zmpg5qis0slbb5vkb")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -3387,14 +3388,14 @@ contexts.") (define-public r-squarem (package (name "r-squarem") - (version "2020.5") + (version "2021.1") (source (origin (method url-fetch) (uri (cran-uri "SQUAREM" version)) (sha256 (base32 - "1f0j5pbsz2wi7dfl8h8gvdl991bjywiwkd2f6z0xgkh87kl5y0b4")))) + "0n1s32l9p4vdm3h5q6g43s0qbpzry08difsh0yay80wrla6f3rb6")))) (properties `((upstream-name . "SQUAREM"))) (build-system r-build-system) (home-page "https://coah.jhu.edu/people/Faculty_personal_Pages/Varadhan.html") @@ -3552,14 +3553,14 @@ dimensioned arrays.") (define-public r-rmysql (package (name "r-rmysql") - (version "0.10.20") + (version "0.10.21") (source (origin (method url-fetch) (uri (cran-uri "RMySQL" version)) (sha256 (base32 - "0lv9m6zpm8dgv7yixr6xhw379vbq45d7n7gkrmjrppdj8vcih77i")))) + "0cbb5ln9iigl816nzvsls9zil5qlfr8yv2aginapqv6n69nz0srs")))) (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs @@ -3765,14 +3766,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "2.0.9") + (version "2.0.12") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "0wdh580a0psbdil28n0d85hnp42wmn11hcbnihjq8r7h54drgzpn")))) + "0k5dw5nb7kx7f21b0z01dry99qcpnk7iaicv7xq9d35wv2hx8wca")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -3818,14 +3819,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.7.2") + (version "0.7.3") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "18qkgw5f46cfr8sc7r9a261ivn3s4w88sdj653gaa20723179300")))) + "0bxwmqj37m06ci378xqlf7kar7pg5g903i1vnrv4i256dkj50mny")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3922,18 +3923,19 @@ for certain use cases.") (define-public r-ggrepel (package (name "r-ggrepel") - (version "0.8.2") + (version "0.9.1") (source (origin (method url-fetch) (uri (cran-uri "ggrepel" version)) (sha256 (base32 - "1qaifn3dazdqbqlii210xhw7yf142iw7g9p2axmmxbz90p0by08d")))) + "1z5xyr5f4aryy0v1gzz9m8m4s5fzzwbrf0fxll1nbflr8xnr3yr9")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-rcpp" ,r-rcpp) + ("r-rlang" ,r-rlang) ("r-scales" ,r-scales))) (native-inputs `(("r-knitr" ,r-knitr))) ; for vignettes @@ -4228,14 +4230,14 @@ programming} (SQP) based solver).") (define-public r-hardyweinberg (package (name "r-hardyweinberg") - (version "1.6.9") + (version "1.7.1") (source (origin (method url-fetch) (uri (cran-uri "HardyWeinberg" version)) (sha256 (base32 - "0l93r1hkr483hp4yd7rm7mdkgl5lp0nkvv0inahj3r1cplgfxpvs")))) + "0afjz818yvaq3akvgpy4irnlpspd2dj71qkrwj81lm9y36ypwlw6")))) (properties `((upstream-name . "HardyWeinberg"))) (build-system r-build-system) (propagated-inputs @@ -4539,20 +4541,22 @@ plotting. a three dimensional point cloud.") (define-public r-ggridges (package (name "r-ggridges") - (version "0.5.2") + (version "0.5.3") (source (origin (method url-fetch) (uri (cran-uri "ggridges" version)) (sha256 (base32 - "03pz257aw0mkh5k75rby9givkc1ky3n5scvhjhjiz9vry9fpffmh")))) + "0bmlqy1p6rac90af97ffpdi6php7dblx66l2hcm8ljidgyqzmspm")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-plyr" ,r-plyr) ("r-scales" ,r-scales) ("r-withr" ,r-withr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/clauswilke/ggridges") (synopsis "Ridgeline plots in ggplot2") (description @@ -4798,13 +4802,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.19") + (version "0.20") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "15yyigkl1g9w9d7097hrm94dxn1af333ywr5xdw78qqrw6npn0iv")))) + (base32 "043wv9qihs3r29810mf8ajpn2iks1bxq44wbxz8sfpix5b8kjhi8")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -4861,14 +4865,14 @@ to variables on the left-hand side of the assignment.") (define-public r-vctrs (package (name "r-vctrs") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "1k1mcq7jkpc55dsm0wb4k8asc1irvmi5884v3ap4sabf22c5sq0i")))) + "09ddxgzyah7lw42hn6n8fynsixf43s10jamsf94d2aidky63czfz")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -4948,14 +4952,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.27") + (version "0.28") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "10hbc9h1fsw91w5f4fjcaqy68b3n1wr6pml01fnkf3pdjiri5sj0")))) + "11pa1q7gl17ala74lz10qbghk2yqanl9pylwvi9b4kmhx856b83n")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -5496,14 +5500,14 @@ sample Robust Rank-Order Distributional Test.") (define-public r-expm (package (name "r-expm") - (version "0.999-5") + (version "0.999-6") (source (origin (method url-fetch) (uri (cran-uri "expm" version)) (sha256 (base32 - "0y98ya8rhy891nysjlzzy7kcm13dsz8gvxwzvbkmcp1xx0vicxc7")))) + "1p5dapwv8ycxaysgi6imnby04i4kh1c5a2czqa4wygz0s8pr2y9c")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) (native-inputs `(("gfortran" ,gfortran))) @@ -6042,14 +6046,14 @@ specific S3-method.") (define-public r-vim (package (name "r-vim") - (version "6.0.0") + (version "6.1.0") (source (origin (method url-fetch) (uri (cran-uri "VIM" version)) (sha256 (base32 - "0ddhca4v912q82rjpf1qld6i6g2c381g0v5b4hbnygr3lm6a7wiv")))) + "1a8aw0ysaf0al95m2la2zx1p3g5mnwqx0x30br1s1dqqkfnv57hz")))) (properties `((upstream-name . "VIM"))) (build-system r-build-system) (propagated-inputs @@ -6530,14 +6534,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") (define-public r-renv (package (name "r-renv") - (version "0.12.3") + (version "0.12.5") (source (origin (method url-fetch) (uri (cran-uri "renv" version)) (sha256 (base32 - "0k31x19gzpffb701c76p840cip10c0dh8yv3wcs30gqi0ag1g77l")))) + "0wfq1z5glng6jrfxj25mjhp129z6468gaszr9ggks5gp8lrwszzh")))) (properties `((upstream-name . "renv"))) (build-system r-build-system) (native-inputs @@ -6867,19 +6871,20 @@ clustering.") (define-public r-factominer (package (name "r-factominer") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) (uri (cran-uri "FactoMineR" version)) (sha256 (base32 - "0ldgf3daksh6lpblhqys67m4mxqx3q9s9n5plfam6dwshfik0ky6")))) + "0lg8n9fxxk46nchnj4pbpqqf4swxfsq7r9jzr36dmd36kb7avqxr")))) (properties `((upstream-name . "FactoMineR"))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) ("r-cluster" ,r-cluster) + ("r-dt" ,r-dt) ("r-ellipse" ,r-ellipse) ("r-flashclust" ,r-flashclust) ("r-ggplot2" ,r-ggplot2) @@ -6888,6 +6893,8 @@ clustering.") ("r-leaps" ,r-leaps) ("r-mass" ,r-mass) ("r-scatterplot3d" ,r-scatterplot3d))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://factominer.free.fr") (synopsis "Multivariate exploratory data analysis and data mining") (description @@ -6938,14 +6945,14 @@ steps and provides ggplot2-based elegant data visualization.") (define-public r-fansi (package (name "r-fansi") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (cran-uri "fansi" version)) (sha256 (base32 - "028ywjy538psnmdnddvy5jr3idzffr4hikzr4x97x0m30g4fws9w")))) + "0i7wmaflkjzdbggqv31wnsj3m9imvc6db429vyjk64xrz1ng1vd2")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) ; for vignettes @@ -7147,18 +7154,17 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.15") + (version "0.3.16") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "1s9hrkdx105c1plpxywv68bmp8hvvxbdizhwx81fxr79fhj62x5j")))) + "1ls5kp70jfxrzxxb3xrg8sn2fyk6qd7rmx23n5jxi7z7850avjrj")))) (build-system r-build-system) (propagated-inputs - `(("r-magrittr" ,r-magrittr) - ("r-r6" ,r-r6) + `(("r-r6" ,r-r6) ("r-uuid" ,r-uuid) ("r-xml2" ,r-xml2) ("r-zip" ,r-zip))) @@ -7180,14 +7186,14 @@ to help insert or delete content at a specific location in the document.") (define-public r-profilemodel (package (name "r-profilemodel") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (cran-uri "profileModel" version)) (sha256 (base32 - "0yq8hy43h62hlz8bbf9ila4a3xcwizi1if27b78xc5y857ncwad8")))) + "01m5nb8cmq0aq555pxk2a99182si65hhmn68yn9nal2j3zl2bp4i")))) (properties `((upstream-name . "profileModel"))) (build-system r-build-system) (home-page "https://github.com/ikosmidis/profileModel") @@ -7409,14 +7415,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.11.1") + (version "0.12.0") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "1m95xfvai1kbzqxdggjvdbk6ax2dg4v2lrfpqn7v607g2n77n2k0")))) + "0gkvcw9d729ql1gfrpxzgrag4xafd0hchrdww215qz11ma1rzy7s")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -7463,14 +7469,14 @@ vice versa), or to deal with multiple declared missing values.") (define-public r-sjmisc (package (name "r-sjmisc") - (version "2.8.5") + (version "2.8.6") (source (origin (method url-fetch) (uri (cran-uri "sjmisc" version)) (sha256 (base32 - "0xl0s56d13bia89ai619rcr0fzbvc2k8f7hjxik4qp0g4v87zzlk")))) + "1nfrkv5jfnwb85blpv7yk7xac1myzi2c30bqcf7xicniknkjwycr")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -7514,23 +7520,25 @@ hypothesis of normality.") (define-public r-moonbook (package (name "r-moonbook") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (cran-uri "moonBook" version)) (sha256 (base32 - "0hys56mwbm776ff7dibi8wzyf69qiais9rs1jazv79lk6h56s9s6")))) + "0z78pzc8sr2g19xjdd9cmai4iqyifmh79gj8x40ddww6a27dalry")))) (properties `((upstream-name . "moonBook"))) (build-system r-build-system) (propagated-inputs `(("r-magrittr" ,r-magrittr) ("r-nortest" ,r-nortest) - ("r-purrr" ,r-purrr) ("r-sjmisc" ,r-sjmisc) ("r-stringr" ,r-stringr) - ("r-survival" ,r-survival))) + ("r-survival" ,r-survival) + ("r-ztable" ,r-ztable))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/cardiomoon/moonBook") (synopsis "Functions and datasets for the book by Keon-Woong Moon") (description @@ -7769,14 +7777,14 @@ Group (Non-)Overlap considerations.") (define-public r-deriv (package (name "r-deriv") - (version "4.1.1") + (version "4.1.2") (source (origin (method url-fetch) (uri (cran-uri "Deriv" version)) (sha256 (base32 - "1fzchsignpb7cpizbf6l8v9k1nkmaf4r4j3mnxz0csl2g2npi1xc")))) + "1j9sh1w9lsnnhlh59g4ghykyfx46rxh380s8imvm7pzna7rw7c64")))) (properties `((upstream-name . "Deriv"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/Deriv") @@ -7901,14 +7909,14 @@ containing one or more SNPs that evolved under directional selection.") (define-public r-proc (package (name "r-proc") - (version "1.16.2") + (version "1.17.0.1") (source (origin (method url-fetch) (uri (cran-uri "pROC" version)) (sha256 (base32 - "0apwa5zzqh74pjnvf5a1s5qf6i9r5h44jdllfrwymkd2v479d2xn")))) + "1gd6a47d6bcfd237s3g7r9rws8x2sg7zrvq5k6clpc41zdpp4712")))) (properties `((upstream-name . "pROC"))) (build-system r-build-system) (propagated-inputs @@ -8176,13 +8184,13 @@ and coverage methods to tune the choice of threshold.") (define-public r-ggstance (package (name "r-ggstance") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) (uri (cran-uri "ggstance" version)) (sha256 - (base32 "0aqz3dn02cgij018a4sglqwrwr9dzzj12l8xr1064q7hfd4f64m1")))) + (base32 "0jz9vvnmcc6a38n8nzr458r65sna23bgn5r8mxdhzdlyqibihr7d")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -8202,13 +8210,13 @@ and coverage methods to tune the choice of threshold.") (define-public r-mosaiccore (package (name "r-mosaiccore") - (version "0.8.0") + (version "0.9.0") (source (origin (method url-fetch) (uri (cran-uri "mosaicCore" version)) (sha256 - (base32 "00va6x1i8d3wkm1bgsms9dsjfn5a1l43prpl9pqirgq3zm85hrqj")))) + (base32 "1h3ixzna4xy42rdnd89jj0v9q0riy3fnkd33z6l5c0zaidzm58fz")))) (properties `((upstream-name . "mosaicCore"))) (build-system r-build-system) (propagated-inputs @@ -8222,26 +8230,62 @@ and coverage methods to tune the choice of threshold.") "Common utilities used in other Mosaic family packages are collected here.") (license license:gpl2+))) +(define-public r-labelled + (package + (name "r-labelled") + (version "2.7.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "labelled" version)) + (sha256 + (base32 + "1nsb0mh0jg7gggc41b6v55nmfq07g0qn9fy55x4jws5dscs6pdmi")))) + (properties `((upstream-name . "labelled"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-haven" ,r-haven) + ("r-lifecycle" ,r-lifecycle) + ("r-pillar" ,r-pillar) + ("r-rlang" ,r-rlang) + ("r-tidyr" ,r-tidyr) + ("r-vctrs" ,r-vctrs))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "http://larmarange.github.io/labelled/") + (synopsis "Manipulating labelled data") + (description + "This package provides useful functions to deal with the +@code{haven_labelled} and @code{haven_labelled_spss} classes introduced by the +haven package. ") + (license license:gpl3))) + (define-public r-ggformula (package (name "r-ggformula") - (version "0.9.4") + (version "0.10.1") (source (origin (method url-fetch) (uri (cran-uri "ggformula" version)) (sha256 - (base32 "04vdhg1bbc1psrx9ggaphz7cx4fw5xsmhkqpqfcg2w4ba2bjy46f")))) + (base32 "1ph5jd8svk8hmshi894vmmpq3zwgdmf4yn3gmdlkad68z8jynhsp")))) (build-system r-build-system) (propagated-inputs `(("r-ggforce" ,r-ggforce) ("r-ggplot2" ,r-ggplot2) + ("r-ggridges" ,r-ggridges) ("r-ggstance" ,r-ggstance) + ("r-labelled" ,r-labelled) ("r-magrittr" ,r-magrittr) ("r-mosaiccore" ,r-mosaiccore) ("r-rlang" ,r-rlang) + ("r-scales" ,r-scales) ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ProjectMOSAIC/ggformula/") (synopsis "Formula interface for the @code{r-ggplot2}") (description @@ -8254,13 +8298,13 @@ while providing the intuitive capabilities of @code{r-ggplot2}.") (define-public r-mosaicdata (package (name "r-mosaicdata") - (version "0.20.1") + (version "0.20.2") (source (origin (method url-fetch) (uri (cran-uri "mosaicData" version)) (sha256 - (base32 "05mrwvs7awhpv2gvk0jjva74gndfgh2cl17slxcjhwlpga8nmxji")))) + (base32 "0h3f5fgzkzjfgf3ml0qa5j52921y6wy6jgggxmhs31bs8fd4srg4")))) (properties `((upstream-name . "mosaicData"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/mosaicData/") @@ -8868,14 +8912,14 @@ samples is large and the number of mixture components is not too large.") (define-public r-magick (package (name "r-magick") - (version "2.5.2") + (version "2.6.0") (source (origin (method url-fetch) (uri (cran-uri "magick" version)) (sha256 (base32 - "0myvryya7b4bbw0hs4jqflrbdffmg78kz28gbybw3yc7zwc7sqxx")))) + "1k4fqhxh2ppynl56fs044wpn4wk6gbv6lwp2x4x7j67zwcv56n36")))) (build-system r-build-system) (inputs `(("imagemagick" ,imagemagick) @@ -9310,14 +9354,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.5.2-1") + (version "1.5.3") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "0ndbjhglycdycppz9lbj3vhiqv2mp0z6h4w8fbyjziqx15ai5h59")))) + "11x7bn260v91gb7qri1pq54l339zm4msa5frc8saqb9ykbg4dby5")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -9361,13 +9405,13 @@ Cohen (1988).") (define-public r-libcoin (package (name "r-libcoin") - (version "1.0-6") + (version "1.0-7") (source (origin (method url-fetch) (uri (cran-uri "libcoin" version)) (sha256 - (base32 "0njfdbz4mkyasxm80p0fb0qibvzz7kdzddn8ybj2k6y8bx0w3bs8")))) + (base32 "1vb21pw3vpv2pdnfcddw2bax13v0dg656r28j0p8njcyhwk89xln")))) (build-system r-build-system) (propagated-inputs `(("r-mvtnorm" ,r-mvtnorm))) (home-page "https://cran.r-project.org/web/packages/libcoin") @@ -9380,14 +9424,14 @@ and permutation inference in the framework of Strasser and Weber (1999).") (define-public r-coin (package (name "r-coin") - (version "1.3-1") + (version "1.4-0") (source (origin (method url-fetch) (uri (cran-uri "coin" version)) (sha256 (base32 - "0qi03fyqw42a2vnqcia5l2m1mzyarj2q1iblknx9n19bdsd53qjx")))) + "1n2ad4m3zw8px6yc0h750k59pci3fqpnr742hhvsqirrwcdzp6zv")))) (build-system r-build-system) (propagated-inputs `(("r-libcoin" ,r-libcoin) @@ -9407,14 +9451,14 @@ correlation, censored, ordered and multivariate problems.") (define-public r-bayesplot (package (name "r-bayesplot") - (version "1.7.2") + (version "1.8.0") (source (origin (method url-fetch) (uri (cran-uri "bayesplot" version)) (sha256 (base32 - "0aqy4bfjq1fmds0vpacsmqih528cp8wk4v4w0balzkph6zqzpwcl")))) + "0j69a78l5z0wyxcz607amaa4jc8kwwvcia9wxyir65b8ks9gj1d6")))) (build-system r-build-system) (inputs `(("pandoc" ,pandoc) @@ -9471,13 +9515,13 @@ detection, parallelism through BLAS and parallel user templates.") (define-public r-sjstats (package (name "r-sjstats") - (version "0.18.0") + (version "0.18.1") (source (origin (method url-fetch) (uri (cran-uri "sjstats" version)) (sha256 - (base32 "17b1fcrhgjw66qa8zk2jj1bvz3vp5bnjn3p4y1wsg5ng5nxq8jz0")))) + (base32 "1cv80yjnyh6qihxf57zivihhia20gibr5f03x8aspy6382wnwlka")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -9573,14 +9617,14 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "0ai1pp6k0pmmjgpj7hc53s0h258c4mljln8lv3nd9r7kzrmic0gc")))) + "0wz2zc98r99pg6r4l09qxxzv1fwxwp1md6wmhay401568kd8h5zn")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -9600,14 +9644,14 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "18diwssc5vij5g7zh9mv0ppcv3xgfi2jqzfx9srxfahg05sr1xdq")))) + "1c5rvycaqp7zp1j6j17c84v8nlpi0w7bhfxmcha4n37m0snk1kgy")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight) @@ -9630,14 +9674,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.4.1") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "1rbl63b1c7z9llznnwvclqrcgdd4hfmc7y66v7raqqf2a4nadqa5")))) + "1hcrnax9wf0nwsb8nv15rxw8yy8w5dak16dw3w5bxi8xnf56lkz2")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs @@ -9657,13 +9701,13 @@ conversion of indices such as Cohen's d, r, odds, etc.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.6") + (version "2.8.7") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "1dn9nvvp4jd45kwr4rpp2abf7xdpdmiv41rr3fkdb32a136bzx4b")))) + (base32 "1g4qabg654kwdm09ihp4h3mg64a1d7a7gsn6w56rwsidqqaxilq0")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs @@ -9811,17 +9855,96 @@ when building command line applications. They fall back to alternatives on terminals that do not support Unicode.") (license license:expat))) +(define-public r-credentials + (package + (name "r-credentials") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "credentials" version)) + (sha256 + (base32 + "1w9zj34xdwz9bszsvhv2cbgq96y5sgxbh7ndn31pgfcpzlkfq6f1")))) + (properties `((upstream-name . "credentials"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'setenv-HOME + (lambda _ + ;; This is necessary because git looks for $HOME/.gitconfig + (setenv "HOME" "/tmp") + #t))))) + (inputs + `(("git" ,git-minimal))) + (propagated-inputs + `(("r-askpass" ,r-askpass) + ("r-curl" ,r-curl) + ("r-jsonlite" ,r-jsonlite) + ("r-openssl" ,r-openssl) + ("r-sys" ,r-sys))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://docs.ropensci.org/credentials/") + (synopsis "Tools for managing SSH and Git credentials") + (description + "This package assists you in setting up and retrieving of HTTPS and SSH +credentials for use with git and other services. For HTTPS remotes the +package interfaces the @command{git-credential} utility which @command{git} +uses to store HTTP usernames and passwords. For SSH remotes this package +provides convenient functions to find or generate appropriate SSH keys. The +package both helps the user to setup a local git installation, and also +provides a back-end for git/ssh client libraries to authenticate with existing +user credentials.") + (license license:expat))) + +(define-public r-gert + (package + (name "r-gert") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "gert" version)) + (sha256 + (base32 + "1lq4hgv2727lwcv8vha5af26nslj99rjxjrgflshmmcihawpls1n")))) + (properties `((upstream-name . "gert"))) + (build-system r-build-system) + (inputs + `(("libgit2" ,libgit2) + ("zlib" ,zlib))) + (propagated-inputs + `(("r-askpass" ,r-askpass) + ("r-credentials" ,r-credentials) + ("r-openssl" ,r-openssl) + ("r-rstudioapi" ,r-rstudioapi) + ("r-zip" ,r-zip))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) + (home-page "https://docs.ropensci.org/gert/") + (synopsis "Simple Git client for R") + (description + "This package provides a simple git client for R based on libgit2 with +support for SSH and HTTPS remotes. All functions in gert use basic R data +types (such as vectors and data-frames) for their arguments and return values. +User credentials are shared with command line git through the +@code{git-credential} store and SSH keys stored on disk or ssh-agent.") + (license license:expat))) + (define-public r-usethis (package (name "r-usethis") - (version "1.6.3") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "usethis" version)) (sha256 (base32 - "09lk04kycvf5x9ggrb6pwc7bx5mzqxwialm2w9vn1a0w0gh2gcfc")))) + "0m4qnnkdiizsdvq33x502zwkn98hw2qcfm45cjj031vaydcjpai2")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -9830,11 +9953,13 @@ terminals that do not support Unicode.") ("r-curl" ,r-curl) ("r-desc" ,r-desc) ("r-fs" ,r-fs) + ("r-gert" ,r-gert) ("r-gh" ,r-gh) - ("r-git2r" ,r-git2r) ("r-glue" ,r-glue) + ("r-jsonlite" ,r-jsonlite) + ("r-lifecycle" ,r-lifecycle) ("r-purrr" ,r-purrr) - ("r-rematch2" ,r-rematch2) + ("r-rappdirs" ,r-rappdirs) ("r-rlang" ,r-rlang) ("r-rprojroot" ,r-rprojroot) ("r-rstudioapi" ,r-rstudioapi) @@ -10002,14 +10127,14 @@ ways.") (define-public r-summarytools (package (name "r-summarytools") - (version "0.9.6") + (version "0.9.8") (source (origin (method url-fetch) (uri (cran-uri "summarytools" version)) (sha256 (base32 - "03pcb2ild1rb9f15yq8b68p9bg10z5wk2x7ahgyzkwdh5f81vbq2")))) + "0n7rad6bkfn9cb99wbfzbwl5qzch48r0gafhddfcqvyh4fbn2k0j")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -10024,6 +10149,8 @@ ways.") ("r-rapportools" ,r-rapportools) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/dcomtois/summarytools") (synopsis "Tools to quickly and neatly summarize data") (description @@ -10152,14 +10279,14 @@ the interfaces between R and C++.") (define-public r-mvabund (package (name "r-mvabund") - (version "4.1.3") + (version "4.1.6") (source (origin (method url-fetch) (uri (cran-uri "mvabund" version)) (sha256 (base32 - "1z58h4dk3mc2hfnfvc7pghk471cbp7ah2s1z2ria5igw4s80962b")))) + "0aisvax9d7bk6aykrcdcn1ji618r520mcrkr1i3jnck1qs31z41f")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) @@ -10177,14 +10304,14 @@ analysing multivariate abundance data in community ecology.") (define-public r-afex (package (name "r-afex") - (version "0.28-0") + (version "0.28-1") (source (origin (method url-fetch) (uri (cran-uri "afex" version)) (sha256 (base32 - "0c47bq2llzw2b4avhkxyhmf1m2zjh9jsjiw2kww9n1bhwqsyr4ci")))) + "0blwqr5ni3psav1dcdmhfi4jy3b4scm5njimqfpr1d81zadvgc6g")))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) @@ -10294,14 +10421,14 @@ address a bug.") (define-public r-rcppannoy (package (name "r-rcppannoy") - (version "0.0.17") + (version "0.0.18") (source (origin (method url-fetch) (uri (cran-uri "RcppAnnoy" version)) (sha256 (base32 - "0z4dpvk2hmh817709l70jdl1vvnzn0vb9wlr5m8jza24sn9w14ac")))) + "0n68cf77gz34iq6w6ad87pbqwqam45nxp1gjzns4g6qhf7qdvrz4")))) (properties `((upstream-name . "RcppAnnoy"))) (build-system r-build-system) (propagated-inputs @@ -10410,17 +10537,18 @@ Bioconductor packages.") (define-public r-rgl (package (name "r-rgl") - (version "0.100.54") + (version "0.104.16") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "1mgs2d8igmcdzzymfwbqdrypmaidd4pra5n5gnhsn9pm6pqzidqp")))) + "169a8riiam8445nl7rcwn0x92dlwyzh5xldvap6dcxjyjqmjwbdq")))) (build-system r-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (inputs `(("freetype" ,freetype) ("libpng" ,libpng) @@ -11017,14 +11145,14 @@ only sparse real matrices in Matrix package format are supported.") (define-public r-speedglm (package (name "r-speedglm") - (version "0.3-2") + (version "0.3-3") (source (origin (method url-fetch) (uri (cran-uri "speedglm" version)) (sha256 (base32 - "1b25zimk0z7ad62yacqdg0zk0qs0jja4i918ym942xfw4j1z3jjz")))) + "0f37w4lj8dpcg1sfkd7cv6qpdkanmb97mnd8zih2fxzv8bpd0rfh")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) @@ -11401,14 +11529,14 @@ conditional reporting based on the current \"output level\".") (define-public r-tractor-base (package (name "r-tractor-base") - (version "3.3.2") + (version "3.3.3.1") (source (origin (method url-fetch) (uri (cran-uri "tractor.base" version)) (sha256 (base32 - "0y5gm0y4chl30f5qqq8qiiw4j8g32s4i9xrvyp3cwg902kf2p86i")))) + "0w5jw7pf77npkgig7667yikpbwv4dfk1dcq63qm88l409ga2f95p")))) (properties `((upstream-name . "tractor.base"))) (build-system r-build-system) (propagated-inputs @@ -11758,14 +11886,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-gmp (package (name "r-gmp") - (version "0.6-1") + (version "0.6-2") (source (origin (method url-fetch) (uri (cran-uri "gmp" version)) (sha256 (base32 - "11rl7qmfrpp1974f0vzsi3zjyx147wlb82ydxak2b60khfvhrn90")))) + "03kzbflgpy5sgnzxmhshs5qv7jjmfc113ybkhxys4z8y7xdv9z3b")))) (build-system r-build-system) (arguments '(#:phases @@ -12254,17 +12382,19 @@ This makes it a convenient and fast interface to C/C++ and Fortran code.") (define-public r-spam (package (name "r-spam") - (version "2.5-1") + (version "2.6-0") (source (origin (method url-fetch) (uri (cran-uri "spam" version)) (sha256 - (base32 "0ry0a76cljlmilrzcriiizcidxyhq1i7i9bqhvl1qda81ld8hifi")))) + (base32 "0p5ycvpry955ldrgbbq3syy91wx9425mddpn8r5m9xwlirjxv3v3")))) (build-system r-build-system) (propagated-inputs `(("r-dotcall64" ,r-dotcall64))) - (native-inputs `(("gfortran" ,gfortran))) + (native-inputs + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) (home-page "https://www.math.uzh.ch/pages/spam/") (synopsis "Sparse matrix algebra") (description @@ -12757,14 +12887,14 @@ them in distributed compute environments.") (define-public r-parallelly (package (name "r-parallelly") - (version "1.21.0") + (version "1.23.0") (source (origin (method url-fetch) (uri (cran-uri "parallelly" version)) (sha256 (base32 - "1hlr81khr7z4x9gprymdh19mdq3nw6wm8d2795sd2pa3ya6phnb0")))) + "025whcz55wj9jd73dalkbxh4l2331mqn758glr6hlf472lwf4v1p")))) (properties `((upstream-name . "parallelly"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/parallelly") @@ -12785,14 +12915,14 @@ port-forwarding to your local computer.") (define-public r-future (package (name "r-future") - (version "1.20.1") + (version "1.21.0") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "14k00g8c9zgf77d6q7x2vibvlivzk2rzj7lwn7v7d9nr6prqzlb6")))) + "0bfiy17n5rghxw0702k0vgpjkk13268lniifdlx59flf0q16d7lh")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -12818,14 +12948,14 @@ the local machine to, say, distributed processing on a remote compute cluster.") (define-public r-future-apply (package (name "r-future-apply") - (version "1.6.0") + (version "1.7.0") (source (origin (method url-fetch) (uri (cran-uri "future.apply" version)) (sha256 (base32 - "1zbfycjfvxnrigm6l2fd2zgnw96g0apiw426c73gkv3xv7bdy6ms")))) + "1ns5cf80vyabvyz9qp6kpvkg4jycinn7x6v7x6692fgjapdnmyig")))) (properties `((upstream-name . "future.apply"))) (build-system r-build-system) (propagated-inputs @@ -13131,14 +13261,14 @@ users of rARPACK are advised to switch to the RSpectra package.") (define-public r-compositions (package (name "r-compositions") - (version "2.0-0") + (version "2.0-1") (source (origin (method url-fetch) (uri (cran-uri "compositions" version)) (sha256 (base32 - "0xsx4n699q2r4pk2jrvifi3wi49lih7d1j3j6qgqqd31brg53jqr")))) + "03qslsfx11gshls901zlhw47prd55mf16w4mkmd8x1dgiwq938l4")))) (build-system r-build-system) (propagated-inputs `(("r-bayesm" ,r-bayesm) @@ -13419,17 +13549,19 @@ them (Anscombe-Glynn, D'Agostino, Bonett-Seier).") (define-public r-msir (package (name "r-msir") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (cran-uri "msir" version)) (sha256 (base32 - "0pvc3q162vqq3k39nni732x05zzfz4y9y2zf56d83185ypszv9kb")))) + "1wm83m3cqd6llxb9p2jwim0wb81v84pgdmgcznygzaaq6kbn3n84")))) (build-system r-build-system) (propagated-inputs `(("r-mclust" ,r-mclust))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/msir") (synopsis "Model-based sliced inverse regression") (description @@ -13611,14 +13743,14 @@ graphs.") (define-public r-pbdzmq (package (name "r-pbdzmq") - (version "0.3-3.1") + (version "0.3-4") (source (origin (method url-fetch) (uri (cran-uri "pbdZMQ" version)) (sha256 (base32 - "08qmrzazadkyxlqc8830r0pckaq10l3fgj1f198xy6wwrm2lf0wy")))) + "0adiac53yq305ymhrds1gas4jm0rn1ddv7c7df5ky2cfhpb4ny87")))) (properties `((upstream-name . "pbdZMQ"))) (build-system r-build-system) (inputs @@ -14137,14 +14269,14 @@ barplots or heatmaps.") (define-public r-seqinr (package (name "r-seqinr") - (version "4.2-4") + (version "4.2-5") (source (origin (method url-fetch) (uri (cran-uri "seqinr" version)) (sha256 (base32 - "0pw035h17dmic8m0pb73fbyf6p4jbwggxjk5vpjlybn8dwd0rk93")))) + "1z1jipgrn9nrnxlx7bcf8c2chwpa3kfva0zgyb12xbr3kisn166y")))) (build-system r-build-system) (propagated-inputs `(("r-ade4" ,r-ade4) @@ -14270,14 +14402,14 @@ sampling.") (define-public r-deldir (package (name "r-deldir") - (version "0.2-3") + (version "0.2-9") (source (origin (method url-fetch) (uri (cran-uri "deldir" version)) (sha256 (base32 - "0kin1hsd6dj36kkg7n328mzp21wwn9jm69lvgg2rvbf6bq7q091d")))) + "0jfwff5kk0zraspsvbk26lphl3fnrc6xmhl4690hr0a5k177ildm")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/deldir") @@ -14294,14 +14426,14 @@ tessellation.") (define-public r-sf (package (name "r-sf") - (version "0.9-6") + (version "0.9-7") (source (origin (method url-fetch) (uri (cran-uri "sf" version)) (sha256 (base32 - "01yqlnx9v7lzb6g4ywjlncz67cnkizszarnf2dmd4fi8abhw4zs9")))) + "175fmnnw11fjhfgjv9sn9b0jfjcqbybpgwsvv99d5yddigvw5jja")))) (build-system r-build-system) (inputs `(("gdal" ,gdal) @@ -14907,14 +15039,14 @@ handle missing genotypes at some SNPs.") (define-public r-sampling (package (name "r-sampling") - (version "2.8") + (version "2.9") (source (origin (method url-fetch) (uri (cran-uri "sampling" version)) (sha256 (base32 - "06pj7dan0mknpsblmlnk7am78qrnwgnql5vvx7vmbfvib7rj6s9m")))) + "11xis4vzn2ga8ml9xrgfgqzccvwbnabq35aidzdvpnvciybsanvz")))) (build-system r-build-system) (propagated-inputs `(("r-lpsolve" ,r-lpsolve) @@ -15180,14 +15312,14 @@ yeast.") (define-public r-gridgraphics (package (name "r-gridgraphics") - (version "0.5-0") + (version "0.5-1") (source (origin (method url-fetch) (uri (cran-uri "gridGraphics" version)) (sha256 (base32 - "0rlyc3xk8kfrfzbfd8n4javq3yxqd7lsfmi4q5n6s61srnrl6c1r")))) + "12yswy02j3h5wir7m5jnkhpjmb0sa4snn61vjd68i49qwsa6w219")))) (properties `((upstream-name . "gridGraphics"))) (build-system r-build-system) (home-page "https://github.com/pmur002/gridgraphics") @@ -16075,14 +16207,14 @@ code edited with @code{RStudio IDE}, @code{Emacs} and @code{Vim}.") (define-public r-sctransform (package (name "r-sctransform") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "sctransform" version)) (sha256 (base32 - "0b8ni8dzlcikjm2bx5w8yi9vygx0qqxjrmnsy4kf7d1h03n2sxwa")))) + "1p3m6i28nlxh6r609syn88cwlbdpl3dw44dy3gsijk2ibq20mfsx")))) (build-system r-build-system) (propagated-inputs `(("r-future" ,r-future) @@ -16179,14 +16311,14 @@ parallel versions of vectorized R functions of the @code{mc*apply} family.") (define-public r-blme (package (name "r-blme") - (version "1.0-4") + (version "1.0-5") (source (origin (method url-fetch) (uri (cran-uri "blme" version)) (sha256 (base32 - "1ca2b0248k0fj3lczn9shfjplz1sl4ay4v6djldizp2ch2vwdgy2")))) + "0413j7gwr5yj14jamkizj55q7xii1a0kgazzj0ilqn2ascclz6k7")))) (build-system r-build-system) (propagated-inputs `(("r-lme4" ,r-lme4))) (home-page "https://github.com/vdorie/blme") @@ -16200,14 +16332,14 @@ extends the lme4 package.") (define-public r-batchtools (package (name "r-batchtools") - (version "0.9.14") + (version "0.9.15") (source (origin (method url-fetch) (uri (cran-uri "batchtools" version)) (sha256 (base32 - "1b78r70gm4a0wzjr367hqx2rfphfkbppp14d0l5zs2fvyz166lsx")))) + "0d2xy77hkzhcnyz8zxcv98i80fx6ripjw4rvyx4ww1d0vjjgqf52")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -16593,20 +16725,19 @@ the current document.") (define-public r-xgboost (package (name "r-xgboost") - (version "1.2.0.1") + (version "1.3.2.1") (source (origin (method url-fetch) (uri (cran-uri "xgboost" version)) (sha256 (base32 - "16hpvv2hwdzcyg90z7c1g5d2hj011qk8mivy4l2nqd2g7rkjwis4")))) + "117q8xqm82589517fi8xicd8724v9c0wnq3qpl84h6nm3aw65x1g")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) ("r-magrittr" ,r-magrittr) - ("r-matrix" ,r-matrix) - ("r-stringi" ,r-stringi))) + ("r-matrix" ,r-matrix))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/dmlc/xgboost") @@ -16652,14 +16783,14 @@ in R, including a translation of the original algorithm into R.") (define-public r-uwot (package (name "r-uwot") - (version "0.1.9") + (version "0.1.10") (source (origin (method url-fetch) (uri (cran-uri "uwot" version)) (sha256 (base32 - "1iqvircvlxyd68n5279a0cwn5rc3pshxs7w1gqrns9c602xd6mhy")))) + "08vxh085wnrxgwy35ksb4cr7ccjvd98pyr2zlgarqryfgc1bdqbf")))) (build-system r-build-system) (propagated-inputs `(("r-dqrng" ,r-dqrng) @@ -16839,14 +16970,14 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.") (define-public r-patchwork (package (name "r-patchwork") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "patchwork" version)) (sha256 (base32 - "13vswvcfmadmjz7pw0qdqdr6x85zbza4gljx2nx3a39hldj71yck")))) + "10glgkf58lcykcwda1hj6xdps02m3i247qynk6s2jmwljagps3fg")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -17164,14 +17295,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.10.1") + (version "0.11.0") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "1xvjvsdd0hql209f7v2l1nw7gy8jkj5qp0699p5m2h55a01jl778")))) + "020k3vxnp0vjrlkcxx5vj30vag474hw48zxzw9315whsq4hhhbqc")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -17193,13 +17324,13 @@ effect size.") (define-public r-rgdal (package (name "r-rgdal") - (version "1.5-18") + (version "1.5-19") (source (origin (method url-fetch) (uri (cran-uri "rgdal" version)) (sha256 - (base32 "1pr267sh0v6cympdg12yny51cmn4r20s5sjq2hqymn4kphcpqijk")))) + (base32 "1cii2azm3zv5l6fn33xzwahp8349z3pb2769vpdxkf7734dxggvg")))) (properties `((upstream-name . "rgdal"))) (build-system r-build-system) (inputs @@ -17811,14 +17942,14 @@ server-side.") (define-public r-sysfonts (package (name "r-sysfonts") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri (cran-uri "sysfonts" version)) (sha256 (base32 - "1gapsiva0vjd2myxgm1avav6my5x00rmy2hx0qll7dm7v1isznbv")))) + "00kbazxw6zd1kakfshffdj928krca53bw9k78k0zar40mbqxiwd5")))) (properties `((upstream-name . "sysfonts"))) (build-system r-build-system) (inputs @@ -17859,14 +17990,14 @@ package.") (define-public r-showtext (package (name "r-showtext") - (version "0.9-1") + (version "0.9-2") (source (origin (method url-fetch) (uri (cran-uri "showtext" version)) (sha256 (base32 - "1hq346k2lm7rv49hw7srn3ab5gcp6b0r4zc1kgsdmswyh3q1asra")))) + "0y5mw6ffk92r7b22irrfhdmj4hxfl0d1wjxj14hznbapc4qm6f0z")))) (properties `((upstream-name . "showtext"))) (build-system r-build-system) (inputs @@ -18706,14 +18837,14 @@ identify file sets and individual files.") (define-public r-r-devices (package (name "r-r-devices") - (version "2.16.1") + (version "2.17.0") (source (origin (method url-fetch) (uri (cran-uri "R.devices" version)) (sha256 (base32 - "15zlnq3g27whq26fbcy5zfl5hiddm256h4rga4frblg6wqlbkvdd")))) + "1djz6vm1b7sjvx1q319dl47gbnz9kvipaxcz9i0spyp094lv3m62")))) (properties `((upstream-name . "R.devices"))) (build-system r-build-system) (propagated-inputs @@ -19351,14 +19482,14 @@ R.") (define-public r-hdrcde (package (name "r-hdrcde") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) (uri (cran-uri "hdrcde" version)) (sha256 (base32 - "0c2qbw4c3mq1cb068kjs72rxlbibz8svwcrx853jyr8ybs23z7ab")))) + "16qlk44cjvn2s0vzaf915df65ksdx20dbxhy7fpdqins46hccha3")))) (properties `((upstream-name . "hdrcde"))) (build-system r-build-system) (propagated-inputs @@ -19432,14 +19563,14 @@ variable observed over time.") (define-public r-fda (package (name "r-fda") - (version "5.1.7") + (version "5.1.9") (source (origin (method url-fetch) (uri (cran-uri "fda" version)) (sha256 (base32 - "1r8hfi6x1maw5zz8k95wfcr7v69lg4zl3mcj69cvvq2mkg4y3158")))) + "0yjrjsv55bcwqn2yxjgj3hn17wfvjvgngfw9xv3w802i52yz9gf8")))) (properties `((upstream-name . "fda"))) (build-system r-build-system) (propagated-inputs @@ -19539,20 +19670,22 @@ data for different accelerometer brands.") (define-public r-activityindex (package (name "r-activityindex") - (version "0.3.6") + (version "0.3.7") (source (origin (method url-fetch) (uri (cran-uri "ActivityIndex" version)) (sha256 (base32 - "14k6d78s15j7kb7jhixf4msrdjdl28d0r264cbvy41p8dkq7ysvk")))) + "1zj2b6x31a1kxl80rarmkrlm7ack4154mrkbqs3fpi48zpmjbgd5")))) (properties `((upstream-name . "ActivityIndex"))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) ("r-matrixstats" ,r-matrixstats) ("r-r-utils" ,r-r-utils))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/ActivityIndex/") (synopsis "Activity Index calculation using raw accelerometry data") (description @@ -19671,14 +19804,14 @@ API; see the package vignette for details.") (define-public r-actuar (package (name "r-actuar") - (version "3.0-0") + (version "3.1-0") (source (origin (method url-fetch) (uri (cran-uri "actuar" version)) (sha256 (base32 - "0dkp1sczldzy7kj70qvh1q59jhsq1brjybmxdz43jnx63y45llpz")))) + "15a8axb2ym46j8vlm7icwnsc950p8m66hp0armha7drk0725y77k")))) (properties `((upstream-name . "actuar"))) (build-system r-build-system) (propagated-inputs `(("r-expint" ,r-expint))) @@ -21176,14 +21309,14 @@ least squares.") (define-public r-semtools (package (name "r-semtools") - (version "0.5-3") + (version "0.5-4") (source (origin (method url-fetch) (uri (cran-uri "semTools" version)) (sha256 (base32 - "0k3w10fnq0l89inhxvnypyrfhlrm921mfn0kwyyfpndvbqizky1d")))) + "15kban4ds2mssxqslm126b89p8biya14c9m68sqk61vzvx5dm2vq")))) (properties `((upstream-name . "semTools"))) (build-system r-build-system) (propagated-inputs @@ -21227,14 +21360,14 @@ perform @dfn{exploratory mediation} (XMed).") (define-public r-stanheaders (package (name "r-stanheaders") - (version "2.21.0-6") + (version "2.21.0-7") (source (origin (method url-fetch) (uri (cran-uri "StanHeaders" version)) (sha256 (base32 - "1wwcrss4y6xbi81cg6ldhm57wz5paflzzp3yxh8b6shf9l2jla50")))) + "0srkyawyiykn3p5lw1z3zf18s4ax4iasv1ci3l1px40f9w36wm17")))) (properties `((upstream-name . "StanHeaders"))) (build-system r-build-system) (inputs `(("pandoc" ,pandoc))) @@ -21912,13 +22045,13 @@ recommendations for developers.") (define-public r-loo (package (name "r-loo") - (version "2.4.0") + (version "2.4.1") (source (origin (method url-fetch) (uri (cran-uri "loo" version)) (sha256 - (base32 "01a15ikfnyxhjhrgvy3ag929rg45dxp3wji1j38r4hg4q1yz4ma9")))) + (base32 "0l2v8zpashqbnck3qx5lp1gqjcfphzky8mxyw5gfk9wk99mzn8dw")))) (properties `((upstream-name . "loo"))) (build-system r-build-system) (inputs @@ -22603,14 +22736,14 @@ is also implemented here.") (define-public r-aws (package (name "r-aws") - (version "2.5") + (version "2.5-1") (source (origin (method url-fetch) (uri (cran-uri "aws" version)) (sha256 (base32 - "1mwg1q7l4a07g5aa9c6kh3fpl9lakk01pbzlk7ixbpy12yfvj9nm")))) + "1fhm87iax6bkvd4vszvjbcqw3b2drs11rjxr7zf2w4sgc72svaz8")))) (properties `((upstream-name . "aws"))) (build-system r-build-system) @@ -22978,19 +23111,26 @@ with posterior predictive checks and leave-one-out cross-validation.") (define-public r-mstate (package (name "r-mstate") - (version "0.2.12") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "mstate" version)) (sha256 (base32 - "0qnhivbibzss8yfsg44cvbf73n4jj4i28rbdysl88g14ig5sabgv")))) + "11i3p7fph8nbnfis1m7rdrq32qryaajv2wrkxk1x6k17zkh4rq6i")))) (properties `((upstream-name . "mstate"))) (build-system r-build-system) (propagated-inputs - `(("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-survival" ,r-survival))) + `(("r-data-table" ,r-data-table) + ("r-lattice" ,r-lattice) + ("r-magrittr" ,r-magrittr) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rlang" ,r-rlang) + ("r-survival" ,r-survival) + ("r-viridis" ,r-viridis))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://www.lumc.nl/org/bds/research/medische-statistiek/survival-analysis/") (synopsis @@ -23055,14 +23195,14 @@ permuted copies (shadows).") (define-public r-directlabels (package (name "r-directlabels") - (version "2020.6.17") + (version "2021.1.13") (source (origin (method url-fetch) (uri (cran-uri "directlabels" version)) (sha256 (base32 - "1b6v206kizz5rjw03chjvn40a7cqihjpk80h1h79z2x27hp1qi3f")))) + "0415kh9k2qzdwi8zb32fh2icl5wf5335kyj11cyfdmfxji39zv2w")))) (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog))) @@ -23180,17 +23320,53 @@ by providing functionality for preprocessing, predicting, and validating input.") (license license:expat))) +(define-public r-lightgbm + (package + (name "r-lightgbm") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "lightgbm" version)) + (sha256 + (base32 + "1pwsh6j9ksahh58b15j5ij56bsc6syy3z4k4a5zhy5n7829rz555")))) + (properties `((upstream-name . "lightgbm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-jsonlite" ,r-jsonlite) + ("r-matrix" ,r-matrix) + ("r-r6" ,r-r6))) + (home-page "https://github.com/Microsoft/LightGBM") + (synopsis "Light gradient boosting machine") + (description + "Tree based algorithms can be improved by introducing boosting +frameworks. LightGBM is one such framework, based on Ke, Guolin et +al. (2017). This package offers an R interface to work with it. It is +designed to be distributed and efficient with the following goals: + +@enumerate +@item Faster training speed and higher efficiency; +@item lower memory usage; +@item better accuracy; +@item parallel learning supported; and +@item capable of handling large-scale data. +@end enumerate +") + (license license:expat))) + (define-public r-shapforxgboost (package (name "r-shapforxgboost") - (version "0.0.4") + (version "0.1.0") (source (origin (method url-fetch) (uri (cran-uri "SHAPforxgboost" version)) (sha256 (base32 - "0k6bg27wqnkzv82bcahbapmqhiz6rvnx81m23zbjw58c7lwshgnq")))) + "0jgyss9bawl7sf4dwa75sn7ld3mvrrr0z2074lbkq3f5qb9gwsly")))) (properties `((upstream-name . "SHAPforxgboost"))) (build-system r-build-system) @@ -23201,6 +23377,7 @@ input.") ("r-ggforce" ,r-ggforce) ("r-ggplot2" ,r-ggplot2) ("r-ggpubr" ,r-ggpubr) + ("r-lightgbm" ,r-lightgbm) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-xgboost" ,r-xgboost))) (home-page "https://github.com/liuyanguu/SHAPforxgboost") @@ -23534,14 +23711,14 @@ diagonals. This package allows you to compute the tensor product of arrays.") (define-public r-spatstat-utils (package (name "r-spatstat-utils") - (version "1.17-0") + (version "1.20-2") (source (origin (method url-fetch) (uri (cran-uri "spatstat.utils" version)) (sha256 (base32 - "08h9kzkkxvlnngxnv5mdylfali5jj4yhgbr8kvf8l7glswz6ik9r")))) + "066f35017wpbz9plwc14gji3ddq4a1h2lx4mcgxajrcrk0zl3hk2")))) (properties `((upstream-name . "spatstat.utils"))) (build-system r-build-system) @@ -23555,14 +23732,14 @@ which may also be useful for other purposes.") (define-public r-spatstat-data (package (name "r-spatstat-data") - (version "1.5-2") + (version "1.7-0") (source (origin (method url-fetch) (uri (cran-uri "spatstat.data" version)) (sha256 (base32 - "17vbf48g1mh8iigzzlaa9j4mw087hib7f1kkbl3c50xjcrr5iw6b")))) + "0by10dx72jjn6rvgrdj4xwh4zg6vxi4cp536aq4b6drb7za95hdv")))) (properties `((upstream-name . "spatstat.data"))) (build-system r-build-system) (propagated-inputs @@ -23645,14 +23822,14 @@ for linear mixed models (AIREML).") (define-public r-cpp11 (package (name "r-cpp11") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (cran-uri "cpp11" version)) (sha256 (base32 - "08lrmpfkwh1w290a5ikhs9yn1vn32wbgvbzb4n3zb2indb8s5g69")))) + "081f3b98mcxyilqsxbzzdnj2x6v7xycprrw7r5934163q0397vvg")))) (properties `((upstream-name . "cpp11"))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -24103,14 +24280,14 @@ coerce and verify the types and shapes of values for input checking.") (define-public r-config (package (name "r-config") - (version "0.3") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "config" version)) (sha256 (base32 - "0l67nfpm42ssnk0bl4jmq6bibz8hawgfgh2s14s5c8mnimv6mpjs")))) + "0l2zp7v6qaz72dclcbjrlis633zlwp8rsi5azr7iw127iyz7i26l")))) (properties `((upstream-name . "config"))) (build-system r-build-system) (propagated-inputs @@ -24627,14 +24804,14 @@ consistent interface, and the package is built on the @code{stringi} and (define-public r-hunspell (package (name "r-hunspell") - (version "3.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (cran-uri "hunspell" version)) (sha256 (base32 - "0mwqw5p0ph083plm2hr2hqr50bjg2dw862dpsfm4l2fgyy3rryq1")))) + "0ql6y05d4xxpm468rslb0wxdp1x9l3flxzmb5w6pjg617f8vpv8z")))) (properties `((upstream-name . "hunspell"))) (build-system r-build-system) (propagated-inputs @@ -24662,14 +24839,14 @@ vignettes in all common formats.") (define-public r-tidytext (package (name "r-tidytext") - (version "0.2.6") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "tidytext" version)) (sha256 (base32 - "0xmjkab7p13ncfglf3a9hvndf8fh96mmxw3l7hcpbnaq9qkiwk29")))) + "1icbfw4zkbs9sp6vk814mw2zzm0bc0d7af92vhriqxaga0gbwdkx")))) (properties `((upstream-name . "tidytext"))) (build-system r-build-system) (propagated-inputs @@ -24677,12 +24854,14 @@ vignettes in all common formats.") ("r-generics" ,r-generics) ("r-hunspell" ,r-hunspell) ("r-janeaustenr" ,r-janeaustenr) + ("r-lifecycle" ,r-lifecycle) ("r-matrix" ,r-matrix) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble) - ("r-tokenizers" ,r-tokenizers))) + ("r-tokenizers" ,r-tokenizers) + ("r-vctrs" ,r-vctrs))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/juliasilge/tidytext") @@ -24695,14 +24874,14 @@ analysis using @code{dplyr}, @code{ggplot2}, and other Tidy tools.") (define-public r-parsnip (package (name "r-parsnip") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) (uri (cran-uri "parsnip" version)) (sha256 (base32 - "1134840xisvkkrbkh5kvx24vxp7sx06124svy573a9m4h8c492sr")))) + "0c12lyfxqsdprqlcmgy421py38z28h88d68pxb1c4fw14v1c2d06")))) (properties `((upstream-name . "parsnip"))) (build-system r-build-system) (propagated-inputs @@ -24730,14 +24909,14 @@ functions or computational engines (e.g. R, Spark, Stan, etc).") (define-public r-infer (package (name "r-infer") - (version "0.5.3") + (version "0.5.4") (source (origin (method url-fetch) (uri (cran-uri "infer" version)) (sha256 (base32 - "1q0lnxnv8krv4n9z80sh4b442s89rvnbph5bddy34z83bkncwv2g")))) + "0wvvgqjhyv7ql98cjzqad61wbmk7xrqd1ybk894jr5cmza13c8w2")))) (properties `((upstream-name . "infer"))) (build-system r-build-system) (propagated-inputs @@ -24952,14 +25131,14 @@ covariate (usually group indicator) and the scores.") (define-public r-qtl (package (name "r-qtl") - (version "1.46-2") + (version "1.47-9") (source (origin (method url-fetch) (uri (cran-uri "qtl" version)) (sha256 (base32 - "0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a")))) + "0hffirsvw9j82cdx6l7vhqn3a7ab52claqjlinv3lswl1nsfg93b")))) (build-system r-build-system) (home-page "https://rqtl.org/") (synopsis "R package for analyzing QTL experiments in genetics") @@ -24975,12 +25154,12 @@ genome scans.") (define-public r-qtl2 (package (name "r-qtl2") - (version "0.22-11") + (version "0.24") (source (origin (method url-fetch) (uri (cran-uri "qtl2" version)) (sha256 - (base32 "0dfdzjylqzc92dcszawc8cyinxccjm3p36v9vcq9ma818pqcanmr")))) + (base32 "1558khh0zkwm0rdk87krv9836krvwv5h7ymlz9bsrgcvypyr9186")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) @@ -25046,16 +25225,39 @@ alignment using warping functions, handling of replicated measurements as well as allowing spectra with different resolutions.") (license license:gpl3+))) +(define-public r-scattermore + (package + (name "r-scattermore") + (version "0.7") + (source + (origin + (method url-fetch) + (uri (cran-uri "scattermore" version)) + (sha256 + (base32 + "18nzlprmphkvjg946h10h2qq0wbkmv2526p8di6k2xl4gccq0qpk")))) + (properties `((upstream-name . "scattermore"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-scales" ,r-scales))) + (home-page "https://github.com/exaexa/scattermore") + (synopsis "Scatterplots with more points") + (description + "This package provides C-based tools for converting large scatterplot +data to rasters. It speeds up plotting of data with millions of points.") + (license license:gpl3+))) + (define-public r-seurat (package (name "r-seurat") - (version "3.2.2") + (version "3.2.3") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "048vnj0c3mrwhr6yq3jqhgnkg68w99nj1ccsmgnd8rl694w26spj")))) + "11rzc7h2ad8z8k5r1sbz4d7y4rl3080qp2hh7vibwmipbkvlial3")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs @@ -25095,6 +25297,7 @@ as allowing spectra with different resolutions.") ("r-rsvd" ,r-rsvd) ("r-rtsne" ,r-rtsne) ("r-scales" ,r-scales) + ("r-scattermore" ,r-scattermore) ("r-sctransform" ,r-sctransform) ("r-shiny" ,r-shiny) ("r-spatstat" ,r-spatstat) @@ -25200,18 +25403,20 @@ absolute GSEA.") (define-public r-calculus (package (name "r-calculus") - (version "0.2.1") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "calculus" version)) (sha256 (base32 - "0hs7hzjl6xjza20v9zx9a1piywxa6w3h2rskr52d1dcbc0vwhinp")))) + "1wa5ap89cfcp0ancj9ivx5s2y0wqr2vmp9y115g7f6g772jwhscj")))) (properties `((upstream-name . "calculus"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/eguidotti/calculus") (synopsis "High dimensional numerical and symbolic calculus") (description @@ -25368,16 +25573,18 @@ Services (AWS) Simple Storage Service (S3) REST API.") (define-public r-lgr (package (name "r-lgr") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (cran-uri "lgr" version)) (sha256 (base32 - "196553hmni1ha9y6494f4g3ds0lwcl81v7k4r8wwap4a6acdrgd9")))) + "0k4kacjk7swm3gmdpha1rg44xb29vzvhvx48jhpb78glj5c9phyr")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://s-fleck.github.io/lgr/") (synopsis "Fully featured logging framework") (description "This package offers a flexible, feature-rich yet @@ -25390,13 +25597,13 @@ well as email and push notifications.") (define-public r-mlr3measures (package (name "r-mlr3measures") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "mlr3measures" version)) (sha256 (base32 - "106lfaxphz0kh96ddq14hic7wvxjqp871zdp9kkkfk1kwfg35abw")))) + "18jk4kdj9771r16smz7xhmmiilcdg1qlavln5hrpvkx780zh3hj6")))) (build-system r-build-system) (propagated-inputs `(("r-checkmate" ,r-checkmate) @@ -25413,13 +25620,13 @@ are.") (define-public r-mlr3misc (package (name "r-mlr3misc") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3misc" version)) (sha256 (base32 - "1q63i2059bf7cf61kwm0dqnk5vd60i0j4flziswwdk07fjxqh8xr")))) + "19k3l2d6wnqvdng0m7p54rrlvwl5457lcy7bg82m2bbpqxi8qch3")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 02bf7b27a4..4846fc3e20 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> ;;; ;;; This file is part of GNU Guix. @@ -42,8 +42,36 @@ ;;; ;;; Please: Try to add new module packages in alphabetic order. +(define-public rust-andrew-0.3 + (package + (name "rust-andrew") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "andrew" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kx79z6mh7wwp4pz683bdya54h7w7wpzjcwf834fwbv4vl4znjlc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-rusttype" ,rust-rusttype-0.9) + ("rust-walkdir" ,rust-walkdir-2) + ("rust-xdg" ,rust-xdg-2) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/trimental/andrew") + (synopsis "Provides convenient drawing of objects to buffers") + (description + "The @code{andrew} crate provides convenient drawing of objects such as +shapes, lines and text to buffers.") + (license license:expat))) + (define-public rust-andrew-0.2 (package + (inherit rust-andrew-0.3) (name "rust-andrew") (version "0.2.1") (source @@ -55,25 +83,18 @@ (sha256 (base32 "0pmklwcwy8g1jras46fz8xcny779zfqpg4riksrbdhkjk3w0jzwv")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-line-drawing" ,rust-line-drawing-0.7) ("rust-rusttype" ,rust-rusttype-0.7) ("rust-walkdir" ,rust-walkdir-2) - ("rust-xdg" ,rust-xdg-2.2) + ("rust-xdg" ,rust-xdg-2) ("rust-xml-rs" ,rust-xml-rs-0.8)) #:cargo-development-inputs (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)))) (inputs - `(("wayland" ,wayland))) - (home-page "https://github.com/trimental/andrew") - (synopsis "Provides convenient drawing of objects to buffers") - (description - "The @code{andrew} crate provides convenient drawing of objects such as -shapes, lines and text to buffers.") - (license license:expat))) + `(("wayland" ,wayland))))) (define-public rust-ansi-colours-1 (package @@ -350,8 +371,76 @@ for computer graphics.") (;("rust-glium" ,rust-glium-0.19) ("rust-serde-json" ,rust-serde-json-1)))))) +(define-public rust-core-graphics-0.22 + (package + (name "rust-core-graphics") + (version "0.22.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11lx6xw8nc9fpd552g60qa0cxh0maah8j2m26vkq0aslkgv3b7r6")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics-types" ,rust-core-graphics-types-0.1) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-graphics-rs") + (synopsis "Bindings to Core Graphics for macOS") + (description + "This package provides bindings to Core Graphics for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-core-graphics-0.21 + (package + (inherit rust-core-graphics-0.22) + (name "rust-core-graphics") + (version "0.21.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1i9gwzkil9k276317by0mi1pxz036h412dmcp1bzmlq4adj5anha")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics-types" ,rust-core-graphics-types-0.1) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))))) + +(define-public rust-core-graphics-0.19 + (package + (inherit rust-core-graphics-0.21) + (name "rust-core-graphics") + (version "0.19.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08z9pgwfc0wb5v3ns7rnb2010q9g42b5vfwhp9fv4spawrs9725k")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.7) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))))) + (define-public rust-core-graphics-0.17 (package + (inherit rust-core-graphics-0.21) (name "rust-core-graphics") (version "0.17.3") (source @@ -363,46 +452,66 @@ for computer graphics.") (sha256 (base32 "1acm3vygngnilzlr6klym5ywh7kfzh2xxrh2l41152hwmdl0jyan")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; only for macOS #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-core-foundation" ,rust-core-foundation-0.6) ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))))) + +(define-public rust-core-graphics-types-0.1 + (package + (name "rust-core-graphics-types") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics-types" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12vqf0n5mjjcqjksdd82n2zh8hfda2zpiiqsr522c2266j5vcs1s")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-foreign-types" ,rust-foreign-types-0.3) ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/servo/core-graphics-rs") - (synopsis "Bindings to Core Graphics for macOS") + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings for some fundamental Core Graphics types") (description - "Bindings to Core Graphics for macOS.") + "This package provides bindings for some fundamental Core Graphics +types.") (license (list license:expat license:asl2.0)))) (define-public rust-core-video-sys-0.1 (package (name "rust-core-video-sys") - (version "0.1.3") + (version "0.1.4") (source (origin (method url-fetch) (uri (crate-uri "core-video-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1l59cg88482hkl95ssb30ac9x65hpbdsmxz9s5r6y222jlhnbh4d")))) + (base32 "0a1qbn50jrb5hxrfshyb7y0f3pbf4ily6i6nciv7bn8ac4isvv1l")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t ; only for macOS + `(#:skip-build? #t #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-core-graphics" ,rust-core-graphics-0.19) ("rust-libc" ,rust-libc-0.2) - ("rust-metal" ,rust-metal-0.14) + ("rust-metal" ,rust-metal-0.18) ("rust-objc" ,rust-objc-0.2)))) (home-page "https://github.com/luozijun/rust-core-video-sys") (synopsis "Bindings to CoreVideo.framework for macOS and iOS") - (description "Bindings to CoreVideo.framework for macOS and iOS.") + (description + "This package provides bindings to CoreVideo.framework for macOS +and iOS.") (license license:expat))) (define-public rust-dav1d-sys-0.3 @@ -718,8 +827,48 @@ for computer graphics.") "Generated OpenGL bindings and wrapper for Servo.") (license (list license:asl2.0 license:expat)))) +(define-public rust-glutin-0.26 + (package + (name "rust-glutin") + (version "0.26.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18szbh4dixcr7pmymvbrpv21hv0wrpii5w03rv2534bb2ywwpq8s")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.3) + ("rust-cocoa" ,rust-cocoa-0.23) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.6) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-egl" ,rust-wayland-egl-0.28) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.24)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Cross-platform OpenGL context provider") + (description "This package provides an OpenGL context provider.") + (license license:asl2.0))) + (define-public rust-glutin-0.22 (package + (inherit rust-glutin-0.26) (name "rust-glutin") (version "0.22.0-alpha5") (source @@ -731,7 +880,6 @@ for computer graphics.") (sha256 (base32 "0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-android-glue" ,rust-android-glue-0.2) @@ -752,13 +900,7 @@ for computer graphics.") ("rust-parking-lot" ,rust-parking-lot-0.9) ("rust-wayland-client" ,rust-wayland-client-0.23) ("rust-winapi" ,rust-winapi-0.3) - ("rust-winit" ,rust-winit-0.20)))) - (home-page "https://github.com/tomaka/glutin") - (synopsis - "Cross-platform OpenGL context provider") - (description - "Cross-platform OpenGL context provider.") - (license license:asl2.0))) + ("rust-winit" ,rust-winit-0.20)))))) (define-public rust-glutin-0.21 (package @@ -821,88 +963,84 @@ for computer graphics.") (define-public rust-glutin-emscripten-sys-0.1 (package (name "rust-glutin-emscripten-sys") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (crate-uri "glutin_emscripten_sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1ix0jmm8p5if4qarzdfl5mz9rbq4hhgqarakb3bzwvyz13dkynr4")))) + (base32 "1wb3qfxg3jh6ibb7bxmlmvf4jcpzck3pn0035g1sds3nvx343pl0")))) (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) (home-page "https://github.com/tomaka/glutin") (synopsis "Emscripten bindings for glutin") - (description "The emscripten bindings for glutin.") + (description "This package provides Emscripten bindings for glutin.") (license license:asl2.0))) (define-public rust-glutin-gles2-sys-0.1 (package (name "rust-glutin-gles2-sys") - (version "0.1.3") + (version "0.1.5") (source (origin (method url-fetch) (uri (crate-uri "glutin_gles2_sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1pswvl5zyqmqwzjr674yzslj0al2xbqsp2ai9ggb9qbshlq6r6c9")))) + (base32 "00wisv3a7818bpw5nnqwibmh1bw032izix2l3657q2kkidq4w2g8")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-objc" ,rust-objc-0.2) - ("rust-gl-generator" ,rust-gl-generator-0.11)))) + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14) + ("rust-objc" ,rust-objc-0.2)))) (home-page "https://github.com/tomaka/glutin") - (synopsis "The gles2 bindings for glutin") - (description "The gles2 bindings for glutin.") + (synopsis "Gles2 bindings for glutin") + (description "This package provides gles2 bindings for glutin.") (license license:asl2.0))) (define-public rust-glutin-glx-sys-0.1 (package (name "rust-glutin-glx-sys") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) - (uri (crate-uri "glutin-glx-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "glutin_glx_sys" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0mxs3mil68xqqb49466n5rpwpcllj6fwqjgrcrzzmz26bv5ab40j")))) + (base32 "0l8kk60kq5v6hl1qr6ym2arzvbsgkh71aa8485cp901bq27kqfby")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-x11-dl" ,rust-x11-dl-2) - ("rust-gl-generator" ,rust-gl-generator-0.11)))) + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14) + ("rust-x11-dl" ,rust-x11-dl-2)))) (home-page "https://github.com/tomaka/glutin") (synopsis "Glx bindings for glutin") - (description "The glx bindings for glutin.") + (description "This package provides glx bindings for glutin.") (license license:asl2.0))) (define-public rust-glutin-wgl-sys-0.1 (package (name "rust-glutin-wgl-sys") - (version "0.1.3") + (version "0.1.5") (source (origin (method url-fetch) - (uri (crate-uri "glutin-wgl-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "glutin_wgl_sys" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "08chlfzpj59q36qm212i4k879gvjzha7i90q90fds8pw3v4vn0gq")))) + (base32 "15hns8b3i7iy366m61dg7jlr7wgzz8z8cakgbj3apnv92ld9b99x")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-gl-generator" ,rust-gl-generator-0.11)))) + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14)))) (home-page "https://github.com/tomaka/glutin") (synopsis "Wgl bindings for glutin") - (description "The wgl bindings for glutin.") + (description "This package provides wgl bindings for glutin.") (license license:asl2.0))) (define-public rust-image-0.23 @@ -1536,16 +1674,14 @@ interactive applications.") (define-public rust-png-0.16 (package (name "rust-png") - (version "0.16.6") + (version "0.16.8") (source - (origin - (method url-fetch) - (uri (crate-uri "png" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1393s3v3kg4bxnn86d7yn2vyz8xj6g64ighdfkc3vzpsg5sbyl61")))) + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ipl44q3vy4kvx6j296vk7d4v8gvcg203lrkvvixwixq1j98fciw")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1553,19 +1689,11 @@ interactive applications.") (("rust-bitflags" ,rust-bitflags-1) ("rust-crc32fast" ,rust-crc32fast-1) ("rust-deflate" ,rust-deflate-0.8) - ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-getopts" ,rust-getopts-0.2) - ;; TODO: glium has many cyclic dependencies with other packages - ;; ("rust-glium" ,rust-glium-0.24) - ("rust-glob" ,rust-glob-0.3) - ("rust-rand" ,rust-rand-0.7) - ("rust-term" ,rust-term-0.6)))) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) (home-page "https://github.com/image-rs/image-png.git") (synopsis "PNG decoding and encoding library in pure Rust") (description - "PNG decoding and encoding library in pure Rust.") + "This package is a PNG decoding and encoding library in pure Rust.") (license (list license:expat license:asl2.0)))) (define-public rust-png-0.15 @@ -1728,8 +1856,41 @@ implements standard Rust traits to make `RGB`/`RGBA` pixels and slices first-class Rust objects.") (license license:expat))) +(define-public rust-smithay-client-toolkit-0.12 + (package + (name "rust-smithay-client-toolkit") + (version "0.12.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1rjdszpf8pns99gyy8f5axf01ckc33f30dddfazyfg45xfii6vii")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-andrew" ,rust-andrew-0.3) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.6) + ("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-memmap2" ,rust-memmap2-0.1) + ("rust-nix" ,rust-nix-0.18) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-cursor" ,rust-wayland-cursor-0.28) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.28)))) + (home-page "https://github.com/smithay/client-toolkit") + (synopsis "Toolkit for making client Wayland applications") + (description + "This package provides a toolkit for making client Wayland applications.") + (license license:expat))) + (define-public rust-smithay-client-toolkit-0.6 (package + (inherit rust-smithay-client-toolkit-0.12) (name "rust-smithay-client-toolkit") (version "0.6.4") (source @@ -1741,7 +1902,6 @@ first-class Rust objects.") (sha256 (base32 "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-andrew" ,rust-andrew-0.2) @@ -1755,12 +1915,7 @@ first-class Rust objects.") #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1) ("rust-image" ,rust-image-0.21) - ("rust-wayland-client" ,rust-wayland-client-0.23)))) - (home-page "https://github.com/smithay/client-toolkit") - (synopsis "Toolkit for making client wayland applications") - (description - "Toolkit for making client wayland applications.") - (license license:expat))) + ("rust-wayland-client" ,rust-wayland-client-0.23)))))) (define-public rust-smithay-client-toolkit-0.4 (package @@ -1792,8 +1947,33 @@ first-class Rust objects.") ("rust-image" ,rust-image-0.20) ("rust-wayland-client" ,rust-wayland-client-0.21)))))) +(define-public rust-smithay-clipboard-0.6 + (package + (name "rust-smithay-clipboard") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-clipboard" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "14dwisd56cbr80zf719l3fh0n8pm1fjmvry9lsbhdbccf8cv525b")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.12) + ("rust-wayland-client" ,rust-wayland-client-0.28)))) + (home-page "https://github.com/smithay/smithay-clipboard") + (synopsis "Access to the Wayland clipboard for client applications") + (description + "This package provides access to the Wayland clipboard for client +applications.") + (license license:expat))) + (define-public rust-smithay-clipboard-0.3 (package + (inherit rust-smithay-clipboard-0.6) (name "rust-smithay-clipboard") (version "0.3.6") (source @@ -1805,7 +1985,6 @@ first-class Rust objects.") (sha256 (base32 "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-nix" ,rust-nix-0.14) @@ -1813,13 +1992,7 @@ first-class Rust objects.") #:cargo-development-inputs (("rust-andrew" ,rust-andrew-0.2)))) (inputs - `(("wayland" ,wayland))) - (home-page "https://github.com/smithay/smithay-clipboard") - (synopsis - "Provides access to the wayland clipboard for client applications") - (description - "This package provides access to the wayland clipboard for client applications.") - (license license:expat))) + `(("wayland" ,wayland))))) (define-public rust-tiff-0.5 (package @@ -1893,8 +2066,40 @@ first-class Rust objects.") ("rust-num-derive" ,rust-num-derive-0.2) ("rust-num-traits" ,rust-num-traits-0.2)))))) +(define-public rust-wayland-client-0.28 + (package + (name "rust-wayland-client") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mxnflzv9s3qpcp0z7kqvrzki5bknfar9n9yky06f8ivs00vxgdx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.18) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Rust bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, client side.") + (license license:expat))) + (define-public rust-wayland-client-0.23 (package + (inherit rust-wayland-client-0.28) (name "rust-wayland-client") (version "0.23.6") (source @@ -1906,12 +2111,11 @@ first-class Rust objects.") (sha256 (base32 "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) @@ -1920,14 +2124,7 @@ first-class Rust objects.") ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1) - ("rust-tempfile" ,rust-tempfile-3)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Rust bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, client side.") - (license license:expat))) + ("rust-tempfile" ,rust-tempfile-3)))))) (define-public rust-wayland-client-0.21 (package @@ -1947,7 +2144,7 @@ the wayland protocol, client side.") `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) @@ -1958,8 +2155,35 @@ the wayland protocol, client side.") (("rust-byteorder" ,rust-byteorder-1) ("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-wayland-commons-0.28 + (package + (name "rust-wayland-commons") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mid1sgy3bmiywnrhsr31b8w6zvk1ll2ci2as15ddv8pczvm0128")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-nix" ,rust-nix-0.18) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Types and structures used by wayland-client and wayland-server") + (description + "This package provides common types and structures used by wayland-client +and wayland-server.") + (license license:expat))) + (define-public rust-wayland-commons-0.23 (package + (inherit rust-wayland-commons-0.28) (name "rust-wayland-commons") (version "0.23.6") (source @@ -1971,17 +2195,10 @@ the wayland protocol, client side.") (sha256 (base32 "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-nix" ,rust-nix-0.14) - ("rust-wayland-sys" ,rust-wayland-sys-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Common types and structures used by wayland-client and wayland-server") - (description - "Common types and structures used by wayland-client and wayland-server.") - (license license:expat))) + ("rust-wayland-sys" ,rust-wayland-sys-0.23)))))) (define-public rust-wayland-commons-0.21 (package @@ -2002,8 +2219,88 @@ the wayland protocol, client side.") (("rust-nix" ,rust-nix-0.14) ("rust-wayland-sys" ,rust-wayland-sys-0.21)))))) +(define-public rust-wayland-cursor-0.28 + (package + (name "rust-wayland-cursor") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-cursor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0pvf96a9hg7b40vyvamcg491sa0006fr9bzf1xkaf8q22qn15syn")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-nix" ,rust-nix-0.18) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-xcursor" ,rust-xcursor-0.3)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Bindings to libwayland-cursor") + (description + "This crate provides helpers to load the system provided cursor images +and load them into WlBuffers as well as obtain the necessary metadata to +properly display animated cursors.") + (license license:expat))) + +(define-public rust-wayland-egl-0.28 + (package + (name "rust-wayland-egl") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-egl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xd7iap0x4sidmy9dv02cdnxjhnbk9li7r7f39x9cg0i8xs50ly6")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Bindings to libwayland-egl") + (description + "This crate provides bindings for OpenGL/Vulkan support for +Wayland client apps. It allows to create an EGLSurface from any +WlSurface, which can then play the role of the base surface for +initializing an OpenGL or Vulkan context.") + (license license:expat))) + +(define-public rust-wayland-protocols-0.28 + (package + (name "rust-wayland-protocols") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0c0sw13qssrvf3jgygwqpiimpaagz3haxn9jridd4k85sfs856ii")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-server" ,rust-wayland-server-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Generated API for the officials Wayland protocol extensions") + (description + "This package provides a generated API for the officials Wayland protocol +extensions.") + (license license:expat))) + (define-public rust-wayland-protocols-0.23 (package + (inherit rust-wayland-protocols-0.28) (name "rust-wayland-protocols") (version "0.23.6") (source @@ -2015,20 +2312,13 @@ the wayland protocol, client side.") (sha256 (base32 "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-wayland-client" ,rust-wayland-client-0.23) ("rust-wayland-commons" ,rust-wayland-commons-0.23) ("rust-wayland-server" ,rust-wayland-server-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Generated API for the officials wayland protocol extensions") - (description - "Generated API for the officials wayland protocol extensions.") - (license license:expat))) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))))) (define-public rust-wayland-protocols-0.21 (package @@ -2053,8 +2343,36 @@ the wayland protocol, client side.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) +(define-public rust-wayland-scanner-0.28 + (package + (name "rust-wayland-scanner") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Generate Rust APIs from XML Wayland protocol files") + (description + "Wayland Scanner generates Rust APIs from XML Wayland protocol files. +It is intended for use with wayland-sys. You should only need this crate if +you are working on custom Wayland protocol extensions. Look at the +wayland-client crate for usable bindings.") + (license license:expat))) + (define-public rust-wayland-scanner-0.23 (package + (inherit rust-wayland-scanner-0.28) (name "rust-wayland-scanner") (version "0.23.6") (source @@ -2066,20 +2384,11 @@ the wayland protocol, client side.") (sha256 (base32 "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4) ("rust-quote" ,rust-quote-0.6) - ("rust-xml-rs" ,rust-xml-rs-0.8)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "Generate Rust APIs from XML Wayland protocol files") - (description - "Wayland Scanner generates Rust APIs from XML Wayland protocol files. -It is intended for use with wayland-sys. You should only need this crate if -you are working on custom Wayland protocol extensions. -Look at the wayland-client crate for usable bindings.") - (license license:expat))) + ("rust-xml-rs" ,rust-xml-rs-0.8)))))) (define-public rust-wayland-scanner-0.21 (package @@ -2096,8 +2405,42 @@ Look at the wayland-client crate for usable bindings.") (base32 "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z")))))) +(define-public rust-wayland-server-0.28 + (package + (name "rust-wayland-server") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "09jfdjfqhjfcpiz4csgh60ymfkmz1cl3jmxyzq9hzcp0kyyxix93")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.18) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, server side.") + (license license:expat))) + (define-public rust-wayland-server-0.23 (package + (inherit rust-wayland-server-0.28) (name "rust-wayland-server") (version "0.23.6") (source @@ -2109,25 +2452,17 @@ Look at the wayland-client crate for usable bindings.") (sha256 (base32 "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) ("rust-wayland-commons" ,rust-wayland-commons-0.23) ("rust-wayland-sys" ,rust-wayland-sys-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, server side.") - (license license:expat))) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))))) (define-public rust-wayland-server-0.21 (package @@ -2147,7 +2482,7 @@ the wayland protocol, server side.") `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) @@ -2155,8 +2490,37 @@ the wayland protocol, server side.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) +(define-public rust-wayland-sys-0.28 + (package + (name "rust-wayland-sys") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "16f03jsy7q6p2wpaazc4w4kycyyk0fz7lacpdbcizl9m1i7874v7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") + (description + "This package provides FFI bindings to the various +@file{libwayland-*.so} libraries. You should only need this crate if +you are working on custom Wayland protocol extensions. Look at the +crate @code{rust-wayland-client} for usable bindings.") + (license license:expat))) + (define-public rust-wayland-sys-0.23 (package + (inherit rust-wayland-sys-0.28) (name "rust-wayland-sys") (version "0.23.6") (source @@ -2168,19 +2532,11 @@ the wayland protocol, server side.") (sha256 (base32 "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-dlib" ,rust-dlib-0.4) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "FFI bindings to the various libwayland-*.so libraries") - (description - "FFI bindings to the various libwayland-*.so libraries. -You should only need this crate if you are working on custom wayland -protocol extensions. Look at the crate wayland-client for usable bindings.") - (license license:expat))) + ("rust-libc" ,rust-libc-0.2)))))) (define-public rust-wayland-sys-0.21 (package @@ -2197,8 +2553,64 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (base32 "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj")))))) +(define-public rust-winit-0.24 + (package + (name "rust-winit") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15zmpx5ip6ziqhds7md1s0ri0blhxfa8fg1ylg84pf0frrpxlkns")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-core-video-sys" ,rust-core-video-sys-0.1) + ("rust-dispatch" ,rust-dispatch-0.2) + ("rust-instant" ,rust-instant-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mio" ,rust-mio-0.6) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-ndk" ,rust-ndk-0.2) + ("rust-ndk-glue" ,rust-ndk-glue-0.2) + ("rust-ndk-sys" ,rust-ndk-sys-0.2) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.12) + ("rust-stdweb" ,rust-stdweb-0.4) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)))) + (home-page "https://github.com/rust-windowing/winit") + (synopsis "Window creation library") + (description + "Winit is a window creation and management library. It can create +windows and lets you handle events (for example: the window being +resized, a key being pressed, a mouse movement, etc.) produced by +window. + +Winit is designed to be a low-level brick in a hierarchy of libraries. +Consequently, in order to show something on the window you need to use +the platform-specific getters provided by winit, or another library.") + (license license:asl2.0))) + (define-public rust-winit-0.20 (package + (inherit rust-winit-0.24) (name "rust-winit") (version "0.20.0-alpha6") (source @@ -2219,7 +2631,6 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (sha256 (base32 "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds"))))))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-android-glue" ,rust-android-glue-0.2) @@ -2249,13 +2660,7 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") #:cargo-development-inputs (("rust-console-log" ,rust-console-log-0.1) ("rust-env-logger" ,rust-env-logger-0.5) - ("rust-image" ,rust-image-0.21)))) - (home-page "https://github.com/rust-windowing/winit") - (synopsis - "Cross-platform window creation library") - (description - "Cross-platform window creation library.") - (license license:asl2.0))) + ("rust-image" ,rust-image-0.21)))))) (define-public rust-winit-0.19 (package @@ -2315,8 +2720,30 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (description "This crate provides X11 library bindings for Rust.") (license license:expat))) +(define-public rust-x11-clipboard-0.5 + (package + (name "rust-x11-clipboard") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "x11-clipboard" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17c5yxxhknrp7y9mc7mp85ra8q4jw12c174m9yzbfr1vs2pkgsg5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-xcb" ,rust-xcb-0.9)))) + (home-page "https://github.com/quininer/x11-clipboard") + (synopsis "x11 clipboard support for Rust") + (description "This package provides x11 clipboard support for Rust.") + (license license:expat))) + (define-public rust-x11-clipboard-0.4 (package + (inherit rust-x11-clipboard-0.5) (name "rust-x11-clipboard") (version "0.4.0") (source @@ -2328,16 +2755,11 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (sha256 (base32 "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests require display server. #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9)))) (native-inputs - `(("python" ,python))) - (home-page "https://github.com/quininer/x11-clipboard") - (synopsis "x11 clipboard support for Rust") - (description "This package provides x11 clipboard support for Rust.") - (license license:expat))) + `(("python" ,python))))) (define-public rust-x11-dl-2 (package diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 38d6fe806a..dbf8c9d888 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -65,6 +65,29 @@ ;;; Please: Try to add new module packages in alphabetic order. ;;; +(define-public rust-ab-glyph-rasterizer-0.1 + (package + (name "rust-ab-glyph-rasterizer") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ab_glyph_rasterizer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zzz78231w849xslz9s0pwjj6gp02wfbbxdpysqhwwq1vqr5xznr")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libm" ,rust-libm-0.2)))) + (home-page "https://github.com/alexheretic/ab-glyph") + (synopsis "Coverage rasterization for lines, quadratic & cubic beziers") + (description + "This package provides coverage rasterization for lines, quadratic and +cubic beziers.") + (license license:asl2.0))) + (define-public rust-abomonation-0.7 (package (name "rust-abomonation") @@ -993,10 +1016,10 @@ block ciphers using AES-NI.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) ("rust-rustc-version" ,rust-rustc-version-0.2) - ("rust-xdg" ,rust-xdg-2.2)) + ("rust-xdg" ,rust-xdg-2)) #:cargo-development-inputs (("rust-rustc-version" ,rust-rustc-version-0.2) - ("rust-xdg" ,rust-xdg-2.2)))) + ("rust-xdg" ,rust-xdg-2)))) (home-page "https://github.com/rust-fuzz/afl.rs") (synopsis "Fuzzing Rust code with american-fuzzy-lop") @@ -1023,11 +1046,11 @@ block ciphers using AES-NI.") #:cargo-inputs (("rust-rustc-version" ,rust-rustc-version-0.2) ("rust-cc" ,rust-cc-1) - ("rust-xdg" ,rust-xdg-2.2) + ("rust-xdg" ,rust-xdg-2) ("rust-clap" ,rust-clap-2)) #:cargo-development-inputs (("rust-rustc-version" ,rust-rustc-version-0.2) - ("rust-xdg" ,rust-xdg-2.2)))))) + ("rust-xdg" ,rust-xdg-2)))))) (define-public rust-afl-0.4 (package @@ -1103,25 +1126,23 @@ using AES-NI for high performance.") (define-public rust-aho-corasick-0.7 (package (name "rust-aho-corasick") - (version "0.7.13") + (version "0.7.15") (source (origin (method url-fetch) (uri (crate-uri "aho-corasick" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "11hfmqf90rdvjdpk0x1lixw1s9n08y3fxfy9zqsk0k2wpbc68c84")))) + (base32 "1rb8gzhljl8r87dpf2n5pnqnkl694casgns4ma0sqzd4zazzw13l")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2)) + `(#:cargo-inputs + (("rust-memchr" ,rust-memchr-2)) #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))) (home-page "https://github.com/BurntSushi/aho-corasick") (synopsis "Fast multiple substring searching") - (description - "Fast multiple substring searching.") + (description "This package provides a fast multiple substring searching.") (license (list license:unlicense license:expat)))) (define-public rust-aho-corasick-0.6 @@ -1175,6 +1196,70 @@ using AES-NI for high performance.") ("rust-rand" ,rust-rand-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) +(define-public rust-alacritty-config-derive-0.1 + (package + (name "rust-alacritty-config-derive") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "alacritty_config_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0dn3cg233jyi06xz8q1vfgjikdpcjdid36kqnl0yawdqpm2lq13p")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/alacritty/alacritty") + (synopsis "Failure resistant deserialization derive") + (description + "This package provides a failure resistant deserialization derive.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-alacritty-terminal-0.12 + (package + (name "rust-alacritty-terminal") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "alacritty_terminal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1q7sm7rm5yny4lka8w4vji2v2crkkbwj3y8l5qnq01qlwmkjmkfd")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) + ("rust-base64" ,rust-base64-0.12) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dirs" ,rust-dirs-2) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mio" ,rust-mio-0.6) + ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-miow" ,rust-miow-0.3) + ("rust-nix" ,rust-nix-0.18) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-regex-automata" ,rust-regex-automata-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-vte" ,rust-vte-0.10) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/alacritty/alacritty") + (synopsis "Library for writing terminal emulators") + (description + "This package provides a library for writing terminal emulators.") + (license license:asl2.0))) + (define-public rust-alga-0.9 (package (name "rust-alga") @@ -1415,6 +1500,35 @@ escape codes.") @code{std::error::Error}.") (license (list license:expat license:asl2.0)))) +(define-public rust-app-dirs2-2 + (package + (name "rust-app-dirs2") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "app_dirs2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "04v2q3jkqr32mwqs4niqfyhbkvvgrcsw0dajwqaz83nc5hs1igsm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-jni" ,rust-jni-0.18) + ("rust-ndk-glue" ,rust-ndk-glue-0.2) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-xdg" ,rust-xdg-2)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-test-case" ,rust-test-case-1)))) + (home-page "https://lib.rs/app_dirs2") + (synopsis "Put app's data in the right place on every platform") + (description + "This package helps you to put your app's data in the right place +on every platform.") + (license license:expat))) + (define-public rust-approx-0.3 (package (name "rust-approx") @@ -2491,15 +2605,14 @@ crate.") (define-public rust-async-trait-0.1 (package (name "rust-async-trait") - (version "0.1.40") + (version "0.1.42") (source (origin (method url-fetch) (uri (crate-uri "async-trait" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "10x7jcg8xqvkmqyz11117aw959p4af5gq1cpf022b9f0hl6j6z38")))) + (base32 "0gd13pqgw5m6l4bqwjkickq13c4v0jxzxs5i4dwmldrlgvklafld")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -3366,12 +3479,43 @@ bindings to C and C++ libraries.") ("rust-quote" ,rust-quote-0.6) ("rust-regex" ,rust-regex-1) ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-2.0)) + ("rust-which" ,rust-which-2)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) ("rust-shlex" ,rust-shlex-0.1)))))) +(define-public rust-bindgen-0.47 + (package + (inherit rust-bindgen-0.50) + (name "rust-bindgen") + (version "0.47.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0b9fyq3h4lz5xfy6gv5h8v6j3hzyqcarlylvw9zc715pas1pz09a")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cexpr" ,rust-cexpr-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-clang-sys" ,rust-clang-sys-0.26) + ("rust-clap" ,rust-clap-2) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-hashbrown" ,rust-hashbrown-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) + ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-regex" ,rust-regex-1) + ("rust-shlex" ,rust-shlex-0.1) + ("rust-which" ,rust-which-2)))))) + (define-public rust-bindgen-0.46 (package (inherit rust-bindgen-0.50) @@ -3401,7 +3545,7 @@ bindings to C and C++ libraries.") ("rust-proc-macro2" ,rust-proc-macro2-0.4) ("rust-quote" ,rust-quote-0.6) ("rust-regex" ,rust-regex-1) - ("rust-which" ,rust-which-2.0)) + ("rust-which" ,rust-which-2)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -3470,7 +3614,7 @@ bindings to C and C++ libraries.") ("rust-quote" ,rust-quote-0.6) ("rust-regex" ,rust-regex-1) ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-2.0)) + ("rust-which" ,rust-which-2)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -4662,28 +4806,23 @@ in a byte slice, fast.") (define-public rust-byteorder-1 (package (name "rust-byteorder") - (version "1.3.4") + (version "1.4.2") (source (origin (method url-fetch) (uri (crate-uri "byteorder" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1pkjfhgjnq898g1d38ygcfi0msg3m6756cwv0sgysj1d26p8mi08")))) + (base32 "0srh0h0594jmsnbvm7n0g8xabhla8lwb3gn8s0fzd7d1snix2i5f")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.8) - ("rust-rand" ,rust-rand-0.6)))) - (home-page - "https://github.com/BurntSushi/byteorder") - (synopsis - "Reading/writing numbers in big-endian and little-endian") + (("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-rand" ,rust-rand-0.7)))) + (home-page "https://github.com/BurntSushi/byteorder") + (synopsis "Reading/writing numbers in big-endian and little-endian") (description - "Library for reading/writing numbers in big-endian and + "This library is used for reading or writing numbers in big-endian and little-endian.") (license (list license:expat license:unlicense)))) @@ -5010,8 +5149,31 @@ cached data.") directories and @code{CACHEDIR.TAG} files.") (license (list license:expat license:asl2.0)))) +(define-public rust-calloop-0.6 + (package + (name "rust-calloop") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "calloop" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0z3jlsv3g28097dhsmi2l8nzkd3p937jhb4pg52njhb0wxkn20qb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.18)))) + (home-page "https://github.com/Smithay/calloop") + (synopsis "Callback-based event loop") + (description "This package provides a callback-based event loop.") + (license license:expat))) + (define-public rust-calloop-0.4 (package + (inherit rust-calloop-0.6) (name "rust-calloop") (version "0.4.4") (source @@ -5029,19 +5191,13 @@ directories and @code{CACHEDIR.TAG} files.") (substitute* "Cargo.toml" (("=1.0.0") "^1.0.0")) #t)))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-mio" ,rust-mio-0.6) ("rust-mio-extras" ,rust-mio-extras-2) ("rust-nix" ,rust-nix-0.14)) #:cargo-development-inputs - (("rust-lazycell" ,rust-lazycell-1)))) - (home-page "https://github.com/Smithay/calloop") - (synopsis "Callback-based event loop") - (description - "This package provides a callback-based event loop") - (license license:expat))) + (("rust-lazycell" ,rust-lazycell-1)))))) (define-public rust-capnp-0.13 (package @@ -5498,6 +5654,31 @@ chain, the first matching branch is the item that gets emitted.") (description "Date and time library for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-chrono-tz-0.5 + (package + (name "rust-chrono-tz") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "chrono-tz" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "085i4940kn0fn4gkl3xi1kv3vp2frhfig1vla1i461pcbwas6m15")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/chronotope/chrono-tz") + (synopsis "TimeZone implementations for rust-chrono from the IANA database") + (description + "Chrono-TZ is a library that provides implementors of the +TimeZone trait for @code{rust-chrono}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ci-info-0.3 (package (name "rust-ci-info") @@ -5749,8 +5930,32 @@ Command Line Argument Parser.") colorization.") (license license:expat))) +(define-public rust-clipboard-win-3 + (package + (name "rust-clipboard-win") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "clipboard-win" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0hh3npqfa1lfn62fwvkmjlpfnizq343a994b898ffsvb100mxpwz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-bytes-cast" ,rust-lazy-bytes-cast-5) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/DoumanAsh/clipboard-win") + (synopsis "Simple way to interact with Windows clipboard") + (description + "This package provides simple way to interact with Windows clipboard.") + (license license:expat))) + (define-public rust-clipboard-win-2.1 (package + (inherit rust-clipboard-win-3) (name "rust-clipboard-win") (version "2.1.2") (source @@ -5762,15 +5967,9 @@ colorization.") (sha256 (base32 "0431sg4jhabrqf2dliiwhbx9hinb9z4qfcm6914lm5mb17ya5798")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests are for Windows. - #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/DoumanAsh/clipboard-win") - (synopsis "Interact with Windows clipboard") - (description - "This package provides simple way to interact with Windows clipboard.") - (license license:expat))) + #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-clippy-0.0 (package @@ -5916,8 +6115,84 @@ CMAKE environmental variable is set.") (license (list license:asl2.0 license:expat)))) +(define-public rust-cocoa-0.24 + (package + (name "rust-cocoa") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0cp8hsajmi7gini22bmlsf9dac7cap7x1k169vxhwlr3j8p90qvg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa-foundation" ,rust-cocoa-foundation-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Cocoa for macOS") + (description "This package provides bindings to Cocoa for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cocoa-0.23 + (package + (inherit rust-cocoa-0.24) + (name "rust-cocoa") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1cj4c2axmg7aiid2786mpzj7wxpd582biv7c7yimqfnggp002hn5")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa-foundation" ,rust-cocoa-foundation-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))))) + +(define-public rust-cocoa-0.22 + (package + (inherit rust-cocoa-0.23) + (name "rust-cocoa") + (version "0.22.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19qyyv01yzrm6aahn6cdxvb4jhl6v4fj0cgqkxmq38i7hq3dqzv6")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.21) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))))) + (define-public rust-cocoa-0.19 (package + (inherit rust-cocoa-0.22) (name "rust-cocoa") (version "0.19.1") (source @@ -5929,7 +6204,6 @@ CMAKE environmental variable is set.") (sha256 (base32 "0034vahbfv574q4b63rj241b8rnka5cjiqsqc6wiggnin9l7g7zj")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; only for macOS #:cargo-inputs @@ -5939,11 +6213,7 @@ CMAKE environmental variable is set.") ("rust-core-graphics" ,rust-core-graphics-0.17) ("rust-foreign-types" ,rust-foreign-types-0.3) ("rust-libc" ,rust-libc-0.2) - ("rust-objc" ,rust-objc-0.2)))) - (home-page "https://github.com/servo/core-foundation-rs") - (synopsis "Bindings to Cocoa for macOS") - (description "Bindings to Cocoa for macOS.") - (license (list license:expat license:asl2.0)))) + ("rust-objc" ,rust-objc-0.2)))))) (define-public rust-cocoa-0.18 (package @@ -5960,6 +6230,34 @@ CMAKE environmental variable is set.") (base32 "0m6fgdr4d2fp8jhkqvwr23hrqqqjv72g0j9vdgijc58k05j9j1hp")))))) +(define-public rust-cocoa-foundation-0.1 + (package + (name "rust-cocoa-foundation") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa-foundation" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0633ipbd28z35rsdmsl505f1aasrjsrrnirs826aa32nbnv4kpks")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics-types" ,rust-core-graphics-types-0.1) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Cocoa Foundation for macOS") + (description + "This package provides bindings to Cocoa Foundation for macOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-codespan-reporting-0.9 (package (name "rust-codespan-reporting") @@ -6062,8 +6360,43 @@ programming languages.") (sha256 (base32 "0fildacm47g86acmx44yvxx6cka8fdym5qkgfm8x8gh2hsrghc7r")))))) +(define-public rust-combine-4 + (package + (name "rust-combine") + (version "4.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "combine" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0zkvqp21fbhznf7sjssdiw3zgx3x3q8w10c9mmjdzkf0wjsnjhyc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-bytes" ,rust-bytes-1) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-memchr" ,rust-memchr-2) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio" ,rust-tokio-0.3)))) + (home-page "https://github.com/Marwes/combine") + (synopsis "Parser combinators on arbitrary streams with zero-copy support") + (description + "This package is an implementation of parser combinators for Rust, +inspired by the Haskell library Parsec. As in Parsec the parsers are LL(1) by +default but they can opt-in to arbitrary lookahead using the attempt +combinator.") + (license license:expat))) + (define-public rust-combine-3 (package + (inherit rust-combine-4) (name "rust-combine") (version "3.8.1") (source @@ -6073,7 +6406,6 @@ programming languages.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1006sbl3ybiky3d5q28p0lyph37hk7sipls1rkhikv11lfxacgfs")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-ascii" ,rust-ascii-0.9) @@ -6088,15 +6420,7 @@ programming languages.") ("rust-bytes" ,rust-bytes-0.4) ("rust-futures" ,rust-futures-0.1) ("rust-partial-io" ,rust-partial-io-0.3) - ("rust-tokio-codec" ,rust-tokio-codec-0.1)))) - (home-page "https://github.com/Marwes/combine") - (synopsis "Parser combinators on arbitrary streams with zero-copy support") - (description - "This package is an implementation of parser combinators for Rust, -inspired by the Haskell library Parsec. As in Parsec the parsers are LL(1) by -default but they can opt-in to arbitrary lookahead using the attempt -combinator.") - (license license:expat))) + ("rust-tokio-codec" ,rust-tokio-codec-0.1)))))) (define-public rust-combine-regex-1-1 (package @@ -6638,6 +6962,34 @@ Split from the user_agent crate.") the standard library.") (license (list license:expat license:asl2.0)))) +(define-public rust-copypasta-0.7 + (package + (name "rust-copypasta") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "copypasta" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02zz6yndszmzr5yjhn11g1hsj0232jbzl8gch6mxksw3xngxf8s4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clipboard-win" ,rust-clipboard-win-3) + ("rust-objc" ,rust-objc-0.2) + ("rust-objc-foundation" ,rust-objc-foundation-0.1) + ("rust-objc-id" ,rust-objc-id-0.1) + ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.6) + ("rust-x11-clipboard" ,rust-x11-clipboard-0.5)))) + (home-page "https://github.com/alacritty/copypasta") + (synopsis "Get and set the contents of the OS-level clipboard") + (description + "Copypasta is a cross-platform library for getting and setting the +contents of the OS-level clipboard.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cordic-0.1 (package (name "rust-cordic") @@ -6921,8 +7273,33 @@ intrinsics.") #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-core-text-19 + (package + (name "rust-core-text") + (version "19.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-text" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0q1sr55v8zq82y0dwnwwksz1radh515i0a45nbsda3w2idpg9iyj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to the Core Text framework") + (description "This package provides bindings to the Core Text framework.") + (license (list license:expat license:asl2.0)))) + (define-public rust-core-text-13 (package + (inherit rust-core-text-19) (name "rust-core-text") (version "13.3.2") (source @@ -6934,19 +7311,13 @@ intrinsics.") (sha256 (base32 "0v9lxn277p39cf81pb45r7k0lzf17pwgd5cpry1c04ajv556b16v")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; only for macOS #:cargo-inputs (("rust-core-foundation" ,rust-core-foundation-0.6) ("rust-core-graphics" ,rust-core-graphics-0.17) ("rust-foreign-types" ,rust-foreign-types-0.3) - ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/servo/core-foundation-rs") - (synopsis "Bindings to the Core Text framework") - (description - "Bindings to the Core Text framework.") - (license (list license:expat license:asl2.0)))) + ("rust-libc" ,rust-libc-0.2)))))) (define-public rust-cpp-demangle-0.2 (package @@ -7270,8 +7641,34 @@ criterion.") (description "Tools for concurrent programming.") (license (list license:expat license:asl2.0)))) +(define-public rust-crossbeam-channel-0.5 + (package + (name "rust-crossbeam-channel") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-channel" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0xfplw54pskl3kyf2q6kw8y2phnq6wn8pqxx003n8qfkz3hnx8nw")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel") + (synopsis "Multi-producer multi-consumer channels for message passing") + (description + "This package provides multi-producer multi-consumer channels for +message passing.") + (license (list license:expat license:asl2.0)))) + (define-public rust-crossbeam-channel-0.4 (package + (inherit rust-crossbeam-channel-0.5) (name "rust-crossbeam-channel") (version "0.4.2") (source @@ -7283,7 +7680,6 @@ criterion.") (sha256 (base32 "0qd05n5bcwafkmbzq1lspwrfi29xnzlw46qarg1sl0lwj68qdvfc")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) @@ -7291,16 +7687,7 @@ criterion.") #:cargo-development-inputs (("rust-num-cpus" ,rust-num-cpus-1) ("rust-rand" ,rust-rand-0.6) - ("rust-signal-hook" ,rust-signal-hook-0.1)))) - (home-page - "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel") - (synopsis - "Multi-producer multi-consumer channels for message passing") - (description - "Multi-producer multi-consumer channels for message passing.") - (license (list license:expat - license:asl2.0 - license:bsd-2)))) + ("rust-signal-hook" ,rust-signal-hook-0.1)))))) (define-public rust-crossbeam-channel-0.3 (package @@ -7324,8 +7711,33 @@ criterion.") ("rust-rand" ,rust-rand-0.6) ("rust-signal-hook" ,rust-signal-hook-0.1)))))) +(define-public rust-crossbeam-deque-0.8 + (package + (name "rust-crossbeam-deque") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-deque" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ad995vzq74k7jd1pgn9zxbacyzj9ii6l0svhlb2dxzy8vxnxbwl")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque") + (synopsis "Concurrent work-stealing deque") + (description "This package provides a concurrent work-stealing deque.") + (license (list license:expat license:asl2.0)))) + (define-public rust-crossbeam-deque-0.7 (package + (inherit rust-crossbeam-deque-0.8) (name "rust-crossbeam-deque") (version "0.7.3") (source @@ -7337,19 +7749,13 @@ criterion.") (sha256 (base32 "11c2c0x5grdba3ah3g94yn6b8s47xi8qwm85h8hq5vmf9nbsy0lz")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.8) ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-maybe-uninit" ,rust-maybe-uninit-2.0)) #:cargo-development-inputs - (("rust-rand" ,rust-rand-0.6)))) - (home-page - "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque") - (synopsis "Concurrent work-stealing deque") - (description "Concurrent work-stealing deque.") - (license (list license:expat license:asl2.0)))) + (("rust-rand" ,rust-rand-0.6)))))) (define-public rust-crossbeam-deque-0.6 (package @@ -7372,8 +7778,36 @@ criterion.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) +(define-public rust-crossbeam-epoch-0.9 + (package + (name "rust-crossbeam-epoch") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-epoch" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17anyfg5azjpmcfidq6wn4phj9h0a0zqcxksi33w44akz4wsgam1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-const-fn" ,rust-const-fn-0.4) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memoffset" ,rust-memoffset-0.6) + ("rust-scopeguard" ,rust-scopeguard-1)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch") + (synopsis "Epoch-based garbage collection") + (description "This package provides an Epoch-based garbage collection.") + (license (list license:expat license:asl2.0)))) + (define-public rust-crossbeam-epoch-0.8 (package + (inherit rust-crossbeam-epoch-0.9) (name "rust-crossbeam-epoch") (version "0.8.2") (source @@ -7385,7 +7819,6 @@ criterion.") (sha256 (base32 "1knsf0zz7rgzxn0nwz5gajjcrivxpw3zrdcp946gdhdgr9sd53h5")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1) @@ -7396,12 +7829,7 @@ criterion.") ("rust-memoffset" ,rust-memoffset-0.5) ("rust-scopeguard" ,rust-scopeguard-1)) #:cargo-development-inputs - (("rust-rand" ,rust-rand-0.6)))) - (home-page - "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch") - (synopsis "Epoch-based garbage collection") - (description "Epoch-based garbage collection.") - (license (list license:expat license:asl2.0)))) + (("rust-rand" ,rust-rand-0.6)))))) (define-public rust-crossbeam-epoch-0.7 (package @@ -7546,6 +7974,41 @@ criterion.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) +(define-public rust-crossfont-0.2 + (package + (name "rust-crossfont") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossfont" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "04p8k0yn19n2pdbiqzwkknakz9c7kdii0i2nf3s3p298ab7ld28h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-core-text" ,rust-core-text-19) + ("rust-dwrote" ,rust-dwrote-0.11) + ("rust-foreign-types" ,rust-foreign-types-0.5) + ("rust-freetype-rs" ,rust-freetype-rs-0.26) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.5) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/alacritty/crossfont") + (synopsis "Native font loading and rasterization") + (description + "Crossfont is a cross-platform Rust library for loading fonts and +rasterizing glyphs, using native font engines whenever possible.") + (license license:asl2.0))) + (define-public rust-crossterm-0.13 (package (name "rust-crossterm") @@ -7631,7 +8094,7 @@ Code} (MAC) algorithms.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rbrq6qy9dl0pj4ym2zy33miaaa8vpzdss60p9bdb58xy46l0d24")))) + "1axfs4zmy74rn9666p92j7nmcv11zdp2d51yrppc2dv26cqa715m")))) (arguments `(#:cargo-inputs (("rust-blobby" ,rust-blobby-0.1) @@ -8458,8 +8921,35 @@ reading attributes into structs when implementing custom derives.") reading attributes into structs when implementing custom derives.") (license license:expat))) +(define-public rust-dashmap-4 + (package + (name "rust-dashmap") + (version "4.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dashmap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1773x18k5m2zw1iyibs8l3wl1p1aijdbrc0w844xys06inr46yp7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-rayon" ,rust-rayon-1) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/xacrimon/dashmap") + (synopsis "Blazing fast concurrent HashMap for Rust.") + (description "This package implements a blazing fast concurrent HashMap +for Rust.") + (license license:expat))) + (define-public rust-dashmap-3 (package + (inherit rust-dashmap-4) (name "rust-dashmap") (version "3.11.10") (source @@ -8480,7 +8970,6 @@ reading attributes into structs when implementing custom derives.") "#![feature(inner_deref)]" "\n" all))) #t)))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.3) @@ -8491,12 +8980,7 @@ reading attributes into structs when implementing custom derives.") (add-after 'unpack 'enable-unstable-features (lambda _ (setenv "RUSTC_BOOTSTRAP" "1") - #t))))) - (home-page "https://github.com/xacrimon/dashmap") - (synopsis "Blazing fast concurrent HashMap for Rust") - (description "This package implements a blazing fast concurrent HashMap -for Rust.") - (license license:expat))) + #t))))))) (define-public rust-data-encoding-2 (package @@ -9004,6 +9488,26 @@ traits for both structs and enums.") structs and enums.") (license license:expat))) +(define-public rust-deunicode-0.4 + (package + (name "rust-deunicode") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "deunicode" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "146nc3wlwz2j9awwf7zf76qvjcahnls0mlv9jm6clcvr9dlph245")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://lib.rs/crates/deunicode") + (synopsis "Convert Unicode strings to pure ASCII") + (description + "This package converts Unicode strings to pure ASCII by +intelligently transliterating them. It supports Emoji and Chinese.") + (license license:bsd-3))) + (define-public rust-dialoguer-0.6 (package (name "rust-dialoguer") @@ -9357,7 +9861,7 @@ Directory guidelines on macOS.") standard locations of directories for config, cache and other data.") (license (list license:expat license:asl2.0)))) -(define-public rust-dirs-2.0 +(define-public rust-dirs-2 (package (inherit rust-dirs-3) (name "rust-dirs") @@ -9376,7 +9880,7 @@ standard locations of directories for config, cache and other data.") (define-public rust-dirs-1.0 (package - (inherit rust-dirs-2.0) + (inherit rust-dirs-2) (name "rust-dirs") (version "1.0.5") (source @@ -9486,27 +9990,41 @@ memory but not other memory. This package provides a discard trait which allows for intentionally leaking memory") (license license:expat))) -(define-public rust-dispatch-0.1 +(define-public rust-dispatch-0.2 (package (name "rust-dispatch") - (version "0.1.4") + (version "0.2.0") (source (origin (method url-fetch) (uri (crate-uri "dispatch" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84")))) + (base32 "0fwjr9b7582ic5689zxj8lf7zl94iklhlns3yivrnv8c9fxr635x")))) (build-system cargo-build-system) - (arguments '(#:tests? #f)) ; Tests only run on Mac. + (arguments `(#:skip-build? #t)) (home-page "https://github.com/SSheldon/rust-dispatch") (synopsis "Rust wrapper for Apple's Grand Central Dispatch") (description "This package provides a Rust wrapper for Apple's Grand Central Dispatch.") (license license:expat))) +(define-public rust-dispatch-0.1 + (package + (inherit rust-dispatch-0.2) + (name "rust-dispatch") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "dispatch" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84")))) + (arguments '(#:tests? #f)))) ; Tests only run on Mac. + (define-public rust-dissimilar-1.0 (package (name "rust-dissimilar") @@ -9586,7 +10104,7 @@ from macros.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-which" ,rust-which-2.0)))) + (("rust-which" ,rust-which-2)))) (home-page "https://github.com/assert-rs/docmatic") (synopsis "Test Rust examples in your documentation") (description "Test Rust examples in your documentation.") @@ -9678,28 +10196,7 @@ from macros.") ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-strsim" ,rust-strsim-0.5)))))) -(define-public rust-downcast-rs-1.1 - (package - (name "rust-downcast-rs") - (version "1.1.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "downcast-rs" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1xhs2qj02k9m4mm5fgh19y88850y9jsnwwlblf2ffc91gjs6xfjj")))) - (build-system cargo-build-system) - (home-page "https://github.com/marcianx/downcast-rs") - (synopsis "Trait object downcasting support using only safe Rust") - (description - "Trait object downcasting support using only safe Rust. It supports type -parameters, associated types, and type constraints.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-downcast-rs-1.2 +(define-public rust-downcast-rs-1 (package (name "rust-downcast-rs") (version "1.2.0") @@ -9921,8 +10418,36 @@ floating-point primitives to an @code{io::Write}.") (description "Clone trait that is object-safe") (license (list license:expat license:asl2.0)))) +(define-public rust-dwrote-0.11 + (package + (name "rust-dwrote") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dwrote" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nx6d9ddqjv0gfi1if3zbsnc9sfj6qfm900jfgnx66k1llmir6j3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-wio" ,rust-wio-0.2)))) + (home-page "https://github.com/servo/dwrote-rs") + (synopsis "Lightweight binding to DirectWrite") + (description + "This package provides lightweight binding to DirectWrite.") + (license license:mpl2.0))) + (define-public rust-dwrote-0.9 (package + (inherit rust-dwrote-0.11) (name "rust-dwrote") (version "0.9.0") (source @@ -9934,7 +10459,6 @@ floating-point primitives to an @code{io::Write}.") (sha256 (base32 "03gzl5pd90nlkmwqmbmjmyz47h7wlblbqrwv5a29npnv0ag3dl8b")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -9943,12 +10467,7 @@ floating-point primitives to an @code{io::Write}.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ;("rust-wio" ,rust-wio-0.2) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/servo/dwrote-rs") - (synopsis "Lightweight binding to DirectWrite") - (description - "This package provides lightweight binding to DirectWrite.") - (license license:mpl2.0))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-easy-parallel-3 (package @@ -10111,7 +10630,7 @@ signing, and verification in pure Rust.") @code{Right} is a general purpose sum type with two cases.") (license (list license:expat license:asl2.0)))) -(define-public rust-embed-resource-1.3 +(define-public rust-embed-resource-1 (package (name "rust-embed-resource") (version "1.3.3") @@ -10952,7 +11471,7 @@ blocking data structures.") @code{?} in @code{main}.") (license (list license:expat license:asl2.0)))) -(define-public rust-expat-sys-2.1 +(define-public rust-expat-sys-2 (package (name "rust-expat-sys") (version "2.1.6") @@ -12016,8 +12535,32 @@ values to other threads.") "Bindings for Freetype used by Servo.") (license (list license:asl2.0 license:expat)))) +(define-public rust-freetype-rs-0.26 + (package + (name "rust-freetype-rs") + (version "0.26.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1yzmbd73hlblbns0dqkcwfj54l97hx3yb0lqpda8rhm5s34xxskl")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-freetype-sys" ,rust-freetype-sys-0.13) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/PistonDevelopers/freetype-rs") + (synopsis "Bindings for FreeType font library") + (description "This package provides bindings for FreeType font library.") + (license license:expat))) + (define-public rust-freetype-rs-0.23 (package + (inherit rust-freetype-rs-0.26) (name "rust-freetype-rs") (version "0.23.0") (source @@ -12029,7 +12572,6 @@ values to other threads.") (sha256 (base32 "06yn6l44wad0h0i4nzs5jfq64zgf89xr01fy1w22i90j22ilnkmd")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) @@ -12039,14 +12581,35 @@ values to other threads.") (("rust-unicode-normalization" ,rust-unicode-normalization-0.1)))) (inputs `(("freetype" ,freetype) - ("zlib" ,zlib))) - (home-page "https://github.com/PistonDevelopers/freetype-rs") - (synopsis "Bindings for FreeType font library") - (description "This package provides bindings for FreeType font library.") + ("zlib" ,zlib))))) + +(define-public rust-freetype-sys-0.13 + (package + (name "rust-freetype-sys") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cmake" ,rust-cmake-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/PistonDevelopers/freetype-sys") + (synopsis "Low level binding for FreeType font library") + (description + "This package provides low level binding for FreeType font library.") (license license:expat))) (define-public rust-freetype-sys-0.9 (package + (inherit rust-freetype-sys-0.13) (name "rust-freetype-sys") (version "0.9.0") (source @@ -12058,7 +12621,6 @@ values to other threads.") (sha256 (base32 "1i309xc6gcsgdfiim3j5f0sk08imr4frlzfa185iaxqciysqgikx")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -12066,12 +12628,7 @@ values to other threads.") ("rust-pkg-config" ,rust-pkg-config-0.3)))) (inputs `(("freetype" ,freetype) - ("zlib" ,zlib))) - (home-page "https://github.com/PistonDevelopers/freetype-sys") - (synopsis "Low level binding for FreeType font library") - (description - "This package provides low level binding for FreeType font library.") - (license license:expat))) + ("zlib" ,zlib))))) (define-public rust-fs2-0.4 (package @@ -13771,15 +14328,14 @@ path simultaneously, and returning all of the globs that matched.") (define-public rust-globwalk-0.8 (package (name "rust-globwalk") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (crate-uri "globwalk" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0ihld70ngnri1qd8sd61099yfzcl6iqn17rfa102q1bl6ck710hp")))) + (base32 "1k6xwkydr7igvwjn3xkwjywk4213lcs53f576ilqz1h84jaazqwk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -13978,7 +14534,7 @@ loading crate.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-regex" ,rust-regex-1) - ("rust-same-file" ,rust-same-file-1.0) + ("rust-same-file" ,rust-same-file-1) ("rust-termcolor" ,rust-termcolor-1) ("rust-winapi-util" ,rust-winapi-util-0.1)))) (home-page @@ -15607,36 +16163,34 @@ let} expressions.") (define-public rust-ignore-0.4 (package (name "rust-ignore") - (version "0.4.16") + (version "0.4.17") (source (origin (method url-fetch) (uri (crate-uri "ignore" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0wpcv4qgfzcyzydhlqa2qr56j72fj1a66s11xzdji59898mbzp12")))) + (base32 "1347mxd0cwiidcl0qvixl7za524x5ds0izv8vjh2df0bqr2zp1xj")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) ("rust-globset" ,rust-globset-0.4) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-memchr" ,rust-memchr-2) ("rust-regex" ,rust-regex-1) - ("rust-same-file" ,rust-same-file-1.0) + ("rust-same-file" ,rust-same-file-1) ("rust-thread-local" ,rust-thread-local-1) ("rust-walkdir" ,rust-walkdir-2) ("rust-winapi-util" ,rust-winapi-util-0.1)) #:cargo-development-inputs - (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4)))) - (home-page "https://github.com/BurntSushi/ripgrep/tree/master/ignore") - (synopsis "Efficiently match ignore files such as .gitignore") + (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)))) + (home-page "https://github.com/BurntSushi/ripgrep/tree/master/crates/ignore") + (synopsis "Efficiently match ignore files such as @file{.gitignore}") (description "This package provides a fast library for efficiently matching -ignore files such as .gitignore against file paths.") +ignore files such as @file{.gitignore} against file paths.") (license (list license:unlicense license:expat)))) (define-public rust-indexmap-1 @@ -15710,6 +16264,33 @@ or numerical index. A corresponding hash set type is also provided.") Rust.") (license license:expat))) +(define-public rust-indoc-1 + (package + (name "rust-indoc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "indoc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0diih20xsxjb159nr0dq6jxnyhq7gg10dlsnh2siikphmvm5m9z5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #true + #:cargo-inputs + (("rust-unindent" ,rust-unindent-0.1)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dtolnay/indoc") + (synopsis "Indented document literals for Rust") + (description + "This crate provides a procedural macro for indented string literals. +The @code{indoc!()} macro takes a multiline string literal and un-indents it +at compile time so the leftmost non-space character is in the first column.") + (license (list license:expat license:asl2.0)))) + (define-public rust-infer-0.2 (package (name "rust-infer") @@ -16639,25 +17220,25 @@ primitives to an @code{io::Write}.") (native-inputs `(("jemalloc" ,jemalloc))))) -(define-public rust-jni-0.14 +(define-public rust-jni-0.18 (package (name "rust-jni") - (version "0.14.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (crate-uri "jni" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "00jl4jzzbbcf1nyziras5drp501xsk89g0132pwg194ilh6k308r")))) + (base32 "1brglk3kfia9wkr6rkm6p297b8qk6rv3k8rf6jjiqc74l49735i4")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-cesu8" ,rust-cesu8-1) - ("rust-combine" ,rust-combine-3) - ("rust-error-chain" ,rust-error-chain-0.12) + ("rust-combine" ,rust-combine-4) ("rust-jni-sys" ,rust-jni-sys-0.3) ("rust-log" ,rust-log-0.4) + ("rust-thiserror" ,rust-thiserror-1) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)))) @@ -16670,6 +17251,29 @@ code from Rust, embed JVM in Rust applications and use any Java libraries.") (license (list license:expat license:asl2.0)))) +(define-public rust-jni-0.14 + (package + (inherit rust-jni-0.18) + (name "rust-jni") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "jni" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "00jl4jzzbbcf1nyziras5drp501xsk89g0132pwg194ilh6k308r")))) + (arguments + `(#:cargo-inputs + (("rust-cesu8" ,rust-cesu8-1) + ("rust-combine" ,rust-combine-3) + ("rust-error-chain" ,rust-error-chain-0.12) + ("rust-jni-sys" ,rust-jni-sys-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-walkdir" ,rust-walkdir-2)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1)))))) + (define-public rust-jni-glue-0.0 (package (name "rust-jni-glue") @@ -16791,6 +17395,73 @@ friction with idiomatic Rust structs to ease interopability.") (license (list license:asl2.0 license:expat)))) +(define-public rust-juniper-codegen-0.14 + (package + (name "rust-juniper-codegen") + (version "0.14.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "juniper_codegen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06ym8568k9p75kvnfc4ywqbkzaa4ib6gngx9vpbsjwg9v0sg42nl")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #false ;FIXME: fail due to unresolved import + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-juniper" ,rust-juniper-0.14)))) + (home-page "https://github.com/graphql-rust/juniper") + (synopsis "Internal custom derive trait for Juniper GraphQL") + (description + "This package provides an internal custom derive trait for Juniper +GraphQL.") + (license license:bsd-2))) + +(define-public rust-juniper-0.14 + (package + (name "rust-juniper") + (version "0.14.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "juniper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0s56rb31yddhvjynl5bk8jihcdln8h5yfsx63kfxdhzvw98vlqpn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-fnv" ,rust-fnv-1) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-juniper-codegen" ,rust-juniper-codegen-0.14) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-url" ,rust-url-2) + ("rust-uuid" ,rust-uuid-0.7)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/graphql-rust/juniper") + (synopsis "GraphQL server library for Rust") + (description + "Juniper makes it possible to write GraphQL servers in Rust that are +type-safe and fast. It also tries to make declaring and resolving GraphQL +schemas convenient. + +Juniper does not include a web server. Instead it provides building blocks to +make integration with existing servers straightforward. It optionally +provides a pre-built integration for the Actix, Hyper, Iron, Rocket, and Warp +frameworks, including embedded Graphiql and GraphQL Playground for easy +debugging.") + (license license:bsd-2))) + (define-public rust-keccak-0.1 (package (name "rust-keccak") @@ -17083,6 +17754,25 @@ generated by LALRPOP.") (sha256 (base32 "0z4bjn3g9232n1im5p6mn9mwlvw5aj5iac6hbjmljqxkhf3d2xy2")))))) +(define-public rust-lazy-bytes-cast-5 + (package + (name "rust-lazy-bytes-cast") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazy-bytes-cast" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0sr0dy1jfg7bjwm9js4hk0ngl0cmgparq2idv1m1bkc9y2cp898h")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/DoumanAsh/lazy-bytes-cast") + (synopsis "Lazy casts from and to byte arrays") + (description + "This crate provides simple methods to cast from and into byte arrays.") + (license license:boost1.0))) + (define-public rust-lazy-static-1.4 (package (name "rust-lazy-static") @@ -17486,18 +18176,11 @@ library.") (uri (crate-uri "libloading" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Enable unstable features - (substitute* "src/lib.rs" - (("//! A memory" all) - (string-append "#![feature(non_exhaustive)]\n" all))))))) + (base32 "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:skip-build? #true + #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs @@ -18317,6 +19000,30 @@ by inspecting the system for user preference.") `(#:cargo-inputs (("rust-log" ,rust-log-0.4)))))) +(define-public rust-logtest-2 + (package + (name "rust-logtest") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "logtest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "09ihwkq6z7xm6wdwxmc9mz74lsl20g5bi7fcdm8n87bwcnl46gpb")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #false + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4)) + #:cargo-development-inputs + (("rust-kv-log-macro" ,rust-kv-log-macro-1)))) + (home-page "https://github.com/yoshuawuyts/logtest") + (synopsis "Test and assert log statements") + (description "This package tests and asserts log statements.") + (license (list license:expat license:asl2.0)))) + (define-public rust-loom-0.4 (package (name "rust-loom") @@ -19135,8 +19842,53 @@ file IO.") #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3)))))) +(define-public rust-memmap2-0.1 + (package + (name "rust-memmap2") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "memmap2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nmymqy9q62x577ydja0ysfyir7h5qa0n5fwcnvchfhhlsi0rdyr")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/RazrFalcon/memmap2-rs") + (synopsis "Cross-platform Rust API for memory-mapped file IO") + (description "This package provides a Rust API for memory-mapped file IO.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-memoffset-0.6 + (package + (name "rust-memoffset") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "memoffset" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11yxgw330cf8g4wy0fnb20ag8gg1b33fsnfmg2g8z6h5wc444yqm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-autocfg" ,rust-autocfg-1)))) + (home-page "https://github.com/Gilnaa/memoffset") + (synopsis "C-like offset_of functionality for Rust structs") + (description + "This package provides C-like @code{offset_of} functionality +for Rust structs.") + (license license:expat))) + (define-public rust-memoffset-0.5 (package + (inherit rust-memoffset-0.6) (name "rust-memoffset") (version "0.5.3") (source @@ -19148,19 +19900,12 @@ file IO.") (sha256 (base32 "1fblqzc25hfaym8m0pj112s66pqq87avvaqm5hp5rskib2w9w63m")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3)))) - (home-page "https://github.com/Gilnaa/memoffset") - (synopsis - "C-like offset_of functionality for Rust structs") - (description "This package provides C-like @code{offset_of} functionality -for Rust structs.") - (license license:expat))) + (("rust-doc-comment" ,rust-doc-comment-0.3)))))) (define-public rust-memoffset-0.2 (package @@ -19314,8 +20059,35 @@ based on Rustls and Ring.") (description "Run pkg-config from declarative dependencies in Cargo.toml.") (license (list license:expat license:asl2.0)))) +(define-public rust-metal-0.18 + (package + (name "rust-metal") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "metal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08n3kfv78jm3pf7fafwfv67n40lgcdg7w9lqn9g4sdvfwdk90vrf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa" ,rust-cocoa-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/gfx-rs/metal-rs") + (synopsis "Rust bindings for Metal") + (description "This package provides Rust bindings for Metal.") + (license (list license:expat license:asl2.0)))) + (define-public rust-metal-0.14 (package + (inherit rust-metal-0.18) (name "rust-metal") (version "0.14.0") (source @@ -19327,7 +20099,6 @@ based on Rustls and Ring.") (sha256 (base32 "0my1xwlv562i80y3jbk0nygayi383j5skdwk48clb286b7922gyd")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -19343,11 +20114,7 @@ based on Rustls and Ring.") ("rust-objc-id" ,rust-objc-id-0.1)) #:cargo-development-inputs (("rust-sema" ,rust-sema-0.1) - ("rust-winit" ,rust-winit-0.19)))) ; 0.17? - (home-page "https://github.com/gfx-rs/metal-rs") - (synopsis "Rust bindings for Metal") - (description "Rust bindings for Metal.") - (license (list license:expat license:asl2.0)))) + ("rust-winit" ,rust-winit-0.19)))))) ; 0.17? (define-public rust-mimalloc-0.1 (package @@ -21517,6 +22284,62 @@ primitives and enums easier.") primitives and enums easier.") (license license:bsd-3))) +(define-public rust-num-format-0.4 + (package + (name "rust-num-format") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-format" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0r94i9lhr15hk32494v9my31r0829w29yyp7iql98a1cf9wl3zms")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.4) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-num-format-windows" ,rust-num-format-windows-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-widestring" ,rust-widestring-0.4) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/bcmyers/num-format") + (synopsis "Produce string-representations of numbers") + (description + "This package provides a Rust crate for producing string-representations +of numbers, formatted according to international standards.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-num-format-windows-0.3 + (package + (name "rust-num-format-windows") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-format-windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1sy5jxrbhv6s28c51ibzi34s8qcjm8b21nf7biray7v1qi89h5sf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.47)))) + (home-page "https://github.com/bcmyers/num-format/num-format-windows") + (synopsis "Helper crate for @code{num-format}") + (description + "This package provides a helper crate for num-format. Do not use it +directly.") + (license (list license:expat license:asl2.0)))) + (define-public rust-num-integer-0.1 (package (name "rust-num-integer") @@ -22522,6 +23345,28 @@ under its new name.") "Utility to activate escape codes in Windows' CMD and PowerShell.") (license license:expat))) +(define-public rust-owned-ttf-parser-0.6 + (package + (name "rust-owned-ttf-parser") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "owned_ttf_parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1qydjksjcllf0pnm0jkjvbg4n52wfcwv59dl5b06cqn40sw3z4lz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ttf-parser" ,rust-ttf-parser-0.6)))) + (home-page "https://github.com/alexheretic/owned-ttf-parser") + (synopsis "TTF-parser plus support for owned data") + (description + "This package provides a TTF-parser plus support for owned data.") + (license license:asl2.0))) + (define-public rust-owning-ref-0.4 (package (name "rust-owning-ref") @@ -22813,18 +23658,18 @@ unparking.") (define-public rust-parking-lot-0.11 (package (name "rust-parking-lot") - (version "0.11.0") + (version "0.11.1") (source (origin (method url-fetch) (uri (crate-uri "parking_lot" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0cw73942xhxb7a49mp9gkjnlwc8acr30wpfs8zk758icz92ki2d4")))) + (base32 "1sqmgaia8zfd5fbnqw2w13ijh7crk3lf9vw4cb52vwlx0an48xvd")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-instant" ,rust-instant-0.1) ("rust-lock-api" ,rust-lock-api-0.4) ("rust-parking-lot-core" ,rust-parking-lot-core-0.8)) @@ -22832,9 +23677,11 @@ unparking.") (("rust-bincode" ,rust-bincode-1) ("rust-rand" ,rust-rand-0.7)))) (home-page "https://github.com/Amanieu/parking_lot") - (synopsis "More compact and efficient implementations of the standard synchronization primitives") - (description "This package provides more compact and efficient -implementations of the standard synchronization primitives.") + (synopsis + "Efficient implementations of the standard synchronization primitives") + (description + "This package provides more compact and efficient implementations +of the standard synchronization primitives.") (license (list license:asl2.0 license:expat)))) (define-public rust-parking-lot-0.10 @@ -23080,6 +23927,28 @@ synchronization primitives.") ("rust-winapi" ,rust-winapi-0.3) ("rust-rustc-version" ,rust-rustc-version-0.2)))))) +(define-public rust-parse-zoneinfo-0.3 + (package + (name "rust-parse-zoneinfo") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parse-zoneinfo" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0h8g6jy4kckn2gk8sd5adaws180n1ip65xhzw5jxlq4w8ibg41f7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-regex" ,rust-regex-1)))) + (home-page "") + (synopsis "Parse zoneinfo files from the IANA database") + (description + "This packages parses zoneinfo files from the IANA database.") + (license license:expat))) + (define-public rust-partial-io-0.3 (package (name "rust-partial-io") @@ -26077,19 +26946,48 @@ that must be shared-mutable, but merely may use atomic instructions to do so.") radix.") (license license:asl2.0))) +(define-public rust-rand-0.8 + (package + (name "rust-rand") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "07lb17qj02bi17mhqxlmsiyf4g8cmplm6hbiw5hxc900li19nl8q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-packed-simd-2" ,rust-packed-simd-2-0.3) + ("rust-rand-chacha" ,rust-rand-chacha-0.3) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-rand-hc" ,rust-rand-hc-0.3) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://crates.io/crates/rand") + (synopsis "Random number generators and other randomness functionality") + (description + "Rand provides utilities to generate random numbers, to convert them to +useful types and distributions, and some randomness-related algorithms.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rand-0.7 (package + (inherit rust-rand-0.8) (name "rust-rand") (version "0.7.3") (source - (origin - (method url-fetch) - (uri (crate-uri "rand" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva")))) - (build-system cargo-build-system) + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva")))) (arguments `(#:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.1) @@ -26102,14 +27000,7 @@ radix.") ("rust-rand-pcg" ,rust-rand-pcg-0.2)) #:cargo-development-inputs (("rust-rand-hc" ,rust-rand-hc-0.2) - ("rust-rand-pcg" ,rust-rand-pcg-0.2)))) - (home-page "https://crates.io/crates/rand") - (synopsis "Random number generators and other randomness functionality") - (description - "Rand provides utilities to generate random numbers, to convert them to -useful types and distributions, and some randomness-related algorithms.") - (license (list license:asl2.0 - license:expat)))) + ("rust-rand-pcg" ,rust-rand-pcg-0.2)))))) (define-public rust-rand-0.6 (package @@ -26211,8 +27102,32 @@ useful types and distributions, and some randomness-related algorithms.") (("rust-libc" ,rust-libc-0.2) ("rust-rand" ,rust-rand-0.4)))))) +(define-public rust-rand-chacha-0.3 + (package + (name "rust-rand-chacha") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_chacha" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "03df2xh5nbdvwr17qm3sviaxa95r8yhm1nil2pr0pqf90p7ka9z1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ppv-lite86" ,rust-ppv-lite86-0.2) + ("rust-rand-core" ,rust-rand-core-0.6)))) + (home-page "https://crates.io/crates/rand_chacha") + (synopsis "ChaCha random number generator") + (description + "This package provides the ChaCha random number generator.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rand-chacha-0.2 (package + (inherit rust-rand-chacha-0.3) (name "rust-rand-chacha") (version "0.2.2") (source @@ -26224,15 +27139,10 @@ useful types and distributions, and some randomness-related algorithms.") (sha256 (base32 "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-c2-chacha" ,rust-c2-chacha-0.2) - ("rust-rand-core" ,rust-rand-core-0.5)))) - (home-page "https://crates.io/crates/rand-chacha") - (synopsis "ChaCha random number generator") - (description "ChaCha random number generator.") - (license (list license:asl2.0 license:expat)))) + ("rust-rand-core" ,rust-rand-core-0.5)))))) (define-public rust-rand-chacha-0.1 (package @@ -26253,8 +27163,33 @@ useful types and distributions, and some randomness-related algorithms.") #:cargo-development-inputs (("rust-autocfg" ,rust-autocfg-0.1)))))) +(define-public rust-rand-core-0.6 + (package + (name "rust-rand-core") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1rfjrcyaj7blz2nawv2pypm5kqc59p80n6f5pg691399iggxf9n0")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-getrandom" ,rust-getrandom-0.2) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://rust-random.github.io/book") + (synopsis "Core random number generator traits and tools") + (description + "This package provides core random number generator traits and +tools for implementation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rand-core-0.5 (package + (inherit rust-rand-core-0.6) (name "rust-rand-core") (version "0.5.1") (source @@ -26266,17 +27201,10 @@ useful types and distributions, and some randomness-related algorithms.") (sha256 (base32 "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.1) - ("rust-serde" ,rust-serde-1)))) - (home-page "https://crates.io/crates/rand-core") - (synopsis - "Core random number generator traits and tools for implementation") - (description - "Core random number generator traits and tools for implementation.") - (license (list license:expat license:asl2.0)))) + ("rust-serde" ,rust-serde-1)))))) (define-public rust-rand-core-0.4 (package @@ -26359,8 +27287,32 @@ useful types and distributions, and some randomness-related algorithms.") "Sampling from random number distributions.") (license (list license:expat license:asl2.0)))) +(define-public rust-rand-hc-0.3 + (package + (name "rust-rand-hc") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_hc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0wra6ar22zdjkry9dsq1mg620m4h3qb9s8rfykkz4im4crqfz41i")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.6)))) + (home-page "https://crates.io/crates/rand_hc") + (synopsis "HC128 random number generator") + (description "This package provides a cryptographically secure random number +generator that uses the HC-128 algorithm.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rand-hc-0.2 (package + (inherit rust-rand-hc-0.3) (name "rust-rand-hc") (version "0.2.0") (source @@ -26371,16 +27323,9 @@ useful types and distributions, and some randomness-related algorithms.") (sha256 (base32 "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-rand-hc" ,rust-rand-core-0.5)))) - (home-page "https://crates.io/crates/rand_hc") - (synopsis "HC128 random number generator") - (description "This package provides a cryptographically secure random number -generator that uses the HC-128 algorithm.") - (license (list license:asl2.0 - license:expat)))) + (("rust-rand-hc" ,rust-rand-core-0.5)))))) (define-public rust-rand-hc-0.1 (package @@ -26858,21 +27803,19 @@ accessors.") (define-public rust-rayon-1 (package (name "rust-rayon") - (version "1.3.1") + (version "1.5.0") (source (origin (method url-fetch) (uri (crate-uri "rayon" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "104h6i5lcp9kx8g80jgqf6z7wcqa186q57wj4qzf011xfmb2iw32")))) + (base32 "0x2n4zkrm6z3avdfh7zgcwx0wq6hx8332dx89v3j1p7s3448w3cb")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1) - ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8) ("rust-either" ,rust-either-1) ("rust-rayon-core" ,rust-rayon-core-1)) #:cargo-development-inputs @@ -26884,7 +27827,8 @@ accessors.") (home-page "https://github.com/rayon-rs/rayon") (synopsis "Simple work-stealing parallelism for Rust") (description - "Simple work-stealing parallelism for Rust.") + "This package provides a simple work-stealing parallelism for +Rust.") (license (list license:asl2.0 license:expat)))) (define-public rust-rayon-0.8 @@ -26913,25 +27857,23 @@ accessors.") (define-public rust-rayon-core-1 (package (name "rust-rayon-core") - (version "1.7.1") + (version "1.9.0") (source (origin (method url-fetch) (uri (crate-uri "rayon-core" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "101jjwkcfw5jk31695gbdm163iicc2pz349q6l8lwj43j3c1abp9")))) + (base32 "0jpsi8zf66xyx4m5f329lpgiql8775vpm6zqm7zn5p11b6n4dcws")))) (build-system cargo-build-system) (arguments - `(;; One of the tests attempts to overflow the stack, but the compiler - ;; has since gotten smarter and the test became defective. - #:tests? #f + ;; One of the tests attempts to overflow the stack, but the compiler has + ;; since gotten smarter and the test became defective. + `(#:tests? #f #:cargo-inputs - (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) - ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2) - ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) + (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-cpus" ,rust-num-cpus-1)) #:cargo-development-inputs @@ -26941,8 +27883,8 @@ accessors.") ("rust-scoped-tls" ,rust-scoped-tls-1)))) (home-page "https://github.com/rayon-rs/rayon") (synopsis "Core APIs for Rayon") - (description "Core APIs for Rayon.") - (license (list license:expat license:asl2.0)))) + (description "This package provides core APIs for Rayon.") + (license (list license:asl2.0 license:expat)))) (define-public rust-rctree-0.3 (package @@ -27199,15 +28141,14 @@ functionality.") (define-public rust-regex-1 (package (name "rust-regex") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (crate-uri "regex" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "172bw2yryv65whn3n5vkww4kgk0bq08lx0zbln8xwia7xl9jrkrq")))) + (base32 "12llbg82js69mdl50lav4yn1iqlx71ckb18dww467q99w4wi49fr")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -27320,21 +28261,20 @@ uses finite automata and guarantees linear time matching on all inputs.") (define-public rust-regex-syntax-0.6 (package (name "rust-regex-syntax") - (version "0.6.21") + (version "0.6.22") (source (origin (method url-fetch) (uri (crate-uri "regex-syntax" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12d176jkgw9749g07zjxz0n78nyvb2nqx3j4sp5aqyphvji1n61v")))) + (base32 "10b56ylil35jkb4nwqxm8hbyx3zq7fws0wpydjln165s8xql3sxm")))) (build-system cargo-build-system) (home-page "https://github.com/rust-lang/regex") (synopsis "Regular expression parser") (description "This package provides a regular expression parser.") - (license (list license:asl2.0 - license:expat)))) + (license (list license:expat license:asl2.0)))) (define-public rust-regex-syntax-0.5 (package @@ -27861,6 +28801,25 @@ Rust Language Server.") (;("rust-serde-bytes" ,rust-serde-bytes-0.10) ("rust-serde-json" ,rust-serde-json-1)))))) +(define-public rust-route-recognizer-0.2 + (package + (name "rust-route-recognizer") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "route-recognizer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17mmnyzg7yr5x84n28y6bll1qn21g11k61p6sgg2fjf0xdshcxsn")))) + (build-system cargo-build-system) + (home-page "https://github.com/http-rs/route-recognizer") + (synopsis "Recognizes URL patterns") + (description + "This package helps recognizing URL patterns with support for dynamic and +wildcard segments") + (license license:expat))) + (define-public rust-rspec-1 (package (name "rust-rspec") @@ -29115,8 +30074,41 @@ native certificate store.") (license (list license:asl2.0 license:isc license:expat)))) +(define-public rust-rusttype-0.9 + (package + (name "rust-rusttype") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rusttype" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ngcwn7d2dybjrylga3gpxm3k3mcw3m405hcp32iignhvrx74z6w")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ab-glyph-rasterizer" ,rust-ab-glyph-rasterizer-0.1) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) + ("rust-libm" ,rust-libm-0.2) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-owned-ttf-parser" ,rust-owned-ttf-parser-0.6) + ("rust-rustc-hash" ,rust-rustc-hash-1)))) + (home-page "https://gitlab.redox-os.org/redox-os/rusttype") + (synopsis "Pure Rust alternative to libraries like FreeType") + (description + "This package provides a pure Rust alternative to libraries like FreeType. +RustType provides an API for loading, querying and rasterising TrueType fonts. +It also provides an implementation of a dynamic GPU glyph cache for hardware +font rendering.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rusttype-0.8 (package + (inherit rust-rusttype-0.9) (name "rust-rusttype") (version "0.8.2") (source @@ -29128,7 +30120,6 @@ native certificate store.") (sha256 (base32 "12hwfg85iii7sbgsyyr23yw862dzp7f8zwn9xv5iqydm5w1i3a8l")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Artifacts for tests not included. #:cargo-inputs @@ -29141,15 +30132,7 @@ native certificate store.") ("rust-num-cpus" ,rust-num-cpus-1) ("rust-ordered-float" ,rust-ordered-float-1.0) ("rust-rustc-hash" ,rust-rustc-hash-1) - ("rust-stb-truetype" ,rust-stb-truetype-0.3)))) - (home-page "https://gitlab.redox-os.org/redox-os/rusttype") - (synopsis "Pure Rust alternative to libraries like FreeType") - (description - "This package provides a pure Rust alternative to libraries like FreeType. -RustType provides an API for loading, querying and rasterising TrueType fonts. -It also provides an implementation of a dynamic GPU glyph cache for hardware -font rendering.") - (license (list license:expat license:asl2.0)))) + ("rust-stb-truetype" ,rust-stb-truetype-0.3)))))) (define-public rust-rusttype-0.7 (package @@ -29384,7 +30367,7 @@ quickly convert floating point numbers to decimal strings.") (license (list license:asl2.0 license:expat)))) -(define-public rust-same-file-1.0 +(define-public rust-same-file-1 (package (name "rust-same-file") (version "1.0.6") @@ -29412,7 +30395,7 @@ paths point to the same file.") (define-public rust-same-file-0.1 (package - (inherit rust-same-file-1.0) + (inherit rust-same-file-1) (name "rust-same-file") (version "0.1.3") (source @@ -30789,15 +31772,14 @@ for the serde framework.") (define-public rust-serde-json-1 (package (name "rust-serde-json") - (version "1.0.60") + (version "1.0.61") (source (origin (method url-fetch) - (uri (crate-uri "serde-json" version)) + (uri (crate-uri "serde_json" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0yapc7xxk8dx12691yj0l13008rgvknmc6krvk8jwj7y4x6yh00m")))) + (base32 "0nijvxvgcncvd1wbn73zx7q14bdxah0gf2789qd8kdjpa1cv5kjg")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -31087,32 +32069,28 @@ the application/x-www-form-urlencoded format.") (define-public rust-serde-yaml-0.8 (package (name "rust-serde-yaml") - (version "0.8.11") + (version "0.8.15") (source (origin (method url-fetch) (uri (crate-uri "serde_yaml" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0d9wdjrlx9gxg80kzc6pvdwz5pwhja2n8n0bxja9vv61kzqif6v9")))) + (base32 "17q8rshlq56z6zna7wxhk9pihna3s5qdz8q5niip396lwkvfh6wp")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-dtoa" ,rust-dtoa-0.4) ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) ("rust-serde" ,rust-serde-1) ("rust-yaml-rust" ,rust-yaml-rust-0.4)) #:cargo-development-inputs - (("rust-serde-derive" ,rust-serde-derive-1) - ("rust-unindent" ,rust-unindent-0.1)))) - (home-page - "https://github.com/dtolnay/serde-yaml") + (("rust-indoc" ,rust-indoc-1) + ("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/dtolnay/serde-yaml") (synopsis "YAML support for Serde") - (description "YAML support for Serde.") - (license (list license:asl2.0 license:expat)))) + (description "This package provides YAML support for Serde.") + (license (list license:expat license:asl2.0)))) (define-public rust-serial-test-0.5 (package @@ -31277,8 +32255,31 @@ functionality and without weak references.") (description "Serialising Rust tests") (license license:expat))) +(define-public rust-servo-fontconfig-0.5 + (package + (name "rust-servo-fontconfig") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-fontconfig" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0z11bjndkp87dnqqmqww6raswgpy7sfh9ahdpx7d0wzxwlpy5qy7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-5)))) + (home-page "https://github.com/servo/rust-fontconfig/") + (synopsis "Rust bindings for fontconfig") + (description "This package provides Rust bindings for fontconfig.") + (license (list license:expat license:asl2.0)))) + (define-public rust-servo-fontconfig-0.4 (package + (inherit rust-servo-fontconfig-0.5) (name "rust-servo-fontconfig") (version "0.4.0") (source @@ -31290,7 +32291,6 @@ functionality and without weak references.") (sha256 (base32 "1nach6s4hdf86jz5hlm4p5r7vin91cs7gg89mr533id5fpbzi250")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -31298,14 +32298,35 @@ functionality and without weak references.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("fontconfig" ,fontconfig))) - (home-page "https://github.com/servo/rust-fontconfig/") - (synopsis "Rust bindings for fontconfig") - (description "This package provides Rust bindings for fontconfig.") - (license (list license:expat license:asl2.0)))) + `(("fontconfig" ,fontconfig))))) + +(define-public rust-servo-fontconfig-sys-5 + (package + (name "rust-servo-fontconfig-sys") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-fontconfig-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "125k4hydb4w08568rgazh95n6haxhf5c78axz50glbc9p6fqfsz3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-expat-sys" ,rust-expat-sys-2) + ("rust-freetype-sys" ,rust-freetype-sys-0.13) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://crates.io/crates/servo-fontconfig-sys") + (synopsis "Rust wrapper around Fontconfig") + (description + "This package provides a Rust wrapper around Fontxonfig.") + (license license:expat))) (define-public rust-servo-fontconfig-sys-4 (package + (inherit rust-servo-fontconfig-sys-5) (name "rust-servo-fontconfig-sys") (version "4.0.9") (source @@ -31323,21 +32344,15 @@ functionality and without weak references.") (for-each delete-file-recursively (find-files "." "[^Cargo.toml,^build\\.rs]")) #t)))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-expat-sys" ,rust-expat-sys-2.1) + (("rust-expat-sys" ,rust-expat-sys-2) ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4) ("rust-pkg-config" ,rust-pkg-config-0.3)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("fontconfig" ,fontconfig))) - (home-page "https://crates.io/crates/servo-fontconfig-sys") - (synopsis "Rust wrapper around Fontconfig") - (description - "This package provides a Rust wrapper around Fontxonfig.") - (license license:mpl2.0))) ; build.rs is mpl2.0 + `(("fontconfig" ,fontconfig))))) (define-public rust-servo-freetype-sys-4 (package @@ -32267,6 +33282,30 @@ data type.") license:expat license:asl2.0)))) +(define-public rust-slug-0.1 + (package + (name "rust-slug") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "slug" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0wrk0w7mcmnvpmc27fw8dxkip6f6xgwpfgp7mp56yv2bd8p7dg5k")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-deunicode" ,rust-deunicode-0.4)))) + (home-page "https://github.com/Stebalien/slug-rs") + (synopsis "Convert a Unicode string to a slug") + (description + "This package is a small library for generating slugs from +Unicode strings.") + (license (list license:expat license:asl2.0)))) + (define-public rust-sluice-0.5 (package (name "rust-sluice") @@ -34490,6 +35529,52 @@ memory all at once.") "Targeting utilities for compilers and related tools") (license license:asl2.0))) +(define-public rust-tectonic-cfg-support-0.1 + (package + (name "rust-tectonic-cfg-support") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tectonic_cfg_support" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1jsbk89g4s75cdav6350anls81k3lwaq6imhjb4q2c4cmr24i1cz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1)))) + (home-page "https://tectonic-typesetting.github.io/") + (synopsis "Support crate for @code{CARGO_CFG_TARGET_*} variables") + (description + "This package provides a build.rs support crate that helps deal +with @code{CARGO_CFG_TARGET_*} variables.") + (license license:expat))) + +(define-public rust-tectonic-xdv-0.1 + (package + (name "rust-tectonic-xdv") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "tectonic_xdv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ibxv32i7dla3iw6s01cagzgdgzhm1mmxwqjv841m6m4r7g57gxj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1)))) + (home-page "https://tectonic-typesetting.github.io/") + (synopsis "Decoder for the XDV and SPX file formats") + (description + "This package provides a decoder for the XDV and SPX file formats +used by XeTeX and Tectonic.") + (license license:expat))) + (define-public rust-tempdir-0.3 (package (name "rust-tempdir") @@ -34597,6 +35682,42 @@ directories.") "Compact buffer/string type for zero-copy parsing.") (license (list license:expat license:asl2.0)))) +(define-public rust-tera-1 + (package + (name "rust-tera") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tera" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1p7qzd8akd4xk4b23dmdrqw9q8061xkl1mar34j3f2glmizapipa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-chrono-tz" ,rust-chrono-tz-0.5) + ("rust-globwalk" ,rust-globwalk-0.8) + ("rust-humansize" ,rust-humansize-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) + ("rust-rand" ,rust-rand-0.8) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-slug" ,rust-slug-0.1) + ("rust-unic-segment" ,rust-unic-segment-0.9)))) + (home-page "https://tera.netlify.com/") + (synopsis "Template engine based on Jinja2/Django templates") + (description + "Tera is a template engine inspired by Jinja2 and the Django +template language.") + (license license:expat))) + (define-public rust-term-0.6 (package (name "rust-term") @@ -34613,7 +35734,7 @@ directories.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-dirs" ,rust-dirs-2.0) + (("rust-dirs" ,rust-dirs-2) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/Stebalien/term") (synopsis "Terminal formatting library") @@ -38092,6 +39213,26 @@ extension for the Trust-DNS client to use rustls for TLS.") "Test harness for ui tests of compiler diagnostics.") (license (list license:expat license:asl2.0)))) +(define-public rust-ttf-parser-0.6 + (package + (name "rust-ttf-parser") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ttf-parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1p4z969pwd5adayy3ijq94iiak42yfxz8hk5wnkdsirymgbpqp9y")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/RazrFalcon/ttf-parser") + (synopsis "High-level, safe, zero-allocation TrueType font parser") + (description + "This package provides a high-level, safe, zero-allocation TrueType font +parser.") + (license (list license:expat license:asl2.0)))) + (define-public rust-tuikit-0.2 (package (name "rust-tuikit") @@ -38431,6 +39572,148 @@ panic-free alternative to @code{core::fmt}.") "Unchecked indexing wrapper using regular index syntax.") (license (list license:asl2.0 license:expat)))) +(define-public rust-unic-char-property-0.9 + (package + (name "rust-unic-char-property") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unic-char-property" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08g21dn3wwix3ycfl0vrbahn0835nv2q3swm8wms0vwvgm07mid8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unic-char-range" ,rust-unic-char-range-0.9)))) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "Character property taxonomy, contracts and macros for UNIC") + (description + "This package provides character property taxonomy, contracts and +build macros for the Unicode and Internationalization Crates (UNIC) +project.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-unic-char-range-0.9 + (package + (name "rust-unic-char-range") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unic-char-range" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1g0z7iwvjhqspi6194zsff8vy6i3921hpqcrp3v1813hbwnh5603")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rayon" ,rust-rayon-1)))) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "Character range and iteration for UNIC") + (description + "This package provides Unicode character range and iteration for +the Unicode and Internationalization Crates (UNIC) project.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-unic-common-0.9 + (package + (name "rust-unic-common") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unic-common" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1g1mm954m0zr497dl4kx3vr09yaly290zs33bbl4wrbaba1gzmw0")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "Common utilities for UNIC") + (description + "This package provides common utilities for the Unicode and +Internationalization Crates (UNIC) project.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-unic-segment-0.9 + (package + (name "rust-unic-segment") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unic-segment" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08wgz2q6vrdvmbd23kf9pbg8cyzm5q8hq9spc4blzy2ppqk5vvg4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unic-ucd-segment" ,rust-unic-ucd-segment-0.9)))) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "Text segmentation algorithmes for UNIC") + (description + "This UNIC component implements algorithms from Unicode Standard +Annex #29 - Unicode Text Segmentation, used for detecting boundaries +of text element boundaries, such as user-perceived characters (a.k.a. +grapheme clusters), words, and sentences.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-unic-ucd-segment-0.9 + (package + (name "rust-unic-ucd-segment") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unic-ucd-segment" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0027lczcg0r401g6fnzm2bq9fxhgxvri1nlryhhv8192lqic2y90")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unic-char-property" ,rust-unic-char-property-0.9) + ("rust-unic-char-range" ,rust-unic-char-range-0.9) + ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9)))) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "Segmentation properties for the UNIC Unicode character database") + (description + "This package provides segmentation properties in the Unicode +character database for the Unicode and Internationalization +Crates (UNIC) project.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-unic-ucd-version-0.9 + (package + (name "rust-unic-ucd-version") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unic-ucd-version" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i5hnzpfnxkp4ijfk8kvhpvj84bij575ybqx1b6hyigy6wi2zgcn")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unic-common" ,rust-unic-common-0.9)))) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "Unicode character database for UNIC") + (description + "This package provides a Unicode character database for the +Unicode and Internationalization Crates (UNIC) project.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unicase-2 (package (name "rust-unicase") @@ -38631,14 +39914,14 @@ or XID_Continue properties according to Unicode Standard Annex #31.") (define-public rust-unindent-0.1 (package (name "rust-unindent") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri (crate-uri "unindent" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0hl9l4w9mhv5qacx7cirm6rarrphw35b5syw2plx13vz884dfhdg")))) + (base32 "1is1gmx1l89z426rn3xsi0mii4vhy2imhqmhx8x2pd8mji6y0kpi")))) (build-system cargo-build-system) (home-page "https://github.com/dtolnay/indoc") (synopsis "Remove a column of leading whitespace from a string") @@ -39437,8 +40720,34 @@ updated when the crate version changes.") "This package provides a pure FFI to Jon Blow's VS discovery script.") (license license:expat))) +(define-public rust-vte-0.10 + (package + (name "rust-vte") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "vte" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mnjw3f071xbvapdgdf8mcdglw60dadcc5hhvz5zpljm53nmzwid")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-utf8parse" ,rust-utf8parse-0.2) + ("rust-vte-generate-state-changes" + ,rust-vte-generate-state-changes-0.1)))) + (home-page "https://github.com/jwilm/vte") + (synopsis "Parser for implementing terminal emulators") + (description + "This package provides a parser for implementing terminal emulators.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-vte-0.3 (package + (inherit rust-vte-0.10) (name "rust-vte") (version "0.3.3") (source @@ -39450,15 +40759,32 @@ updated when the crate version changes.") (sha256 (base32 "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; tests not included in release #:cargo-inputs - (("rust-utf8parse" ,rust-utf8parse-0.1)))) + (("rust-utf8parse" ,rust-utf8parse-0.1)))))) + +(define-public rust-vte-generate-state-changes-0.1 + (package + (name "rust-vte-generate-state-changes") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "vte_generate_state_changes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zs5q766q7jmc80c5c80gpzy4qpg5lnydf94mgdzrpy7h5q82myj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1)))) (home-page "https://github.com/jwilm/vte") - (synopsis "Parser for implementing terminal emulators") + (synopsis "Proc macro for generating VTE state changes") (description - "This package provides a parser for implementing terminal emulators.") + "This package provides a proc macro for generating VTE state changes.") (license (list license:asl2.0 license:expat)))) (define-public rust-wait-timeout-0.2 @@ -39523,7 +40849,7 @@ specified across Unix and Windows platforms.") #:cargo-inputs (("rust-winapi-util" ,rust-winapi-util-0.1) ("rust-winapi" ,rust-winapi-0.3) - ("rust-same-file" ,rust-same-file-1.0)))) + ("rust-same-file" ,rust-same-file-1)))) (home-page "https://github.com/BurntSushi/walkdir") (synopsis "Recursively walk a directory") (description "Recursively walk a directory.") @@ -40334,7 +41660,7 @@ using @code{bindgen}.") installed executable in cross platforms.") (license license:expat))) -(define-public rust-which-2.0 +(define-public rust-which-2 (package (name "rust-which") (version "2.0.1") @@ -40364,7 +41690,7 @@ Locate installed executable in cross platforms.") (define-public rust-which-1.0 (package - (inherit rust-which-2.0) + (inherit rust-which-2) (name "rust-which") (version "1.0.5") (source @@ -40743,6 +42069,30 @@ API.") "A simple library wrapping a handful of useful winapi functions.") (license license:expat))) +(define-public rust-wio-0.2 + (package + (name "rust-wio") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "wio" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "199p404fp96w1f1c93bf1jrvaqwypxf3hmmldhww4jk4yhr9j4jx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/retep998/wio-rs") + (synopsis "Windows IO wrapper") + (description + "Wio is a middle-level wrapper around various things in Windows API. It +is designed to be a very thin layer around Windows API to provide a safe Rusty +API but without hiding any functionality.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ws2-32-sys-0.2 (package (name "rust-ws2-32-sys") @@ -40879,7 +42229,29 @@ extended attributes.") "This package provides Rust bindings and wrappers for XCB.") (license license:expat))) -(define-public rust-xdg-2.2 +(define-public rust-xcursor-0.3 + (package + (name "rust-xcursor") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "xcursor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "022x7jm71dyqrxwsjkqfgj8bx57y7g8yyz318qb80y5ffhaj76is")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-nom" ,rust-nom-6)))) + (home-page "https://crates.io/crates/xcursor") + (synopsis "Library for loading XCursor themes") + (description + "This package provides a library for loading XCursor themes.") + (license license:expat))) + +(define-public rust-xdg-2 (package (name "rust-xdg") (version "2.2.0") @@ -41017,25 +42389,24 @@ Read/Write streams as well as low-level in-memory encoding and decoding.") (define-public rust-yaml-rust-0.4 (package (name "rust-yaml-rust") - (version "0.4.4") + (version "0.4.5") (source (origin (method url-fetch) (uri (crate-uri "yaml-rust" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r")))) + (base32 "118wbqrr4n6wgk5rjjnlrdlahawlxc1bdsx146mwk8f79in97han")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-linked-hash-map" ,rust-linked-hash-map-0.5)) #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.9)))) - (home-page "https://chyh1990.github.io/yaml-rust/") - (synopsis "The missing YAML 1.2 parser for rust") - (description - "The missing YAML 1.2 parser for rust.") - (license (list license:asl2.0 license:expat)))) + (home-page "http://chyh1990.github.io/yaml-rust/") + (synopsis "YAML 1.2 parser for Rust") + (description "This package is a YAML 1.2 parser for Rust.") + (license (list license:expat license:asl2.0)))) (define-public rust-yaml-rust-0.3 (package diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 86ce31ad6c..8393fe5fe4 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -1,11 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -48,6 +48,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages scanner) #:use-module (gnu packages tls) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix download) @@ -58,6 +59,73 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match)) +(define-public brlaser + (let ((commit "9d7ddda8383bfc4d205b5e1b49de2b8bcd9137f1") + (revision "1")) + (package + (name "brlaser") + (version (git-version "6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pdewacht/brlaser") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1drh0nk7amn9a8wykki4l9maqa4vy7vwminypfy1712alwj31nd4")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DCUPS_DATA_DIR=" + (assoc-ref %outputs "out") + "/share/cups") + (string-append "-DCUPS_SERVER_BIN=" + (assoc-ref %outputs "out") + "/lib/cups")))) + (inputs + `(("ghostscript" ,ghostscript) + ("cups" ,cups) + ("zlib" ,zlib))) + (home-page "https://github.com/pdewacht/brlaser") + (synopsis "Brother laser printer driver") + (description "Brlaser is a CUPS driver for Brother laser printers. This +driver is known to work with these printers: + +@enumerate +@item Brother DCP-1510 series +@item Brother DCP-1600 series +@item Brother DCP-7030 +@item Brother DCP-7040 +@item Brother DCP-7055 +@item Brother DCP-7055W +@item Brother DCP-7060D +@item Brother DCP-7065DN +@item Brother DCP-7080 +@item Brother DCP-L2500D series +@item Brother DCP-L2520D series +@item Brother DCP-L2540DW series +@item Brother HL-1110 series +@item Brother HL-1200 series +@item Brother HL-2030 series +@item Brother HL-2140 series +@item Brother HL-2220 series +@item Brother HL-2270DW series +@item Brother HL-5030 series +@item Brother HL-L2300D series +@item Brother HL-L2320D series +@item Brother HL-L2340D series +@item Brother HL-L2360D series +@item Brother MFC-1910W +@item Brother MFC-7240 +@item Brother MFC-7360N +@item Brother MFC-7365DN +@item Brother MFC-7840W +@item Brother MFC-L2710DW series +@item Lenovo M7605D +@end enumerate") + (license license:gpl2+)))) + (define-public cups-filters (package (name "cups-filters") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 78c1ee75cd..95993841f0 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> @@ -46,6 +46,7 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,15 +86,16 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) - #:use-module (gnu packages guile) - #:use-module (gnu packages time) #:use-module (gnu packages golang) + #:use-module (gnu packages guile) #:use-module (gnu packages icu4c) #:use-module (gnu packages jemalloc) #:use-module (gnu packages language) #:use-module (gnu packages libedit) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) + #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages logging) #:use-module (gnu packages man) #:use-module (gnu packages maths) @@ -110,8 +112,8 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) - #:use-module (gnu packages python-web) #:use-module (gnu packages python-science) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages rdf) #:use-module (gnu packages readline) @@ -124,6 +126,7 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages textutils) + #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages web) @@ -1284,6 +1287,89 @@ pictures, sounds, or video.") (define-public postgresql postgresql-13) +(define-public pgloader + (package + (name "pgloader") + (version "3.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dimitri/pgloader") + (commit (string-append "v" version)))) + (sha256 + (base32 "06i1jd2za3ih5caj2b4vzlzags5j65vv8dfdbz0ggdrp40wfd5lh")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + ;; NOTE: (Sharlatan-20210119T211511+0000) Tests are disabled due to being + ;; dependent on Quicklisp, main build target is `pgloader-standalone' which + ;; does not require Quicklisp workarounds. There is no `install' target + ;; configured in Makefile. + `(#:tests? #f + #:strip-binaries? #f + #:make-flags + (list "pgloader-standalone" "BUILDAPP_SBCL=buildapp") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'set-home + (lambda _ + (setenv "HOME" "/tmp") + #t)) + (add-after 'unpack 'patch-Makefile + (lambda _ + (substitute* "Makefile" + (("--sbcl.*") "--sbcl $(CL) --asdf-path . \\\n")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (install-file "build/bin/pgloader" bin)) + #t))))) + (native-inputs + `(("buildapp" ,buildapp) + ("sbcl" ,sbcl))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-abnf" ,sbcl-cl-abnf) + ("cl-base64" ,sbcl-cl-base64) + ("cl-csv" ,sbcl-cl-csv) + ("cl-fad" ,sbcl-cl-fad) + ("cl-log" ,sbcl-cl-log) + ("cl-markdown" ,sbcl-cl-markdown) + ("cl-mustache" ,sbcl-cl-mustache) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-sqlite" ,sbcl-cl-sqlite) + ("closer-mop" ,sbcl-closer-mop) + ("command-line-arguments" ,sbcl-command-line-arguments) + ("db3" ,sbcl-db3) + ("drakma" ,sbcl-drakma) + ("esrap" ,sbcl-esrap) + ("flexi-streams" ,sbcl-flexi-streams) + ("ixf" ,sbcl-ixf) + ("local-time" ,sbcl-local-time) + ("lparallel" ,sbcl-lparallel) + ("metabang-bind" ,sbcl-metabang-bind) + ("mssql" ,sbcl-mssql) + ("postmodern" ,sbcl-postmodern) + ("py-configparser" ,sbcl-py-configparser) + ("qmynd" ,sbcl-qmynd) + ("quri" ,sbcl-quri) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-backtrace" ,sbcl-trivial-backtrace) + ("usocket" ,sbcl-usocket) + ("uuid" ,sbcl-uuid) + ("yason" ,sbcl-yason) + ("zs3" ,sbcl-zs3))) + (home-page "https://pgloader.io/") + (synopsis "Tool to migrate data to PostgreSQL") + (description + "@code{pgloader} is a program that can load data or migrate databases from +CSV, DB3, iXF, SQLite, MS-SQL or MySQL to PostgreSQL.") + (license (license:x11-style "file://LICENSE")))) + (define-public python-pymysql (package (name "python-pymysql") @@ -2169,14 +2255,14 @@ similar to BerkeleyDB, LevelDB, etc.") (define-public redis (package (name "redis") - (version "6.0.9") + (version "6.0.10") (source (origin (method url-fetch) (uri (string-append "http://download.redis.io/releases/redis-" version".tar.gz")) (sha256 (base32 - "1pc6gyiylrcazlc559dp5mxqj733pk9qabnirw4ry3k23kwdqayw")) + "1gc529nfh8frk4pynyjlnmzvwa0j9r5cmqwyd7537sywz6abifvr")) (modules '((guix build utils))) (snippet ;; Delete bundled jemalloc, as the package will use the libc one @@ -2221,14 +2307,14 @@ sets, bitmaps and hyperloglogs.") (define-public kyotocabinet (package (name "kyotocabinet") - (version "1.2.78") + (version "1.2.79") (source (origin (method url-fetch) (uri (string-append "https://fallabs.com/kyotocabinet/pkg/" "kyotocabinet-" version ".tar.gz")) (sha256 (base32 - "1bxkf9kmcavq9rqridb8mvmrk3hj4447ffi24m2admsbm61n6k29")))) + "079ymsahlrijswgwfr2la9yw5h57l752cprhp5dz31iamsj1vyv7")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -3988,3 +4074,26 @@ The drivers officially supported by @code{libdbi} are: PostreSQL, SQLite, ODBC and MySQL.") (home-page "http://soci.sourceforge.net/") (license license:boost1.0))) + +(define-public freetds + (package + (name "freetds") + (version "1.2.18") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.freetds.org/files/stable/" + "freetds-" version ".tar.gz")) + (sha256 + (base32 "1hspvwxwdd1apadsy2b40dpjik8kfwcvdamvhpg3lnm15n02fb50")))) + (build-system gnu-build-system) + (arguments + ;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection, + ;; disabled for now. + `(#:tests? #f)) + (home-page "https://www.freetds.org/") + (synopsis "Client libraries for MS SQL and Sybase servers") + (description + "FreeTDS is an implementation of the Tabular DataStream protocol, used for +connecting to MS SQL and Sybase servers over TCP/IP.") + (license license:lgpl2.0+))) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index df29704acf..53cdbd8d84 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -72,7 +72,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "162") + (version "164") (source (origin (method git-fetch) (uri (git-reference @@ -81,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "02wjjbmdbyqpyizw384j50bc2ar4g5m40amz9q102gqbw6sflwbf")))) + "0vjxhz8p0k4y19sl1msrl8x4z3v205rlwj52k5hijv2gn9sqh795")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 3cc9601d21..c9409358db 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -304,14 +305,14 @@ tables, and it understands a variety of different formats.") (define-public gptfdisk (package (name "gptfdisk") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gptfdisk/gptfdisk/" version "/gptfdisk-" version ".tar.gz")) (sha256 - (base32 "0bybgp30pqxb6x5krxazkq4drca0gz4inxj89fpyr204rn3kjz8f")))) + (base32 "1a4c2ss6n2s6x8v11h79jykh96y46apd6i838ka0ngx58gb53ifx")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -493,14 +494,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "092rgwjh1825fal6v3yafq2wr0i61hh0a2n0j4296zn0zdx7pzp2")))) + (base32 "06f72hqx5jf2irzsmi7lgpxxj38ncixh0acb4307wyjd4mfp343c")))) (build-system glib-or-gtk-build-system) (arguments ;; Tests require access to paths outside the build container, such @@ -860,7 +861,7 @@ to create devices with respective mappings for the ATARAID sets discovered.") (define-public libblockdev (package (name "libblockdev") - (version "2.24") + (version "2.25") (source (origin (method url-fetch) (uri (string-append "https://github.com/storaged-project/" @@ -868,7 +869,7 @@ to create devices with respective mappings for the ATARAID sets discovered.") version "-1/libblockdev-" version ".tar.gz")) (sha256 (base32 - "0wq7624pnprvfzrf39bq1cybd9lqwawbdg5bm0cchlpgvdq7q86w")))) + "0s0nazkpzpn4an00qghjkk9n7gdm5a8dqfr5hfnlk5mk5lma8njm")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 6cdb2efd14..da3b818c26 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> +;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -83,7 +84,7 @@ and freshness without requiring additional information from the user.") (define-public ldc-bootstrap (package (name "ldc") - (version "0.17.4") + (version "0.17.6") (source (origin (method git-fetch) @@ -92,7 +93,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nnrjavfmpfp7bib04isqlxvyzh6mlvsdan0gxysdz96hlg4hcq8")))) + (base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs")))) (build-system cmake-build-system) (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) (properties @@ -117,14 +118,6 @@ and freshness without requiring additional information from the user.") (unpack "druntime-src" "runtime/druntime") (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite") #t))) - (add-after 'unpack-submodule-sources 'patch-dmd2 - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "dmd2/root/port.c" - ((" ::isnan") " isnan") - ((" ::isinf") " isinf") - (("#undef isnan") "") - (("#undef isinf") "")) - #t)) (add-after 'unpack-submodule-sources 'patch-phobos (lambda* (#:key inputs #:allow-other-keys) (substitute* "runtime/phobos/std/process.d" @@ -137,8 +130,6 @@ and freshness without requiring additional information from the user.") "(tzName == \"+VERSION\" || std.algorithm.endsWith(tzName, \"/leapseconds\"))")) (substitute* "tests/d2/dmd-testsuite/Makefile" (("/bin/bash") (which "bash"))) - ;; FIXME: this test cannot be linked. - (delete-file "tests/d2/dmd-testsuite/runnable/cppa.d") ;; the following two tests fail on i686 (for-each delete-file '("tests/ir/attributes.d" "tests/ir/align.d"))))))) (inputs @@ -147,8 +138,8 @@ and freshness without requiring additional information from the user.") ("tzdata" ,tzdata) ("zlib" ,zlib))) (native-inputs - `(("llvm" ,llvm-3.8) - ("clang" ,clang-3.8) + `(("llvm" ,llvm-6) + ("clang" ,clang-6) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) ("unzip" ,unzip) @@ -160,7 +151,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "ldc-v" version)))) (file-name (git-file-name "phobos" version)) (sha256 - (base32 "0i7gh99w4mi0hdv16261jcdiqyv1nkjdcwy9prw32s0lvplx8fdy")) + (base32 "15jzs38wanks2jfp2izzl7zqrp4c8ai54ppsgm8ws86p3sbbkmj8")) (patches (search-patches "ldc-bootstrap-disable-tests.patch")))) ("druntime-src" ,(origin @@ -170,7 +161,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "ldc-v" version)))) (file-name (git-file-name "druntime" version)) (sha256 - (base32 "0alabm3bbvs94msvxz5psiwk4f51cw9h82z1p5hhsnf8ja6d0am7")))) + (base32 "00wr2kiggwnd8h7by51fhj1xc65hv1ysip5gbgdbkfar58p2d0bb")))) ("dmd-testsuite-src" ,(origin (method git-fetch) @@ -179,7 +170,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "ldc-v" version)))) (file-name (git-file-name "dmd-testsuite" version)) (sha256 - (base32 "05qr4cgb4scfqzbw1l5pk72kil074mvj9d55b165ljyr51sgwgbl")))))) + (base32 "1d1c0979wbippldrkjf7szyj4n87hxz8dwqg1r5b3aai37g9kcky")))))) (home-page "http://wiki.dlang.org/LDC") (synopsis "LLVM-based compiler for the D programming language") (description diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 5bb725ae92..9583cd3af9 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 Nikita <nikita@n0.is> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> @@ -13,7 +13,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> -;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> @@ -277,7 +277,7 @@ prompt the user with the option to go with insecure DNS only.") (define-public dnsmasq (package (name "dnsmasq") - (version "2.82") + (version "2.84") (source (origin (method url-fetch) (uri (string-append @@ -285,7 +285,7 @@ prompt the user with the option to go with insecure DNS only.") version ".tar.xz")) (sha256 (base32 - "0cn1xd1s6xs78jmrmwjnh9m6w3q38pk6dyqy2phvasqiyd33cll4")))) + "0305a0c3snwqcv77sipyynr55xip1fp2843yn04pc4vk9g39acb0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -317,7 +317,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (package (name "bind") ;; When updating, check whether isc-dhcp's bundled copy should be as well. - (version "9.16.10") + (version "9.16.11") (source (origin (method url-fetch) (uri (string-append @@ -325,7 +325,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "1cv26gzbyk3ahidr1fip0pgj28s7l52cafdqpykfc1b2kh0zqixw")))) + "1hcr0q6i2mk83yi12zxjs5q21y3gx7683q99l77ibxfqsx6zc481")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs @@ -375,15 +375,18 @@ and BOOTP/TFTP for network booting of diskless machines.") (with-directory-excursion "fuzz" (invoke "make" "check")) #t))))) - (synopsis "Domain Name System (DNS) implementation") - (description "BIND is an implementation of the @dfn{Domain Name System} -(DNS) protocols for the Internet. It is a reference implementation of those -protocols, but it is also production-grade software, suitable for use in -high-volume and high-reliability applications. The name BIND stands for -\"Berkeley Internet Name Domain\", because the software originated in the -early 1980s at the University of California at Berkeley. The @code{utils} -output of this package contains the following DNS name servers related command -line utilities: + (synopsis "@acronym{DNS, Domain Name System} implementation") + (description "BIND implements the @acronym{DNS, Domain Name System} +protocols for the Internet. It is both a reference implementation of those +protocols and production-grade software, suitable for use in high-volume and +high-reliability applications. + +The name stands for \"Berkeley Internet Name Domain\" because the software +originated in the early 1980s at the University of California at Berkeley. + +The @code{utils} output of this package contains the following command line +utilities related to DNS name servers: + @table @code @item delv DNS lookup and validation utility diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 3ffc789bb9..557c86976b 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -2,8 +2,8 @@ ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> @@ -230,8 +230,11 @@ Currently available boards include: (sha256 (base32 "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx")) + ;; Apply patches in the order determined by Debian (patches (search-patches "tipp10-fix-compiling.patch" - "tipp10-remove-license-code.patch")))) + "tipp10-remove-license-code.patch" + "tipp10-disable-downloader.patch" + "tipp10-qt5.patch")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; packages has no tests @@ -256,8 +259,8 @@ Currently available boards include: ;; Recreate Makefile (invoke "qmake"))))))) (inputs - `(("qt4" ,qt-4) - ("sqlite" ,sqlite))) + `(("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia))) (home-page "https://www.tipp10.com/") (synopsis "Touch typing tutor") (description "Tipp10 is a touch typing tutor. The ingenious thing about @@ -677,15 +680,14 @@ language and very flexible regarding to new or unknown keyboard layouts.") (define-public ktouch (package (name "ktouch") - (version "20.12.0") + (version "20.12.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ktouch-" version ".tar.xz")) (sha256 - (base32 - "1s8pcwakx94aygfyjmyps5b43j4kv6dmfw7n12japcka2yfp9bi2")))) + (base32 "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib")))) (build-system qt-build-system) (arguments `(#:phases diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index 12cadd6036..11cfe586ac 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -1,7 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,44 @@ environment presented by Intel's EFI.") ;; Distribution is allowed only when accepting all those licenses. (license (list license:bsd-2 license:bsd-3 license:bsd-4 license:expat)))) +(define-public efi-analyzer + (let ((commit "77c9e3a67cd7c2fca48a4292dad25a5429872f95") + (revision "0")) + (package + (name "efi-analyzer") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xypron/efi_analyzer") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1izdkzybqyvzpzqz6kx4j7y47j6aa2dsdrychzgs65466x1a4br1")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'support-cross-compilation + (lambda _ + (substitute* "Makefile" + (("gcc") ,(cc-for-target))) + #t)) + (delete 'configure)))) ; no configure script + (home-page "https://github.com/xypron/efi_analyzer") + (synopsis "Analyze EFI binaries") + (description + "The EFI Analyzer checks EFI binaries and prints out header and section +information.") + (license license:bsd-2)))) + +(define-public efi_analyzer + ;; For a short while the package name contained an underscore. + (deprecated-package "efi_analyzer" efi-analyzer)) + (define-public sbsigntools (package (name "sbsigntools") diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index e5ce481fa8..2e21cab48d 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -122,14 +122,14 @@ object or archive file), @command{eu-strip} (for discarding symbols), (package (name "libabigail") (home-page "https://sourceware.org/libabigail/") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) (uri (string-append "https://sourceware.org/pub/libabigail/" "libabigail-" version ".tar.gz")) (sha256 (base32 - "0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7")))) + "0p363mkgypcklgf8iylxpbdnfgqc086a6fv7n9hzrjjci45jdgqw")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 8a2b6b302c..389b2bb29c 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 nee <nee.git@cock.li> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Nikita <nikita@n0.is> +;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,7 +34,7 @@ (define-public elixir (package (name "elixir") - (version "1.10.4") + (version "1.11.3") (source (origin (method git-fetch) @@ -42,7 +43,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "16j4rmm3ix088fvxhvyjqf1hnfg7wiwa87gml3b2mrwirdycbinv")) + (base32 "0ivah4117z75pinvb3gr22d05ihfwcdgw5zvvpv7kbgiqaj8ma8f")) (patches (search-patches "elixir-path-length.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d29eed0687..b84af3fcc1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017, 2018, 2019, 2020 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> @@ -31,7 +31,7 @@ ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> -;;; Copyright © 2017, 2018, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com> ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz> @@ -41,7 +41,7 @@ ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> ;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> -;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2018, 2019, 2020, 2021 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io> ;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com> @@ -76,7 +76,7 @@ ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com> ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com> ;;; Copyright © 2020 Eric Bavier <bavier@posteo.net> -;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com> ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com> @@ -88,7 +88,8 @@ ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com> ;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com> -;;; Copyright © 2020 Noah Evans <noah@nevans.me> +;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me> +;;; Copyright © 2020 Brit Butler <brit@kingcons.io> ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,6 +131,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages dictionaries) #:use-module (gnu packages djvu) + #:use-module (gnu packages ebook) #:use-module (gnu packages emacs) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) @@ -723,6 +725,50 @@ this one is much simpler and much more consistent. When using this package, then only the color of the mode line changes when a window becomes in-/active.") (license license:gpl3+))) +(define-public emacs-theme-magic + ;; No tagged release upstream, but the commit below correspond to the 0.2.3 + ;; release. + (let ((commit "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3") + (revision "0")) + (package + (name "emacs-theme-magic") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jcaw/theme-magic") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz")))) + (build-system emacs-build-system) + (arguments + `( + ;; Include Pywal interaction scripts. + #:include (cons "^python/" %default-include) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((files '("theme-magic.el" "python/wal_change_colors.py")) + (python (assoc-ref inputs "python")) + (python-pywal (assoc-ref inputs "python-pywal"))) + (substitute* files + (("\"python\"") (string-append "\"" python "/bin/python3\"")) + (("\"wal\"") (string-append "\"" python-pywal "/bin/wal\"")))) + #t))))) + (inputs + `(("python" ,python) + ("python-pywal" ,python-pywal))) + (home-page "https://github.com/jcaw/theme-magic") + (synopsis "Generate and apply color palettes based on your Emacs theme") + (description + "This package provides a command to extract the colors from your Emacs +theme and apply them to the rest of Linux with Pywal. Pywal only applies your +theme to the current session.") + (license license:gpl3+)))) + (define-public emacs-treepy (package (name "emacs-treepy") @@ -1844,6 +1890,34 @@ like. It can be linked with various Emacs mail clients (Message and Mail mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") (license license:gpl3+))) +(define-public emacs-counsel-bbdb + (package + (name "emacs-counsel-bbdb") + (version "20181128.1320") + (source + (origin + (method url-fetch) + (uri (string-append "https://melpa.org/packages/counsel-bbdb-" + version ".el")) + (sha256 + (base32 + "03g3lk8hz9a17vf5r16x054bhyk8xsbnfq0div8ig13fmhqi159q")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/redguard/counsel-bbdb") + (synopsis "Ivy interface for BBDB") + (description "This Ivy extension enables the use of @code{ivy-mode} to input +email addresses from BBDB efficiently. The main functions are: +@table @code +@item counsel-bbdb-complete-mail to input email addresses; +@item counsel-bbdb-reload' to reload contacts from BBDB database; +@item counsel-bbdb-expand-mail-alias to expand mail alias. +@end table +Since @code{counsel-bbdb} is based on @code{ivy-mode}, all Ivy key bindings +are supported. For example, after @samp{C-u M-x counsel-bbdb-complete-mail}, +you can press @samp{C-M-n} to input multiple email addresses.") + (license license:gpl3+))) + (define-public emacs-bluetooth (package (name "emacs-bluetooth") @@ -2071,14 +2145,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "13.0.3") + (version "13.0.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "auctex-" version ".tar")) (sha256 - (base32 "1ljpkr0z15fyh907jbgky238dvci5vqi3xhvslyhblhp8sg9cbsi")))) + (base32 "1362dqb8mcaddda9849gqsj6rzlfq18xprddb74j02884xl7hq65")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -2253,7 +2327,7 @@ Lock key.") (define-public emacs-chronometrist (package (name "emacs-chronometrist") - (version "0.5.6") + (version "0.6.3") (source (origin (method git-fetch) @@ -2262,7 +2336,7 @@ Lock key.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0g54pxvid1hlynlnfx99sl027q2mr2f4axsvnf0vb3v48zm0n5cw")))) + (base32 "0ql72qh0bshv62nksv6awz5nqfhmgs8hkyvm7wvzfq64yrwghw50")))) (build-system emacs-build-system) (arguments `(#:phases @@ -2536,29 +2610,32 @@ using the DOT syntax, and use Graphviz to convert these files to diagrams.") (license license:gpl2+))) (define-public emacs-imenu-list - (package - (name "emacs-imenu-list") - (version "0.8") - (source - (origin - (method git-fetch) - (uri - (git-reference - (url "https://github.com/bmag/imenu-list") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "13xh9bdl3k6ccfq83wjmkpi4269qahv4davki4wq18dr4amrzhlx")))) - (build-system emacs-build-system) - (home-page "https://github.com/bmag/imenu-list") - (synopsis - "Automatically tracks the current buffer's imenu entries") - (description - "This Emacs minor mode creates an automatically updated buffer called + (let ((commit "46008738f8fef578a763c308cf6695e5b4d4aa77") + (revision "0") + (version "0.8")) + (package + (name "emacs-imenu-list") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/bmag/imenu-list") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14l3yw9y1nk103s7z5i1fmd6kvlb2p6ayi6sf9l1x1ydg9glrpl8")))) + (build-system emacs-build-system) + (home-page "https://github.com/bmag/imenu-list") + (synopsis + "Automatically tracks the current buffer's imenu entries") + (description + "This Emacs minor mode creates an automatically updated buffer called @code{*Ilist*} that is populated with the current buffer's imenu entries. This buffer is typically shown as a sidebar (Emacs vertically splits the window).") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-mmm-mode (package @@ -3774,19 +3851,18 @@ result.") (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'hardcode-rg-path - ;; Hardcode the path to ripgrep. + (add-after 'unpack 'remove-rg-path + ;; Remove the path to ripgrep so that it works on remote systems. (lambda _ (let ((file "rg.el")) (chmod file #o644) (emacs-substitute-sexps file - ("(defcustom rg-executable" (which "rg"))))))))) + ("(defcustom rg-executable" "rg")))))))) (propagated-inputs `(("emacs-s" ,emacs-s) ("emacs-transient" ,emacs-transient) - ("emacs-wgrep" ,emacs-wgrep))) - (inputs - `(("ripgrep" ,ripgrep))) + ("emacs-wgrep" ,emacs-wgrep) + ("ripgrep" ,ripgrep))) (home-page "https://rgel.readthedocs.io/en/latest/") (synopsis "Search tool based on @code{ripgrep}") (description @@ -4664,18 +4740,19 @@ for Flow files.") (define-public emacs-flycheck-grammalecte (package (name "emacs-flycheck-grammalecte") - (version "1.2") + (version "1.3") (source (origin - (method url-fetch) - (uri (string-append "https://git.deparis.io/" - "flycheck-grammalecte/snapshot/" - "flycheck-grammalecte-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://git.umaneti.net/flycheck-grammalecte/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1mzmzyik843r4j0ibpwqrxmb0g4xmirrf3lxr010bddkmmxf749a")))) + (base32 "0ih0nakal36is0dci82gx4ijrvnpz9jpw1adprfara2cf8dx4rk6")))) (build-system emacs-build-system) (arguments - `(#:include '("\\.(el|py)$") + `(#:include (cons "\\.py$" %default-include) #:exclude '("^test-profile.el$") #:emacs ,emacs ;need libxml support #:phases @@ -4690,28 +4767,22 @@ for Flow files.") (substitute* '("conjugueur.py" "flycheck-grammalecte.py") (("/usr/bin/env python3?") python3)) #t))) - (add-before 'build 'link-to-grammalecte - ;; XXX: The Python part of the package requires grammalecte, but - ;; the library is not specified in PYTHONPATH, since we're not - ;; using Python build system. As a workaround, we symlink - ;; grammalecte libraries here. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (grammalecte (assoc-ref inputs "grammalecte")) - (version ,(version-major+minor (package-version python)))) - (with-directory-excursion - (string-append out "/share/emacs/site-lisp") - (symlink (string-append grammalecte "/lib/" - "python" version "/site-packages/" - "grammalecte") - "grammalecte")) - #t)))))) + (add-after 'unpack 'specify-grammalecte-location + (lambda* (#:key inputs #:allow-other-keys) + (make-file-writable "flycheck-grammalecte.el") + (emacs-substitute-variables "flycheck-grammalecte.el" + ("flycheck-grammalecte-grammalecte-directory" + (string-append (assoc-ref inputs "grammalecte") + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages/grammalecte"))) + #t))))) (inputs `(("grammalecte" ,grammalecte) ("python" ,python))) (propagated-inputs `(("emacs-flycheck" ,emacs-flycheck))) - (home-page "https://git.deparis.io/flycheck-grammalecte/") + (home-page "https://git.umaneti.net/flycheck-grammalecte/") (synopsis "Integrate Grammalecte with Flycheck") (description "Integrate the French grammar and typography checker Grammalecte with @@ -6344,6 +6415,57 @@ drill sessions to aid in memorization. In these sessions you are shown flash cards created in Org mode.") (license license:gpl3+))) +(define-public emacs-anki-editor + ;; Last release was in 2018. + (let ((commit "546774a453ef4617b1bcb0d1626e415c67cc88df") + (revision "0") + (version "0.3.3")) + (package + (name "emacs-anki-editor") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/louietan/anki-editor") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1if610hq5j8rbjh1caw5bwbgnsn231awwxqbpwvrh966kdxzl4qf")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-request" ,emacs-request))) + (home-page "https://github.com/louietan/anki-editor") + (synopsis "Minor mode for making Anki cards with Org mode") + (description + "This package is for people who use Anki as a spaced repetition system +(SRS) but would like to make cards in Org mode.") + (license license:gpl3+)))) + +(define-public emacs-org-mime + (package + (name "emacs-org-mime") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/org-mime/org-mime") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vchyd80ybvr6317dwm50nxcgxfrpc0bz6259vnrh24p5sb8shbj")))) + (build-system emacs-build-system) + (home-page "http://github.com/org-mime/org-mime") + (synopsis "Send HTML email using Org mode HTML export") + (description + "This program sends HTML email using Org-mode HTML export. +This approximates a WYSiWYG HTML mail editor from within Emacs, and can be +useful for sending tables, fontified source code, and inline images in +email.") + (license license:gpl3+))) + (define-public emacs-org-superstar (package (name "emacs-org-superstar") @@ -6983,6 +7105,60 @@ any one of several ways: literally, as a regexp, as an initialism, in the flex style, or as multiple word prefixes.") (license license:gpl3+))) +(define-public emacs-consult + ;; There are no tagged releases upstream on GitHub, instead we are using the + ;; most recent commit. + (let ((commit "ef6bb73a4a46e686826968fa25169e2d59b9a087") + (revision "0")) + (package + (name "emacs-consult") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minad/consult") + (commit commit))) + (sha256 + (base32 "00cnwg2knd820wwx6zg71rr0whpdhqm64gm3qx1mgklk79g7daih")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-selectrum" ,emacs-selectrum))) + (home-page "https://github.com/minad/consult") + (synopsis "Consulting completing-read") + (description "This package provides various handy commands based on the +Emacs completion function completing-read, which allows to quickly select from a +list of candidates.") + (license license:gpl3+)))) + +(define-public emacs-marginalia + ;; There are no tagged releases upstream on GitHub, instead we are using the + ;; most recent commit. + (let ((commit "401993562dbf636054dd64988e44d19b5030867f") + (revision "0")) + (package + (name "emacs-marginalia") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minad/marginalia") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1j0k9ija5paidj7yvbagkkayz9bjwhia9yhmd2q4490ginbbxshs")))) + (build-system emacs-build-system) + (home-page "https://github.com/minad/marginalia") + (synopsis "Marginalia in the minibuffer") + (description + "This package provides Marginalia mode which adds marginalia to the +minibuffer completions. Marginalia are marks or annotations placed at the +margin of the page of a book or in this case helpful colorful annotations +placed at the margin of the minibuffer for your completion candidates.") + (license license:gpl3+)))) + (define-public emacs-smartparens (package (name "emacs-smartparens") @@ -8622,7 +8798,7 @@ and tooling.") (define-public emacs-elfeed (package (name "emacs-elfeed") - (version "3.3.0") + (version "3.4.0") (source (origin (method git-fetch) @@ -8631,7 +8807,7 @@ and tooling.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5")))) + (base32 "1y95410hrcp23zc84sn79bxla9xr2fqh7wwagza05iaprv7zbbw0")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -9236,6 +9412,28 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (home-page "http://web-mode.org/") (license license:gpl3+))) +(define-public emacs-templatel + (package + (name "emacs-templatel") + (version "0.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clarete/templatel") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k33h503038l2bcr8gs020z2cjxfs94lamkdgv52cvd9i20d0kqq")))) + (build-system emacs-build-system) + (home-page "https://clarete.li/templatel") + (synopsis "Jinja inspired template language for Emacs Lisp") + (description + "templatel is the modern templating language. It provides variable +substitution and control flow through a clean and powerful language inspired +by Python's Jinja.") + (license license:gpl3+))) + (define-public emacs-wgrep (package (name "emacs-wgrep") @@ -9491,7 +9689,7 @@ target will call @code{compile} on it.") (define-public emacs-cider (package (name "emacs-cider") - (version "0.26.1") + (version "1.0.0") (source (origin (method git-fetch) @@ -9500,7 +9698,7 @@ target will call @code{compile} on it.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0m77jbxl380dp1wyj12m82bb06r80js8yxl530ryp1mwvy74f00d")))) + (base32 "143kh9k34yk0g6kdlkma6g432kmb2r9r1lhyq4irsw6d3vaql7dj")))) (build-system emacs-build-system) (arguments '(#:exclude ;don't exclude 'cider-test.el' @@ -9923,8 +10121,8 @@ extensions.") (license license:gpl3+))) (define-public emacs-evil-collection - (let ((commit "8c256263ad100fecd6246c6c55cbb19dab717c39") - (revision "18")) + (let ((commit "323bb7d85848a6a142ae14f39c3a073ce6423e20") + (revision "19")) (package (name "emacs-evil-collection") (version (git-version "0.0.3" revision commit)) @@ -9936,7 +10134,7 @@ extensions.") (file-name (git-file-name name version)) (sha256 (base32 - "0hz1yfv5g016dm99bwnibbmyhbi21qlc39ckd7p3s82az89hgf2n")))) + "1pf51kj93i1k2ivkjgwcvgxj8shrl8h7rkg578jl4k4awargf0nz")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) @@ -9976,9 +10174,9 @@ being deleted, changed, yanked, or pasted when using evil commands") (license license:gpl3+)))) (define-public emacs-goto-chg - (let ((commit "1829a13026c597e358f716d2c7793202458120b5") + (let ((commit "2af612153bc9f5bed135d25abe62f46ddaa9027f") (version "1.7.3") - (revision "1")) + (revision "2")) (package (name "emacs-goto-chg") (version (git-version version revision commit)) @@ -9991,10 +10189,8 @@ being deleted, changed, yanked, or pasted when using evil commands") (file-name (git-file-name name version)) (sha256 (base32 - "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki")))) + "1awmvihqgw6kspx192bcp9xp56xqbma90wlhxfxmidx3bvxghwpv")))) (build-system emacs-build-system) - (propagated-inputs - `(("emacs-undo-tree" ,emacs-undo-tree))) (home-page "https://github.com/emacs-evil/goto-chg") (synopsis "Go to the last change in the Emacs buffer") (description @@ -11575,14 +11771,14 @@ information via a consistent and well-integrated user interface.") (define-public emacs-adaptive-wrap (package (name "emacs-adaptive-wrap") - (version "0.7") + (version "0.8") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "adaptive-wrap-" version ".el")) + "adaptive-wrap-" version ".tar")) (sha256 - (base32 "10fb8gzvkbnrgzv28n1rczs03dvapr7rvi0kd73j6yf1zg2iz6qp")))) + (base32 "1gs1pqzywvvw4prj63vpj8abh8h14pjky11xfl23pgpk9l3ldrb0")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html") (synopsis "Smart line-wrapping with wrap-prefix") @@ -12031,14 +12227,14 @@ and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.8.3") + (version "0.8.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "posframe-" version ".el")) + "posframe-" version ".tar")) (sha256 - (base32 "05m56aw2yxik0pgcvyr5c92j2mwfksxgq1syzvik6161gy8hdd0g")))) + (base32 "1sn35ibp5y4y80l1xm4b8i94ld953a9gbkk99zqd9mrq9bwjyhdp")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info. (arguments @@ -12766,6 +12962,29 @@ JSONRPC is a generic Remote Procedure Call protocol designed around JSON objects.") (license license:gpl3+))) +(define-public emacs-jsonnet-mode + (package + (name "emacs-jsonnet-mode") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tminor/jsonnet-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vi7415n90d1z2ww1hld0gdp6v7z4rd6f70h476dp2x4hydk293i")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/mgyucht/jsonnet-mode") + (synopsis "Major mode for editing jsonnet files") + (description "This package provides syntax highlighting, indenting, +formatting, and utility methods for jsonnet files.") + (license license:gpl3+))) + (define-public emacs-restclient (let ((commit "ac8aad6c6b9e9d918062fa3c89c22c2f4ec48bc3") (version "0") @@ -12879,8 +13098,8 @@ the actual transformations.") (license license:gpl2+)))) (define-public emacs-dired-hacks - (let ((commit "886befe113fae397407c804f72c45613d1d43535") - (revision "2")) + (let ((commit "d1a2bda6aa8f890cb367297ed93aee6d3b5ba388") + (revision "3")) (package (name "emacs-dired-hacks") (version (git-version "0.0.1" revision commit)) @@ -12892,7 +13111,7 @@ the actual transformations.") (file-name (git-file-name name version)) (sha256 (base32 - "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl")))) + "12m81a9kjhs4cyq3lym0vp5nx6z3sfnypyzrnia76x6rjvixjf6y")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -13512,14 +13731,14 @@ database of references on life sciences.") (define-public emacs-websocket (package (name "emacs-websocket") - (version "1.13") + (version "1.13.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "websocket-" version ".tar")) (sha256 - (base32 "0jnarx53csmx5fivzp5vhvvj3m8s03zwc6hjl0spz5zb6icqclsa")))) + (base32 "1x664zswas0fpml7zaj59zy97avrm49zb80zd69rlkqzz1m45psc")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/websocket.html") (synopsis "Emacs WebSocket client and server") @@ -13667,6 +13886,36 @@ through them using @key{C-c C-SPC}.") messaging service.") (license license:gpl3+)))) +(define-public emacs-helm-slack + (let ((commit "465f6220f3f5bee4d95492991fca1290c89534eb") + (revision "1")) + (package + (name "emacs-helm-slack") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yuya373/helm-slack") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 + "0p1s1kl8v68qjprqkf034cz911qzbqxbscqgpn0c3mbm3yfx81f7")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; HOME needs to exist for source compilation. + (add-before 'build 'set-HOME + (lambda _ (setenv "HOME" "/tmp") #t))))) + (propagated-inputs `(("emacs-slack", emacs-slack))) + (home-page "https://github.com/yuya373/helm-slack") + (synopsis "Helm extension for emacs-slack") + (description "This package provides an helm extension for emacs-slack +Slack client.") + (license license:gpl3+)))) + + (define-public emacs-bash-completion (package (name "emacs-bash-completion") @@ -13949,7 +14198,7 @@ Features: (define-public emacs-evil-matchit (package (name "emacs-evil-matchit") - (version "2.3.9") + (version "2.3.10") (source (origin (method git-fetch) @@ -13958,7 +14207,7 @@ Features: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jk5qkqz3c4fnh6d2y889k5ycz8ipbkmzk4i8bl86xv9rhis1pv9")))) + (base32 "14nrc46290q54y7wv25251f2kqc0z8i9byl09xkgjijqldl9vdxa")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -15872,8 +16121,8 @@ navigate and display hierarchy structures.") (license license:gpl3+))) (define-public emacs-pulseaudio-control - (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379") - (revision "3")) + (let ((commit "a931533140547510decdc368f39b2d2b97ca725f") + (revision "4")) (package (name "emacs-pulseaudio-control") (version (git-version "0.0.1" revision commit)) @@ -15886,7 +16135,7 @@ navigate and display hierarchy structures.") (file-name (git-file-name name version)) (sha256 (base32 - "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr")))) + "1jvjn9jszjjapi167an49jxcvr88cvgjwykglhp4b8lwhbjfqw76")))) (build-system emacs-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -16073,6 +16322,32 @@ dumb text search, @code{elisp-refs} actually parses the code, so it's never confused by comments or @code{foo-bar} matching @code{foo}.") (license license:gpl3+))) +(define-public emacs-crdt + (let ((commit "44068ae505adf2c3a7bdbf6723a25fc45d6d1666") + (revision "0")) + (package + (name "emacs-crdt") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.librehq.com/qhong/crdt.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "130fkhvi757pfnbz70g6nw2n71k89cwwx7yzvsd5v177228c8w7w")))) + (build-system emacs-build-system) + (home-page "https://code.librehq.com/qhong/crdt.el") + (synopsis "Real-time collaborative editing environment") + (description + "@code{crdt.el} is a real-time collaborative editing environment for +Emacs using Conflict-free Replicated Data Types. With it, you can share +multiple buffer in one session, and see other users’ cursor and region. It +also synchronizes Org mode folding status. It should work with all of Org +mode.") + (license license:gpl3+)))) + (define-public emacs-crux (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859") (revision "2")) @@ -18134,16 +18409,16 @@ appropriate directory if no @code{eshell} session is active.") (define-public emacs-eshell-syntax-highlighting (package (name "emacs-eshell-syntax-highlighting") - (version "0.2") + (version "0.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/akreisher/eshell-syntax-highlighting") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0id27874wsb5y169030x8g1ldpa1mnskv1s2j3ygqiyh5fvpfash")))) + (base32 "1fb9aa85a3hx1rcmv71j6sc3y278452p1y4dabpwy07avb6apd0p")))) (build-system emacs-build-system) (home-page "https://github.com/akreisher/eshell-syntax-highlighting") (synopsis "Add syntax highlighting to Eshell") @@ -20083,7 +20358,7 @@ correctly.") (define-public emacs-helm-sly (package (name "emacs-helm-sly") - (version "0.5.1") + (version "0.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -20092,7 +20367,7 @@ correctly.") (file-name (git-file-name name version)) (sha256 (base32 - "13s2dj09mcdwlibjlahyyq2dxjkjlpxs88dbdyvcd64249jmahsx")))) + "12w1j1irgv6gy48zb4xi28ryan3fxd9kaay42798am5i1xa0yjjm")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) @@ -20957,6 +21232,25 @@ with emacs. It displays the output of the @code{repo status} command in a buffer and launches Magit from the status buffer for the project at point.") (license license:gpl3+))) +(define-public emacs-repology + (package + (name "emacs-repology") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "repology-" version ".tar")) + (sha256 + (base32 "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/repology.html") + (synopsis "Repology API access via Elisp") + (description + "This package provides tools to query Repology API (see +@url{https://repology.org/api}), process results, and display them.") + (license license:gpl3+))) + (define-public emacs-alect-themes (package (name "emacs-alect-themes") @@ -22583,6 +22877,21 @@ through Dash docsets.") (sha256 (base32 "19gc05k2p1l8wlkrqij9cw6d61hzknd6a9n64kzlpi87cpbav3lv")))) (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((calibre (assoc-ref inputs "calibre"))) + (make-file-writable "calibredb-core.el") + (emacs-substitute-variables "calibredb-core.el" + ("calibredb-program" + (string-append calibre "/bin/calibredb")) + ("calibredb-fetch-metadata-program" + (string-append calibre "/bin/fetch-ebook-metadata")))) + #t))))) + (inputs + `(("calibre" ,calibre))) (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-s" ,emacs-s) @@ -22693,14 +23002,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.5.0") + (version "2.5.0.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "1jpnqyk108nksaym2b9v243y5zkpr4px9d070wsb9cwm3xrcd8rh")))) + (base32 "0kqlc03bbsdywp0m3mf0m62hqyam8vg81phh7nqmpdjzskrdc1yy")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs ;need D-Bus @@ -23754,7 +24063,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "1.0.2") + (version "1.1.1") (source (origin (method git-fetch) @@ -23763,7 +24072,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1v82payjgx8z0qdklsrkim7xkb6hqrbs34d5qpq0sii43jwhiy5j")))) + (base32 "1n716nasa1pccz7983kicagc9sqnxlyfmflvifqk4kza2ks0rh9m")))) (build-system emacs-build-system) (home-page "https://protesilaos.com/modus-themes/") (synopsis "Accessible themes (WCAG AAA)") @@ -24902,7 +25211,7 @@ pattern guessed from thing under current cursor position. (define-public emacs-helm-selector (package (name "emacs-helm-selector") - (version "0.5") + (version "0.6.1") (home-page "https://github.com/emacs-helm/helm-selector") (source (origin @@ -24913,7 +25222,7 @@ pattern guessed from thing under current cursor position. (file-name (git-file-name name version)) (sha256 (base32 - "1cv659sqmrvk316fp7mjc58vvbcg1j6s2q4rwgqrpbyszrxl3i63")))) + "01lh1df0bnas1p7xlqc4i1jd67f8lxgq0q2zsvx10z8828i76j3v")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) @@ -25761,7 +26070,7 @@ comments or emails.") (define-public emacs-trashed (package (name "emacs-trashed") - (version "1.9.0") + (version "2.1.2") (source (origin (method git-fetch) @@ -25770,7 +26079,7 @@ comments or emails.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "13grdi12iwlw4fiphdfmvclfpbr6ajlgfbfyi7v41z8k3rxz4ypz")))) + (base32 "0lfza55nbb62nmr27cwpcz2ad1vm95piq4nfd8zvkwqbn6klwmm6")))) (build-system emacs-build-system) (home-page "https://github.com/shingo256/trashed/") (synopsis "View and edit system trash can in Emacs") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ca14584ada..98061c93ae 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> @@ -195,17 +195,11 @@ (lambda* (#:key outputs #:allow-other-keys) ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped ;; twice. This also fixes a minor issue, where WMs would not be - ;; able to track emacs back to emacs.desktop. The version is - ;; accessed using using THIS-PACKAGE so it "just works" for - ;; inherited Emacs packages of different versions. + ;; able to track emacs back to emacs.desktop. (with-directory-excursion (assoc-ref outputs "out") - (copy-file (string-append - "bin/emacs-" - ,(let ((this-version (package-version this-package))) - (or (false-if-exception - (version-major+minor+point this-version)) - (version-major+minor this-version)))) - "bin/emacs") + (copy-file + (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) + "bin/emacs") #t))) (add-before 'reset-gzip-timestamps 'make-compressed-files-writable ;; The 'reset-gzip-timestamps phase will throw a permission error @@ -314,8 +308,8 @@ languages.") (files '("share/info")))))))) (define-public emacs-next-pgtk - (let ((commit "d46a223d8595e8edb67c6361033625797503cacf") - (revision "0")) + (let ((commit "ae18c8ec4f0ef37c8c9cda473770ff47e41291e2") + (revision "1")) (package/inherit emacs-next (name "emacs-next-pgtk") (version (git-version "28.0.50" revision commit)) @@ -328,7 +322,7 @@ languages.") (file-name (git-file-name name version)) (sha256 (base32 - "1fhkgqsdpy3qkf8wyjvavnfyh8byxh0h80n0448rkg9k0lrkl4wf")))) + "07hgfqh965zmra0rbmnf63p3lsinpv5hn5payqcrjx25pl75xnaf")))) (arguments (substitute-keyword-arguments (package-arguments emacs-next) ((#:configure-flags flags ''()) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 6aaaa62fc1..cd77047f3d 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> @@ -1552,7 +1552,7 @@ This is a part of the TiLP project.") (define-public mame (package (name "mame") - (version "0.227") + (version "0.228") (source (origin (method git-fetch) @@ -1561,7 +1561,7 @@ This is a part of the TiLP project.") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "0p7xhsahmkr5hh3j6hc1mpgi5z4navy77v4k35i0sgpdv1ax4y2l")) + (base32 "1xqd0b8xz9bc6ks9qbnrm7kkjcr81l0ksisvflr6gr6lxg2268xz")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index bcc6ddb284..7bbf732fc9 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -15,12 +15,12 @@ ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> -;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020,2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> -;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> -;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +50,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system ant) #:use-module (guix build-system cmake) + #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system qt) @@ -1214,14 +1215,14 @@ use on a given system.") (define-public libredwg (package (name "libredwg") - (version "0.11.1") + (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libredwg/libredwg-" version ".tar.xz")) (sha256 - (base32 "1xx6y6ckm4mzqln8y8lqf5frcn2b32ypc0d0h9dzpz6363zh7pdn")))) + (base32 "0z5algzi3alq166885y0qyj2gnc7gc6vhnz7nw0kwc0d236p6md8")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-bindings"))) @@ -1524,7 +1525,7 @@ bindings for Python, Java, OCaml and more.") (define-public radare2 (package (name "radare2") - (version "4.4.0") + (version "5.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -1532,7 +1533,7 @@ bindings for Python, Java, OCaml and more.") (commit version))) (sha256 (base32 - "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s")) + "0aa7c27kd0l55fy5qfvxqmakp4pz6240v3hn84095qmqkzcbs420")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -2367,7 +2368,7 @@ simulation.") (define-public cutter (package (name "cutter") - (version "1.10.3") + (version "1.12.0") (source (origin (method git-fetch) @@ -2376,7 +2377,7 @@ simulation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk")))) + (base32 "0ljj3j3apbbw628n2nyrxpbnclixx20bqjxm0xwggqzz9vywsar0")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2513,6 +2514,26 @@ full programmatic control over your models.") (home-page "https://www.openscad.org/") (license license:gpl2+))) +(define-public emacs-scad-mode + (package + (inherit openscad) + (name "emacs-scad-mode") + (native-inputs '()) + (inputs '()) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "contrib") + #t))))) + (synopsis "Emacs major mode for editing editing OpenSCAD code") + (description "@code{scad-mode} provides an Emacs major mode for editing +OpenSCAD code. It supports syntax highlighting, indenting and refilling of +comments."))) + (define-public freecad (let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858") (revision "1")) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 99309dd4a0..d2769a4d76 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -198,7 +198,7 @@ removable devices or support for multimedia.") (define-public terminology (package (name "terminology") - (version "1.8.1") + (version "1.9.0") (source (origin (method url-fetch) (uri @@ -206,7 +206,7 @@ removable devices or support for multimedia.") "terminology/terminology-" version ".tar.xz")) (sha256 (base32 - "1fxqjf7g30ix4qxi6366rrax27s3maxq43z2vakwnhz4mp49m9h4")) + "0v74858yvrrfy0l2pq7yn6izvqhpkb9gw2jpd3a3khjwv8kw6frz")) (modules '((guix build utils))) ;; Remove the bundled fonts. (snippet @@ -217,10 +217,11 @@ removable devices or support for multimedia.") #t)))) (build-system meson-build-system) (arguments - `(#:configure-flags (list "-Dtests=true" - (string-append "-Dedje-cc=" - (assoc-ref %build-inputs "efl") - "/bin/edje_cc")) + `(#:configure-flags + (let ((efl (assoc-ref %build-inputs "efl"))) + (list "-Dtests=true" + (string-append "-Dedje-cc=" efl "/bin/edje_cc") + (string-append "-Deet=" efl "/bin/eet"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-home-directory diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 93569f3560..7b5dc70b5d 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Nikita <nikita@n0.is> +;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ (define-public erlang (package (name "erlang") - (version "21.3.8.13") + (version "23.2.1") (source (origin (method git-fetch) ;; The tarball from http://erlang.org/download contains many @@ -52,7 +53,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1dj37vk712dx76y25g13na24wbpn7a5ddmlpf4n51gm10sib54wj")) + "1p3lw4bcm2dph3pf1h4i0d9pzrcfr83r0iadqanxkwbmm1bl11pm")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -68,7 +69,7 @@ (version-major+minor version) ".tar.gz")) (sha256 (base32 - "0wm1dg1psv1n3gpiwyms06yhsryrnr28p455fp0l1ak8hdf4nipm")))))) + "0rq0rw68f02vckgdiwmvx8bvyv00l81s27cq59i3h79j9prfal2n")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) @@ -180,6 +181,14 @@ (lambda _ (invoke "./otp_build" "autoconf") #t)) + (add-after 'autoconf 'patch-configure-script-shell + (lambda _ + (substitute* "configure" + (("cmd_str=\"./configure") + (string-append "cmd_str=\"" + (which "sh") + " ./configure"))) + #t)) (add-after 'install 'patch-erl ;; This only works after install. (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index d52edf1750..93cea7a24d 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -19,11 +19,13 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages fcitx) - #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module ((guix licenses) #:select (gpl2+ bsd-3)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system qt) #:use-module (gnu packages check) #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) @@ -33,14 +35,69 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages iso-codes) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages web) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) + +(define-public fcitx-qt5 + (package + (name "fcitx-qt5") + (version "1.2.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/fcitx/fcitx-qt5.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "quickphrase-editor/CMakeLists.txt" + (("\\$\\{FCITX4_ADDON_INSTALL_DIR\\}") + (string-append + (assoc-ref outputs "out") + "/lib/fcitx"))) + (substitute* "platforminputcontext/CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_QTPLUGINDIR\\}") + (string-append + (assoc-ref outputs "out") + "/lib/qt5/plugins"))) + #t))))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("fcitx" ,fcitx) + ("libintl" ,intltool) + ("libxkbcommon" ,libxkbcommon))) + (propagated-inputs + `(("qtbase" ,qtbase))) + (synopsis "Fcitx Qt5 Input Context") + (description "This package provides a Qt5 frontend for fcitx.") + (home-page "https://github.com/fcitx/fcitx-qt5/") + (license + (list + ;; Plugin + bsd-3 + ;; Others + gpl2+)))) (define-public presage (package diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index ed0d928fc7..79d5799774 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -51,7 +51,7 @@ (define-public xcb-imdkit (package (name "xcb-imdkit") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) @@ -59,7 +59,7 @@ "https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-" version ".tar.xz")) (sha256 - (base32 "1qgbbp8y8ci7haz99vgbrgpjsbrwwyjianyhdvxcirnbm5bybvmz")) + (base32 "16f7jdnrr8lrll7qvnj0gh3gwzgn5idfsc9rwi1gp1n2mnjrs7w0")) (modules '((guix build utils))) (snippet '(begin @@ -86,7 +86,7 @@ client.") (define-public fcitx5 (package (name "fcitx5") - (version "5.0.3") + (version "5.0.4") (source (origin (method url-fetch) @@ -94,7 +94,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-" version "_dict.tar.xz")) (sha256 - (base32 "06zkb33m2rnhg385iy79n3r4svz5jbav74di61xqa3lhbv7534s3")))) + (base32 "14pqbjbdc3b5xlycm92gs1rgkmpykfnyls3gfr608902lk2lw5as")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -146,7 +146,7 @@ client.") (define-public fcitx5-lua (package (name "fcitx5-lua") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) @@ -154,7 +154,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-" version ".tar.xz")) (sha256 - (base32 "177mj56j8yrl79hvk7bbrifvm137np23pwalv83ibgk4l51z92hf")))) + (base32 "0y5yc9102bz681f4wj6xqjxmfdmrshz3fhf39pa61718hkyy9lih")))) (build-system cmake-build-system) (inputs `(("fcitx5" ,fcitx5) @@ -171,14 +171,14 @@ client.") (define-public libime (package (name "libime") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-" version "_dict.tar.xz")) (sha256 - (base32 "006pncby7p6h3rnicckzjwi6jzsrqiqbj6p9bpic80lanlllgw31")))) + (base32 "1gi9ylqha9x3dhjsa2i7x9wh2g9vgqkkfr6s1facs2ky65vgvdrv")))) (build-system cmake-build-system) (inputs `(("fcitx5" ,fcitx5) @@ -196,7 +196,7 @@ editors.") (define-public fcitx5-gtk (package (name "fcitx5-gtk") - (version "5.0.1") + (version "5.0.3") (source (origin (method url-fetch) @@ -204,7 +204,7 @@ editors.") "/fcitx5-gtk/fcitx5-gtk-" version ".tar.xz")) (sha256 - (base32 "0h53liraqc5nz4nyi3ixdfdw3zzkdcsiff7j25acc3gmaa5gyij7")))) + (base32 "18bwwj9a5v82c6ssc8560hd8vwykakvg6sfijwdb5jswk9mafvgj")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;No test @@ -212,7 +212,9 @@ editors.") (list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR=" %output "/share/gir-1.0") (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR=" - %output "/lib/girepository-1.0")) + %output "/lib/girepository-1.0") + ;; TODO: Enable it when Guix has GTK4. + "-DENABLE_GTK4_IM_MODULE=Off") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-install-prefix @@ -247,7 +249,7 @@ for GTK+2/GTK+3 application.") (define-public fcitx5-qt (package (name "fcitx5-qt") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) @@ -255,7 +257,7 @@ for GTK+2/GTK+3 application.") "/fcitx5-qt/fcitx5-qt-" version ".tar.xz")) (sha256 - (base32 "0ilhb4yw9k3m1c4fidnv3nd5dgm9xxds11dgdys6gswjjnmcgqqm")))) + (base32 "15rn111mrp6lcgm0ka3vb6a6qwkv6kqkqn563wsm49n16iy1dhqj")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -282,7 +284,7 @@ for Qt based application.") (define-public fcitx5-chinese-addons (package (name "fcitx5-chinese-addons") - (version "5.0.2") + (version "5.0.3") (source (origin (method url-fetch) @@ -290,7 +292,7 @@ for Qt based application.") "/fcitx5-chinese-addons/fcitx5-chinese-addons-" version "_dict.tar.xz")) (sha256 - (base32 "0mf91gzwzhfci0jn6g3l516xjw8r4v40ginnbl70h1zx6vr24rfp")))) + (base32 "1kmzbllk0g86m2z3piwn9j84ihxixyxzv7rzj832xfvwqgk7gixk")))) (build-system cmake-build-system) (arguments `(#:phases @@ -342,42 +344,42 @@ including input methods previous bundled inside Fcitx 4: (define-public fcitx5-configtool (package - (name "fcitx5-configtool") - (version "5.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://download.fcitx-im.org/fcitx5" - "/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz")) - (sha256 - (base32 "0mrqhzvab41hkvhkz7vkb8d2mv5bgx4aqp9jpz4kf3kskwm1q14b")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - ;; KDE is currently not working on Guix, KCM supports doesn't make sense. - '("-DENABLE_KCM=Off"))) - (inputs - `(("fcitx5" ,fcitx5) - ("fcitx5-qt" ,fcitx5-qt) - ("qtbase" ,qtbase) - ("qtx11extras" ,qtx11extras) - ("kitemviews" ,kitemviews) - ("kwidgetsaddons" ,kwidgetsaddons) - ("libx11" ,libx11) - ("xkeyboard-config" ,xkeyboard-config) - ("libxkbfile" ,libxkbfile) - ("gettext" ,gettext-minimal) - ("iso-codes" ,iso-codes))) - (native-inputs - `(("gcc" ,gcc-9) - ("extra-cmake-modules" ,extra-cmake-modules) - ("pkg-config" ,pkg-config))) - (home-page "https://github.com/fcitx/fcitx5-configtool") - (synopsis "Graphical configuration tool for Fcitx 5") - (description "Fcitx5-configtool is a graphical configuration tool + (name "fcitx5-configtool") + (version "5.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://download.fcitx-im.org/fcitx5" + "/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz")) + (sha256 + (base32 "0rpk3yn572pcr29jak63x84g0qgj8hj011aw8gmxjah9311nxhpb")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + ;; KDE is currently not working on Guix, KCM supports doesn't make sense. + '("-DENABLE_KCM=Off"))) + (inputs + `(("fcitx5" ,fcitx5) + ("fcitx5-qt" ,fcitx5-qt) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("kitemviews" ,kitemviews) + ("kwidgetsaddons" ,kwidgetsaddons) + ("libx11" ,libx11) + ("xkeyboard-config" ,xkeyboard-config) + ("libxkbfile" ,libxkbfile) + ("gettext" ,gettext-minimal) + ("iso-codes" ,iso-codes))) + (native-inputs + `(("gcc" ,gcc-9) + ("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/fcitx/fcitx5-configtool") + (synopsis "Graphical configuration tool for Fcitx 5") + (description "Fcitx5-configtool is a graphical configuration tool to manage different input methods in Fcitx 5.") - (license license:gpl2+))) + (license license:gpl2+))) (define-public fcitx5-material-color-theme (package diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 2c5ad95d63..e6ee645be0 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> -;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2021 raid5atemyhoemwork <raid5atemyhomework@protonmail.com> @@ -847,7 +847,7 @@ APFS.") (define-public zfs (package (name "zfs") - (version "0.8.5") + (version "2.0.1") (outputs '("out" "module" "src")) (source (origin @@ -856,7 +856,7 @@ APFS.") "/download/zfs-" version "/zfs-" version ".tar.gz")) (sha256 - (base32 "0gfdnynmsxbhi97q73smrgmcw1k8zmlr1hgljfn38sk0kimivd6v")))) + (base32 "0y3992l4nzr67q18lz1kizw0za1shvqbpmsjz9shv4frh5ihllbi")))) (build-system linux-module-build-system) (arguments `(;; The ZFS kernel module should not be downloaded since the license @@ -885,19 +885,33 @@ APFS.") (let ((out (assoc-ref outputs "out")) (src (assoc-ref outputs "src")) (util-linux (assoc-ref inputs "util-linux")) - (nfs-utils (assoc-ref inputs "nfs-utils"))) + (nfs-utils (assoc-ref inputs "nfs-utils")) + (kmod (assoc-ref inputs "kmod-runtime"))) + (substitute* "etc/Makefile.in" + ;; This just contains an example configuration file for + ;; configuring ZFS on traditional init systems, skip it + ;; since we cannot use it anyway; the install target becomes + ;; misdirected. + (("= default ") "= ")) + (substitute* "lib/libzfs/os/linux/libzfs_util_os.c" + ;; Use path to /gnu/store/*-kmod in actual path that is exec'ed. + (("\"/sbin/modprobe\"") + (string-append "\"" kmod "/bin/modprobe" "\"")) + ;; Just use 'modprobe' in message to user, since Guix + ;; does not have a traditional /sbin/ + (("'/sbin/modprobe ") "'modprobe ")) (substitute* "contrib/Makefile.in" ;; This is not configurable nor is its hard-coded /usr prefix. ((" initramfs") "")) - (substitute* "module/zfs/zfs_ctldir.c" + (substitute* "module/os/linux/zfs/zfs_ctldir.c" (("/usr/bin/env\", \"umount") (string-append util-linux "/bin/umount\", \"-n")) (("/usr/bin/env\", \"mount") (string-append util-linux "/bin/mount\", \"-n"))) - (substitute* "lib/libzfs/libzfs_mount.c" + (substitute* "lib/libzfs/os/linux/libzfs_mount_os.c" (("/bin/mount") (string-append util-linux "/bin/mount")) (("/bin/umount") (string-append util-linux "/bin/umount"))) - (substitute* "lib/libshare/nfs.c" + (substitute* "lib/libshare/os/linux/nfs.c" (("/usr/sbin/exportfs") (string-append nfs-utils "/sbin/exportfs"))) (substitute* "config/zfs-build.m4" @@ -915,7 +929,9 @@ APFS.") (substitute* "contrib/pyzfs/Makefile.in" ((".*install-lib.*") "")) (substitute* '("Makefile.am" "Makefile.in") - (("\\$\\(prefix)/src") (string-append src "/src")))) + (("\\$\\(prefix)/src") (string-append src "/src"))) + (substitute* (find-files "udev/rules.d/" ".rules.in$") + (("/sbin/modprobe") (string-append kmod "/bin/modprobe")))) #t)) (replace 'build (lambda _ (invoke "make"))) @@ -939,6 +955,7 @@ APFS.") ("pkg-config" ,pkg-config))) (inputs `(("eudev" ,eudev) + ("kmod-runtime" ,kmod) ("libaio" ,libaio) ("libtirpc" ,libtirpc) ("nfs-utils" ,nfs-utils) @@ -1086,14 +1103,14 @@ Dropbox API v2.") (define-public dbxfs (package (name "dbxfs") - (version "1.0.48") + (version "1.0.50") (source (origin (method url-fetch) (uri (pypi-uri "dbxfs" version)) (sha256 (base32 - "07q7dgqaqqyapjl9r4lqydflrgx4dh84c1qsb0jvfmqj3i8887ak")) + "01zvk862ybz12270q0r2l1i7kdj30ib2gxrlxmwvi19b2fkf39na")) (patches (search-patches "dbxfs-remove-sentry-sdk.patch")))) (build-system python-build-system) (arguments diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 11a8e6261b..b24425ca22 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2020 Simen Endsjø <simendsjo@gmail.com> ;;; Copyright © 2020 Tim Van den Langenbergh <tmt_vdl@gmx.com> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1031,6 +1032,27 @@ Sans Pro family.") (description "This is the typeface used by Mozilla in Firefox OS.") (license license:silofl1.1))) +(define-public font-fira-go + (package + (name "font-fira-go") + (version "1.000") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bBoxType/FiraGO") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10rcfg1fijv00yxv5n9l3lm0axhafa1irkg42zpmasd70flgg655")))) + (build-system font-build-system) + (home-page "https://github.com/bBoxType/FiraGO") + (synopsis "Multilingual extension of the Fira Sans font family") + (description "FiraGO is a multilingual extension of the Fira Sans font +family. Based on the Fira Sans 4.3 glyph set, FiraGO adds support for the +Arabic, Devanagari, Georgian, Hebrew and Thai scripts.") + (license license:silofl1.1))) + (define-public font-fira-code (package (name "font-fira-code") @@ -1371,6 +1393,43 @@ programming. Iosevka is completely generated from its source code.") "Sarasa Gothic is a programming font based on Iosevka and Source Han Sans, most CJK characters are same height, and double width as ASCII characters."))) +(define-public font-space-grotesk + (package + (name "font-space-grotesk") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/floriankarsten/space-grotesk") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1aiivn0rl7ydiyqvsr0fa2hx82h3br3x48w3100fcly23n0fdcby")))) + (build-system font-build-system) + ;; TODO: Package fontmake and gftools and build from source. + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'install-license-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (install-file "OFL.txt" doc) + #t)))))) + (home-page "https://floriankarsten.github.io/space-grotesk/") + (synopsis "Proportional variant of the fixed-width Space Mono family") + (description + "Space Grotesk is a proportional sans-serif typeface variant based on Colophon +Foundry's fixed-width Space Mono family. It retains the monospace's idiosyncratic +details while optimizing for improved readability at non-display sizes. + +Space Grotesk includes Latin Vietnamese, Pinyin, and all Western, Central, and +South-Eastern European language support, as well as several OpenType features: +old-style and tabular figures, superscript and subscript numerals, fractions, +and stylistic alternates.") + (license license:silofl1.1))) + (define-public font-go (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc") (revision "1")) @@ -1822,7 +1881,7 @@ in small sizes, the text looks crisper.") (define-public font-juliamono (package (name "font-juliamono") - (version "0.025") + (version "0.031") (source (origin (method git-fetch) @@ -1831,7 +1890,7 @@ in small sizes, the text looks crisper.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1w8mpl9zc1y4j1f26ikbz5g9dqsszhikp4r9p1d3ch3b5ayb5c3m")))) + (base32 "0pcz2qaw0g0gak4plvhgg3m76h4gamffa373r52dzx0qwn1i1cf1")))) (build-system font-build-system) (arguments `(#:phases diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 96ba0026f9..bee87d9311 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw> ;;; ;;; This file is part of GNU Guix. ;;; @@ -467,3 +468,89 @@ a hardware description and verification language. ") (description "This package provides a VHDL compiler and simulator.") (home-page "https://github.com/nickg/nvc") (license license:gpl3+))) + +(define-public systemc + (package + (name "systemc") + (version "2.3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://accellera.org/images/downloads/standards/" + "systemc/systemc-" version ".tar.gz")) + (sha256 + (base32 "0gvv3xmhiwx1izmzy06yslzqzh6ygrgmw53xqfmyvbz5a6ivk0ap")))) + (native-inputs `(("perl" ,perl))) + (build-system gnu-build-system) + (arguments '(#:configure-flags '("--enable-debug"))) + (home-page "https://accellera.org/community/systemc") + (synopsis "Library for event-driven simulation") + (description + "SystemC is a C++ library for modeling concurrent systems, and the +reference implementation of IEEE 1666-2011. It provides a notion of timing as +well as an event-driven simulations environment. Due to its concurrent and +sequential nature, SystemC allows the description and integration of complex +hardware and software components. To some extent, SystemC can be seen as +a Hardware Description Language. However, unlike VHDL or Verilog, SystemC +provides sophisticated mechanisms that offer high abstraction levels on +components interfaces. This, in turn, facilitates the integration of systems +using different abstraction levels.") + ;; homepages.cae.wisc.edu/~ece734/SystemC/Esperan_SystemC_tutorial.pdf + (license license:asl2.0))) + +(define-public verilator + (package + (name "verilator") + (version "4.108") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/verilator/verilator") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kcs0p8i2hiw348xqqh49pmllqspbzh2ljwmia03b42md5h4x5vf")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bison" ,bison) + ("flex" ,flex) + ("gettext" ,gettext-minimal) + ("python" ,python))) + (inputs + `(("perl" ,perl) + ("systemc" ,systemc))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "LDFLAGS=-L" + (assoc-ref %build-inputs "systemc") + "/lib-linux64")) + #:make-flags + (list (string-append "LDFLAGS=-L" + (assoc-ref %build-inputs "systemc") + "/lib-linux64")) + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoconf")))) + #:test-target "test")) + ;; #error "Something failed during ./configure as config_build.h is incomplete. + ;; Perhaps you used autoreconf, don't." -- so we won't. ^^ + (home-page "https://www.veripool.org/projects/verilator/") + (synopsis "Fast Verilog/SystemVerilog simulator") + (description + "Verilator is invoked with parameters similar to GCC or Synopsys’s VCS. +It ``Verilates'' the specified Verilog or SystemVerilog code by reading it, +performing lint checks, and optionally inserting assertion checks and +coverage-analysis points. It outputs single- or multi-threaded @file{.cpp} +and @file{.h} files, the ``Verilated'' code. + +The user writes a little C++/SystemC wrapper file, which instantiates the +Verilated model of the user’s top level module. These C++/SystemC files are +then compiled by a C++ compiler (GCC/Clang/etc.). The resulting executable +performs the design simulation. Verilator also supports linking its generated +libraries, optionally encrypted, into other simulators.") + (license license:lgpl3))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index a5455a0b6f..56e53a73e2 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1480,7 +1480,7 @@ wish to perform colour calibration.") (define-public libfprint (package (name "libfprint") - (version "1.90.6") + (version "1.90.7") (source (origin (method git-fetch) @@ -1489,7 +1489,7 @@ wish to perform colour calibration.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hagm1i78mrd772y3cinr7bda4myx0v4bixwqnqbxknds8m9h8sg")))) + (base32 "00pmdpxxjj4sh8qjq9ch3pylgg9w019rg1bbaw53a4wr637rrz43")))) (build-system meson-build-system) (arguments '(#:configure-flags @@ -2021,14 +2021,15 @@ useful with system integration.") ("xvfb" ,xorg-server-for-tests))) (inputs `(("dbus-glib" ,dbus-glib) - ("gtk+" ,gtk+) - ("libdbusmenu" ,libdbusmenu) ("libindicator" ,libindicator) ("python@2" ,python-2) ("python2-pygtk" ,python2-pygtk) ("python2-pygobject-2" ,python2-pygobject-2) ;; ("mono" ,mono) ; requires non-packaged gapi ("vala" ,vala))) + (propagated-inputs + `(("gtk+" ,gtk+) + ("libdbusmenu" ,libdbusmenu))) (arguments ;; FIXME: do not hardcode gtk version `(#:configure-flags '("--with-gtk=3") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 58c397ebc5..af177c7d4b 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -490,7 +490,7 @@ clone.") (define-public tsukundere (package (name "tsukundere") - (version "0.2.0") + (version "0.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -499,21 +499,47 @@ clone.") (file-name (git-file-name name version)) (sha256 (base32 - "0qmqch8hh7vsa8qaz853vwbkz0krb106955dnz8dsl7skbm5jpn6")))) + "05ckds2df810441wfavllx9lsw5jsc9h3nb7m31df01nsj56azdw")))) (build-system gnu-build-system) + (arguments + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-command + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (version (target-guile-effective-version)) + (scm (string-append out "/share/guile/site/" + version)) + (go (string-append out "/lib/guile/" + version "/site-ccache"))) + + (substitute* "bin/tsukundere" + (("exec guile .*" all) + (string-append + (format #f "export GUILE_LOAD_PATH=~@?~%" + "\"~a:~a\"" scm (getenv "GUILE_LOAD_PATH")) + (format #f "export GUILE_LOAD_COMPILED_PATH=~@?~%" + "\"~a:~a\"" go (getenv "GUILE_LOAD_COMPILED_PATH")) + all))) + #t)))))) (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("guile" ,guile-3.0) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) (propagated-inputs `(("guile-sdl2" ,guile3.0-sdl2))) (home-page "https://gitlab.com/leoprikler/tsukundere") (synopsis "Visual novel engine") (description "Tsukundere is a game engine geared heavily towards the development of visual novels, written on top of Guile-SDL2. It is still -experimental and at the time of writing contains little more than the Guile -modules, that make up its runtime.") +experimental.") (license license:lgpl3+))) (define-public sfml diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c4048c6edc..0404a34f0a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu> -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org> @@ -30,7 +30,7 @@ ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> -;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 okapi <okapi@firemail.cc> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de> @@ -1360,7 +1360,7 @@ does not include game data.") (package (inherit julius) (name "augustus") - (version "1.4.1a") + (version "2.0.1") (source (origin (method git-fetch) @@ -1369,7 +1369,7 @@ does not include game data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xqv8j8jh3f13fjhyf7hk1anrn799cwwsvsd75kpl9n5yh5s1j5y")) + (base32 "0czazw8mc3fbvdazs2nzvgxd1dpzjc8z5fwiv89vv4nd7laz3jkj")) ;; Remove unused bundled libraries. (modules '((guix build utils))) (snippet @@ -2237,6 +2237,100 @@ and defeat them with your bubbles!") ;; GPL2+ is for code, CC0 is for art. (license (list license:gpl2+ license:cc0)))) +(define-public solarus + (package + (name "solarus") + ;; XXX: When updating this package, please also update hash in + ;; `solarus-quest-editor' below. + (version "1.6.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/solarus-games/solarus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n6l91yyqjx0pz4w1lp3yybpq0fs2yjswfcm8c1wjfkxwiznbdxi")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + ;; The following tests fail reporting a missing "/dev/dri" + ;; file. + (lambda _ + (substitute* "tests/cmake/AddTestMaps.cmake" + ((".*1200_create_shader_from_source.*" all) + (string-append "#" all)) + ((".*1210_shader_scaling_factor.*" all) + (string-append "#" all))) + #t)) + (add-before 'check 'set-home + ;; Tests fail without setting the following environment + ;; variables. + (lambda _ + (setenv "HOME" (getcwd)) + (setenv "XDG_RUNTIME_DIR" (getcwd)) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (inputs + `(("glm" ,glm) + ("libmodplug" ,libmodplug) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("luajit" ,luajit) + ("openal" ,openal) + ("physfs" ,physfs) + ("qtbase" ,qtbase) + ("sdl2" ,(sdl-union (list sdl2 sdl2-image sdl2-ttf))))) + (home-page "https://www.solarus-games.org/") + (synopsis "Lightweight game engine for Action-RPGs") + (description + "Solarus is a 2D game engine written in C++, that can run games +scripted in Lua. It has been designed with 16-bit classic Action-RPGs +in mind.") + ;; The source code is licensed under the terms of GPL-3.0. + ;; Resources are licensed under the terms of CC-BY-SA-3.0 and + ;; CC-BY-SA 4.0. + (license (list license:gpl3 license:cc-by-sa3.0 license:cc-by-sa4.0)))) + +(define-public solarus-quest-editor + (package + (inherit solarus) + (name "solarus-quest-editor") + (version (package-version solarus)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/solarus-games/solarus-quest-editor") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qbc2j9kalk7xqk9j27s7wnm5zawiyjs47xqkqphw683idmzmjzn")))) + (arguments + `(#:tests? #false ;no test + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-qt-build + ;; XXX: Fix build with Qt 5.15. It has been applied upstream as + ;; 81d5c7f1 and can be removed at next upgrade. + (lambda _ + (substitute* "src/entities/jumper.cpp" + (("#include <QPainter>" all) + (string-append all "\n" "#include <QPainterPath>\n"))) + #t))))) + (inputs + `(("solarus" ,solarus) + ,@(package-inputs solarus))) + (synopsis "Create and modify quests for the Solarus engine") + (description + "Solarus Quest Editor is a graphical user interface to create and +modify quests for the Solarus engine."))) + (define-public superstarfighter (package (name "superstarfighter") @@ -2365,6 +2459,93 @@ available, as well as a single-player mode with AI-controlled ships.") "$(call ZIP) -X")) #t)))) +(define-public trigger-rally + (package + (name "trigger-rally") + (version "0.6.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/trigger-rally/" + "trigger-" version "/" + "trigger-rally-" version ".tar.gz")) + (sha256 + (base32 + "016bc2hczqscfmngacim870hjcsmwl8r3aq8x03vpf22s49nw23z")))) + (build-system gnu-build-system) + (inputs + `(("freealut" ,freealut) + ("glew" ,glew) + ("glu" ,glu) + ("mesa" ,mesa) + ("openal" ,openal) + ("physfs" ,physfs) + ("sdl" ,(sdl-union (list sdl2 sdl2-image))) + ("tinyxml2" ,tinyxml2))) + (arguments + `(#:make-flags (list (string-append "prefix=" %output) + "bindir=$(prefix)/bin" + "datadir=$(datarootdir)" + "OPTIMS=-Ofast") + #:tests? #f ; No tests present + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'cd-src + (lambda _ (chdir "src"))) + (add-before 'build 'remove-timestamps + (lambda _ + (substitute* (list "Trigger/menu.cpp" + "PEngine/app.cpp") + ((".*__DATE__.*") "")))) + (add-before 'build 'make-verbose + (lambda _ + (substitute* "GNUmakefile" + (("@\\$\\(CXX\\)") "$(CXX)")))) + (add-after 'build 'set-data-path + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "../bin/trigger-rally.config.defs" + (("<data path=\"C:[^\"]*\"") + (string-append "<data path=\"" out "/share/trigger-rally\"")))))) + (add-after 'install 'create-desktop-entry + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apps (string-append out "/share/applications"))) + (mkdir-p apps) + (with-output-to-file + (string-append apps "/trigger-rally.desktop") + (lambda () + (format #t ; Borrowed from Debian package + "[Desktop Entry]~@ + Name=Trigger Rally~@ + Icon=trigger-rally~@ + Comment=3D rally racing car game~@ + Comment[de]=3D Rally-Autorennen~@ + Comment[fr_FR]=un jeu de rally en 3D~@ + Comment[ro_RO]=Un joc în 3D cu curse de raliu~@ + Exec=~a/bin/trigger-rally~@ + Terminal=false~@ + StartupNotify=false~@ + Type=Application~@ + TryExec=~:*~a/bin/trigger-rally~@ + Categories=Game;ArcadeGame;~@ + Keywords=racing;tracks;~@ + Keywords[de]=Rennstrecke;~%" + out))))))))) + (home-page "http://trigger-rally.sourceforge.net") + (synopsis "Fast-paced single-player racing game") + (description "Trigger-rally is a 3D rally simulation with great physics +for drifting on over 200 maps. Different terrain materials like dirt, +asphalt, sand, ice, etc. and various weather, light, and fog conditions give +this rally simulation the edge over many other games. You need to make it +through the maps in often tight time limits and can further improve by beating +the recorded high scores. All attached single races must be finished in time +in order to win an event, unlocking additional events and cars. Most maps are +equipped with spoken co-driver notes and co-driver icons.") + (license (list license:cc0 ;textures and audio in data.zip + license:gpl2+)))) + (define-public ufo2map (package (name "ufo2map") @@ -5911,11 +6092,13 @@ small robot living in the nano world, repair its maker.") (method git-fetch) (uri (git-reference (url "https://github.com/teeworlds/teeworlds") - (commit version))) + (commit version) + ;; There are two submodules in datasrc/{languages,maps} + (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "169dl83q08zl4h813az8hjs4rs3dms9yjn6bnsld4fjcj0imvvc6")) + "1l19ksmimg6b8zzjy0skyhh7z11ql7n5gvilkv7ay5x2b9ndbqwz")) (modules '((guix build utils) (ice-9 ftw) (ice-9 regex) @@ -5928,15 +6111,12 @@ small robot living in the nano world, repair its maker.") (remove (cut string-match "(^.)|(^md5$)" <>) (scandir base-dir))) #t)))) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests included - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) #:phases (modify-phases %standard-phases - (replace 'configure + (add-after 'unpack 'patch-paths (lambda* (#:key outputs #:allow-other-keys) ;; Embed path to assets. (substitute* "src/engine/shared/storage.cpp" @@ -5945,51 +6125,7 @@ small robot living in the nano world, repair its maker.") (assoc-ref outputs "out") "/share/teeworlds/data" "\""))) - - ;; Bam expects all files to have a recent time stamp. - (for-each (cut utime <> 1 1) - (find-files ".")) - - ;; Do not use bundled libraries. - (substitute* "bam.lua" - (("local json = Compile.+$") - "local json = nil -settings.link.libs:Add(\"jsonparser\")") - (("local png = Compile.+$") - "local png = nil -settings.link.libs:Add(\"pnglite\")") - (("local wavpack = Compile.+$") - "local wavpack = nil -settings.link.libs:Add(\"wavpack\")") - (("if config\\.zlib\\.value == 1") - "if config.zlib.value")) - (substitute* "src/engine/client/graphics_threaded.cpp" - (("engine/external/pnglite/pnglite\\.h") - "pnglite.h")) - (substitute* "src/engine/client/sound.cpp" - (("engine/external/wavpack/wavpack\\.h") - "wavpack/wavpack.h")) - #t)) - (replace 'build - (lambda _ - (invoke "bam" "-a" "-v" "conf=release"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((arch ,(system->linux-architecture - (or (%current-target-system) - (%current-system)))) - (build (string-append "build/" (if (string=? arch "i386") - "x86" arch) - "/release/")) - (data-built (string-append build "data/")) - (out (assoc-ref outputs "out")) - (bin (string-append out "/bin/")) - (data (string-append out "/share/teeworlds/data/"))) - (for-each (cut install-file <> bin) - (map (cut string-append build <>) - '("teeworlds" "teeworlds_srv"))) - (copy-recursively data-built data) - #t)))))) + #t))))) (inputs `(("freetype" ,freetype) ("glu" ,glu) @@ -6000,17 +6136,17 @@ settings.link.libs:Add(\"wavpack\")") ("sdl2-image" ,sdl2-image) ("sdl2-mixer" ,sdl2-mixer) ("wavpack" ,wavpack) + ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs - `(("bam" ,bam) - ("python" ,python-wrapper) + `(("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (home-page "https://www.teeworlds.com") (synopsis "2D retro multiplayer shooter game") (description "Teeworlds is an online multiplayer game. Battle with up to 16 players in a variety of game modes, including Team Deathmatch and Capture The Flag. You can even design your own maps!") - (license license:bsd-3))) + (license (list license:bsd-3 license:cc-by-sa3.0)))) ; game+maps&languages (define-public enigma (package @@ -6184,31 +6320,15 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.25.0") + (version "0.26.0") (source (origin (method url-fetch) - (uri (list - ;; Older releases get moved into a versioned directory - (string-append "http://crawl.develz.org/release/" - (version-major+minor version) "/stone_soup-" - version "-nodeps.tar.xz") - ;; Only the latest release is in this directory - (string-append "http://crawl.develz.org/release/stone_soup-" - version "-nodeps.tar.xz"))) + (uri (string-append "https://github.com/crawl/crawl/releases/download/" + version "/stone_soup-" version "-nodeps.tar.xz")) (sha256 - (base32 "0rn1wjxdqw33caiwisfypm1j8cid3c9pz01ahicl17144zs29z3d")) - (patches (search-patches "crawl-upgrade-saves.patch")) - ;; The 0.25.0 -nodeps.tar.xz was built from an OSX machine; normally - ;; apparently it's built from a Debian machine before the Debian - ;; packages are made. These ._* files are binary and have the string - ;; "Mac OS X" in them... removing these seems to result in compilation - ;; again. - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file (find-files "." "^\\._")) - #t)))) + (base32 "1m81x1sp6p2ka5w2nib3pcw5w5iv58z41c8aqn0dayi1lb3yslfb")) + (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs `(("lua51" ,lua-5.1) diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm index c9ed6258a0..bd77e4dc33 100644 --- a/gnu/packages/genimage.scm +++ b/gnu/packages/genimage.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +48,7 @@ (uri (git-reference (url "https://github.com/pengutronix/genimage") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "15jmh17lvm3jw9c92bjarly7iwhmnfl322d91mprfv10ppb9ip54")) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index c682613ff1..6b0b4a8007 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1693,6 +1694,32 @@ input file (in @code{.osm} or @code{.osm.pbf} format).") license:lgpl2.1+ license:mpl1.1)))) +(define-public shapelib + (package + (name "shapelib") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OSGeo/shapelib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lzch0jf6yqhw391phhafzw4ghmiz98zkf698h4fmq109fa2vhqd")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "http://shapelib.maptools.org/") + (synopsis "Provides C library to write and update ESRI Shapefiles") + (description + "The Shapefile C Library provides the ability to write simple C programs +for reading, writing and updating (to a limited extent) ESRI Shapefiles, and the +associated attribute file (@file{.dbf}).") + (license license:gpl2+))) + (define-public spatialite-tools (package (name "spatialite-tools") diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 886175e17e..320c860fe6 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Miguel <rosen644835@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020 EuAndreh <eu@euandre.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,12 +28,14 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages gettext) - #:use-module ((guix licenses) #:select (gpl2+ gpl3+)) + #:use-module ((guix licenses) #:select (gpl2+ gpl3+ bsd-3)) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix build-system python) + #:use-module (gnu packages check) #:use-module (gnu packages docbook) #:use-module (gnu packages emacs) #:use-module (gnu packages hurd) @@ -42,6 +45,8 @@ #:use-module (gnu packages perl-check) #:use-module (gnu packages tex) #:use-module (gnu packages xml) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sphinx) #:use-module (guix utils)) (define-public gettext-minimal @@ -183,6 +188,41 @@ allows applications to emit text annotated with styling information, such as color, font attributes (weight, posture), or underlining.") (license gpl3+))) +(define-public mdpo + (package + (name "mdpo") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mdpo" version)) + (sha256 + (base32 "0kgbm0af7jwpfspa2xxiy9nc2l1r2s1rhbhz4r229zcqv49ak6sq")))) + (build-system python-build-system) + (native-inputs + `(("python-bump2version" ,python-bump2version) + ("python-flake8" ,python-flake8) + ("python-flake8-implicit-str-concat" ,python-flake8-implicit-str-concat) + ("python-flake8-print" ,python-flake8-print) + ("python-isort" ,python-isort) + ("python-pre-commit" ,python-pre-commit) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-argparse" ,python-sphinx-argparse) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-twine" ,python-twine) + ("python-yamllint" ,python-yamllint))) + (propagated-inputs + `(("python-polib" ,python-polib) + ("python-pymd4c" ,python-pymd4c))) + (home-page "https://github.com/mondeja/mdpo") + (synopsis "Markdown file translation utilities using pofiles") + (description + "The mdpo utility creates pofiles, the format stabilished by GNU Gettext, +from Markdown files.") + (license bsd-3))) + (define-public po4a (package (name "po4a") diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 96d48b6dc8..6f06d27977 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -250,7 +250,7 @@ also known as DXTn or DXTC) for Mesa.") (base32 "14m09bk7akj0k02lg8fhvvzbdsashlbdsgl2cw7wbqfj2mhdqwh5")) (patches - (search-patches "mesa-skip-disk-cache-test.patch")))) + (search-patches "mesa-skip-tests.patch")))) (build-system meson-build-system) (propagated-inputs `(;; The following are in the Requires.private field of gl.pc. @@ -777,7 +777,7 @@ OpenGL.") (define-public glfw (package (name "glfw") - (version "3.2.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/glfw/glfw" @@ -785,7 +785,7 @@ OpenGL.") "/glfw-" version ".zip")) (sha256 (base32 - "09kk5yc1zhss9add8ryqrngrr16hdmc94rszgng135bhw09mxmdp")))) + "1izgc4r0ypxwwklfzj98ab4xqsjpb1wbsfdbivvxpmr95x8km8q8")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no test target @@ -799,6 +799,7 @@ OpenGL.") ;; These are in 'Requires.private' of 'glfw3.pc'. ("libx11" ,libx11) ("libxrandr" ,libxrandr) + ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxcursor" ,libxcursor) ("libxxf86vm" ,libxxf86vm))) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 1204dcee90..eb99fda78e 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at> -;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> +;;; Copyright © 2019, 2021 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> @@ -779,6 +779,55 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (define-public numix-theme (deprecated-package "numix-theme" numix-gtk-theme)) +(define-public markets + (package + (name "markets") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bitstower/markets") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jzv74l2jkdiqy1hp0ww5yla50dmrvjw7fgkmb26ynblr1nb3rrb")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson/postinstall.py" + (("gtk-update-icon-cache") "true")) + #t)) + (add-after 'unpack 'skip-update-desktop-database + ;; Don't update desktop file database. + (lambda _ + (substitute* "build-aux/meson/postinstall.py" + (("update-desktop-database") "true")) + #t))))) + (inputs + `(("gtk3" ,gtk+) + ("gettext" ,gettext-minimal) + ("libgee" ,libgee) + ("libhandy0" ,libhandy-0.0) + ("libsoup" ,libsoup) + ("json-glib" ,json-glib) + ("vala" ,vala))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin"))) ; for 'glib-compile-resources' + (home-page "https://github.com/bitstower/markets") + (synopsis "Stock, currency and cryptocurrency tracker") + (description + "Markets is a GTK application that displays financial data, helping users +track stocks, currencies and cryptocurrencies.") + (license license:gpl3))) + (define-public vala-language-server (package (name "vala-language-server") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 1b8ada642c..a08cacbbcf 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -51,7 +51,7 @@ ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> -;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> @@ -2252,6 +2252,16 @@ and keep up to date translations of documentation.") (lambda _ (substitute* "meson-postinstall.sh" (("update-desktop-database") (which "true"))) + #t)) + (add-after 'install 'patch-thumbnailer + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* + (string-append + out + "/share/thumbnailers/gnome-font-viewer.thumbnailer") + (("gnome-thumbnail-font") + (string-append out "/bin/gnome-thumbnail-font")))) #t))))) (native-inputs `(("gettext" ,gettext-minimal) @@ -2841,7 +2851,7 @@ database is translated at Transifex.") (define-public system-config-printer (package (name "system-config-printer") - (version "1.5.14") + (version "1.5.15") (source (origin (method url-fetch) @@ -2850,7 +2860,7 @@ database is translated at Transifex.") "download/v" version "/system-config-printer-" version ".tar.xz")) (sha256 - (base32 "1l79lj44kl079sk308m42x3py1yvcxk5x5bs2vqfmqv26zm8qyqf")))) + (base32 "12d6xx51vizc476zfnsga9q09nflp51ipn6y7lhi9w2v4772dlpv")))) (build-system glib-or-gtk-build-system) (arguments `(#:imported-modules ((guix build python-build-system) @@ -6440,7 +6450,7 @@ DAV, and others.") (define-public gusb (package (name "gusb") - (version "0.3.0") + (version "0.3.5") (source (origin (method git-fetch) (uri (git-reference @@ -6449,7 +6459,7 @@ DAV, and others.") (file-name (git-file-name name version)) (sha256 (base32 - "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7")))) + "0ifhdqhpyxwsg0z9s1anj7cf5pya5qsqyp5ksh9n7mqwa4lrjkl8")))) (build-system meson-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) @@ -6514,14 +6524,14 @@ almost all of them.") (define-public eolie (package (name "eolie") - (version "0.9.100") + (version "0.9.101") (source (origin (method url-fetch) (uri (string-append "https://adishatz.org/eolie/eolie-" version ".tar.xz")) (sha256 (base32 - "1vzhfp8j1z3jvd5ndqfyn7nqrx3zdvx9mv1byjl36nnd9g63ji62")))) + "1v8n21y75abdzsnx5idyd0q6yfb6cd0sqbknlbkwh5fdgvjzyvwn")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -10799,13 +10809,13 @@ advanced image management tool") (synopsis "Store and run multiple GNOME terminals in one window") (description "Terminator allows you to run multiple GNOME terminals in a grid and -+tabs, and it supports drag and drop re-ordering of terminals.") +tabs, and it supports drag and drop re-ordering of terminals.") (license license:gpl2))) (define-public libhandy (package (name "libhandy") - (version "1.0.2") + (version "1.0.3") (source (origin (method git-fetch) @@ -10814,7 +10824,7 @@ advanced image management tool") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1bmmkahshvlvpsnb7zp8bddv7i1h5k4p967n6kxh71g1vnj8x20m")))) + (base32 "0flgwlm921801i3ns0dwqpnxl89f3rzn4y9h723i13bmflch3in7")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -11398,7 +11408,7 @@ and toolbars.") (define-public setzer (package (name "setzer") - (version "0.3.8") + (version "0.3.9") (source (origin (method git-fetch) @@ -11407,7 +11417,7 @@ and toolbars.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1f5qmkz4hzn54sh56z3hw8zrvg93xlz62ggzlzyg7vgsr83kpns9")))) + (base32 "1qmy2bxl8x6pijjaaj91v6rqdipha6iyy0b6b9y1lk3r2p3azd42")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -11832,7 +11842,7 @@ integrated profiler via Sysprof, debugging support, and more.") (define-public komikku (package (name "komikku") - (version "0.24.0") + (version "0.25.1") (source (origin (method git-fetch) @@ -11842,7 +11852,7 @@ integrated profiler via Sysprof, debugging support, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "010p32zrim245y0l784yp0rasqcqlyr3lrxwl3r1876x83qhs6q3")))) + "03skci66y9qqiv4bqbbc0w6d6agilwmx95cw7sribj06zcykm7m3")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 7c9fa4bb37..5eca1e8c62 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> @@ -13,10 +13,11 @@ ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Petter <petter@mykolab.ch> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2020 Fredrik Salomonsson <plattfot@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,7 @@ #:use-module (gnu packages tor) #:use-module (gnu packages web) #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (guix packages) #:use-module (guix download) @@ -355,13 +357,13 @@ libskba (working with X.509 certificates and CMS data).") (define-public gpgme (package (name "gpgme") - (version "1.15.0") + (version "1.15.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2")) (sha256 - (base32 "0nqfipv5s4npfidsm1rs3kpq0r0av9bfqfd5r035jibx5k0jniqb")))) + (base32 "1bg13l5s8x9p1v0jyv29n84bay27pflindpzjsc9gj7i4wdkrg7f")))) (build-system gnu-build-system) (native-inputs `(("gnupg" ,gnupg))) @@ -432,19 +434,20 @@ gpgpme starting with version 1.7.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - ;; When cross-compiling, the bash script libgcrypt-config provided by - ;; libgcrypt must be accessible during configure phase. - `(,@(if (%current-target-system) - '(#:phases - (modify-phases %standard-phases - (add-before 'configure 'add-libgrypt-config - (lambda _ - (setenv "PATH" (string-append - (assoc-ref %build-inputs "libgcrypt") - "/bin:" - (getenv "PATH"))) - #t)))) - '()))) + ;; Work around <https://bugs.gnu.org/20272> to achieve reproducible + ;; builds. + '(#:parallel-build? #f + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'add-libgrypt-config + (lambda* (#:key inputs target #:allow-other-keys) + (when target + ;; When cross-compiling, the bash script 'libgcrypt-config' + ;; must be accessible during the configure phase. + (setenv "PATH" + (string-append (assoc-ref inputs "libgcrypt") + "/bin:" (getenv "PATH"))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) @@ -782,14 +785,14 @@ including tools for signing keys, keyring analysis, and party preparation. (define-public pinentry-tty (package (name "pinentry-tty") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/pinentry/pinentry-" version ".tar.bz2")) (sha256 (base32 - "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8")))) + "0zx5vg6wws2sp2yxwi01b8i1pnsqkydncpj7x0p8xl9y05ja04nd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-pinentry-tty"))) @@ -867,10 +870,6 @@ passphrase when @code{gpg} is run and needs it."))) (package (inherit pinentry-tty) (name "pinentry-efl") - (source - (origin - (inherit (package-source pinentry-tty)) - (patches (search-patches "pinentry-efl.patch")))) (arguments '(#:configure-flags '("--enable-pinentry-efl" "--enable-fallback-curses") @@ -888,10 +887,62 @@ passphrase when @code{gpg} is run and needs it."))) `(("efl" ,efl) ,@(package-inputs pinentry-tty))) (description - "Pinentry provides a console and a graphical interface for the -@dfn{Enlightenment Foundation Libraries} (EFL) that allows users to enter a + "Pinentry provides a console and a graphical interface for @acronym{EFL, +the Enlightenment Foundation Libraries} that allows users to enter a passphrase when @code{gpg} is run and needs it."))) +(define-public pinentry-rofi + (package + (name "pinentry-rofi") + (version "2.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/plattfot/pinentry-rofi/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kjzvgni9srl8h5c52pqrvgdxs6avv0nhgk19apd97sx10qdwdhk")))) + (build-system gnu-build-system) + (arguments + `(#:modules + ((ice-9 match) + (ice-9 ftw) + ,@%gnu-build-system-modules) + #:phases + (modify-phases + %standard-phases + (add-after 'install 'hall-wrap-binaries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (site (string-append out "/share/guile/site")) + (rofi-bin (string-append (assoc-ref inputs "rofi") "/bin"))) + (match (scandir site) + (("." ".." version) + (wrap-program + (string-append bin "pinentry-rofi") + (list "PATH" ":" 'prefix `(,rofi-bin))) + #t))))) + (add-after 'compress-documentation 'installcheck + (lambda* rest + (invoke "make" "installcheck")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (inputs `(("guile" ,guile-3.0) + ("rofi" ,rofi))) + (synopsis "Rofi GUI for GnuPG's passphrase input") + (description "Pinentry-rofi is a simple graphical user interface for +passphrase or PIN when required by @code{gpg} or other software. It is using +the Rofi application launcher as the user interface. Which makes it combined +with @code{rofi-pass} a good front end for @code{password-store}.") + (home-page "https://github.com/plattfot/pinentry-rofi/") + (license license:gpl3+))) + (define-public pinentry (package (inherit pinentry-gtk2) (name "pinentry"))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index cead17b204..84ec0a7fb3 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -694,8 +694,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "78.6.1-guix0-preview1") -(define %icecat-build-id "20210107000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "78.7.0-guix0-preview1") +(define %icecat-build-id "20210126000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -717,11 +717,11 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "1kp75838a38x4h0w98qn01g9asn7jlgm64bz7n70353bnr6bf1qd")))) + "0hqnc98k4irq0lsp154binrl0c6kxy6xmab3ss9jwx6d53dl380s")))) - (upstream-icecat-base-version "78.6.1") ; maybe older than base-version + (upstream-icecat-base-version "78.7.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "10ca84bd9d255caeed506ef36bd3dbe2ad6375ab") + (gnuzilla-commit "abfe5eebaca3c2787f1a9505669393674493c177") (gnuzilla-source (origin (method git-fetch) @@ -733,7 +733,7 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "07i3pfbzprnmzrilsh13jjrrk0jixpb9nrrqxzzdvzr2gz06vw29")))) + "00ws3540x5whpicc5fx4k949ff73cqvajz6jp13ahn49wqdads47")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. @@ -1305,11 +1305,11 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20201215000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20210126000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "78.6.0") + (version "78.7.0") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1589,7 +1589,7 @@ standards of the IceCat project.") ;; in the Thunderbird release tarball. We don't use the release ;; tarball because it duplicates the Icecat sources and only adds the ;; "comm" directory, which is provided by this repository. - ,(let ((changeset "18be92a3f0388fe1b69941a50cdbadbf2c95b885")) + ,(let ((changeset "d4c4077a3ef9b3221984f2d0b42f1d96c35776e8")) (origin (method hg-fetch) (uri (hg-reference @@ -1598,7 +1598,7 @@ standards of the IceCat project.") (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "1w21g19l93bcna20260cgxjsh17pznd3kdfvyrn23wjkslgpbyi3"))))) + "0yabs4zlwb5jvlyk45lbw1nzfmra1f8bbwvwcwxjs1a8wcmrmb39"))))) ("autoconf" ,autoconf-2.13) ("cargo" ,rust-1.41 "cargo") ("clang" ,clang) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 7f047aa6ba..b49ca85af2 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> @@ -149,7 +149,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "2.12") + (version "2.13") (source (origin (method url-fetch) @@ -157,7 +157,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0zfilasalsy29b7viw0iwgnl9bkvp0l87gpxl1hx7379l8agwqyj")) + "041cprbj4lfs42i7sd1c2zlx3r16g6c5shz3qls79gxb7kqflkgb")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 9879130e20..7cb4aecec2 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -19,10 +19,11 @@ ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> +;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -83,6 +84,7 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages plotutils) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages pth) #:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate #:use-module (gnu packages python) @@ -428,17 +430,47 @@ with the @command{autotrace} utility or as a C library, @code{libautotrace}.") (license (list license:gpl2+ ;for the utility itself license:lgpl2.1+))))) ;for use as a library +(define-public embree + (package + (name "embree") + (version "3.12.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/embree/embree") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0aznd16n7h8g3f6jcahzfp1dq4r7wayqvn03wsaskiq2dvsi4srd")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no tests (apparently) + #:configure-flags + (list + "-DEMBREE_ISPC_SUPPORT=OFF"))) + (inputs + `(("tbb" ,tbb) + ("glfw" ,glfw))) + (home-page "https://www.embree.org/") + (synopsis "High performance ray tracing kernels") + (description + "Embree is a collection of high-performance ray tracing kernels. +Embree is meant to increase performance of photo-realistic rendering +applications.") + (license license:asl2.0))) + (define-public blender (package (name "blender") - (version "2.83.9") + (version "2.91.0") (source (origin (method url-fetch) (uri (string-append "https://download.blender.org/source/" "blender-" version ".tar.xz")) (sha256 (base32 - "106w9vi6z0gi2nbr73g8pm40w3wn7dkjcibzvvzbc786yrnzvkhb")))) + "0x396lgmk0dq9115yrc36s8zwxzmjr490sr5n2y6w27y17yllyjm")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) @@ -507,10 +539,12 @@ with the @command{autotrace} utility or as a C library, @code{libautotrace}.") ("freetype" ,freetype) ("glew" ,glew) ("openal" ,openal) + ("pugixml" ,pugixml) ("python" ,python) ("python-numpy" ,python-numpy) ("tbb" ,tbb) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("embree" ,embree))) (home-page "https://blender.org/") (synopsis "3D graphics creation suite") (description @@ -588,6 +622,7 @@ application can be customized via its API for Python scripting.") `(("boost" ,boost) ("jemalloc" ,jemalloc) ("libx11" ,libx11) + ("opencolorio" ,opencolorio) ("openimageio" ,openimageio) ("openexr" ,openexr) ("ilmbase" ,ilmbase) @@ -602,6 +637,7 @@ application can be customized via its API for Python scripting.") ("freetype" ,freetype) ("glew" ,glew) ("openal" ,openal) + ("pugixml" ,pugixml) ("python" ,python) ("zlib" ,zlib))) (home-page "https://blender.org/") @@ -1055,7 +1091,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (define-public openimageio (package (name "openimageio") - (version "2.0.13") + (version "2.2.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -1064,23 +1100,26 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (file-name (git-file-name name version)) (sha256 (base32 - "0czcls82v71wkw1syib16ncg7463hx0py0xclycsiv4w6i3wlkzz")))) + "0wzh5n527l7ia1754cf9xmbvv4ya6hj34dy6cbq9xk9372h8gd9q")))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see - ;; https://github.com/OpenImageIO/oiio/blob/master/INSTALL + ;; <https://github.com/OpenImageIO/oiio/blob/master/INSTALL.md> (arguments - `(#:tests? #f)) + `(#:tests? #f + #:configure-flags (list "-DUSE_EXTERNAL_PUGIXML=1"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) + ("fmt" ,fmt) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("giflib" ,giflib) ("openexr" ,openexr) ("ilmbase" ,ilmbase) + ("pugixml" ,pugixml) ("python" ,python-wrapper) ("pybind11" ,pybind11) ("robin-map" ,robin-map) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 10d9011401..b582585d75 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -591,6 +591,7 @@ for the GStreamer multimedia library.") (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) + (patches (search-patches "gst-plugins-good-fix-test.patch")) (sha256 (base32 "1929nhjsvbl4bw37nfagnfsnxz737cm2x3ayz9ayrn9lwkfm45zp")))) (build-system meson-build-system) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 2dd8752fc8..8dbed87c3f 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> -;;; Copyright © 2016, 2019, 2020 Eraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020, 2021 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016 Amirouche <amirouche@hypermove.net> @@ -33,6 +33,7 @@ ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> +;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages maths) + #:use-module (gnu packages mes) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) @@ -101,6 +103,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -2428,7 +2431,7 @@ interface for reading articles in any format.") (define-public guile-redis (package (name "guile-redis") - (version "1.3.0") + (version "2.0.0") (home-page "https://github.com/aconchillo/guile-redis") (source (origin (method git-fetch) @@ -2438,8 +2441,10 @@ interface for reading articles in any format.") (file-name (git-file-name name version)) (sha256 (base32 - "14izs8daxh7pb7vwpxi5g427qa31137jkaxrb1cy5rpjkwchy723")))) + "1zk2x37lw6ygf7rwy71svnsian8lj51axpxmm66ah7dazn69swlm")))) (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -2462,6 +2467,18 @@ key-value cache and store.") (package (inherit guile-redis) (name "guile2.0-redis") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; put-string is in (rnrs io ports) in guile2.0, + ;; not in (ice-9 textual-ports) + (substitute* "redis/utils.scm" + (("\\(ice-9 textual-ports\\)") + "(rnrs io ports)")) + #t))) + ,@(package-arguments guile-redis))) (native-inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-native-inputs guile-redis)))))) @@ -2570,8 +2587,8 @@ format is also supported.") (deprecated-package "guile3.0-mcron" mcron)) (define-public guile-picture-language - (let ((commit "7e5982a2788bd79a45ad6f02db46f061f97b6e14") - (revision "3")) + (let ((commit "291a746a1d3b4784d38b05239bdd7b8e796ce761") + (revision "4")) (package (name "guile-picture-language") (version (git-version "0.0.1" revision commit)) @@ -2583,12 +2600,13 @@ format is also supported.") (file-name (git-file-name name version)) (sha256 (base32 - "1y5f14cll4jx33hr43dpgrpd0yy6g0g7lim365kmgb0h0cvja80p")))) + "0rnhf13ds92sbdicshy4sy4kl2kc431fy9vzm1divw974p7v57sd")))) (build-system gnu-build-system) (inputs `(("guile" ,guile-3.0))) (propagated-inputs - `(("guile-rsvg" ,guile-rsvg))) + `(("guile-cairo" ,guile-cairo) + ("guile-rsvg" ,guile-rsvg))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -4429,6 +4447,74 @@ including parsing and code generation.") "Guile Shapefile is a Guile library for reading shapefiles.") (license license:expat))) +(define-public guile-libyaml + (let ((commit "f5d33a6880e96571d3cb079ed7755ffc156cac46") + (revision "1")) + (package + (name "guile-libyaml") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mwette/guile-libyaml") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12x91983fh1j39zy7kbk19acc1rqdh8515ddx1mh7l26j04k9wgq")))) + (build-system gnu-build-system) + (arguments + `(#:modules (((guix build guile-build-system) + #:prefix guile:) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:tests? #false ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'remove-unused-files + (lambda* (#:key inputs #:allow-other-keys) + (for-each delete-file + '("guix.scm" "demo1.yml" "demo1.scm" + "yaml/libyaml.scm" + ;; This file is mismatched with the generated FFI code. + "yaml/ffi-help-rt.scm")) + (copy-file (string-append (assoc-ref inputs "nyacc") + "/share/guile/site/3.0/system/ffi-help-rt.scm") + "yaml/ffi-help-rt.scm") + (substitute* "yaml/ffi-help-rt.scm" + (("system ffi-help-rt") "yaml ffi-help-rt")) + #true)) + (add-before 'build 'build-ffi + (lambda* (#:key inputs #:allow-other-keys) + (invoke "guild" "compile-ffi" + "--no-exec" ; allow us to patch the generated file + "yaml/libyaml.ffi") + (substitute* "yaml/libyaml.scm" + (("system ffi-help-rt") "yaml ffi-help-rt") + (("dynamic-link \"libyaml\"") + (format #false "dynamic-link \"~a/lib/libyaml\"" + (assoc-ref inputs "libyaml")))) + #true)) + (replace 'build + (assoc-ref guile:%standard-phases 'build)) + (delete 'install)))) + (inputs + `(("guile" ,guile-3.0) + ("libyaml" ,libyaml))) + (propagated-inputs + `(("guile-bytestructures" ,guile-bytestructures))) + (native-inputs + `(("nyacc" ,nyacc))) + (home-page "https://github.com/mwette/guile-libyaml") + (synopsis "Guile wrapper for libyaml") + (description + "This package provides a simple yaml module for Guile using the +ffi-helper from nyacc.") + (license license:lgpl3+)))) + (define-public schmutz (let ((commit "add24588c59552537b8f1316df99a0cdd62c221e") (revision "1")) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 691cb363c2..d38f63d110 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -575,14 +575,14 @@ specification. These are the main features: (package (inherit guile-json-3) (name "guile-json") - (version "4.4.1") + (version "4.5.1") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) (sha256 (base32 - "1xq4f59rdk28xy4sdn6amy07aa19ikrk48iily3kfhwpkbg6v9jj")))))) + "0iigada80cg7dl10z6ligiykci0cv9b88zmncz47nsz5g9gacdpc")))))) (define-public guile2.2-json (package-for-guile-2.2 guile-json-4)) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 3da6759472..10672f52f3 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com> +;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,17 +28,23 @@ #:use-module (gnu packages check) #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) + #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages gcc) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages openldap) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages tls) + #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -130,6 +137,45 @@ calibrated, and restored when the calibration is applied.") human-readable format and checks if it conforms to the standards.") (license license:expat)))) +(define-public libsmbios + (package + (name "libsmbios") + (version "2.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url (string-append "https://github.com/dell/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0krwwydyvb9224r884y1mlmzyxhlfrcqw73vi1j8787rl0gl5a2i")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("perl" ,perl) + ("python" ,python))) + (inputs + `(("libxml2" ,libxml2))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vfi")))))) + (synopsis "Library for interacting with Dell SMBIOS tables") + (description + "libsmbios provides a library to interface with the SMBIOS tables. It +also provides extensions for proprietary methods of interfacing with Dell +specific SMBIOS tables.") + (home-page "https://github.com/dell/libsmbios") + (license + (list license:osl2.1 license:gpl2+ license:bsd-3 license:boost1.0)))) + ;; Distinct from memtest86, which is obsolete. (define-public memtest86+ (package @@ -498,3 +544,31 @@ screens. It displays various patterns and allows you to estimate the quality of your CRT/LCD monitor.") (home-page "https://github.com/TobiX/screentest") (license license:gpl2))) + +(define-public tpm2-tss + (package + (name "tpm2-tss") + (version "3.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/tpm2-software/tpm2-tss" + "/releases/download/" version "/tpm2-tss-" version + ".tar.gz")) + (sha256 + (base32 "05xynpwq851fp8f5fy7ac0blvz8mr5m5cbqj3gslgbwv63kjnfbq")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("json-c" ,json-c) + ("openssl" ,openssl))) + (home-page "https://tpm2-software.github.io/") + (synopsis "OSS Implementation of the TCG TPM2 Software Stack (TSS2)") + (description + "This package provides the @acronym{TCG, Trusted Computing Group} +@acronym{TSS2, TPM2 Software Stack}. The stack contains libtss2-fapi, +libtss2-esys, libtss2-sys, libtss2-mu, libtss2-tcti-device, libtss2-tcti-swtpm +and libtss2-tcti-mssim.") + (license license:bsd-2))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 19a0fc8a44..a6fb33c31b 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -339,14 +339,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20201127") + (version "8.20210127") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "0n9m5ffgbzms0nh9dskrc7vjgwwwi9f9gxyh498wnspf96729zz7")))) + (base32 "1hsmaw70lfza1g5j6b9zbwqkkr374m18p7qb4nl952pj42a46vv3")))) (build-system haskell-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 1982d7cf07..ca2772b904 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com> -;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2019, 2021 Eric Bavier <bavier@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,7 +38,7 @@ (define-public idris (package (name "idris") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append @@ -46,10 +46,12 @@ "idris-" version "/idris-" version ".tar.gz")) (sha256 (base32 - "0wychzkg0yghd2pp8fqz78vp1ayzks191knfpl7mhh8igsmb6bc7")))) + "1pachwc6msw3n1mz2z1r1w6h518w9gbhdvbaa5vi1qp3cn3wm6q4")) + (patches (search-patches "idris-disable-test.patch")))) (build-system haskell-build-system) (native-inputs ;For tests `(("perl" ,perl) + ("ghc-cheapskate" ,ghc-cheapskate) ("ghc-tasty" ,ghc-tasty) ("ghc-tasty-golden" ,ghc-tasty-golden) ("ghc-tasty-rerun" ,ghc-tasty-rerun))) @@ -98,7 +100,8 @@ (add-after 'unpack 'update-constraints (lambda _ (substitute* "idris.cabal" - (("ansi-terminal < 0\\.9") "ansi-terminal < 0.10")) + (("ansi-terminal < 0\\.9") "ansi-terminal < 0.10") + (("cheapskate >= 0\\.1\\.1\\.2 && < 0\\.2") "cheapskate >= 0.1.1.1 && < 0.2")) #t)) (add-before 'configure 'set-cc-command (lambda _ @@ -118,6 +121,7 @@ (add-after 'install 'check (lambda* (#:key outputs #:allow-other-keys #:rest args) (let ((out (assoc-ref outputs "out"))) + (chmod "test/scripts/timeout" #o755) ;must be executable (setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count))) (setenv "IDRIS_CC" "gcc") ;Needed for creating executables (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index dfe29d413e..fda9e4cb7b 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -296,7 +296,7 @@ your images. Among its features are: (define-public catimg (package (name "catimg") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -305,7 +305,7 @@ your images. Among its features are: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0g9ywbgy162wiam9hc3yqpq5q4gyxa8fj4jskr3fdz8z8jjaabzz")))) + (base32 "0a2dswbv4xddb2l2d55hc43lzvjwrjs5z9am7v6i0p0mi2fmc89s")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5e7f13e155..958f1dcc59 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1236,7 +1236,9 @@ processing and analysis library that puts its main emphasis on customizable algorithms and data structures. It is particularly strong for multi-dimensional image processing.") (license license:expat) - (home-page "https://ukoethe.github.io/vigra/"))) + (home-page "https://ukoethe.github.io/vigra/") + (properties '((max-silent-time . 7200))))) ;2 hours, to avoid timing out + (define-public vigra-c (let* ((commit "66ff4fa5a7d4a77415caa676a45c2c6ea16562e7") diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index e9cdb16f00..713a0056b1 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -120,7 +120,7 @@ as the native format.") (define-public inkscape-1.0 (package (name "inkscape") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) @@ -129,7 +129,7 @@ as the native format.") "inkscape-" version ".tar.xz")) (sha256 (base32 - "1hjp5nnyx2m3miji6q4lcb6zgbi498v641dc7apkqqvayknrb4ng")) + "12krl97a00gdcxxibsb7g2lgx5458mhx2437x0hvz350242j6gns")) (modules '((guix build utils) (ice-9 format))) (snippet diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 758f8f1859..d6afb2e9d3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -13120,7 +13121,7 @@ network protocols, and core version control algorithms.") (define-public abcl (package (name "abcl") - (version "1.6.0") + (version "1.8.0") (source (origin (method url-fetch) @@ -13128,7 +13129,7 @@ network protocols, and core version control algorithms.") version "/abcl-src-" version ".tar.gz")) (sha256 (base32 - "0hvbcsffr8n2xwdixc8wyw1bfl9fxn2gyy0c4nma7j9zbn0wwgw9")) + "0zr5mmqyj484vza089l8vc88d07g0m8ymxzglvar3ydwyvi1x1qx")) (patches (search-patches "abcl-fix-build-xml.patch")))) diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index f1da66a4be..34dba958ce 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,19 +22,41 @@ #:use-module (guix git-download) #:use-module (guix build-system julia)) +(define-public julia-adapt + (package + (name "julia-adapt") + (version "3.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaGPU/Adapt.jl") + (commit (string-append "v" version)))) + (file-name "Adapt") + (sha256 + (base32 "1lks6k3a1gvwlplld47nh6xfy3nnlpc0vhkzg6zg0qn33qdmavrg")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaGPU/Adapt.jl") + (synopsis "Package providing the @code{adapt} function, similar to @code{convert}") + (description "This Julia package provides the @code{adapt(T, x)} function +acts like @code{convert(T, x)}, but without the restriction of returning a +@code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to +be GPU compatible without throwing away the wrapper.") + (license license:expat))) + (define-public julia-compat (package (name "julia-compat") - (version "3.9.1") + (version "3.25.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/JuliaLang/Compat.jl") (commit (string-append "v" version)))) - (file-name "Compat") + (file-name (git-file-name name version)) (sha256 - (base32 "01vwjr2134bzgnaxwd67knbibbhnfgnqjw7gxrp29s6y2a6j3882")))) + (base32 "1m4r5i8mq29xjp3mllh6047n5a78sdyld57m15anrnsjgaapcgby")))) (build-system julia-build-system) (home-page "https://github.com/JuliaLang/Compat.jl") (synopsis "Compatibility across Julia versions") @@ -43,3 +65,154 @@ between older and newer versions of the Julia language. The Compat package provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) + +(define-public julia-datastructures + (package + (name "julia-datastructures") + (version "0.18.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaCollections/DataStructures.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l")))) + (propagated-inputs + `(("julia-compat" ,julia-compat) + ("julia-orderedcollections" ,julia-orderedcollections))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaCollections/DataStructures.jl") + (synopsis "Julia module providing different data structures") + (description "This package implements a variety of data structures, +including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, +@code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") + (license license:expat))) + +(define-public julia-fixedpointnumbers + (package + (name "julia-fixedpointnumbers") + (version "0.8.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMath/FixedPointNumbers.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi")))) + (build-system julia-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-test + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "test/fixed.jl" + ;; A deprecation warning is not thrown + (("@test_logs.*:warn" all) (string-append "# " all))) + #t))))) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl") + (synopsis "Fixed point types for Julia") + (description "@code{FixedPointNumbers.jl} implements fixed-point number +types for Julia. A fixed-point number represents a fractional, or +non-integral, number. In contrast with the more widely known floating-point +numbers, with fixed-point numbers the decimal point doesn't \"float\": +fixed-point numbers are effectively integers that are interpreted as being +scaled by a constant factor. Consequently, they have a fixed number of +digits (bits) after the decimal (radix) point.") + (license license:expat))) + +(define-public julia-json + (package + (name "julia-json") + (version "0.21.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/JSON.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f9k613kbknmp4fgjxvjaw4d5sfbx8a5hmcszmp1w9rqfqngjx9m")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-datastructures" ,julia-datastructures) + ("julia-fixedpointnumbers" ,julia-fixedpointnumbers) + ("julia-parsers" ,julia-parsers) + ("julia-offsetarrays" ,julia-offsetarrays))) + (home-page "https://github.com/JuliaIO/JSON.jl") + (synopsis "JSON parsing and printing library for Julia") + (description "@code{JSON.jl} is a pure Julia module which supports parsing +and printing JSON documents.") + (license license:expat))) + +(define-public julia-orderedcollections + (package + (name "julia-orderedcollections") + (version "1.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaCollections/OrderedCollections.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sfip1ixghsz91q2s7d62rgzw3gppg42fg6bccxlplqa3hfmbycf")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaCollections/OrderedCollections.jl") + (synopsis "Associative containers that preserve insertion order") + (description "This package implements @code{OrderedDicts} and +@code{OrderedSets}, which are similar to containers in base Julia. However, +during iteration the @code{Ordered*} containers return items in the order in +which they were added to the collection.") + (license license:expat))) + +(define-public julia-offsetarrays + (package + (name "julia-offsetarrays") + (version "1.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaArrays/OffsetArrays.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y3fnssw2hzyghrk6jfcxslab0f8sjkjszh482snfq4k6mkrhy77")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-adapt" ,julia-adapt))) + ;; CatIndices depends on OffsetArrays, introducing a recursive dependency + (arguments '(#:tests? #f)) + (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/") + (synopsis "Fortran-like arrays with arbitrary, zero or negative indices") + (description "@code{OffsetArrays.jl} provides Julia users with arrays that +have arbitrary indices, similar to those found in some other programming +languages like Fortran.") + (license license:expat))) + +(define-public julia-parsers + (package + (name "julia-parsers") + (version "1.0.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaData/Parsers.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16iffl6l28kspgqch48mhi1s8qhspr3cpqcwsph3rqi72lbfqygx")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaData/Parsers.jl") + (synopsis "Fast parsing machinery for basic types in Julia") + (description "@code{Parsers.jl} is a collection of type parsers and +utilities for Julia.") + (license license:expat))) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 0cc47e6337..9173aea80f 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org> @@ -9,7 +9,7 @@ ;;; Copyright © 2018, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> ;;; Copyright © 2020 Zheng Junjie <873216071@qq.com> ;;; @@ -457,7 +457,7 @@ illustrate project schedules.") (define-public krita (package (name "krita") - (version "4.4.1") + (version "4.4.2") (source (origin (method url-fetch) (uri (string-append @@ -465,7 +465,7 @@ illustrate project schedules.") "/krita-" version ".tar.gz")) (sha256 (base32 - "05rq5hkh2lmk8hall2h9ccaav0nw8fj7vd4aff5fyp2fiq3aybbg")))) + "14lprcv7xw6r19bmylcz4c1p1jfazmza2b4m48f3x7vmdv2sx5ln")))) (build-system cmake-build-system) (arguments `(#:tests? #f @@ -714,6 +714,7 @@ different notification systems.") ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols" ,qtquickcontrols) ("qtquickcontrols2" ,qtquickcontrols2) + ("qtwayland" ,qtwayland) ("qtx11extras" ,qtx11extras))) (home-page "https://community.kde.org/KDEConnect") (synopsis "Enable your devices to communicate with each other") @@ -758,6 +759,40 @@ communicate with each other. Here's a few things KDE Connect can do: charts.") (license license:lgpl2.1+))) +(define-public kdf + (package + (name "kdf") + (version "20.12.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" + version "/src/kdf-" version ".tar.xz")) + (sha256 + (base32 + "0ba67hs4vlb3qyvdzhnpmf8p62df12s8aqw4hzf9vnxff3qix5k1")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("kcmutils" ,kcmutils) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("knotifications" ,knotifications) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (home-page "https://kde.org/applications/system/kdk") + (synopsis "View Disk Usage") + (description "KDiskFree displays the available file devices (hard drive +partitions, floppy and CD drives, etc.) along with information on their +capacity, free space, type and mount point. It also allows you to mount and +unmount drives and view them in a file manager.") + (license license:gpl2+))) + (define-public kcachegrind (package (name "kcachegrind") @@ -913,6 +948,33 @@ Python, PHP, and Perl.") a variety of formats, including PDF, PostScript, DejaVu, and EPub.") (license license:gpl2+))) +(define-public poxml + (package + (name "poxml") + (version "20.12.1") + (source (origin + (method url-fetch) + (uri + (string-append "mirror://kde/stable/release-service/" version + "/src/poxml-" version ".tar.xz")) + (sha256 + (base32 + "1smjvblx0jcv3afs2sr4qcmvhqd44iw24hvr9fppa3nxhrmjwmlk")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("gettext" ,gettext-minimal) + ("qtbase" ,qtbase))) + (home-page "https://kde.org/applications/development") + (synopsis "Tools for translating DocBook XML files with Gettext") + (description "This is a collection of tools that facilitate translating +DocBook XML files using Gettext message files (PO files). Also included are +several command-line utilities for manipulating DocBook XML files, PO files and +PO template files.") + (license license:gpl2+))) + (define-public kdegraphics-mobipocket (package (name "kdegraphics-mobipocket") diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 3f17465039..93e125db7e 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -23,36 +23,313 @@ (define-module (gnu packages language) #:use-module (gnu packages) + #:use-module (gnu packages anthy) #:use-module (gnu packages autotools) #:use-module (gnu packages audio) + #:use-module (gnu packages base) + #:use-module (gnu packages docbook) + #:use-module (gnu packages emacs) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages ibus) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages man) + #:use-module (gnu packages ncurses) #:use-module (gnu packages ocr) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages perl-check) + #:use-module (gnu packages qt) + #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages web) #:use-module (gnu packages xml) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (guix packages) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module ((guix licenses) #:select - (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1)) + (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+)) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils)) +(define-public nimf + (package + (name "nimf") + (version "1.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/hamonikr/nimf.git") + (commit + (string-append "nimf-" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:imported-modules + (,@%glib-or-gtk-build-system-modules + (guix build cmake-build-system) + (guix build qt-build-system)) + #:modules + ((guix build glib-or-gtk-build-system) + ((guix build qt-build-system) + #:prefix qt:) + (guix build utils)) + #:configure-flags + (list + "--with-im-config-data" + "--with-imsettings-data" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-flags + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure.ac" + (("-Werror") + "-Wno-error")) + #t)) + (add-after 'patch-flags 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs" + (substitute* "nimf-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml-4.3") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'patch-docbook-xml 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "configure.ac" + (("/usr/share/anthy/anthy.dic") + (string-append (assoc-ref inputs "anthy") + "/share/anthy/anthy.dic"))) + (substitute* "configure.ac" + (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0") + (string-append (assoc-ref inputs "gtk+:bin") + "/bin:$GTK3_LIBDIR/libgtk-3-0")) + (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0") + (string-append (assoc-ref inputs "gtk+-2:bin") + "/bin:$GTK2_LIBDIR/libgtk2.0-0"))) + (substitute* "modules/clients/gtk/Makefile.am" + (("\\$\\(GTK3_LIBDIR\\)") + (string-append (assoc-ref outputs "out") + "/lib")) + (("\\$\\(GTK2_LIBDIR\\)") + (string-append (assoc-ref outputs "out") + "/lib"))) + (substitute* "modules/clients/qt4/Makefile.am" + (("\\$\\(QT4_LIB_DIR\\)") + (string-append (assoc-ref outputs "out") + "/lib"))) + (substitute* "modules/clients/qt5/Makefile.am" + (("\\$\\(QT5_IM_MODULE_DIR\\)") + (string-append (assoc-ref outputs "out") + "/lib/qt5/plugins/inputmethods"))) + (substitute* '("bin/nimf-settings/Makefile.am" + "data/apparmor-abstractions/Makefile.am" + "data/Makefile.am" "data/im-config/Makefile.am" + "data/imsettings/Makefile.am") + (("/etc") + (string-append (assoc-ref outputs "out") + "/etc")) + (("/usr/share") + (string-append (assoc-ref outputs "out") + "/share"))) + #t)) + (add-after 'install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("docbook-xml-4.3" ,docbook-xml-4.3) + ("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("gtk+-2:bin" ,gtk+-2 "bin") + ("gtk+:bin" ,gtk+ "bin") + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("anthy" ,anthy) + ("appindicator" ,libappindicator) + ("gtk+-2" ,gtk+-2) + ("gtk+" ,gtk+) + ("hangul" ,libhangul) + ("m17n-db" ,m17n-db) + ("m17n-lib" ,m17n-lib) + ("qt-4" ,qt-4) + ("qtbase" ,qtbase) + ("rime" ,librime) + ("rsvg" ,librsvg) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols) + ("x11" ,libx11) + ("xkbcommon" ,libxkbcommon) + ("xklavier" ,libxklavier))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Lightweight input method framework") + (description "Nimf is a lightweight, fast and extensible input method +framework. This package provides a fork of the original nimf project, that +focusses especially on Korean input (Hangul, Hanja, ...).") + (home-page "https://github.com/hamonikr/nimf/") + (license lgpl3+))) + +(define-public hime + (package + (name "hime") + (version "0.9.11") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/hime-ime/hime.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%glib-or-gtk-build-system-modules + (guix build cmake-build-system) + (guix build qt-build-system)) + #:modules + ((guix build glib-or-gtk-build-system) + ((guix build qt-build-system) + #:prefix qt:) + (guix build utils)) + #:configure-flags + (list + ;; FIXME + ;; error: unknown type name ‘GtkStatusIcon’ + "--disable-system-tray") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-std + (lambda _ + (substitute* "configure" + (("gnu17") + "gnu11") + (("gnu++17") + "gnu++11")) + #t)) + (add-after 'install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("whereis" ,util-linux))) + (inputs + `(("anthy" ,anthy) + ("appindicator" ,libappindicator) + ("chewing" ,libchewing) + ("gtk+" ,gtk+) + ("qtbase" ,qtbase) + ("xtst" ,libxtst))) + (synopsis "HIME Input Method Editor") + (description "Hime is an extremely easy-to-use input method framework. It +is lightweight, stable, powerful and supports many commonly used input methods, +including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin, +Random Cage Fighting Birds, Cool Music etc.") + (home-page "http://hime-ime.github.io/") + (license + (list + gpl2+ + lgpl2.1+ + ;; Documentation + fdl1.2+)))) + +(define-public libchewing + (package + (name "libchewing") + (version "0.5.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/chewing/libchewing.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my")))) + (build-system gnu-build-system) + (arguments + `(;; test-easy-symbol and test-fullshape fail with multiple cores. + #:parallel-tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/Makefile.am" + ((" test-bopomofo ") + "") + ((" test-config ") + "") + ((" test-reset ") + "") + ((" test-symbol ") + "") + ((" test-keyboardless ") + "") + ((" test-special-symbol ") + "") + ((" test-keyboard ") + "") + ((" test-regression ") + "") + ((" test-userphrase ") + "")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("texinfo" ,texinfo))) + (inputs + `(("ncurses" ,ncurses) + ("sqlite" ,sqlite))) + (synopsis "Chinese phonetic input method") + (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input +method, one of the most popular choices for Traditional Chinese users.") + (home-page "http://chewing.im/") + (license lgpl2.1+))) + (define-public liblouis (package (name "liblouis") diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 714072e84b..99382c991b 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -1085,7 +1085,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (define-public libreoffice (package (name "libreoffice") - (version "6.4.6.2") + (version "6.4.7.2") (source (origin (method url-fetch) @@ -1094,7 +1094,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") "https://download.documentfoundation.org/libreoffice/src/" (version-prefix version 3) "/libreoffice-" version ".tar.xz")) (sha256 - (base32 "0k5aq1pfw2rpq28nkx6syrgwqbbdn6my9bnlqi3fn8qf572q30mb")))) + (base32 "0i3654rmzs8aazj8j3dmxamilslfrki0y4sksg3n1zygc2ddfk83")))) (build-system glib-or-gtk-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/libunwind.scm b/gnu/packages/libunwind.scm index 588b5dd314..9eaf26fca8 100644 --- a/gnu/packages/libunwind.scm +++ b/gnu/packages/libunwind.scm @@ -28,14 +28,14 @@ (define-public libunwind (package (name "libunwind") - (version "1.3.1") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/libunwind/libunwind-" version ".tar.gz")) (sha256 (base32 - "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")))) + "05qhzcg1xag3l5m3c805np6k342gc0f3g087b7g16jidv59pccwh")))) (build-system gnu-build-system) (arguments ;; FIXME: As of glibc 2.25, we get 1 out of 34 test failures (2 are diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index c403181c77..cb0d45ce86 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -53,7 +53,7 @@ (define-public libusb (package (name "libusb") - (version "1.0.23") + (version "1.0.24") (source (origin (method url-fetch) @@ -61,7 +61,7 @@ "releases/download/v" version "/libusb-" version ".tar.bz2")) (sha256 - (base32 "13dd2a9x290d1q8nb1lqiaf36grcvns5ripk5k2xm0lajmpc04fv")))) + (base32 "0amilbi5qncdnrds3ji21vbiz1wvdm1fwp5qrxnk49xkyy2jdzby")))) (build-system gnu-build-system) ;; XXX: Enabling udev is now recommended, but eudev indirectly depends on diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 975608c79b..7b94c02558 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -1,7 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2021 Tanguy Le Carrour <tanguy@bioneland.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -169,13 +170,13 @@ belonging to various licenses.") (define-public reuse (package (name "reuse") - (version "0.11.1") + (version "0.12.1") (source (origin (method url-fetch) (uri (pypi-uri "reuse" version)) (sha256 - (base32 "09qjb4f49vr0a7zrszab8g719ilg2p6b942mr0bgyvplrjikkid5")))) + (base32 "11i1xjbwbqjipzpbrbnp110zx1m49khn6dl5z3mjkjaz9kr6bl2f")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest) @@ -205,3 +206,35 @@ tools that have a lot more features and functionality surrounding the analysis and inspection of copyright and licenses in software projects. This one is designed to be simple.") (license (list asl2.0 gpl3+)))) + +(define-public licenseheaders + (package + (name "licenseheaders") + (version "0.8.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "licenseheaders" version)) + (sha256 + (base32 "073xcm10gyg5kcxqmbsyaz9sr0slbdwgr0r9qanch0zl8i0z9259")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Reported upstream: + ;; <https://github.com/johann-petrak/licenseheaders/issues/47>. + (add-after 'unpack 'patch-code + (lambda _ + (substitute* "licenseheaders.py" + (("\\\"filenames\\\": \\[\\\"CMakeLists.txt\\\"\\],") + "\"filenames\": [\"CMakeLists.txt\"], \n \"extensions\": [],")) + #t))))) + (propagated-inputs + `(("python-regex" ,python-regex))) + (home-page "http://github.com/johann-petrak/licenseheaders") + (synopsis "Add or change license headers for all files in a directory") + (description + "Licenseheaders is a Python 3 tool to update, change or add license +headers to all files of any of the supported types in or below some +directory.") + (license expat))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index db67feafe5..5f716c367a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -49,7 +49,7 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2020 Greg Hogan <code@greghogan.com> +;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020 David Dashyan <mail@davie.li> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> @@ -353,7 +353,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.10-version "5.10.6") +(define-public linux-libre-5.10-version "5.10.12") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -361,7 +361,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "02v91afra3pcwfws74wxdsm8pfc57vws659b7j6jmsxm3hnd0rvp"))) + (hash (base32 "1an460q3affd7gmd6fqv8g37j3z2fnmq19iy677k8kxb2wl4yi8x"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) @@ -369,7 +369,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.88") +(define-public linux-libre-5.4-version "5.4.94") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -377,12 +377,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1ci432xanm7glgg05012kh43pfi4k771kzih0816y5674v0hg02b"))) + (hash (base32 "0f9bml584g6jb822j7xyxx9j2g3s49p08xz4bkx9lbiinxyzagf2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.166") +(define-public linux-libre-4.19-version "4.19.172") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -390,12 +390,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "03l86ykdjs5wa0n4wknpgy9dv2r6l92qfsyak373jkhs684z53mr"))) + (hash (base32 "08hl7vw5r61gnzagnm8nbhlbm0h226crp4m19zh0qr2q0pmwqd2g"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.214") +(define-public linux-libre-4.14-version "4.14.218") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -403,12 +403,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "07ir4yw7s5c6yb3gjbgjvcqqdgpbsjxrvapgh6zs22ffd8hrchpm"))) + (hash (base32 "0l2rcpccf71amngii7vs18x4x6gb0bwxdb2gszabip03bshqdzp3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.250") +(define-public linux-libre-4.9-version "4.9.254") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -416,12 +416,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "15vizxd2i2311skjank406ny3bc30c5rz2p9jvh5xz1yv12vzgcy"))) + (hash (base32 "1djw5mlff73j7m1176qspdzhf6zyv4m0gkdvlxq4g4mdrbqfx6xn"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.250") +(define-public linux-libre-4.4-version "4.4.254") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -429,7 +429,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "12m14j8654rawj2znkyhvcnwnf53x10zlghxd0mpl8dfzwvn2f5b"))) + (hash (base32 "11wca1mprlcyk7r5h1c8rx3hr7l6mj4i85jaaf106s7wqcm8wamd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -641,6 +641,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ("CONFIG_MEMCG_KMEM" . #t) ("CONFIG_CPUSETS" . #t) ("CONFIG_PROC_PID_CPUSET" . #t) + ;; Allow disk encryption by default + ("CONFIG_DM_CRYPT" . m) ;; Modules required for initrd: ("CONFIG_NET_9P" . m) ("CONFIG_NET_9P_VIRTIO" . m) @@ -850,7 +852,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (description "GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel. It has been modified to remove all non-free binary blobs.") - (license license:gpl2))) + (license license:gpl2) + (properties '((max-silent-time . 3600))))) ;don't timeout on blob scan. ;;; @@ -2218,7 +2221,7 @@ external rate conversion.") (define-public iptables (package (name "iptables") - (version "1.8.6") + (version "1.8.7") (source (origin (method url-fetch) @@ -2227,7 +2230,7 @@ external rate conversion.") (string-append "https://www.netfilter.org/projects/iptables/" "files/iptables-" version ".tar.bz2"))) (sha256 - (base32 "0rvp0k8a72h2snrdx48cfn75bfa0ycrd2xl3kjysbymq7q6gxx50")))) + (base32 "1w6qx3sxzkv80shk21f63rq41c84irpx68k62m2cv629n1mwj2f1")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -5513,7 +5516,7 @@ The package provides additional NTFS tools.") (define-public rdma-core (package (name "rdma-core") - (version "26.0") + (version "33.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/linux-rdma/rdma-core" @@ -5521,27 +5524,18 @@ The package provides additional NTFS tools.") version ".tar.gz")) (sha256 (base32 - "14raqwx4pkzghiwkx1v0dq338f7xqqx8rnsxlpdnngvjy1p5l79j")))) + "1rah0v9gq9rksqd2c17nmydsxcjz178n7m2y4ricwlf5pq1b2yfi")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests ;; Upstream uses the "ninja" build system and encourage distros - ;; to do the same for consistency. They also recommend using the - ;; "Release" build type. - #:build-type "Release" + ;; to do the same for consistency. #:configure-flags (list "-GNinja" (string-append "-DRST2MAN_EXECUTABLE=" (assoc-ref %build-inputs "python-docutils") - "/bin/rst2man.py") - - ;; On some configurations, the - ;; IB_USER_MAD_REGISTER_AGENT ioctl, which is - ;; used by default, would return ENODEV. To - ;; avoid that, use 'write' instead of ioctls, - ;; as suggested in 'CMakeList.txt'. - "-DIOCTL_MODE=write") + "/bin/rst2man.py")) #:phases (modify-phases %standard-phases (replace 'build @@ -5634,7 +5628,7 @@ The collection contains a set of bandwidth and latency benchmark such as: (package (name "rng-tools") (home-page "https://github.com/nhorman/rng-tools") - (version "6.10") + (version "6.11") (source (origin (method git-fetch) (uri (git-reference (url home-page) @@ -5642,7 +5636,7 @@ The collection contains a set of bandwidth and latency benchmark such as: (file-name (git-file-name name version)) (sha256 (base32 - "0hbml37yxs0fs69g7f2x4ixq61z0029swy99rn7ykma9mi6b7ni9")))) + "0wwvi8a8k2ahhmwln4w970b8gd3in3g13jkbsapkpnspwmlqj5xa")))) (build-system gnu-build-system) (arguments `(;; Disable support for various hardware entropy sources as they need @@ -5919,29 +5913,29 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (define-public mcelog (package (name "mcelog") - (version "173") - (source (origin - (method url-fetch) - (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/" - "mcelog.git/snapshot/v" version ".tar.gz")) - (sha256 - (base32 - "1a1j4lsvql3aiqbkdn10hhpvmhavhlr9qkh2scxcv1kn7rvvclih")) - (file-name (string-append name "-" version ".tar.gz")) - (modules '((guix build utils))) - (snippet - `(begin - ;; The snapshots lack a .git directory, - ;; breaking ‘git describe’. - (substitute* "Makefile" - (("\"unknown\"") (string-append "\"v" ,version "\""))) - #t)))) + (version "175") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vvrnjkh1jp7f6295syydg7lplqmcm8msdls3xyk8xfiz69xqdjz")) + (modules '((guix build utils))) + (snippet + `(begin + ;; The checkout lack a .git directory, breaking ‘git describe’. + (substitute* "Makefile" + (("\"unknown\"") (string-append "\"v" ,version "\""))) + #t)))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) ; no configure script #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" + (list (string-append "CC=" ,(cc-for-target)) (string-append "prefix=" out) (string-append "DOCDIR=" out "/share/doc/" ,name "-" ,version) @@ -6442,14 +6436,14 @@ re-use code and to avoid re-inventing the wheel.") (define-public libnftnl (package (name "libnftnl") - (version "1.1.8") + (version "1.1.9") (source (origin (method url-fetch) (uri (string-append "mirror://netfilter.org/libnftnl/" "libnftnl-" version ".tar.bz2")) (sha256 - (base32 "04dp797llg3cqzivwrql30wg9mfr0ngnp0v5gs7jcdmp11dzm8q4")))) + (base32 "16jbp4fs5dz2yf4c3bl1sb48x9x9wi1chv39zwmfgya1k9pimcp9")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -6466,7 +6460,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) @@ -6475,7 +6469,7 @@ used by nftables.") (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.bz2"))) (sha256 - (base32 "1c1c2475nifncv0ng8z77h2dpanlsx0bhqm15k00jb3a6a68lszy")))) + (base32 "1r4g22grhd4s1918wws9vggb8821sv4kkj8197ygxr6sar301z30")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-man-doc"))) ; FIXME: Needs docbook2x. @@ -6732,7 +6726,7 @@ comparing system environments.") (define-public libfabric (package (name "libfabric") - (version "1.4.1") + (version "1.11.2") (source (origin (method url-fetch) @@ -6740,7 +6734,7 @@ comparing system environments.") (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2")) (sha256 - (base32 "19l2m1frna1l765z4j7wl8hp4rb9wrh0hy5496685hd183hmy5pv")))) + (base32 "1nnpfkwxhim2nqjkb1vwrb4wj4j3l6w6yvvy69fqam2snlhshazz")))) (build-system gnu-build-system) (inputs `(("rdma-core" ,rdma-core) ,@(match (%current-system) @@ -7593,7 +7587,7 @@ persistent over reboots.") (define-public libbpf (package (name "libbpf") - (version "0.0.9") + (version "0.1.1") (source (origin (method git-fetch) @@ -7603,7 +7597,7 @@ persistent over reboots.") (file-name (git-file-name name version)) (sha256 (base32 - "18l0gff7nm841mwhr7bc7x863xcyvwh58zl7mc0amnsjqlbrvqg7")))) + "0ilnnm4q22f8fagwp8kb37licy4ks861i2iqh2djsypqhnxvx3fv")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -7623,10 +7617,7 @@ persistent over reboots.") (modify-phases %standard-phases (delete 'configure) (add-before 'build 'pre-build - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "scripts/check-reallocarray.sh" - (("/bin/rm" rm) - (string-append (assoc-ref inputs "coreutils") rm))) + (lambda _ (chdir "src") #t))))) (home-page "https://github.com/libbpf/libbpf") @@ -7640,7 +7631,7 @@ headers.") (define-public bcc (package (name "bcc") - (version "0.15.0") + (version "0.16.0") (source (origin (method git-fetch) @@ -7650,7 +7641,7 @@ headers.") (file-name (git-file-name name version)) (sha256 (base32 - "1d5j9zanffa1c7lpi5fcrdlx1n7hy86xl82fam2xqr0s41q4ipxw")))) + "1367c0bzrpclvjvmk0sxgi49rh7j2f9izqk5a7g3yvawh1fmvvjh")))) (build-system cmake-build-system) (native-inputs `(("bison" ,bison) @@ -7865,7 +7856,7 @@ kernel side implementation.") (define-public erofs-utils (package (name "erofs-utils") - (version "1.2") + (version "1.2.1") (source (origin (method git-fetch) @@ -7874,7 +7865,7 @@ kernel side implementation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "07hvijq2hsn3gg1kb8abrfk23n83j57yx8kyv4wqgwhhvd30myjc")))) + (base32 "1vb4mxsb59g29x7l22cffsqa8x743sra4j5zbmx89hjwpwm9vvcg")))) (build-system gnu-build-system) (inputs `(("lz4" ,lz4) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index f0881bdfb7..736dbfca37 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -19,8 +19,10 @@ ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2020 Adam Kandur <rndd@tuta.io> +;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io> ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2021 Aurora <rind38@disroot.org> +;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,10 +54,12 @@ #:use-module (guix utils) #:use-module (guix build-system asdf) #:use-module (guix build-system trivial) + #:use-module (gnu packages base) #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages enchant) + #:use-module (gnu packages file) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages glib) @@ -65,6 +69,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) #:use-module (gnu packages maths) + #:use-module (gnu packages mp3) #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -455,34 +460,67 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public ecl-cl-ppcre (sbcl-package->ecl-package sbcl-cl-ppcre)) -(define-public sbcl-uax-15 - (let ((commit "e7439a91b72f533fcf736643e3ff0677b56c2e7d") +(define-public sbcl-ubiquitous + (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af") (revision "1")) (package - (name "sbcl-uax-15") - (version (git-version "0.1" revision commit)) + (name "sbcl-ubiquitous") + (version (git-version "2.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/sabracrolleton/uax-15") + (url "https://github.com/Shinmera/ubiquitous") (commit commit))) - (file-name (git-file-name "uax-15" version)) + (file-name (git-file-name "ubiquitous" version)) (sha256 - (base32 "1vf8a2aikgx0l5bsq0z9s0dw3sgx1887xhagdlf66fwffa5jskg6")))) + (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49")))) (build-system asdf-build-system/sbcl) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) (inputs - `(("cl-ppcre" ,sbcl-cl-ppcre) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - `(#:asd-systems '("uax-15"))) - (home-page "https://github.com/sabracrolleton/uax-15") - (synopsis "Common Lisp implementation of unicode normalization functions") - (description "This package provides supports for unicode normalization, -RFC8264 and RFC7564.") - (license license:expat)))) + `(("bordeaux-threads" ,sbcl-bordeaux-threads))) + (home-page "https://shinmera.github.io/ubiquitous/") + (synopsis "Application configuration mechanism for Common Lisp") + (description + "@code{UBIQUITOUS} is a very easy-to-use library for persistent +configuration storage. It automatically takes care of finding a suitable place +to save your data, and provides simple functions to access and modify the data +within.") + (license license:zlib)))) + +(define-public ecl-ubiquitous + (sbcl-package->ecl-package sbcl-ubiquitous)) + +(define-public cl-ubiquitous + (sbcl-package->cl-source-package sbcl-ubiquitous)) + +(define-public sbcl-uax-15 + (package + (name "sbcl-uax-15") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabracrolleton/uax-15") + (commit (string-append "v" version)))) + (file-name (git-file-name "uax-15" version)) + (sha256 + (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-systems + '("uax-15"))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre) + ("split-sequence" ,sbcl-split-sequence))) + (home-page "https://github.com/sabracrolleton/uax-15") + (synopsis "Common Lisp implementation of unicode normalization functions") + (description + "This package provides supports for unicode normalization, RFC8264 and +RFC7564.") + (license license:expat))) (define-public cl-uax-15 (sbcl-package->cl-source-package sbcl-uax-15)) @@ -795,40 +833,11 @@ antialiased TrueType font rendering using CLX and XRender extension.") (commit commit))) (sha256 (base32 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn")) - (file-name (git-file-name "slynk" version)) - (modules '((guix build utils) - (ice-9 ftw))) - (snippet - '(begin - ;; Move the contribs into the main source directory for easier - ;; access - (substitute* "slynk/slynk.asd" - (("\\.\\./contrib") - "contrib")) - (rename-file "contrib" "slynk/contrib") - ;; Move slynk's contents into the base directory for easier - ;; access - (for-each (lambda (file) - (unless (string-prefix? "." file) - (rename-file (string-append "slynk/" file) - (string-append "./" (basename file))))) - (scandir "slynk")) - #t)))) + (file-name (git-file-name "slynk" version)))) (build-system asdf-build-system/sbcl) (outputs '("out" "image")) (arguments - `(#:tests? #f ; No test suite - #:asd-systems '("slynk" - "slynk/arglists" - "slynk/fancy-inspector" - "slynk/package-fu" - "slynk/mrepl" - "slynk/trace-dialog" - "slynk/profiler" - "slynk/stickers" - "slynk/indentation" - "slynk/retro") - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'create-asdf-configuration 'build-image (lambda* (#:key outputs #:allow-other-keys) @@ -1314,6 +1323,34 @@ and macros, primarily for software projects written in CL by the author.") (define-public ecl-jpl-util (sbcl-package->ecl-package sbcl-jpl-util)) +(define-public sbcl-piping + (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656") + (revision "1")) + (package + (name "sbcl-piping") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/piping/") + (commit commit))) + (file-name (git-file-name "piping" version)) + (sha256 + (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5")))) + (build-system asdf-build-system/sbcl) + (home-page "https://shinmera.github.io/piping/") + (synopsis "Library to enable simple message pipelines") + (description + "This is a Common Lisp library to enable simple message pipelines.") + (license license:zlib)))) + +(define-public ecl-piping + (sbcl-package->ecl-package sbcl-piping)) + +(define-public cl-piping + (sbcl-package->cl-source-package sbcl-piping)) + (define-public sbcl-jpl-queues (package (name "sbcl-jpl-queues") @@ -1939,6 +1976,51 @@ pretty, documentation is code.") ;; TODO: Find why the tests fail on ECL. ((#:tests? _ #f) #f)))))) +(define-public sbcl-mssql + (let ((commit "045602a19a32254108f2b75871049293f49731eb") + (revision "1")) + (package + (name "sbcl-mssql") + (version (git-version "0.0.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/archimag/cl-mssql") + (commit commit))) + (file-name (git-file-name "cl-mssql" version)) + (sha256 + (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cffi" ,sbcl-cffi) + ("freetds" ,freetds) + ("garbage-pools" ,sbcl-garbage-pools) + ("iterate" ,sbcl-iterate) + ("parse-number" ,sbcl-parse-number))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/mssql.lisp" + (("libsybdb" all) + (string-append (assoc-ref inputs "freetds") "/lib/" all))) + #t))))) + (home-page "https://github.com/archimag/cl-mssql") + (synopsis "Common Lisp library to interact with MS SQL Server databases") + (description + "@code{cl-mssql} provides an interface to connect to Microsoft SQL +server. It uses the @code{libsybdb} foreign library provided by the FreeTDS +project.") + (license license:llgpl)))) + +(define-public ecl-mssql + (sbcl-package->ecl-package sbcl-mssql)) + +(define-public cl-mssql + (sbcl-package->cl-source-package sbcl-mssql)) + (define-public sbcl-lisp-unit (let ((commit "89653a232626b67400bf9a941f9b367da38d3815")) (package @@ -2241,10 +2323,11 @@ pattern-matching-like, but a char-by-char procedural parser.") (sbcl-package->ecl-package sbcl-proc-parse)) (define-public sbcl-parse-float - (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c")) + (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c") + (revision "2")) (package (name "sbcl-parse-float") - (version (git-version "0.0.0" "1" commit)) + (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) @@ -2252,23 +2335,21 @@ pattern-matching-like, but a char-by-char procedural parser.") (url "https://github.com/soemraws/parse-float") (commit commit))) (sha256 - (base32 - "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7")) + (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr")) (file-name (git-file-name "proc-parse" version)))) (build-system asdf-build-system/sbcl) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("babel" ,sbcl-babel))) - (native-inputs - `(("prove" ,sbcl-prove))) (arguments - ;; TODO: Tests don't find "proc-parse-test", why? - `(#:tests? #f)) + ;; FIXME: https://github.com/soemraws/parse-float/issues/12 + `(#:asd-systems '("parse-float" "parse-float-tests"))) + (native-inputs + `(("lisp-unit" ,sbcl-lisp-unit))) + (inputs + `(("alexandria" ,sbcl-alexandria))) + (home-page "https://github.com/soemraws/parse-float") (synopsis "Parse a floating point value from a string in Common Lisp") (description "This package exports the following function to parse floating-point values from a string in Common Lisp.") - (home-page "https://github.com/soemraws/parse-float") (license license:public-domain)))) (define-public cl-parse-float @@ -2354,8 +2435,8 @@ tester module.") (sbcl-package->ecl-package sbcl-ptester)) (define-public sbcl-puri - (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97") - (revision "1")) + (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b") + (revision "2")) (package (name "sbcl-puri") (version (git-version "1.5.7" revision commit)) @@ -2365,13 +2446,13 @@ tester module.") (uri (git-reference (url "http://git.kpe.io/puri.git") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "puri" version)) (sha256 - (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s")))) + (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd")))) (build-system asdf-build-system/sbcl) (native-inputs `(("ptester" ,sbcl-ptester))) - (home-page "http://quickdocs.org/puri/") + (home-page "http://puri.kpe.io/") (synopsis "Portable URI Library") (description "This is a portable Universal Resource Identifier library for Common @@ -2465,7 +2546,7 @@ non-consing thread safe queues and fibonacci priority queues.") (define-public sbcl-cffi (package (name "sbcl-cffi") - (version "0.21.0") + (version "0.23.0") (source (origin (method git-fetch) @@ -2474,7 +2555,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 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk")))) + (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) @@ -3186,6 +3267,34 @@ client and server.") (define-public ecl-s-xml-rpc (sbcl-package->ecl-package sbcl-s-xml-rpc)) +(define-public sbcl-trivial-arguments + (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7") + (revision "1")) + (package + (name "sbcl-trivial-arguments") + (version (git-version "1.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/trivial-arguments") + (commit commit))) + (file-name (git-file-name "trivial-arguments" version)) + (sha256 + (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/Shinmera/trivial-arguments") + (synopsis "Common Lisp library to retrieve a function's lambda-list") + (description + "This is a simple library to retrieve the argument list of a function.") + (license license:zlib)))) + +(define-public ecl-trivial-arguments + (sbcl-package->ecl-package sbcl-trivial-arguments)) + +(define-public cl-trivial-arguments + (sbcl-package->cl-source-package sbcl-trivial-arguments)) + (define-public sbcl-trivial-clipboard (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5")) (package @@ -4343,8 +4452,8 @@ Long Painful History of Time\".") (sbcl-package->ecl-package sbcl-local-time)) (define-public sbcl-trivial-mimes - (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab") - (revision "1")) + (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9") + (revision "2")) (package (name "sbcl-trivial-mimes") (version (git-version "1.1.0" revision commit)) @@ -4356,7 +4465,7 @@ Long Painful History of Time\".") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m")))) + (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di")))) (build-system asdf-build-system/sbcl) (native-inputs `(("stefil" ,sbcl-hu.dwim.stefil))) @@ -4367,7 +4476,7 @@ Long Painful History of Time\".") (description "This is a teensy library that provides some functions to determine the mime-type of a file.") - (license license:artistic2.0)))) + (license license:zlib)))) (define-public cl-trivial-mimes (sbcl-package->cl-source-package sbcl-trivial-mimes)) @@ -4592,6 +4701,41 @@ various levels and mix text with expressions.") (define-public ecl-log4cl (sbcl-package->ecl-package sbcl-log4cl)) +(define-public sbcl-verbose + (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174") + (revision "1")) + (package + (name "sbcl-verbose") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/verbose/") + (commit commit))) + (file-name (git-file-name "verbose" version)) + (sha256 + (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("dissect" ,sbcl-dissect) + ("documentation-utils" ,sbcl-documentation-utils) + ("local-time" ,sbcl-local-time) + ("piping" ,sbcl-piping))) + (home-page "https://shinmera.github.io/verbose/") + (synopsis "Logging framework using the piping library") + (description + "This is a Common Lisp library providing logging faciltiy similar to +@code{CL-LOG} and @code{LOG4CL}.") + (license license:zlib)))) + +(define-public ecl-verbose + (sbcl-package->ecl-package sbcl-verbose)) + +(define-public cl-verbose + (sbcl-package->cl-source-package sbcl-verbose)) + (define-public sbcl-find-port (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478") (revision "1")) @@ -6032,8 +6176,8 @@ programming style and the efficiency of an iterative programming style.") (sbcl-package->ecl-package sbcl-series)) (define-public sbcl-periods - (let ((commit "983d4a57325db3c8def942f163133cec5391ec28") - (revision "1")) + (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949") + (revision "2")) (package (name "sbcl-periods") (version (git-version "0.0.2" revision commit)) @@ -6046,7 +6190,7 @@ programming style and the efficiency of an iterative programming style.") (file-name (git-file-name name version)) (sha256 (base32 - "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga")))) + "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk")))) (build-system asdf-build-system/sbcl) (inputs `(("local-time" ,sbcl-local-time) @@ -6453,8 +6597,8 @@ ability to store all Common Lisp data types into streams.") (sbcl-package->ecl-package sbcl-cl-store)) (define-public sbcl-cl-gobject-introspection - (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560") - (revision "0")) + (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539") + (revision "1")) (package (name "sbcl-cl-gobject-introspection") (version (git-version "0.3" revision commit)) @@ -6468,7 +6612,7 @@ ability to store all Common Lisp data types into streams.") (file-name (git-file-name name version)) (sha256 (base32 - "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh")))) + "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) @@ -6480,12 +6624,9 @@ ability to store all Common Lisp data types into streams.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - ;; TODO: Tests fail, see - ;; https://github.com/andy128k/cl-gobject-introspection/issues/70. - '(#:tests? #f - #:phases + '(#:phases (modify-phases %standard-phases - (add-after (quote unpack) (quote fix-paths) + (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/init.lisp" (("libgobject-2\\.0\\.so") @@ -9124,40 +9265,56 @@ approach to templating.") (sbcl-package->ecl-package sbcl-cl-mysql)) (define-public sbcl-postmodern - (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a") - (revision "1")) - (package - (name "sbcl-postmodern") - (version (git-version "1.19" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/marijnh/Postmodern") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd")))) - (build-system asdf-build-system/sbcl) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("closer-mop" ,sbcl-closer-mop) - ("global-vars" ,sbcl-global-vars) - ("md5" ,sbcl-md5) - ("split-sequence" ,sbcl-split-sequence) - ("usocket" ,sbcl-usocket))) - (arguments - ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, - ;; cl-postgres/tests and s-sql/tests. - `(#:tests? #f - #:asd-systems '("postmodern" - "simple-date/postgres-glue"))) - (synopsis "Common Lisp library for interacting with PostgreSQL") - (description - "@code{postmodern} is a Common Lisp library for interacting with + (package + (name "sbcl-postmodern") + (version "1.32.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marijnh/Postmodern") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-base64" ,sbcl-cl-base64) + ("cl-unicode" ,sbcl-cl-unicode) + ("closer-mop" ,sbcl-closer-mop) + ("global-vars" ,sbcl-global-vars) + ("ironclad" ,sbcl-ironclad) + ("local-time" ,sbcl-local-time) + ("md5" ,sbcl-md5) + ("split-sequence" ,sbcl-split-sequence) + ("uax-15" ,sbcl-uax-15) + ("usocket" ,sbcl-usocket))) + (arguments + ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other + ;; step, some functionality in `local-time' prevents passing tests. + ;; Error: + ;; + ;; Can't create directory + ;; /gnu/store + ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9 + ;; /lib/common-lisp/sbcl/local-time/src/integration/ + ;; + ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above + ;; issue is resolved but it required live test database to connect to now. + ;; Keep tests switched off. + `(#:tests? #f + #:asd-systems '("cl-postgres" + "s-sql" + "postmodern" + "simple-date" + "simple-date/postgres-glue"))) + (synopsis "Common Lisp library for interacting with PostgreSQL") + (description + "@code{postmodern} is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features: @itemize @@ -9167,9 +9324,27 @@ foreign libraries. @item A syntax for mixing SQL and Lisp code. @item Convenient support for prepared statements and stored procedures. @item A metaclass for simple database-access objects. -@end itemize\n") - (home-page "https://marijnhaverbeke.nl/postmodern/") - (license license:zlib)))) +@end itemize\n + +This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date + +@code{SIMPLE-DATE} is a very basic implementation of date and time objects, used +to support storing and retrieving time-related SQL types. It is not loaded by +default and you can use local-time (which has support for timezones) instead. + +@code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping +any Lisp values inside, and doing as much as possible of the work at compile +time. + +@code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL +server over a socket. + +@code{POSTMODERN} itself is a wrapper around these packages and provides higher +level functions, a very simple data access object that can be mapped directly to +database tables and some convient utilities. It then tries to put all these +things together into a convenient programming interface") + (home-page "https://marijnhaverbeke.nl/postmodern/") + (license license:zlib))) (define-public cl-postmodern (sbcl-package->cl-source-package sbcl-postmodern)) @@ -9179,15 +9354,18 @@ foreign libraries. (inherit (sbcl-package->ecl-package sbcl-postmodern)) (arguments `(#:tests? #f - #:asd-systems '("postmodern" + #:asd-systems '("cl-postgres" + "s-sql" + "postmodern" + "simple-date" "simple-date/postgres-glue") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ (substitute* "cl-postgres.asd" - (("\\) \"usocket\"") - " :ecl) \"usocket\"")) + ((":or :sbcl :allegro :ccl :clisp" all) + (string-append all " :ecl"))) #t))))))) (define-public sbcl-db3 @@ -9603,6 +9781,115 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.") (define-public ecl-cl-change-case (sbcl-package->ecl-package sbcl-cl-change-case)) +(define-public sbcl-modularize + (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba") + (revision "1")) + (package + (name "sbcl-modularize") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/modularize") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:test-asd-file "modularize-test-module.asd" + #:asd-files '("modularize.asd" "modularize-test-module.asd") + #:asd-systems '("modularize" "modularize-test-module"))) + (inputs + `(("documentation-utils" ,sbcl-documentation-utils) + ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames))) + (home-page "https://shinmera.github.io/modularize/") + (synopsis "Common Lisp modularization framework") + (description + "@code{MODULARIZE} is an attempt at providing a common interface to +segregate major application components. This is achieved by adding special +treatment to packages. Each module is a package that is specially registered, +which allows it to interact and co-exist with other modules in better ways. For +instance, by adding module definition options you can introduce mechanisms to +tie modules together in functionality, hook into each other and so on.") + (license license:zlib)))) + +(define-public ecl-modularize + (sbcl-package->ecl-package sbcl-modularize)) + +(define-public cl-modularize + (sbcl-package->cl-source-package sbcl-modularize)) + +(define-public sbcl-modularize-hooks + (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a") + (revision "1")) + (package + (name "sbcl-modularize-hooks") + (version (git-version "1.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/modularize-hooks") + (commit commit))) + (file-name (git-file-name "modularize-hooks" version)) + (sha256 + (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("closer-mop" ,sbcl-closer-mop) + ("lambda-fiddle" ,sbcl-lambda-fiddle) + ("modularize" ,sbcl-modularize) + ("trivial-arguments" ,sbcl-trivial-arguments))) + (home-page "https://shinmera.github.io/modularize-hooks/") + (synopsis "Generic hooks and triggers extension for Modularize") + (description + "This is a simple extension to @code{MODULARIZE} that allows modules to +define and trigger hooks, which other modules can hook on to.") + (license license:zlib)))) + +(define-public ecl-modularize-hooks + (sbcl-package->ecl-package sbcl-modularize-hooks)) + +(define-public cl-modularize-hooks + (sbcl-package->cl-source-package sbcl-modularize-hooks)) + +(define-public sbcl-modularize-interfaces + (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef") + (revision "1")) + (package + (name "sbcl-modularize-interfaces") + (version (git-version "0.9.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/modularize-interfaces") + (commit commit))) + (file-name (git-file-name "modularize-interfaces" version)) + (sha256 + (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("lambda-fiddle" ,sbcl-lambda-fiddle) + ("modularize" ,sbcl-modularize) + ("trivial-arguments" ,sbcl-trivial-arguments) + ("trivial-indent" ,sbcl-trivial-indent))) + (home-page "https://shinmera.github.io/modularize-interfaces/") + (synopsis "Programmatical interfaces extension for Modularize") + (description + "This is an extension to @code{MODULARIZE} that allows your application +to define interfaces in-code that serve both as a primary documentation and as +compliance control.") + (license license:zlib)))) + +(define-public ecl-modularize-interfaces + (sbcl-package->ecl-package sbcl-modularize-interfaces)) + +(define-public cl-modularize-interfaces + (sbcl-package->cl-source-package sbcl-modularize-interfaces)) + (define-public sbcl-moptilities (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41")) (package @@ -10199,8 +10486,8 @@ format.") (sbcl-package->ecl-package sbcl-cl-libsvm-format)) (define-public sbcl-cl-online-learning - (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423") - (revision "0")) + (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964") + (revision "1")) (package (name "sbcl-cl-online-learning") (version (git-version "0.5" revision commit)) @@ -10210,10 +10497,10 @@ format.") (uri (git-reference (url "https://github.com/masatoi/cl-online-learning") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-online-learning" version)) (sha256 (base32 - "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq")))) + "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9")))) (build-system asdf-build-system/sbcl) (native-inputs `(("prove" ,sbcl-prove))) @@ -10221,13 +10508,14 @@ format.") `(("cl-libsvm-format" ,sbcl-cl-libsvm-format) ("cl-store" ,sbcl-cl-store))) (arguments - `(;; FIXME: Tests pass but then the check phase crashes - #:tests? #f)) + `(#:test-asd-file "cl-online-learning-test.asd" + #:asd-systems '("cl-online-learning-test" + "cl-online-learning"))) + (home-page "https://github.com/masatoi/cl-online-learning") (synopsis "Online Machine Learning for Common Lisp") (description "This library contains a collection of machine learning algorithms for online linear classification written in Common Lisp.") - (home-page "https://github.com/masatoi/cl-online-learning") (license license:expat)))) (define-public cl-online-learning @@ -10236,6 +10524,121 @@ online linear classification written in Common Lisp.") (define-public ecl-cl-online-learning (sbcl-package->ecl-package sbcl-cl-online-learning)) +(define-public sbcl-cl-mpg123 + (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d") + (revision "1")) + (package + (name "sbcl-cl-mpg123") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-mpg123") + (commit commit))) + (file-name (git-file-name "cl-mpg123" version)) + (sha256 + (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled pre-compiled libraries. + (delete-file-recursively "static") + #t)))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd") + #:asd-systems '("cl-mpg123" "cl-mpg123-example") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libmpg123.so" all) + (string-append (assoc-ref inputs "libmpg123") + "/lib/" all)))))))) + (inputs + `(("cffi" ,sbcl-cffi) + ("cl-out123" ,sbcl-cl-out123) + ("documentation-utils" ,sbcl-documentation-utils) + ("libmpg123" ,mpg123) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("verbose" ,sbcl-verbose))) + (home-page "https://shirakumo.github.io/cl-mpg123/") + (synopsis "Common Lisp bindings to libmpg123") + (description + "This is a bindings and wrapper library to @code{libmpg123} allowing for +convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3) +files.") + (license license:zlib)))) + +(define-public ecl-cl-mpg123 + (sbcl-package->ecl-package sbcl-cl-mpg123)) + +(define-public cl-mpg123 + (sbcl-package->cl-source-package sbcl-cl-mpg123)) + +(define-public sbcl-cl-out123 + (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b") + (revision "1")) + (package + (name "sbcl-cl-out123") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-out123") + (commit commit))) + (file-name (git-file-name "cl-out123" version)) + (sha256 + (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled pre-compiled libraries. + (delete-file-recursively "static") + #t)))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libout123.so" all) + (string-append (assoc-ref inputs "libout123") + "/lib/" all))))) + ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no + ;; exported macro `without-interrupts' it's moved to `mp' package + ;; https://github.com/Shirakumo/cl-out123/issues/2 + ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp + (add-after 'unpack 'fix-ecl-package-name + (lambda _ + (substitute* "wrapper.lisp" + (("ext:without-interrupts.*") "mp:without-interrupts\n")) + #t))))) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("documentation-utils" ,sbcl-documentation-utils) + ("libout123" ,mpg123) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage))) + (home-page "https://shirakumo.github.io/cl-out123/") + (synopsis "Common Lisp bindings to libout123") + (description + "This is a bindings library to @code{libout123} which allows easy +cross-platform audio playback.") + (license license:zlib)))) + +(define-public ecl-cl-out123 + (sbcl-package->ecl-package sbcl-cl-out123)) + +(define-public cl-out123 + (sbcl-package->cl-source-package sbcl-cl-out123)) + (define-public sbcl-cl-random-forest (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91") (revision "1")) @@ -10613,8 +11016,8 @@ than a few Kb.") (sbcl-package->ecl-package sbcl-mmap)) (define-public sbcl-3bz - (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed") - (revision "0")) + (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad") + (revision "1")) (package (name "sbcl-3bz") (version (git-version "0.0.0" revision commit)) @@ -10626,7 +11029,7 @@ than a few Kb.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj")))) + (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) @@ -10636,7 +11039,7 @@ than a few Kb.") ("nibbles" ,sbcl-nibbles) ("trivial-features" ,sbcl-trivial-features))) (arguments - ;; FIXME: Without the following line, the build fails (see issue 41437). + ;; FIXME: #41437 - Build fails when package name starts from a digit `(#:asd-systems '("3bz"))) (home-page "https://github.com/3b/3bz") (synopsis "Deflate decompression for Common Lisp") @@ -11986,9 +12389,8 @@ predictable cross-platform behavior and some utilities useful for versioning.") (sbcl-package->ecl-package sbcl-defpackage-plus)) (define-public sbcl-deploy - ;; tagged branch is outdated - (let ((revision "1") - (commit "59fd49719ef651a8fc11750bcfb337f132cff75f")) + (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8") + (revision "2")) (package (name "sbcl-deploy") (version (git-version "1.0.0" revision commit)) @@ -11998,15 +12400,21 @@ predictable cross-platform behavior and some utilities useful for versioning.") (uri (git-reference (url "https://github.com/Shinmera/deploy") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "deploy" version)) (sha256 - (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a")))) + (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1")))) (build-system asdf-build-system/sbcl) + (arguments + `(#:test-asd-file "deploy-test.asd" + #:asd-files '("deploy.asd" + "deploy-test.asd"))) + (native-inputs + `(("cl-mpg123" ,sbcl-cl-mpg123) + ("cl-out123" ,sbcl-cl-out123))) (inputs `(("cffi" ,sbcl-cffi) - ("documentation-utils" ,sbcl-documentation-utils))) - (arguments - '(#:asd-files '("deploy.asd"))) + ("documentation-utils" ,sbcl-documentation-utils) + ("trivial-features" ,sbcl-trivial-features))) (home-page "https://shinmera.github.io/deploy/") (synopsis "Deployment tools for standalone Common Lisp application") (description @@ -12113,6 +12521,77 @@ package.") (define-public ecl-claw-support (sbcl-package->ecl-package sbcl-claw-support)) +(define-public sbcl-claw + (let ((revision "0") + (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250")) + (package + (name "sbcl-claw") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/borodust/claw") + (commit commit))) + (file-name (git-file-name "claw" version)) + (sha256 + (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("cl-json" ,sbcl-cl-json) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("claw-support" ,sbcl-claw-support) + ("local-time" ,sbcl-local-time) + ("trivial-features" ,sbcl-trivial-features))) + (home-page "https://github.com/borodust/claw") + (synopsis "Autowrapper for Common Lisp") + (description + "This is a Common Lisp autowrapping facility for quickly creating clean +and lean bindings to C libraries.") + (license license:bsd-2)))) + +(define-public cl-claw + (sbcl-package->cl-source-package sbcl-claw)) + +(define-public ecl-claw + (sbcl-package->ecl-package sbcl-claw)) + +(define-public sbcl-claw-utils + (let ((revision "0") + (commit "efe25016501973dc369f067a64c7d225802bc56f")) + (package + (name "sbcl-claw-utils") + ;; version is not specified + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/borodust/claw-utils") + (commit commit))) + (file-name (git-file-name "claw-utils" version)) + (sha256 + (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("claw" ,sbcl-claw))) + (home-page "https://github.com/borodust/claw-utils") + (synopsis "Utilities for easier autowrapping") + (description + "This Common Lisp library contains various handy utilties to help +autowrapping with @code{claw}.") + (license license:expat)))) + +(define-public cl-claw-utils + (sbcl-package->cl-source-package sbcl-claw-utils)) + +(define-public ecl-claw-utils + (sbcl-package->ecl-package sbcl-claw-utils)) + (define-public sbcl-array-operations (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b") (revision "0")) @@ -12967,3 +13446,531 @@ bringing dynamism to class definition.") (define-public cl-markdown (sbcl-package->cl-source-package sbcl-cl-markdown)) + +(define-public sbcl-magicffi + (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2")) + (package + (name "sbcl-magicffi") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dochang/magicffi/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("alexandria" ,sbcl-alexandria))) + (inputs + `(("cffi" ,sbcl-cffi) + ("ppcre" ,sbcl-cl-ppcre) + ("libmagic" ,file))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((magic (assoc-ref inputs "libmagic"))) + (substitute* "grovel.lisp" + (("/usr/include/magic.h") + (string-append magic "/include/magic.h"))) + (substitute* "api.lisp" + ((":default \"libmagic\"" all) + (string-append ":default \"" magic "/lib/libmagic\""))))))))) + (home-page "https://common-lisp.net/project/magicffi/") + (synopsis "Common Lisp interface to libmagic based on CFFI") + (description + "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type +determination library using @emph{magic} numbers.") + (license license:bsd-2)))) + +(define-public ecl-magicffi + (sbcl-package->ecl-package sbcl-magicffi)) + +(define-public cl-magicffi + (sbcl-package->cl-source-package sbcl-magicffi)) + +(define-public sbcl-shlex + (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740")) + (package + (name "sbcl-shlex") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/cl-shlex") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("serapeum" ,sbcl-serapeum) + ("ppcre" ,sbcl-cl-ppcre) + ("unicode" ,sbcl-cl-unicode))) + (home-page "https://github.com/ruricolist/cl-shlex") + (synopsis "Common Lisp lexical analyzer for shell-like syntaxes") + (description + "This library contains a lexer for syntaxes that use shell-like rules +for quoting and commenting. It is a port of the @code{shlex} module from Python’s +standard library.") + (license license:expat)))) + +(define-public ecl-shlex + (sbcl-package->ecl-package sbcl-shlex)) + +(define-public cl-shlex + (sbcl-package->cl-source-package sbcl-shlex)) + +(define-public sbcl-cmd + (let ((commit "e6a54dbf660bf229c80abc124fa47e7bb6d20c93")) + (package + (name "sbcl-cmd") + (version (git-version "0.0.1" "2" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/cmd/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i0l8ci4cnkx84q4afmpkq51nxah24fqpi6k9kgjbxz6li3zp8hy")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("coreutils" ,coreutils) + ("serapeum" ,sbcl-serapeum) + ("shlex" ,sbcl-shlex) + ("trivia" ,sbcl-trivia))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))) + (substitute* "cmd.lisp" + (("\"env\"") (format #f "\"~a/env\"" bin)) + (("\"pwd\"") (format #f "\"~a/pwd\"" bin))))))))) + (home-page "https://github.com/ruricolist/cmd") + (synopsis "Conveniently run external programs from Common Lisp") + (description + "A utility for running external programs, built on UIOP. +Cmd is designed to be natural to use, protect against shell interpolation and +be usable from multi-threaded programs.") + (license license:expat)))) + +(define-public ecl-cmd + (sbcl-package->ecl-package sbcl-cmd)) + +(define-public cl-cmd + (sbcl-package->cl-source-package sbcl-cmd)) + +(define-public sbcl-ppath + (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce")) + (package + (name "sbcl-ppath") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fourier/ppath/") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("osicat" ,sbcl-osicat) + ("ppcre" ,sbcl-cl-ppcre) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-features" ,sbcl-trivial-features))) + (native-inputs + `(("cl-fad" ,sbcl-cl-fad) + ("prove" ,sbcl-prove))) + (home-page "https://github.com/fourier/ppath") + (synopsis "Common Lisp's implementation of the Python's os.path module") + (description + "This library is a path strings manipulation library inspired by +Python's @code{os.path}. All functionality from @code{os.path} is supported on +major operation systems. + +The philosophy behind is to use simple strings and \"dumb\" string +manipulation functions to handle paths and filenames. Where possible the +corresponding OS system functions are called.") + (license license:bsd-2)))) + +(define-public ecl-ppath + (sbcl-package->ecl-package sbcl-ppath)) + +(define-public cl-ppath + (sbcl-package->cl-source-package sbcl-ppath)) + +(define-public sbcl-trivial-escapes + (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1")) + (package + (name "sbcl-trivial-escapes") + (version (git-version "1.2.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/williamyaoh/trivial-escapes") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("named-readtables" ,sbcl-named-readtables))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (home-page "https://github.com/williamyaoh/trivial-escapes") + (synopsis "C-style escape directives for Common Lisp") + (description + "This Common Lisp library interprets escape characters the same way that +most other programming language do. +It provides four readtables. The default one lets you write strings like this: +@code{#\"This string has\na newline in it!\"}.") + (license license:public-domain)))) + +(define-public ecl-trivial-escapes + (sbcl-package->ecl-package sbcl-trivial-escapes)) + +(define-public cl-trivial-escapes + (sbcl-package->cl-source-package sbcl-trivial-escapes)) + +(define-public sbcl-cl-indentify + (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53")) + (package + (name "sbcl-cl-indentify") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yitzchak/cl-indentify") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("command-line-arguments" ,sbcl-command-line-arguments) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (native-inputs + `(("trivial-escapes" ,sbcl-trivial-escapes) + ("rove" ,sbcl-rove))) + (home-page "https://github.com/yitzchak/cl-indentify") + (synopsis "Code beautifier for Common Lisp") + (description + "A library and command line utility to automatically indent Common Lisp +source files.") + (license license:expat)))) + +(define-public ecl-cl-indentify + (sbcl-package->ecl-package sbcl-cl-indentify)) + +(define-public cl-indentify + (sbcl-package->cl-source-package sbcl-cl-indentify)) + +(define-public sbcl-concrete-syntax-tree + (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46")) + (package + (name "sbcl-concrete-syntax-tree") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/s-expressionists/Concrete-Syntax-Tree") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("acclimation" ,sbcl-acclimation))) + (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree") + (synopsis "Parse Common Lisp code into a concrete syntax tree") + (description + "This library is intended to solve the problem of source tracking for +Common Lisp code. + +By \"source tracking\", it is meant that code elements that have a known +origin in the form of a position in a file or in an editor buffer are +associated with some kind of information about this origin. + +Since the exact nature of such origin information depends on the Common Lisp +implementation and the purpose of wanting to track that origin, the library +does not impose a particular structure of this information. Instead, it +provides utilities for manipulating source code in the form of what is called +concrete syntax trees (CSTs for short) that preserve this information about +the origin.") + (license license:bsd-2)))) + +(define-public ecl-concrete-syntax-tree + (sbcl-package->ecl-package sbcl-concrete-syntax-tree)) + +(define-public cl-concrete-syntax-tree + (sbcl-package->cl-source-package sbcl-concrete-syntax-tree)) + +(define-public sbcl-eclector + (package + (name "sbcl-eclector") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/s-expressionists/Eclector") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("acclimation" ,sbcl-acclimation) + ("alexandria" ,sbcl-alexandria) + ("closer-mop" ,sbcl-closer-mop) + ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (arguments + '(#:asd-systems '("eclector" + "eclector-concrete-syntax-tree"))) + (home-page "https://s-expressionists.github.io/Eclector/") + (synopsis "Highly customizable, portable Common Lisp reader") + (description + "Eclector is a portable Common Lisp reader that is highly customizable, +can recover from errors and can return concrete syntax trees. + +In contrast to many other reader implementations, eclector can recover from +most errors in the input supplied to it and continue reading. This capability +is realized as a restart. + +It can also produce instances of the concrete syntax tree classes provided by +the concrete syntax tree library.") + (license license:bsd-2))) + +(define-public ecl-eclector + (sbcl-package->ecl-package sbcl-eclector)) + +(define-public cl-eclector + (sbcl-package->cl-source-package sbcl-eclector)) + +(define-public sbcl-jsown + (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977")) + (package + (name "sbcl-jsown") + (version (git-version "1.0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/madnificent/jsown") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/madnificent/jsown") + (synopsis "Fast JSON reader / writer library for Common Lisp") + (description + "@code{jsown} is a high performance Common Lisp JSON parser. Its aim +is to allow for the fast parsing of JSON objects in Common Lisp. Recently, +functions and macros have been added to ease the burden of writing and editing +@code{jsown} objects. + +@code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp +list and write them back. If you only need partial retrieval of objects, +@code{jsown} allows you to select the keys which you would like to see parsed. +@code{jsown} also has a JSON writer and some helper methods to alter the JSON +objects themselves.") + (license license:expat)))) + +(define-public ecl-jsown + (sbcl-package->ecl-package sbcl-jsown)) + +(define-public cl-jsown + (sbcl-package->cl-source-package sbcl-jsown)) + +(define-public sbcl-system-locale + (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17")) + (package + (name "sbcl-system-locale") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/system-locale/") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("documentation-utils" ,sbcl-documentation-utils))) + (home-page "https://shinmera.github.io/system-locale/") + (synopsis "Get the system's locale and language settings in Common Lisp") + (description + "This library retrieves locale information configured on the +system. This is helpful if you want to write applications and libraries that +display messages in the user's native language.") + (license license:zlib)))) + +(define-public ecl-system-locale + (sbcl-package->ecl-package sbcl-system-locale)) + +(define-public cl-system-locale + (sbcl-package->cl-source-package sbcl-system-locale)) + +(define-public sbcl-language-codes + (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e")) + (package + (name "sbcl-language-codes") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/language-codes") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("documentation-utils" ,sbcl-documentation-utils))) + (home-page "https://shinmera.github.io/language-codes/") + (synopsis "Map ISO language codes to language names in Common Lisp") + (description + "This is a small library providing the ISO-639 language code to +language name mapping.") + (license license:zlib)))) + +(define-public ecl-language-codes + (sbcl-package->ecl-package sbcl-language-codes)) + +(define-public cl-language-codes + (sbcl-package->cl-source-package sbcl-language-codes)) + +(define-public sbcl-multilang-documentation + (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0")) + (package + (name "sbcl-multilang-documentation") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/multilang-documentation") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("documentation-utils" ,sbcl-documentation-utils) + ("language-codes" ,sbcl-language-codes) + ("system-locale" ,sbcl-system-locale))) + (home-page "https://shinmera.github.io/multilang-documentation/") + (synopsis "Add multiple languages support to Common Lisp documentation") + (description + "This library provides a drop-in replacement function for +cl:documentation that supports multiple docstrings per-language, allowing you +to write documentation that can be internationalised.") + (license license:zlib)))) + +(define-public ecl-multilang-documentation + (sbcl-package->ecl-package sbcl-multilang-documentation)) + +(define-public cl-multilang-documentation + (sbcl-package->cl-source-package sbcl-multilang-documentation)) + +(define-public sbcl-trivial-do + (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163")) + (package + (name "sbcl-trivial-do") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yitzchak/trivial-do") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/yitzchak/trivial-do") + (synopsis "Additional dolist style macros for Common Lisp") + (description + "Additional dolist style macros for Common Lisp, such as +@code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq} +and @code{doseq*}.") + (license license:zlib)))) + +(define-public ecl-trivial-do + (sbcl-package->ecl-package sbcl-trivial-do)) + +(define-public cl-trivial-do + (sbcl-package->cl-source-package sbcl-trivial-do)) + +(define-public sbcl-common-lisp-jupyter + (let ((commit "61a9a8e7a18e2abd7af7c697ba5146fd19bd9d62")) + (package + (name "sbcl-common-lisp-jupyter") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yitzchak/common-lisp-jupyter") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "0zyzl55l45w9z65ygi5pcwda5w5p1j1bb0p2zg2n5cpv8344dkh2")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("babel" ,sbcl-babel) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-base64" ,sbcl-cl-base64) + ("cl-indentify" ,sbcl-cl-indentify) + ("closer-mop" ,sbcl-closer-mop) + ("eclector" ,sbcl-eclector) + ("ironclad" ,sbcl-ironclad) + ("iterate" ,sbcl-iterate) + ("jsown" ,sbcl-jsown) + ("multilang-documentation" ,sbcl-multilang-documentation) + ("pzmq" ,sbcl-pzmq) + ("puri" ,sbcl-puri) + ("static-vectors" ,sbcl-static-vectors) + ("trivial-do" ,sbcl-trivial-do) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("trivial-mimes" ,sbcl-trivial-mimes))) + (home-page "https://yitzchak.github.io/common-lisp-jupyter/") + (synopsis "Common Lisp kernel for Jupyter") + (description + "This is a Common Lisp kernel for Jupyter along with a library for +building Jupyter kernels, based on Maxima-Jupyter which was based on +@code{cl-jupyter}.") + (license license:zlib)))) + +(define-public ecl-common-lisp-jupyter + (sbcl-package->ecl-package sbcl-common-lisp-jupyter)) + +(define-public cl-common-lisp-jupyter + (sbcl-package->cl-source-package sbcl-common-lisp-jupyter)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 7d65bfc887..60f346fde3 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -235,7 +236,13 @@ interface to the Tk widget system.") `(("cl-asdf" ,cl-asdf) ("which" ,which) ("texinfo" ,texinfo))) - (inputs + ;; When ECL is embedded in a program that wants to use Common Lisp as an + ;; extension language, libgmp, libatomic-ops, libgc and libffi must be + ;; present when compiling the program because they are required by ECL's + ;; header file. + ;; Therefore we put these libraries in 'propagated-inputs' instead + ;; of 'inputs'. + (propagated-inputs `(("gmp" ,gmp) ("libatomic-ops" ,libatomic-ops) ("libgc" ,libgc) @@ -1079,7 +1086,7 @@ assembler, PEG) is less than 1MB.") (define-public lisp-repl-core-dumper (package (name "lisp-repl-core-dumper") - (version "0.3.0") + (version "0.5.0") (source (origin (method git-fetch) @@ -1088,7 +1095,7 @@ assembler, PEG) is less than 1MB.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1w7x7d7bnrdj0bd04vnjy7d7sngvcx1yjr4iw429hdd9lzlg8rbg")))) + (base32 "1hrilm9lxy7zdidn4wac4yfqryg3hfw0371nanhd7g9bcfjx7n1q")))) (build-system copy-build-system) (arguments '(#:install-plan @@ -1098,12 +1105,14 @@ assembler, PEG) is less than 1MB.") (add-before 'install 'fix-utils-path (lambda* (#:key inputs #:allow-other-keys) (let* ((coreutils (string-append (assoc-ref inputs "coreutils") "/bin/")) + (cat (string-append coreutils "cat")) (paste (string-append coreutils "paste")) (sort (string-append coreutils "sort")) (basename (string-append coreutils "basename")) (sed (string-append (assoc-ref inputs "sed") "/bin/sed"))) (substitute* "lisp-repl-core-dumper" (("\\$\\(basename") (string-append "$(" basename)) + (("\\<cat\\>") cat) (("\\<paste\\>") paste) (("\\<sed\\>") sed) (("\\<sort\\>") sort)))))))) @@ -1122,3 +1131,43 @@ and make for REPLs that start blazing fast. @item It allows you to include arbitrary libraries. @end itemize\n") (license license:gpl3+))) + +(define-public buildapp + (package + (name "buildapp") + (version "1.5.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xach/buildapp") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "020ipjfqa3l8skd97cj5kq837wgpj28ygfxnkv64cnjrlbnzh161")))) + (build-system gnu-build-system) + (native-inputs + `(("sbcl" ,sbcl))) + (arguments + `(#:tests? #f + #:make-flags + (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + #:strip-binaries? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'set-home + (lambda _ + (setenv "HOME" "/tmp") + #t)) + (add-before 'install 'create-target-directory + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + #t)))))) + (home-page "https://www.xach.com/lisp/buildapp/") + (synopsis "Makes easy to build application executables with SBCL") + (description + "Buildapp is an application for SBCL or CCL that configures and saves an +executable Common Lisp image. It is similar to cl-launch and hu.dwim.build. ") + (license license:bsd-2))) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 950090afcb..b029400cb2 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org> @@ -1066,7 +1066,7 @@ shell command executions.") (define-public fennel (package (name "fennel") - (version "0.7.0") + (version "0.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -1075,7 +1075,7 @@ shell command executions.") (file-name (git-file-name name version)) (sha256 (base32 - "17pdcwhfw754fblppw46qphnsvxrn3b7066cz54lv8c0c12iryim")) + "1jng33vmnk6mi37l3x2z0plng940jpj7kz1s493ki80z3mkaxjfg")) (modules '((guix build utils))) (snippet '(begin @@ -1083,18 +1083,36 @@ shell command executions.") (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #t ; even on cross-build #:test-target "test" #:phases (modify-phases %standard-phases (delete 'configure) + (add-before 'build 'patch-lua-calls + (lambda* (#:key inputs #:allow-other-keys) + (let ((lua (string-append (assoc-ref inputs "lua") "/bin/lua"))) + (setenv "LUA" lua) + (substitute* "old/launcher.lua" + (("/usr/bin/env lua") lua)) + #t))) (add-after 'build 'patch-fennel - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* "fennel" - (("/usr/bin/env lua") (which "lua"))) + (("/usr/bin/env .*lua") + (string-append (assoc-ref inputs "lua") "/bin/lua"))) + #t)) + (delete 'check) + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-after 'install 'install-manpage + (lambda* (#:key outputs #:allow-other-keys) + (install-file "fennel.1" + (string-append (assoc-ref outputs "out") + "/share/man/man1")) #t))))) (inputs `(("lua" ,lua))) (home-page "https://fennel-lang.org/") - (synopsis "A Lisp that compiles to Lua") + (synopsis "Lisp that compiles to Lua") (description "Fennel is a programming language that brings together the speed, simplicity, and reach of Lua with the flexibility of a Lisp syntax and macro diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index d8067c9193..f8a0d11768 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -856,6 +856,36 @@ data analysis.") (base32 "08zbzi8yx5wdlxfx9jap61vg1malc9ajf576w7a0liv6jvvrxlpj"))))))) +(define-public python-threadpoolctl + (package + (name "python-threadpoolctl") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "threadpoolctl" version)) + (sha256 + (base32 + "0szsxcm2fbxrn83iynn42bnvrdh7mfsmkhfn8pdn7swblfb7rifx")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest")) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/joblib/threadpoolctl") + (synopsis "Python helpers for common threading libraries") + (description "Thread-pool Controls provides Python helpers to limit the +number of threads used in the threadpool-backed of common native libraries used +for scientific computing and data science (e.g. BLAS and OpenMP).") + (license license:bsd-3))) + (define-public python-pynndescent (package (name "python-pynndescent") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b55b0d3321..ddf0e6b177 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -446,7 +446,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (list @@ -456,7 +456,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "1m4ig69qw4g3lhm4351snmy5i0ch65fqc9vqqdybr6jy21w7w225")) + "0k80s27sf7djb7zxj81ihksr8jkr71mfaa8976fzh41i1pn5l7g2")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -2632,7 +2632,7 @@ converts them to maildir format directories.") (define-public mblaze (package (name "mblaze") - (version "1.0") + (version "1.1") (source (origin (method git-fetch) @@ -2641,7 +2641,7 @@ converts them to maildir format directories.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hxy3mjjv4hg856sl1r15fdmqaw4s9c26b3lidsd5x0kpqy601ai")))) + (base32 "1bir977vnqs76g8jgv1yivqw0wk2kn56l3l5r4w2ipix3fir138y")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index af08774c70..95a3eb269e 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 EuAndreh <eu@euandre.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -277,3 +278,25 @@ Smu was started as a rewrite of Markdown but became something more lightweight and consistent. The biggest difference between Markdown and smu is that smu doesn't support reference style links.") (license x11))) + +(define-public md4c + (package + (name "md4c") + (version "0.4.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mity/md4c/") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m3202zzjvw4k7jw66z1qi3cbisxzvplq5alkygpifvhzm81gwwx")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) + (home-page "https://github.com/mity/md4c/") + (synopsis "C Markdown parser compliant to CommonMark") + (description "MD4C is a C Markdown parser with a +SAX-like interface. It is compliant to the CommonMark specification, +with a few extensions.") + (license expat))) diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index e7affc805d..a01d4c56d9 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -20,14 +20,22 @@ (define-module (gnu packages mastodon) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages check) - #:use-module (gnu packages time) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) - #:use-module (gnu packages python-xyz)) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages time)) (define-public toot (package @@ -67,6 +75,67 @@ Features include: @end itemize") (license license:gpl3))) +(define-public tootle + (package + (name "tootle") + (version "1.0-alpha2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bleakgrey/tootle") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16xz58xasprza89j3ljrfpgvn05yc00p1ch96nyia99r1dyms9rx")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson/post_install.py" + (("gtk-update-icon-cache") "true")) + #t)) + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "src/Dialogs/NewAccount.vala" + (("xdg-mime") (which "xdg-mime"))) + ;; Patch for building on glib < 2.64 + (substitute* "src/Build.vala" + (("(os_name = ).*" _ first) (string-append first "\"GNU\";\n")) + (("(os_ver = ).*" _ first) (string-append first "\"Guix\";\n")) + (("GLib.Environment.get_os_info.*") "\"unknown\";\n")) + #t)) + (add-after 'install 'symlink-package + (lambda* (#:key outputs #:allow-other-keys) + (symlink "com.github.bleakgrey.tootle" + (string-append (assoc-ref outputs "out") "/bin/tootle")) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-resources + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib-networking" ,glib-networking) + ("gtk+" ,gtk+) + ("json-glib" ,json-glib) + ("libgee" ,libgee) + ("libhandy" ,libhandy) + ("libsoup" ,libsoup) + ("vala" ,vala-0.50) + ("xdg-utils" ,xdg-utils))) + (home-page "https://github.com/bleakgrey/tootle") + (synopsis "GTK3 client for Mastodon") + (description "Tootle is a GTK client for Mastodon. It provides a clean, +native interface that allows you to integrate Mastodon's social experience +seamlessly with your desktop environment.") + (license license:gpl3+))) + (define-public python-mastodon-py (package (name "python-mastodon-py") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 36b165cc13..3cd06b0815 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -104,6 +104,7 @@ #:use-module (gnu packages less) #:use-module (gnu packages lisp) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages gnome) @@ -922,14 +923,14 @@ singular value problems.") (define-public gnuplot (package (name "gnuplot") - (version "5.2.7") + (version "5.4.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/" version "/gnuplot-" version ".tar.gz")) (sha256 - (base32 "1vglp4la40f5dpj0zdj63zprrkyjgzy068p35bz5dqxjyczm1zlp")))) + (base32 "03jrqs5lvxmbbz2c4g17dn2hrxqwd3hfadk9q8wbkbkyas2h8sbb")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("cairo" ,cairo) @@ -941,7 +942,9 @@ singular value problems.") ("texlive" ,texlive-tiny))) (arguments `(#:configure-flags (list (string-append "--with-texdir=" %output - "/texmf-local/tex/latex/gnuplot")))) + "/texmf-local/tex/latex/gnuplot")) + ;; Plot on a dumb terminal during tests. + #:make-flags '("GNUTERM=dumb"))) (home-page "http://www.gnuplot.info") (synopsis "Command-line driven graphing utility") (description "Gnuplot is a portable command-line driven graphing @@ -3505,7 +3508,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "20.06.6") + (version "20.12.2") (source (origin (method git-fetch) @@ -3514,22 +3517,20 @@ point numbers.") (commit (string-append "Version-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "054f7n5kx75ng5j20rd5q27n9xxk03mrd7sbxyym1lsswzimqh4w")))) + (base32 "1rxnxk7yanb9ac5pxbii6k7gg3b09pbp9rmwvsvgpbrk17mg79r9")))) (build-system cmake-build-system) (native-inputs - `(("gettext" ,gettext-minimal) - ("xorg-server" ,xorg-server-for-tests))) - ;; TODO: Add libomp for multithreading support. - ;; As of right now, enabling libomp causes the imageCells.wxm test to fail. + `(("gettext" ,gettext-minimal))) (inputs - `(("wxwidgets" ,wxwidgets) + `(("libomp" ,libomp) + ("wxwidgets" ,wxwidgets) ("maxima" ,maxima) ;; Runtime support. ("adwaita-icon-theme" ,adwaita-icon-theme) ("gtk+" ,gtk+) ("shared-mime-info" ,shared-mime-info))) (arguments - `(#:test-target "test" + `(#:tests? #f ; tests fail non-deterministically #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-doc-path @@ -3540,13 +3541,6 @@ point numbers.") (substitute* "src/Dirstructure.cpp" (("/doc/wxmaxima-\\%s") "/doc/wxmaxima")) #t)) - (add-before 'check 'pre-check - (lambda _ - ;; Tests require a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - (setenv "HOME" (getcwd)) - #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm index 426f26d1e1..8a3a1283fa 100644 --- a/gnu/packages/matrix.scm +++ b/gnu/packages/matrix.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,13 +61,13 @@ an LDAP server.") (define-public synapse (package (name "synapse") - (version "1.24.0") + (version "1.25.0") (source (origin (method url-fetch) (uri (pypi-uri "matrix-synapse" version)) (sha256 (base32 - "0pmn8aqc7jj2xdrwljjz2vwg58hlyxp9axac471pcmg2vqais5yb")))) + "0382qcsmgvg24p0xvb37kn3y1kd3bn363kblgwg58iy92df0pga4")))) (build-system python-build-system) ;; TODO Run tests with ‘PYTHONPATH=. trial3 tests’. (propagated-inputs diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 80fda94ae1..9a9b694cbd 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -24,9 +24,9 @@ ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Mason Hock <chaosmonk@riseup.net> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> -;;; Copyright © 2020 Robert Karszniewicz <avoidr@posteo.de> +;;; Copyright © 2020, 2021 Robert Karszniewicz <avoidr@posteo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1430,7 +1430,7 @@ messenger protocol.") (define-public utox (package (name "utox") - (version "0.18.0") + (version "0.18.1") (source (origin (method git-fetch) @@ -1441,7 +1441,7 @@ messenger protocol.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0d0mwgxffg4nhai62irf8lyhd1whp9s4k892rsmqz1sra3pbjcg9")))) + "01rvlf94d4rkrygnnjak3cg16hrrqyi1rn9nx65y17qk2nbyh68g")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DENABLE_TESTS=on") @@ -1466,7 +1466,6 @@ messenger protocol.") ("filteraudio" ,filteraudio) ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("libsodium" ,libsodium) ("c-toxcore" ,c-toxcore) ("gtk+" ,gtk+) ("libvpx" ,libvpx) @@ -1998,7 +1997,7 @@ is also scriptable and extensible via Guile.") (define-public libmesode (package (name "libmesode") - (version "0.9.3") + (version "0.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -2007,7 +2006,7 @@ is also scriptable and extensible via Guile.") (file-name (git-file-name name version)) (sha256 (base32 - "0xzfg1xx88cn36352nnjlb1p7xyw32yqkhjzq10px88iaaqz1vv0")))) + "1bxnkhrypgv41qyy1n545kcggmlw1hvxnhwihijhhcf2pxd2s654")))) (build-system gnu-build-system) (inputs `(("expat" ,expat) @@ -2058,7 +2057,7 @@ are both supported).") (define-public profanity (package (name "profanity") - (version "0.9.5") + (version "0.10.0") (source (origin (method url-fetch) @@ -2067,7 +2066,7 @@ are both supported).") version ".tar.gz")) (sha256 (base32 - "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3")))) + "137z77514fgj2dk13d12g4jrn6gs5k85nwrk1r1kiv7rj0jy61aa")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags @@ -2354,7 +2353,7 @@ There is support for: (define-public quaternion (package (name "quaternion") - (version "0.0.9.4e") + (version "0.0.9.4f") (outputs '("out" "debug")) (source (origin @@ -2364,7 +2363,7 @@ There is support for: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0hqhg7l6wpkdbzrdjvrbqymmahziri07ba0hvbii7dd2p0h248fv")))) + (base32 "1q9ddz4rs02a0w3lwrsjnh59khv38cq9f0kv09vnwvazvayn87ck")))) (build-system qt-build-system) (inputs `(("libqmatrixclient" ,libqmatrixclient) @@ -2375,7 +2374,7 @@ There is support for: ("qtquickcontrols2" ,qtquickcontrols2) ("qtsvg" ,qtsvg) ("qttools" ,qttools) - ("xdg-utils", xdg-utils))) + ("xdg-utils" ,xdg-utils))) (arguments `(#:tests? #f)) ; no tests (home-page "https://matrix.org/docs/projects/client/quaternion.html") diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index a01b63f08a..9e5b428969 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -134,7 +134,7 @@ Java.") (define-public libgdiplus (package (name "libgdiplus") - (version "6.0.4") + (version "6.0.5") (source (origin (method url-fetch) @@ -144,7 +144,7 @@ Java.") ".tar.gz")) (sha256 (base32 - "0adz5813f881z65lpyf0g0w9hcn7d7qkai6sncpkwnsxfv4khp5p")))) + "1vr5l09i5i91n9qzky7ab9wwvgdidvrbw26y8llip0z4qdf4w7mq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index c32b3cba11..34390d3696 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -82,6 +82,10 @@ ;; remove option that is not supported by gcc any more (substitute* "configure" ((" -fforce-mem") "")) #t)) + ;; Normally one should not add a pkg-config file if one is not provided + ;; by upstream developers, but Audacity expects a pkg-config file for + ;; this package, and other major GNU/Linux distributions already provide + ;; such a file. (add-after 'install 'install-pkg-config (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -127,6 +131,10 @@ This package contains the library.") (arguments `(#:phases (modify-phases %standard-phases + ;; Normally one should not add a pkg-config file if one is not provided + ;; by upstream developers, but Audacity expects a pkg-config file for + ;; this package, and other major GNU/Linux distributions already provide + ;; such a file. (add-after 'install 'install-pkg-config (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 264c927260..0ffbed0eba 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2020 Simon Streit <simon@netpanic.org> +;;; Copyright © 2021 Noah Evans <noah@nevans.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,7 +105,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.22.3") + (version "0.22.4") (source (origin (method url-fetch) (uri @@ -113,7 +114,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "1kvcarqijyw07bdqszjsn62plmncaid5az0q542p6rsygc1i501k")))) + "1l4x2jrv04hp4q9gyfg79g78bk68lrd6wd3hysl6y91rln9sj7l9")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=enabled"))) @@ -228,7 +229,7 @@ terminal using ncurses.") (define-public ncmpcpp (package (name "ncmpcpp") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri @@ -236,7 +237,7 @@ terminal using ncurses.") version ".tar.bz2")) (sha256 (base32 - "0x35nd4v31sma8fliqdbn1nxpjyi8hv472318sfb3xbmr4wlm0fb")))) + "06rs734n120jp51hr0fkkhxrm7zscbhpdwls0m5b5cccghazdazs")))) (build-system gnu-build-system) (inputs `(("libmpdclient" ,libmpdclient) ("boost" ,boost) @@ -284,20 +285,22 @@ information about tracks being played to a scrobbler, such as Libre.FM.") (define-public python-mpd2 (package (name "python-mpd2") - (version "0.5.5") + (version "3.0.1") (source (origin (method url-fetch) (uri (pypi-uri "python-mpd2" version)) (sha256 (base32 - "0laypd7h1j14b4vrmiayqlzdsh2j5hc3zv4l0fqvbrbw9y6763ii")))) + "0fxssbmnv44m03shjyvbqslc69b0160702j2s0flgvdxjggrnbjj")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "python" "mpd_test.py")))))) - (native-inputs `(("python-mock" ,python-mock))) + (lambda _ (invoke "python" "-m" "pytest" "mpd/tests.py")))))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) (home-page "https://github.com/Mic92/python-mpd2") (synopsis "Python MPD client library") (description "Python-mpd2 is a Python library which provides a client @@ -310,7 +313,7 @@ interface for the Music Player Daemon.") (define-public sonata (package (name "sonata") - (version "1.7b1") + (version "1.7.0") (source (origin (method git-fetch) (uri (git-reference @@ -319,7 +322,7 @@ interface for the Music Player Daemon.") (file-name (git-file-name name version)) (sha256 (base32 - "1npbxlrg6k154qybfd250nq2p96kxdsdkj9wwnp93gljnii3g8wh")))) + "0rl8w7s2asff626clzfvyz987l2k4ml5dg417mqp9v8a962q0v2x")))) (build-system python-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -460,3 +463,56 @@ of the music library will be created to provide a hierarchy of albums and artists along with albumart.") (home-page "https://github.com/cdrummond/cantata") (license license:gpl3+))) + +(define-public mcg + (package + (name "mcg") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.com/coderkun/mcg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01iqxydssxyi4s644dwl64vm7xhn0szd99hdpywbipvb7kwp5196")))) + (build-system python-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (inputs + `(("avahi" ,avahi) + ("dconf" ,dconf) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("python-pygobject" ,python-pygobject))) + (arguments + `(#:imported-modules ((guix build glib-or-gtk-build-system) + ,@%python-build-system-modules) + #:modules ((guix build python-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/mcg"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH"))) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t))) + (add-after 'wrap-program 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (synopsis "Covergrid for the MPD") + (description + "mcg (CoverGrid) is a client for the Music Player Daemon (MPD), focusing +on albums instead of single tracks. It is not intended to be a replacement +for your favorite MPD client but an addition to get a better +album-experience.") + (home-page "https://gitlab.com/coderkun/mcg") + (license license:gpl3+))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c9e2a81ec1..9599a9e659 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 nikita <nikita@n0.is> ;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org> -;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> @@ -2287,7 +2287,7 @@ export.") (define-public pd (package (name "pd") - (version "0.51-3") + (version "0.51-4") (source (origin (method url-fetch) (uri @@ -2295,7 +2295,7 @@ export.") version ".src.tar.gz")) (sha256 (base32 - "10cqg387xdpiirak5v9y1lpvcds9bpqz61znx6d1m1hb45n513aw")))) + "1hgw1ciwr59f4f9s0h7c2l36wcsn3jsddhr1r9qj97vf64c1ynaj")))) (build-system gnu-build-system) (arguments (let ((wish (string-append "wish" (version-major+minor @@ -3216,6 +3216,32 @@ streams on an individual packet/page level.") (define-public python2-mutagen (package-with-python2 python-mutagen)) +(define-public python-mediafile + (package + (name "python-mediafile") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mediafile" version)) + (patches (search-patches "python-mediafile-wavpack.patch")) + (sha256 + (base32 + "0jmsp3f57xj35ayp8b6didk85nxgl3viw34s5px3l5dwgc055yx3")))) + (build-system python-build-system) + (propagated-inputs + `(("python-mutagen" ,python-mutagen) + ("python-six" ,python-six) + ("python-tox" ,python-tox))) + (home-page "https://github.com/beetbox/mediafile") + (synopsis "Read and write audio file tags") + (description + "MediaFile is a simple interface to the metadata tags for many audio file +formats. It wraps Mutagen, a high-quality library for low-level tag +manipulation, with a high-level, format-independent interface for a common set +of tags.") + (license license:expat))) + (define-public python-musicbrainzngs (package (name "python-musicbrainzngs") @@ -3449,6 +3475,59 @@ websites such as Libre.fm.") of tools for manipulating and accessing your music.") (license license:expat))) +(define-public beets-next + (let ((commit "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2") + (revision "1")) + (package + (inherit beets) + (name "beets-next") + (version (git-version (package-version beets) revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/beetbox/beets") + (commit commit))) + (sha256 + (base32 + "092a9sss2shhcjmpgbwvscv8brpm5970i5hddkhi81xcff3bg1h4")))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; XXX: unclear why this fails + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/test_zero.py" + (("def test_album_art") "def _test_album_art")) + #t)) + (add-after 'unpack 'set-HOME + (lambda _ + (setenv "HOME" (string-append (getcwd) "/tmp")) + #t)) + (replace 'check + (lambda _ + ;; Resources must be writable. + (for-each make-file-writable + (find-files "test/rsrc" ".")) + (invoke "nosetests" "-v"))) + ;; Wrap the executable, so it can find python-gi (aka pygobject) and + ;; gstreamer plugins. + (add-after 'wrap 'wrap-typelib + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/beet")) + (plugins (getenv "GST_PLUGIN_SYSTEM_PATH")) + (types (getenv "GI_TYPELIB_PATH"))) + (wrap-program prog + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins)) + `("GI_TYPELIB_PATH" ":" prefix (,types))) + #t)))))) + (inputs + `(("python-confuse" ,python-confuse) + ("python-mediafile" ,python-mediafile) + ("python-reflink" ,python-reflink) + ("python-requests-oauthlib" ,python-requests-oauthlib) + ,@(package-inputs beets)))))) + (define-public beets-bandcamp (package (name "beets-bandcamp") @@ -3472,8 +3551,8 @@ websites such as Libre.fm.") (synopsis "Bandcamp plugin for beets") (description "This plugin for beets automatically obtains tag data from @uref{Bandcamp, - https://bandcamp.com/}. It's also capable of getting song lyrics and album art - using the beets FetchArt plugin.") +https://bandcamp.com/}. It's also capable of getting song lyrics and album art +using the beets FetchArt plugin.") (license license:gpl2))) (define-public milkytracker @@ -4425,7 +4504,7 @@ standalone JACK client and an LV2 plugin is also available.") (define-public musescore (package (name "musescore") - (version "3.5.2") + (version "3.6.1") (source (origin (method git-fetch) @@ -4434,7 +4513,7 @@ standalone JACK client and an LV2 plugin is also available.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0yzps5xxa50cr2i5iv2ycjdywd0mcrdd6hx93l4p8lfljag3w3al")) + (base32 "087j474sdm8vcjczfqlbb1hpcvgvdghjsd132db9dlqwpgk4hmnv")) (modules '((guix build utils))) (snippet ;; Remove unused libraries. @@ -5923,34 +6002,39 @@ hall reverb and a room reverb. Both are available as LV2 plugins as well as JACK standalone applications.") (license license:gpl3+))) -(define-public zlfo +(define-public zplugins (package - (name "zlfo") - (version "0.1.3") + (name "zplugins") + (version "0.1.7") (source (origin (method git-fetch) - (uri (git-reference - (url "https://git.zrythm.org/git/ZLFO") - (commit (string-append "v" version)))) + (uri + (git-reference + (url "https://git.zrythm.org/git/zplugins") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz")))) + "1rkm2xajmyik6289b20rp5a5br9f3sh1xk8nb1bs6qpmcrfirgbs")))) (build-system meson-build-system) (inputs - `(("librsvg" ,librsvg) - ("lv2" ,lv2) - ("ztoolkit-rsvg" ,ztoolkit-rsvg))) + `(("guile" ,guile-2.2) + ("libsndfile" ,libsndfile) + ("lv2" ,lv2) + ("ztoolkit-rsvg" ,ztoolkit-rsvg))) (native-inputs - `(("pkg-config" ,pkg-config))) - (synopsis "Low frequency oscillator plugin") - (description "ZLFO is a fully featured -@dfn{low frequency oscillator} (LFO) for @dfn{control voltage} (CV)-based -automation that comes as an LV2 plugin bundle with a custom UI.") - (home-page "https://git.zrythm.org/cgit/ZLFO/") + `(("pkg-config" ,pkg-config))) + (synopsis "Audio plugin collection") + (description "ZPlugins is a collection of audio DSP plugins intended +to be bundled with the Zrythm @dfn{digital audio workstation} (DAW).") + (home-page "https://www.zrythm.org/en/plugins.html") (license license:agpl3+))) +(define-public zlfo + ;; The "zlfo" package is now included in zplugins + (deprecated-package "zlfo" zplugins)) + (define-public remid-lv2 (package (name "remid-lv2") diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index 466e472deb..e8c51036d7 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -28,14 +28,14 @@ (define-public musl (package (name "musl") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://www.musl-libc.org/releases/" "musl-" version ".tar.gz")) (sha256 (base32 - "0jz8fzwgvfyjgxjbpw35ixdglp2apqjvp8m386f6yr4zacc6xbv8")))) + "1p8r6bac64y98ln0wzmnixysckq3crca69ys7p16sy9d04i975lv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; musl has no tests diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 0caa918267..5729448e18 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,13 +30,13 @@ (define-public nano (package (name "nano") - (version "5.4") + (version "5.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz")) (sha256 - (base32 "1sc6xl9935k9s9clkv83hapijka4qknfnj6f15c3b1i2n84396gy")))) + (base32 "0jkyd3yzcidnvnj1k9bmplzlbd303x6xxblpp5np7zs1kfzq22rr")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 9a51e6b9f5..97d7f91e88 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -913,14 +913,14 @@ transparently check connection attempts against an access control list.") (define-public zeromq (package (name "zeromq") - (version "4.3.3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/zeromq/libzmq/releases" - "/download/v" version "/zeromq-" version ".tar.gz")) - (sha256 - (base32 - "18km71p77jm1w7wly2a5mxvphjb0f2l6s08cg382x55f6zdqb4lx")))) + (version "4.3.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/zeromq/libzmq/releases" + "/download/v" version "/zeromq-" version ".tar.gz")) + (sha256 + (base32 "1rf3jmi36ms8jh2g5cvi253h43l6xdfq0r7mvp95va7mi4d014y5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) (home-page "https://zeromq.org") @@ -1349,14 +1349,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.4.2") + (version "3.4.3") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "1i548w6zv6ni5n22rs90a12aakyq811493dxmadlcsj2krr6i66y")))) + (base32 "0ar6pxzrcpxdriz437d6ziwlhb8k5wlvrkalp3hgqwzwy1vwqrzl")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1664,7 +1664,7 @@ reusing frequently-requested web pages.") (define-public bwm-ng (package (name "bwm-ng") - (version "0.6.2") + (version "0.6.3") (source (origin (method git-fetch) @@ -1673,7 +1673,7 @@ reusing frequently-requested web pages.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0k906wb4pw3dcqpcwnni78lahzi3bva483f8c17sjykic7as4y5n")))) + (base32 "1gpp2l3w479h1w5skjra5xy0gxd24kvmk6i4psbkafnv2399la4k")))) (build-system gnu-build-system) (arguments `(#:phases @@ -3753,14 +3753,14 @@ thousands of connections is clearly realistic with today's hardware.") (define-public lldpd (package (name "lldpd") - (version "1.0.7") + (version "1.0.8") (source (origin (method url-fetch) (uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-" version ".tar.gz")) (sha256 - (base32 "1qc7k83zpcq27hpjv1lmgrj4la2zy1gspwk5jas43j49siwr3xqx")) + (base32 "1vrxr8lgkw7q6ixaaili6ac7i0j0326194s498n2dxihdvkh1llq")) (modules '((guix build utils))) (snippet '(begin @@ -3846,15 +3846,14 @@ stamps.") (define-public nbd (package (name "nbd") - (version "3.20") + (version "3.21") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/nbd/nbd/3.20/nbd-" version - ".tar.xz")) + (uri (string-append "mirror://sourceforge/nbd/nbd/" version + "/nbd-" version ".tar.xz")) (sha256 - (base32 - "1kfnyx52nna2mnw264njk1dl2zc8m78sz031yp65mbmpi99v7qg0")))) + (base32 "1ydylvvayi4w2d08flji9q03sl7y8hn0c26vsay3nwwikprqls77")))) (build-system gnu-build-system) (inputs `(("glib" ,glib))) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 1ecf76b62a..77c47ec71f 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -220,4 +221,5 @@ devices.") `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (delete 'patch-npm-shebang))))))) + (delete 'patch-npm-shebang) + (delete 'patch-node-shebang))))))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2df16e7cd2..8a91a79c36 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2020 divoplade <d@divoplade.fr> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> +;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm> ;;; ;;; This file is part of GNU Guix. ;;; @@ -390,6 +391,69 @@ repository-wide uninstallability checks.") ;; with static-linking exception (license license:lgpl2.1+))) +(define-public ocaml-down + (package + (name "ocaml-down") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://erratique.ch/software/down/releases/down-" + version ".tbz")) + (sha256 + (base32 + "1nz2f5j17frgr2vrslcz9klmi6w9sm2vqwwwpi33ngcm3rgmsrlg")))) + (build-system ocaml-build-system) + (arguments + `(#:tests? #f ;no tests + #:phases + (modify-phases %standard-phases + (delete 'configure)) + #:build-flags + (list "build" "--lib-dir" + (string-append (assoc-ref %outputs "out") "/lib/ocaml/site-lib")))) + (native-inputs + `(("ocaml-findlib" ,ocaml-findlib) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-topkg" ,ocaml-topkg) + ("opam" ,opam))) + (home-page "https://erratique.ch/software/down") + (synopsis "OCaml toplevel (REPL) upgrade") + (description "Down is an unintrusive user experience upgrade for the +@command{ocaml} toplevel (REPL). + +Simply load the zero dependency @code{down} library in the @command{ocaml} +toplevel and you get line edition, history, session support and identifier +completion and documentation with @command{ocp-index}. + +Add this to your @file{~/.ocamlinit}: + +@example +#use \"down.top\" +@end example + +You may also need to add this to your @file{~/.ocamlinit} and declare +the environment variable @code{OCAML_TOPLEVEL_PATH}: + +@example +let () = + try Topdirs.dir_directory (Sys.getenv \"OCAML_TOPLEVEL_PATH\") + with Not_found -> () +@end example + +OR + +@example +let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\") + |> List.filter (fun x -> Filename.check_suffix x \"/site-lib\") + |> List.map (fun x -> x ^ \"/toplevel\") + (* remove the line below if you don't want to see the text + every time you start the toplevel *) + |> List.map (fun x -> Printf.printf \"adding directory %s\\n\" x; x) + |> List.iter Topdirs.dir_directory;; +@end example") + (license license:isc))) + (define-public ocaml-opam-file-format (package (name "ocaml-opam-file-format") @@ -2362,6 +2426,77 @@ string values and to directly encode characters in OCaml Buffer.t values.") the JSON data format. It can process JSON text without blocking on IO and without a complete in-memory representation of the data.") (license license:isc))) + +(define-public ocaml-ocp-indent + (package + (name "ocaml-ocp-indent") + (version "1.8.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OCamlPro/ocp-indent") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3")))) + (build-system dune-build-system) + (arguments + `(#:test-target "tests" + #:build-flags (list "--profile=release"))) + (propagated-inputs + `(("ocaml-cmdliner" ,ocaml-cmdliner))) + (home-page "https://www.typerex.org/ocp-indent.html") + (synopsis "Tool to indent OCaml programs") + (description + "Ocp-indent is based on an approximate, tolerant OCaml parser +and a simple stack machine. Presets and configuration options are available, +with the possibility to set them project-wide. It supports the most common +syntax extensions, and it is extensible for others. + +This package includes: + +@itemize +@item An indentor program, callable from the command-line or from within editors, +@item Bindings for popular editors, +@item A library that can be directly used by editor writers, or just for + fault-tolerant and approximate parsing. +@end itemize") + (license license:lgpl2.1))) + +(define-public ocaml-ocp-index + (package + (name "ocaml-ocp-index") + (version "1.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OCamlPro/ocp-index") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08r7mxdnxmhff37fw4hmrpjgckgi5kaiiiirwp4rmdl594z0h9c8")))) + (build-system dune-build-system) + (arguments + `(#:package "ocp-index")) + (propagated-inputs + `(("ocaml-ocp-indent" ,ocaml-ocp-indent) + ("ocaml-re" ,ocaml-re) + ("ocaml-cmdliner" ,ocaml-cmdliner))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo))) + (home-page "https://www.typerex.org/ocp-index.html") + (synopsis "Lightweight completion and documentation browsing for OCaml libraries") + (description "This package includes only the @code{ocp-index} library +and command-line tool.") + ;; All files in libs/ are GNU lgpl2.1 + ;; For static linking, clause 6 of LGPL is lifted + ;; All other files under GNU gpl3 + (license (list license:gpl3+ + license:lgpl2.1+)))) (define-public ocaml-ocurl (package diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 298146f68f..02c8be02fa 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -87,7 +87,7 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).") (define-public rpcbind (package (name "rpcbind") - (version "0.2.4") + (version "1.2.5") (source (origin (method url-fetch) @@ -97,7 +97,7 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).") (patches (search-patches "rpcbind-CVE-2017-8779.patch")) (sha256 (base32 - "0rjc867mdacag4yqvs827wqhkh27135rp9asj06ixhf71m9rljh7")))) + "0ynszy5hpc7wbz8xngqwyhgbi9cay73y43izqhcmrcv375l61qrc")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 17a4f3dcdb..26b275e0fd 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -135,18 +135,8 @@ formatters, and other extensions.") "This package provides a collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.") - (properties `((python2-variant . ,(delay python2-debtcollector)))) (license asl2.0))) -(define-public python2-debtcollector - (let ((base (package-with-python2 (strip-python2-variant - python-debtcollector)))) - (package - (inherit base) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs) - ,@(package-propagated-inputs base)))))) - (define-public python-hacking (package (name "python-hacking") @@ -272,9 +262,6 @@ to docs.openstack.org and developer.openstack.org.") comprehensive manner.") (license asl2.0))) -(define-public python2-os-client-config - (package-with-python2 python-os-client-config)) - (define-public python-os-testr (package (name "python-os-testr") @@ -305,9 +292,6 @@ to docs.openstack.org and developer.openstack.org.") for subunit.") (license asl2.0))) -(define-public python2-os-testr - (package-with-python2 python-os-testr)) - (define-public python-stevedore (package (name "python-stevedore") @@ -339,9 +323,6 @@ classes for implementing common patterns for using dynamically loaded extensions.") (license asl2.0))) -(define-public python2-stevedore - (package-with-python2 python-stevedore)) - (define-public python-tempest-lib (package (name "python-tempest-lib") @@ -664,9 +645,6 @@ documentation from the OpenStack project.") for debugging, and better support for mocking results.") (license asl2.0))) -(define-public python2-oslotest - (package-with-python2 python-oslotest)) - (define-public python-oslo.utils (package (name "python-oslo.utils") @@ -850,6 +828,3 @@ permanence.") "Git-review is a command-line tool that helps submitting Git branches to Gerrit for review, or fetching existing ones.") (license asl2.0))) - -(define-public python2-git-review - (package-with-python2 python-git-review)) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a6863dc12f..8cfe5f3ef2 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2015, 2017, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com> ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> @@ -9,7 +9,7 @@ ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> @@ -132,8 +132,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.2.0") - (commit "db42ee65bd657bae9b1a598cbdbe86079dc85f81") - (revision 9)) + (commit "dffc918af6cf6e1ce942dd329d210271ced1205d") + (revision 12)) (package (name "guix") @@ -149,7 +149,7 @@ (commit commit))) (sha256 (base32 - "1kizkw6cxh6mhc8kal2fglnhyp1i668b4ilqbxq72slbmf9jr9jl")) + "0wcwb09iy4svky5kmxwch7fymmkx78h8haam6p8ix110mm88in8k")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -301,6 +301,7 @@ $(prefix)/etc/init.d\n"))) (sqlite (assoc-ref inputs "guile-sqlite3")) (zlib (assoc-ref inputs "guile-zlib")) (lzlib (assoc-ref inputs "guile-lzlib")) + (zstd (assoc-ref inputs "guile-zstd")) (git (assoc-ref inputs "guile-git")) (bs (assoc-ref inputs "guile-bytestructures")) @@ -308,7 +309,7 @@ $(prefix)/etc/init.d\n"))) (gnutls (assoc-ref inputs "gnutls")) (locales (assoc-ref inputs "glibc-utf8-locales")) (deps (list gcrypt json sqlite gnutls git - bs ssh zlib lzlib)) + bs ssh zlib lzlib zstd)) (deps* ,@(if (%current-target-system) '(deps) '((cons avahi deps)))) @@ -362,6 +363,7 @@ $(prefix)/etc/init.d\n"))) ("guile-sqlite3" ,guile-sqlite3) ("guile-zlib" ,guile-zlib) ("guile-lzlib" ,guile-lzlib) + ("guile-zstd" ,guile-zstd) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git) @@ -417,11 +419,19 @@ $(prefix)/etc/init.d\n"))) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git) ("guile-zlib" ,guile-zlib) - ("guile-lzlib" ,guile-lzlib))) + ("guile-lzlib" ,guile-lzlib) + ("guile-zstd" ,guile-zstd))) (native-search-paths (list (search-path-specification (variable "GUIX_EXTENSIONS_PATH") - (files '("share/guix/extensions"))))) + (files '("share/guix/extensions"))) + + ;; (guix git) and (guix build download) honor this variable whose + ;; name comes from OpenSSL. + (search-path-specification + (variable "SSL_CERT_DIR") + (separator #f) ;single entry + (files '("etc/ssl/certs"))))) (home-page "https://www.gnu.org/software/guix/") (synopsis "Functional package manager for installed software packages and versions") @@ -1130,7 +1140,7 @@ outputs of those builds.") (define-public guix-jupyter (package (name "guix-jupyter") - (version "0.1.0") + (version "0.2.1") (home-page "https://gitlab.inria.fr/guix-hpc/guix-kernel") (source (origin (method git-fetch) @@ -1138,24 +1148,7 @@ outputs of those builds.") (commit (string-append "v" version)))) (sha256 (base32 - "01z7jjkc7r7lj6637rcgpz40v8xqqyfp6871h94yvcnwm7zy9h1n")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2])\n")) - - ;; Avoid name clash and build failure now that - ;; 'define-json-mapping' is also provided by Guile-JSON, as - ;; of version 4.3. - (substitute* (find-files "." "\\.scm$") - (("define-json-mapping") - "define-json-mapping*") - (("<=>") - "<->")) - #t)) + "1kqwfp5h95s6mirq5nbydsbmlhsinn32grz1ld5mbxvhl6sn2i0j")) (file-name (string-append "guix-jupyter-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1348,14 +1341,14 @@ the boot loader configuration.") (define-public flatpak (package (name "flatpak") - (version "1.8.2") + (version "1.10.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" version "/flatpak-" version ".tar.xz")) (sha256 - (base32 "1c45a0k7wx685n5b3ihv7dk0mm2kmwbw7cx8w5g2la62yxfn49kr")))) + (base32 "1dywvfpmszvp2wy5hvpzy8z6gz2gzmi9p302njp52p9vpx14ydf1")))) ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to ;; find the TLS backend in glib-networking. diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index fde19ced92..3a0c22b6d4 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -55,14 +55,14 @@ (define-public parallel (package (name "parallel") - (version "20201222") + (version "20210122") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "13kxg2vmy20ciiv1gp96g33bmvma1nh5d66jdix1fqj6xjaizr5n")))) + (base32 "1wxkqz6ld1bp0ilvc04vhq99qjay1nl6pbk3qzvp3sjavv9vdwdl")))) (build-system gnu-build-system) (arguments `(#:phases @@ -108,7 +108,7 @@ and they are executed on lists of files, hosts, users or other items.") (define-public slurm (package (name "slurm") - (version "20.11.2") + (version "20.11.3") (source (origin (method url-fetch) (uri (string-append @@ -116,7 +116,7 @@ and they are executed on lists of files, hosts, users or other items.") version ".tar.bz2")) (sha256 (base32 - "15h2vs58apgdz02ijgr46090vjyaa81qcm76mm6fxlvkkfd4pyxp")) + "1s70x6yh60sx63dgmp5rlhq8jcz7kxv9pk8gbs9v1jg8zps5h5bk")) (modules '((guix build utils))) (snippet '(begin @@ -194,6 +194,8 @@ by managing a queue of pending work.") ;; in incompatible ways, as noted in ;; <https://slurm.schedmd.com/troubleshoot.html#network>. Thus, keep older ;; releases here. See also <https://issues.guix.gnu.org/44387>. +;; As noted in the link, YY.MM is the release scheme, and the 'maintenance' +;; digit does not introduce incompatibilities. (define-public slurm-20.02 (package @@ -209,11 +211,10 @@ by managing a queue of pending work.") (base32 "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")))))) - (define-public slurm-19.05 (package (inherit slurm) - (version "19.05.3-2") + (version "19.05.8") (source (origin (inherit (package-source slurm)) (method url-fetch) @@ -222,13 +223,13 @@ by managing a queue of pending work.") version ".tar.bz2")) (sha256 (base32 - "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")))))) + "10c9j4a9a6d4ibpf75006mn03p8xgpaprc247x2idakysjf2fw43")))))) ;; Same as Debian 10 (define-public slurm-18.08 (package (inherit slurm) - (version "18.08.5-2") + (version "18.08.9") (source (origin (inherit (package-source slurm)) @@ -237,7 +238,7 @@ by managing a queue of pending work.") version ".tar.bz2")) (sha256 (base32 - "0xrj12nmkhvhzi7cyh4yvdm8qa51ji3j82mgpq7sx87g30f9spn4")))))) + "1bgrpz75m7l4xhirsd0fvnkzlkrl8v2qpmjcz60barc5qm2kn457")))))) (define-public slurm-drmaa (package diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 1204066499..50e98cd038 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -9,10 +9,10 @@ ;;; Copyright © 2016, 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> @@ -123,7 +123,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.6.2") + (version "2.6.4") (source (origin (method url-fetch) @@ -131,7 +131,7 @@ human.") "/releases/download/" version "/keepassxc-" version "-src.tar.xz")) (sha256 - (base32 "0f3ygnjzjijqmmrvrslwsbnz208jgxp5bwy4p336w3bn1bggl6qh")))) + (base32 "0azq20rqsx7axrigha4qh81ipvhqnnlb27w3xdjg5z4h3jky4dp5")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DWITH_XC_ALL=YES" diff --git a/gnu/packages/patches/avogadro-boost148.patch b/gnu/packages/patches/avogadro-boost148.patch deleted file mode 100644 index f244f14674..0000000000 --- a/gnu/packages/patches/avogadro-boost148.patch +++ /dev/null @@ -1,69 +0,0 @@ -Index: avogadro-1.2.0/libavogadro/src/pythonengine_p.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythonengine_p.h -+++ avogadro-1.2.0/libavogadro/src/pythonengine_p.h -@@ -31,7 +31,9 @@ - - #include <avogadro/global.h> - #include <avogadro/engine.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - namespace Avogadro { - -Index: avogadro-1.2.0/libavogadro/src/pythonextension_p.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythonextension_p.h -+++ avogadro-1.2.0/libavogadro/src/pythonextension_p.h -@@ -33,7 +33,9 @@ - #include <avogadro/extension.h> - #include <avogadro/primitive.h> - #include <avogadro/glwidget.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - #include <QWidget> - #include <QList> -Index: avogadro-1.2.0/libavogadro/src/pythontool_p.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythontool_p.h -+++ avogadro-1.2.0/libavogadro/src/pythontool_p.h -@@ -31,7 +31,9 @@ - - #include <avogadro/global.h> - #include <avogadro/tool.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - #include <QObject> - #include <QAction> -Index: avogadro-1.2.0/libavogadro/src/pythoninterpreter.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythoninterpreter.h -+++ avogadro-1.2.0/libavogadro/src/pythoninterpreter.h -@@ -26,7 +26,9 @@ - #define PYTHONINTERPRETER_H - - #include <avogadro/global.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - #include <avogadro/primitive.h> - #include <QString> - -Index: avogadro-1.2.0/libavogadro/src/pythonscript.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythonscript.h -+++ avogadro-1.2.0/libavogadro/src/pythonscript.h -@@ -27,6 +27,8 @@ - #define PYTHONSCRIPT_H - - #include <avogadro/global.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - #include "pythonerror.h" diff --git a/gnu/packages/patches/avogadro-eigen3-update.patch b/gnu/packages/patches/avogadro-eigen3-update.patch deleted file mode 100644 index a5f669292f..0000000000 --- a/gnu/packages/patches/avogadro-eigen3-update.patch +++ /dev/null @@ -1,603 +0,0 @@ -From 43af3c117b0b3220b15c2fe2895b94bbd83d3a60 Mon Sep 17 00:00:00 2001 -From: Claudio Fernandes <claudiosf.claudio@gmail.com> -Date: Sun, 15 Jan 2017 21:23:39 -0200 -Subject: [PATCH] Adapt Avogadro to Eigen 3.3 - ---- - CMakeLists.txt | 9 +------ - avogadro/src/mainwindow.cpp | 5 ++-- - libavogadro/src/camera.cpp | 10 ++++---- - libavogadro/src/camera.h | 14 +++++------ - libavogadro/src/engines/wireengine.cpp | 4 ++-- - .../crystallography/crystallographyextension.cpp | 2 +- - .../crystallography/ui/ceviewoptionswidget.cpp | 2 +- - .../src/extensions/orca/orcaanalysedialog.cpp | 1 - - .../src/extensions/orca/orcainputdialog.cpp | 1 - - .../src/extensions/qtaim/qtaimmathutilities.cpp | 1 + - .../qtaim/qtaimwavefunctionevaluator.cpp | 28 +++++++++++----------- - .../extensions/surfaces/openqube/gamessukout.cpp | 1 + - .../src/extensions/surfaces/openqube/slaterset.cpp | 6 +++-- - libavogadro/src/glpainter_p.cpp | 14 +++++------ - libavogadro/src/glwidget.cpp | 4 ++-- - libavogadro/src/molecule.cpp | 26 ++++++++++++++++++-- - libavogadro/src/navigate.cpp | 2 +- - libavogadro/src/tools/bondcentrictool.cpp | 28 +++++++++++----------- - libavogadro/src/tools/manipulatetool.cpp | 17 +++++++------ - libavogadro/src/tools/navigatetool.cpp | 3 ++- - libavogadro/src/tools/skeletontree.cpp | 7 +++--- - libavogadro/src/tools/skeletontree.h | 2 +- - 22 files changed, 102 insertions(+), 85 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -231,14 +231,7 @@ if(NOT Linguist_FOUND) - message(WARNING " Qt4 Linguist not found, please install it if you want Avogadro translations") - endif() - --find_package(Eigen3) # find and setup Eigen3 if available --if(NOT EIGEN3_FOUND) -- message(STATUS "Cannot find Eigen3, trying Eigen2") -- find_package(Eigen2 REQUIRED) # Some version is required --else() --# Use Stage10 Eigen3 support -- set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) --endif() -+find_package(Eigen3 REQUIRED) # find and setup Eigen3 if available - - find_package(ZLIB REQUIRED) - find_package(OpenBabel2 REQUIRED) # find and setup OpenBabel ---- a/avogadro/src/mainwindow.cpp -+++ b/avogadro/src/mainwindow.cpp -@@ -115,7 +115,6 @@ - #include <QDebug> - - #include <Eigen/Geometry> --#include <Eigen/Array> - #define USEQUAT - // This is a "hidden" exported Qt function on the Mac for Qt-4.x. - #ifdef Q_WS_MAC -@@ -2775,7 +2774,7 @@ protected: - linearGoal.row(1) = linearGoal.row(2).cross(linearGoal.row(0)); - - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); - - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTANCE) * Vector3d::UnitZ()); - -@@ -2840,7 +2839,7 @@ protected: - Matrix3d linearGoal = Matrix3d::Identity(); - - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); - - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTANCE) * Vector3d::UnitZ()); - ---- a/libavogadro/src/camera.cpp -+++ b/libavogadro/src/camera.cpp -@@ -47,7 +47,7 @@ namespace Avogadro - - CameraPrivate() {}; - -- Eigen::Transform3d modelview, projection; -+ Eigen::Projective3d modelview, projection; - const GLWidget *parent; - double angleOfViewY; - double orthoScale; -@@ -169,20 +169,20 @@ namespace Avogadro - - double Camera::distance(const Eigen::Vector3d & point) const - { -- return ( d->modelview * point ).norm(); -+ return ( d->modelview * point.homogeneous() ).head<3>().norm(); - } - -- void Camera::setModelview(const Eigen::Transform3d &matrix) -+ void Camera::setModelview(const Eigen::Projective3d &matrix) - { - d->modelview = matrix; - } - -- const Eigen::Transform3d & Camera::modelview() const -+ const Eigen::Projective3d & Camera::modelview() const - { - return d->modelview; - } - -- Eigen::Transform3d & Camera::modelview() -+ Eigen::Projective3d & Camera::modelview() - { - return d->modelview; - } ---- a/libavogadro/src/camera.h -+++ b/libavogadro/src/camera.h -@@ -101,16 +101,16 @@ namespace Avogadro { - double angleOfViewY() const; - /** Sets 4x4 "modelview" matrix representing the camera orientation and position. - * @param matrix the matrix to copy from -- * @sa Eigen::Transform3d & modelview(), applyModelview() */ -- void setModelview(const Eigen::Transform3d &matrix); -+ * @sa Eigen::Projective3d & modelview(), applyModelview() */ -+ void setModelview(const Eigen::Projective3d &matrix); - /** @return a constant reference to the 4x4 "modelview" matrix representing - * the camera orientation and position -- * @sa setModelview(), Eigen::Transform3d & modelview() */ -- const Eigen::Transform3d & modelview() const; -+ * @sa setModelview(), Eigen::Projective3d & modelview() */ -+ const Eigen::Projective3d & modelview() const; - /** @return a non-constant reference to the 4x4 "modelview" matrix representing - * the camera orientation and position -- * @sa setModelview(), const Eigen::Transform3d & modelview() const */ -- Eigen::Transform3d & modelview(); -+ * @sa setModelview(), const Eigen::Projective3d & modelview() const */ -+ Eigen::Projective3d & modelview(); - /** Calls gluPerspective() or glOrtho() with parameters automatically chosen - * for rendering the GLWidget's molecule with this camera. Should be called - * only in GL_PROJECTION matrix mode. Example code is given -@@ -342,7 +342,7 @@ namespace Avogadro { - * @return {x/w, y/w, z/w} vector - */ - Eigen::Vector3d V4toV3DivW(const Eigen::Vector4d & v4) { -- return v4.start<3>()/v4.w(); -+ return v4.head<3>()/v4.w(); - } - }; - ---- a/libavogadro/src/engines/wireengine.cpp -+++ b/libavogadro/src/engines/wireengine.cpp -@@ -109,7 +109,7 @@ namespace Avogadro { - const Camera *camera = pd->camera(); - - // perform a rough form of frustum culling -- Eigen::Vector3d transformedPos = pd->camera()->modelview() * v; -+ Eigen::Vector3d transformedPos = (pd->camera()->modelview() * v.homogeneous()).head<3>(); - double dot = transformedPos.z() / transformedPos.norm(); - if(dot > -0.8) - return true; -@@ -167,7 +167,7 @@ namespace Avogadro { - map = pd->colorMap(); // fall back to global color map - - // perform a rough form of frustum culling -- Eigen::Vector3d transformedEnd1 = pd->camera()->modelview() * v1; -+ Eigen::Vector3d transformedEnd1 = (pd->camera()->modelview() * v1.homogeneous()).head<3>(); - double dot = transformedEnd1.z() / transformedEnd1.norm(); - if(dot > -0.8) - return true; // i.e., don't bother rendering ---- a/libavogadro/src/extensions/crystallography/crystallographyextension.cpp -+++ b/libavogadro/src/extensions/crystallography/crystallographyextension.cpp -@@ -1989,7 +1989,7 @@ namespace Avogadro - // fix coordinates - // Apply COB matrix: - Eigen::Matrix3d invCob; -- cob.computeInverse(&invCob); -+ invCob = cob.inverse(); - for (QList<Eigen::Vector3d>::iterator - it = fcoords.begin(), - it_end = fcoords.end(); ---- a/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp -+++ b/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp -@@ -139,7 +139,7 @@ namespace Avogadro - { - // View into a Miller plane - Camera *camera = m_glWidget->camera(); -- Eigen::Transform3d modelView; -+ Eigen::Projective3d modelView; - modelView.setIdentity(); - - // OK, so we want to rotate to look along the normal at the plane ---- a/libavogadro/src/extensions/orca/orcaanalysedialog.cpp -+++ b/libavogadro/src/extensions/orca/orcaanalysedialog.cpp -@@ -41,7 +41,6 @@ - #include <openbabel/mol.h> - - #include <Eigen/Geometry> --#include <Eigen/LeastSquares> - - #include <vector> - ---- a/libavogadro/src/extensions/orca/orcainputdialog.cpp -+++ b/libavogadro/src/extensions/orca/orcainputdialog.cpp -@@ -33,7 +33,6 @@ - #include <openbabel/mol.h> - - #include <Eigen/Geometry> --#include <Eigen/LeastSquares> - - #include <vector> - ---- a/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp -@@ -28,6 +28,7 @@ - - #include <cmath> - #include <Eigen/QR> -+#include <Eigen/Eigenvalues> - - namespace Avogadro { - namespace QTAIMMathUtilities { ---- a/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp -@@ -35,21 +35,21 @@ namespace Avogadro - m_nprim=wfn.numberOfGaussianPrimitives(); - m_nnuc=wfn.numberOfNuclei(); - -- m_nucxcoord=Map<Matrix<qreal,Dynamic,1> >(wfn.xNuclearCoordinates(),m_nnuc); -- m_nucycoord=Map<Matrix<qreal,Dynamic,1> >(wfn.yNuclearCoordinates(),m_nnuc); -- m_nuczcoord=Map<Matrix<qreal,Dynamic,1> >(wfn.zNuclearCoordinates(),m_nnuc); -- m_nucz=Map<Matrix<qint64,Dynamic,1> >(wfn.nuclearCharges(),m_nnuc); -- m_X0=Map<Matrix<qreal,Dynamic,1> >(wfn.xGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_Y0=Map<Matrix<qreal,Dynamic,1> >(wfn.yGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_Z0=Map<Matrix<qreal,Dynamic,1> >(wfn.zGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_xamom=Map<Matrix<qint64,Dynamic,1> >(wfn.xGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_yamom=Map<Matrix<qint64,Dynamic,1> >(wfn.yGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_zamom=Map<Matrix<qint64,Dynamic,1> >(wfn.zGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_alpha=Map<Matrix<qreal,Dynamic,1> >(wfn.gaussianPrimitiveExponentCoefficients(),m_nprim,1); -+ m_nucxcoord=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.xNuclearCoordinates()),m_nnuc); -+ m_nucycoord=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.yNuclearCoordinates()),m_nnuc); -+ m_nuczcoord=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.zNuclearCoordinates()),m_nnuc); -+ m_nucz=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.nuclearCharges()),m_nnuc); -+ m_X0=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.xGaussianPrimitiveCenterCoordinates()),m_nprim,1); -+ m_Y0=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.yGaussianPrimitiveCenterCoordinates()),m_nprim,1); -+ m_Z0=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.zGaussianPrimitiveCenterCoordinates()),m_nprim,1); -+ m_xamom=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.xGaussianPrimitiveAngularMomenta()),m_nprim,1); -+ m_yamom=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.yGaussianPrimitiveAngularMomenta()),m_nprim,1); -+ m_zamom=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.zGaussianPrimitiveAngularMomenta()),m_nprim,1); -+ m_alpha=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.gaussianPrimitiveExponentCoefficients()),m_nprim,1); - // TODO Implement screening for unoccupied molecular orbitals. -- m_occno=Map<Matrix<qreal,Dynamic,1> >(wfn.molecularOrbitalOccupationNumbers(),m_nmo,1); -- m_orbe=Map<Matrix<qreal,Dynamic,1> >(wfn.molecularOrbitalEigenvalues(),m_nmo,1); -- m_coef=Map<Matrix<qreal,Dynamic,Dynamic,RowMajor> >(wfn.molecularOrbitalCoefficients(),m_nmo,m_nprim); -+ m_occno=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.molecularOrbitalOccupationNumbers()),m_nmo,1); -+ m_orbe=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.molecularOrbitalEigenvalues()),m_nmo,1); -+ m_coef=Map<Matrix<qreal,Dynamic,Dynamic,RowMajor> >(const_cast<qreal*>(wfn.molecularOrbitalCoefficients()),m_nmo,m_nprim); - m_totalEnergy=wfn.totalEnergy(); - m_virialRatio=wfn.virialRatio(); - ---- a/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp -+++ b/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp -@@ -19,6 +19,7 @@ - using Eigen::Vector3d; - using std::vector; - -+#include <iostream> - #include <fstream> - - namespace OpenQube ---- a/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp -+++ b/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp -@@ -25,9 +25,9 @@ - - #include "cube.h" - --#include <Eigen/Array> - #include <Eigen/LU> - #include <Eigen/QR> -+#include <Eigen/Eigenvalues> - - #include <cmath> - -@@ -250,7 +250,9 @@ bool SlaterSet::initialize() - - SelfAdjointEigenSolver<MatrixXd> s(m_overlap); - MatrixXd p = s.eigenvectors(); -- MatrixXd m = p * s.eigenvalues().cwise().inverse().cwise().sqrt().asDiagonal() * p.inverse(); -+ // TODO check if this is correct -+ MatrixXd m1 = (s.eigenvalues().array().inverse().sqrt()); -+ MatrixXd m = p.array()*(m1.diagonal().array())*p.inverse().array(); - m_normalized = m * m_eigenVectors; - - if (!(m_overlap*m*m).isIdentity()) ---- a/libavogadro/src/glpainter_p.cpp -+++ b/libavogadro/src/glpainter_p.cpp -@@ -789,13 +789,13 @@ namespace Avogadro - } else { - points[theta-1] = Eigen::AngleAxisd(theta * (M_PI / 180.0) / 2, n) * u; - } -- points[theta-1] = d->widget->camera()->modelview() * (origin + points[theta-1]); -+ points[theta-1] = (d->widget->camera()->modelview() * (origin + points[theta-1]).homogeneous()).head<3>(); - } - - // Get vectors representing the points' positions in terms of the model view. -- Eigen::Vector3d _origin = d->widget->camera()->modelview() * origin; -- Eigen::Vector3d _direction1 = d->widget->camera()->modelview() * (origin+u); -- Eigen::Vector3d _direction2 = d->widget->camera()->modelview() * (origin+v); -+ Eigen::Vector3d _origin = (d->widget->camera()->modelview() * origin.homogeneous()).head<3>(); -+ Eigen::Vector3d _direction1 = (d->widget->camera()->modelview() * (origin+u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 = (d->widget->camera()->modelview() * (origin+v).homogeneous()).head<3>(); - - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); -@@ -880,12 +880,12 @@ namespace Avogadro - } else { - points[theta-1] = Eigen::AngleAxisd(theta * (M_PI / 180.0) / 2, n) * u; - } -- points[theta-1] = d->widget->camera()->modelview() * (origin + points[theta-1]); -+ points[theta-1] = (d->widget->camera()->modelview() * (origin + points[theta-1]).homogeneous()).head<3>(); - } - - // Get vectors representing the points' positions in terms of the model view. -- Eigen::Vector3d _direction1 = d->widget->camera()->modelview() * (origin + u); -- Eigen::Vector3d _direction2 = d->widget->camera()->modelview() * (origin + v); -+ Eigen::Vector3d _direction1 = (d->widget->camera()->modelview() * (origin + u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 = (d->widget->camera()->modelview() * (origin + v).homogeneous()).head<3>(); - - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); ---- a/libavogadro/src/glwidget.cpp -+++ b/libavogadro/src/glwidget.cpp -@@ -765,7 +765,7 @@ namespace Avogadro { - GLfloat fogColor[4]= {static_cast<GLfloat>(d->background.redF()), static_cast<GLfloat>(d->background.greenF()), - static_cast<GLfloat>(d->background.blueF()), static_cast<GLfloat>(d->background.alphaF())}; - glFogfv(GL_FOG_COLOR, fogColor); -- Vector3d distance = camera()->modelview() * d->center; -+ Vector3d distance = (camera()->modelview() * d->center.homogeneous()).head<3>(); - double distanceToCenter = distance.norm(); - glFogf(GL_FOG_DENSITY, 1.0); - glHint(GL_FOG_HINT, GL_NICEST); -@@ -1711,7 +1711,7 @@ namespace Avogadro { - - if (d->renderModelViewDebug) { - // Model view matrix: -- const Eigen::Transform3d &modelview = d->camera->modelview(); -+ const Eigen::Projective3d &modelview = d->camera->modelview(); - y += d->pd->painter()->drawText - (x, y, tr("ModelView row 1: %L1 %L2 %L3 %L4") - .arg(modelview(0, 0), 6, 'f', 2, ' ') ---- a/libavogadro/src/molecule.cpp -+++ b/libavogadro/src/molecule.cpp -@@ -38,7 +38,7 @@ - #include "zmatrix.h" - - #include <Eigen/Geometry> --#include <Eigen/LeastSquares> -+#include <Eigen/Eigenvalues> - - #include <vector> - -@@ -1907,7 +1907,29 @@ namespace Avogadro{ - } - d->center /= static_cast<double>(nAtoms); - Eigen::Hyperplane<double, 3> planeCoeffs; -- Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ //Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ -+ // TODO check if this is OK -+ /************************/ -+ typedef Eigen::Matrix<double,3,3> CovMatrixType; -+ typedef Eigen::Vector3d VectorType; -+ -+ VectorType mean = d->center; -+ int size=3; -+ int numPoints=numAtoms(); -+ VectorType ** points=atomPositions; -+ CovMatrixType covMat = CovMatrixType::Zero(size, size); -+ VectorType remean = VectorType::Zero(size); -+ for(int i = 0; i < numPoints; ++i) -+ { -+ VectorType diff = (*(points[i]) - mean).conjugate(); -+ covMat += diff * diff.adjoint(); -+ } -+ Eigen::SelfAdjointEigenSolver<CovMatrixType> eig(covMat); -+ planeCoeffs.normal() = eig.eigenvectors().col(0); -+ /************************/ -+ -+ - delete[] atomPositions; - d->normalVector = planeCoeffs.normal(); - } ---- a/libavogadro/src/navigate.cpp -+++ b/libavogadro/src/navigate.cpp -@@ -40,7 +40,7 @@ namespace Avogadro { - void Navigate::zoom(GLWidget *widget, const Eigen::Vector3d &goal, - double delta) - { -- Vector3d transformedGoal = widget->camera()->modelview() * goal; -+ Vector3d transformedGoal = (widget->camera()->modelview() * goal.homogeneous()).head<3>(); - double distanceToGoal = transformedGoal.norm(); - - double t = ZOOM_SPEED * delta; ---- a/libavogadro/src/tools/bondcentrictool.cpp -+++ b/libavogadro/src/tools/bondcentrictool.cpp -@@ -578,8 +578,8 @@ namespace Avogadro { - - Vector3d clicked = *m_clickedAtom->pos(); - -- Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other).z() >= -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other.homogeneous()).z() >= -+ (widget->camera()->modelview() * center.homogeneous()).z() ? -1 : 1)); - - Vector3d centerProj = widget->camera()->project(center); - centerProj -= Vector3d(0,0,centerProj.z()); -@@ -673,8 +673,8 @@ namespace Avogadro { - - Vector3d clicked = *m_clickedAtom->pos(); - -- Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other).z() >= -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other.homogeneous()).z() >= -+ (widget->camera()->modelview() * center.homogeneous()).z() ? -1 : 1)); - - Vector3d centerProj = widget->camera()->project(center); - centerProj -= Vector3d(0,0,centerProj.z()); -@@ -1362,10 +1362,10 @@ namespace Avogadro { - - planeVec = length * (planeVec / planeVec.norm()); - -- Vector3d topLeft = widget->camera()->modelview() * (left + planeVec); -- Vector3d topRight = widget->camera()->modelview() * (right + planeVec); -- Vector3d botRight = widget->camera()->modelview() * (right - planeVec); -- Vector3d botLeft = widget->camera()->modelview() * (left - planeVec); -+ Vector3d topLeft = (widget->camera()->modelview() * (left + planeVec).homogeneous()).head<3>(); -+ Vector3d topRight = (widget->camera()->modelview() * (right + planeVec).homogeneous()).head<3>(); -+ Vector3d botRight = (widget->camera()->modelview() * (right - planeVec).homogeneous()).head<3>(); -+ Vector3d botLeft = (widget->camera()->modelview() * (left - planeVec).homogeneous()).head<3>(); - - float alpha = 0.4; - double lineWidth = 1.5; -@@ -1444,10 +1444,10 @@ namespace Avogadro { - C = D + ((C-D).normalized() * minWidth); - } - -- Vector3d topLeft = widget->camera()->modelview() * D; -- Vector3d topRight = widget->camera()->modelview() * C; -- Vector3d botRight = widget->camera()->modelview() * B; -- Vector3d botLeft = widget->camera()->modelview() * A; -+ Vector3d topLeft = (widget->camera()->modelview() * D.homogeneous()).head<3>(); -+ Vector3d topRight = (widget->camera()->modelview() * C.homogeneous()).head<3>(); -+ Vector3d botRight = (widget->camera()->modelview() * B.homogeneous()).head<3>(); -+ Vector3d botLeft = (widget->camera()->modelview() * A.homogeneous()).head<3>(); - - float alpha = 0.4; - double lineWidth = 1.5; -@@ -1506,12 +1506,12 @@ namespace Avogadro { - Vector3d positionVector) - { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation = Eigen::AngleAxisd(angle, rotationVector); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); - -- return rotation*positionVector; -+ return (rotation*positionVector.homogeneous()).head<3>(); - } - - // ########## showAnglesChanged ########## ---- a/libavogadro/src/tools/manipulatetool.cpp -+++ b/libavogadro/src/tools/manipulatetool.cpp -@@ -40,7 +40,6 @@ - #include <QAbstractButton> - - using Eigen::Vector3d; --using Eigen::Transform3d; - using Eigen::AngleAxisd; - - namespace Avogadro { -@@ -138,7 +137,7 @@ namespace Avogadro { - double yRotate = m_settingsWidget->yRotateSpinBox->value() * DEG_TO_RAD; - double zRotate = m_settingsWidget->zRotateSpinBox->value() * DEG_TO_RAD; - -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation.matrix().setIdentity(); - rotation.translation() = center; - rotation.rotate(AngleAxisd(xRotate, Vector3d::UnitX()) -@@ -152,12 +151,12 @@ namespace Avogadro { - if (p->type() == Primitive::AtomType) { - Atom *atom = static_cast<Atom*>(p); - tempPos = translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } else { - foreach(Atom *atom, widget->molecule()->atoms()) { - tempPos = translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } - -@@ -199,7 +198,7 @@ namespace Avogadro { - widget->setCursor(Qt::SizeVerCursor); - - // Move the selected atom(s) in to or out of the screen -- Vector3d transformedGoal = widget->camera()->modelview() * *goal; -+ Vector3d transformedGoal = (widget->camera()->modelview() * goal->homogeneous()).head<3>(); - double distanceToGoal = transformedGoal.norm(); - - double t = ZOOM_SPEED * delta; -@@ -255,7 +254,7 @@ namespace Avogadro { - - // Rotate the selected atoms about the center - // rotate only selected primitives -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() = *center; - fragmentRotation.rotate( -@@ -266,7 +265,7 @@ namespace Avogadro { - - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() == Primitive::AtomType) -- static_cast<Atom *>(p)->setPos(fragmentRotation * *static_cast<Atom *>(p)->pos()); -+ static_cast<Atom *>(p)->setPos((fragmentRotation * static_cast<Atom *>(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } - -@@ -274,7 +273,7 @@ namespace Avogadro { - double delta) const - { - // Tilt the selected atoms about the center -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() = *center; - fragmentRotation.rotate(AngleAxisd(delta * ROTATION_SPEED, widget->camera()->backTransformedZAxis())); -@@ -282,7 +281,7 @@ namespace Avogadro { - - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() == Primitive::AtomType) -- static_cast<Atom *>(p)->setPos(fragmentRotation * *static_cast<Atom *>(p)->pos()); -+ static_cast<Atom *>(p)->setPos((fragmentRotation * static_cast<Atom *>(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } - ---- a/libavogadro/src/tools/navigatetool.cpp -+++ b/libavogadro/src/tools/navigatetool.cpp -@@ -92,7 +92,8 @@ namespace Avogadro { - double sumOfWeights = 0.; - QList<Atom*> atoms = widget->molecule()->atoms(); - foreach (Atom *atom, atoms) { -- Vector3d transformedAtomPos = widget->camera()->modelview() * *atom->pos(); -+ Vector3d transformedAtomPos = (widget->camera()->modelview() * -+ atom->pos()->homogeneous()).head<3>(); - double atomDistance = transformedAtomPos.norm(); - double dot = transformedAtomPos.z() / atomDistance; - double weight = exp(-30. * (1. + dot)); ---- a/libavogadro/src/tools/skeletontree.cpp -+++ b/libavogadro/src/tools/skeletontree.cpp -@@ -29,6 +29,7 @@ - #include <avogadro/atom.h> - #include <avogadro/bond.h> - #include <avogadro/molecule.h> -+#include <iostream> - - using namespace Eigen; - using namespace std; -@@ -221,7 +222,7 @@ namespace Avogadro { - { - if (m_rootNode) { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation = Eigen::AngleAxisd(angle, rotationAxis); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); -@@ -248,11 +249,11 @@ namespace Avogadro { - // ########## recursiveRotate ########## - - void SkeletonTree::recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix) -+ const Eigen::Projective3d &rotationMatrix) - { - // Update the root node with the new position - Atom* a = n->atom(); -- a->setPos(rotationMatrix * (*a->pos())); -+ a->setPos((rotationMatrix * (*a->pos()).homogeneous()).head<3>()); - a->update(); - - // Now update the children ---- a/libavogadro/src/tools/skeletontree.h -+++ b/libavogadro/src/tools/skeletontree.h -@@ -230,6 +230,6 @@ namespace Avogadro { - * @param centerVector Center location to rotate around. - */ - void recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix); -+ const Eigen::Projective3d &rotationMatrix); - - }; - } // End namespace Avogadro
\ No newline at end of file diff --git a/gnu/packages/patches/avogadro-python-eigen-lib.patch b/gnu/packages/patches/avogadro-python-eigen-lib.patch deleted file mode 100644 index ac9f2e30af..0000000000 --- a/gnu/packages/patches/avogadro-python-eigen-lib.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 2d4be7ede177a8df7340fe3b209698d591ee8a04 Mon Sep 17 00:00:00 2001 -From: Claudio Fernandes <claudiosf.claudio@gmail.com> -Date: Mon, 16 Jan 2017 19:48:23 -0200 -Subject: [PATCH] Adapt libavogadro/python to Eigen 3.3 - ---- - libavogadro/src/python/camera.cpp | 2 +- - libavogadro/src/python/eigen.cpp | 60 +++++++++++++++++++-------------------- - 2 files changed, 31 insertions(+), 31 deletions(-) - -diff --git a/libavogadro/src/python/camera.cpp b/libavogadro/src/python/camera.cpp -index 69ca87bf8..30b32af7d 100644 ---- a/libavogadro/src/python/camera.cpp -+++ b/libavogadro/src/python/camera.cpp -@@ -10,7 +10,7 @@ using namespace Avogadro; - void export_Camera() - { - -- const Eigen::Transform3d& (Camera::*modelview_ptr)() const = &Camera::modelview; -+ const Eigen::Projective3d& (Camera::*modelview_ptr)() const = &Camera::modelview; - Eigen::Vector3d (Camera::*unProject_ptr1)(const Eigen::Vector3d&) const = &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr2)(const QPoint&, const Eigen::Vector3d&) const = &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr3)(const QPoint&) const = &Camera::unProject; -diff --git a/libavogadro/src/python/eigen.cpp b/libavogadro/src/python/eigen.cpp -index c1faedbcc..20b4e719d 100644 ---- a/libavogadro/src/python/eigen.cpp -+++ b/libavogadro/src/python/eigen.cpp -@@ -305,9 +305,9 @@ template <> struct ScalarTraits<double> - struct innerclass - { - // -- // Eigen::Transform3d --> python array (4x4) -+ // Eigen::Projective3d --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d const &trans) -+ static PyObject* convert(Eigen::Projective3d const &trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -321,9 +321,9 @@ template <> struct ScalarTraits<double> - return incref(result); - } - // -- // Eigen::Transform3d* --> python array (4x4) -+ // Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d *trans) -+ static PyObject* convert(Eigen::Projective3d *trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -337,9 +337,9 @@ template <> struct ScalarTraits<double> - return incref(result); - } - // -- // const Eigen::Transform3d* --> python array (4x4) -+ // const Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(const Eigen::Transform3d *trans) -+ static PyObject* convert(const Eigen::Projective3d *trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -358,10 +358,10 @@ template <> struct ScalarTraits<double> - Transform3d_to_python_array() - { - #ifndef WIN32 -- to_python_converter<Eigen::Transform3d, innerclass>(); -+ to_python_converter<Eigen::Projective3d, innerclass>(); - #endif -- to_python_converter<Eigen::Transform3d*, innerclass>(); -- to_python_converter<const Eigen::Transform3d*, innerclass>(); -+ to_python_converter<Eigen::Projective3d*, innerclass>(); -+ to_python_converter<const Eigen::Projective3d*, innerclass>(); - } - - }; -@@ -373,17 +373,17 @@ template <> struct ScalarTraits<double> - // Insert an rvalue from_python converter at the tail of the - // chain. Used for implicit conversions - // -- // python array --> Eigen::Transform3d -+ // python array --> Eigen::Projective3d - // - // used for: - // -- // void function(Eigen::Transform3d vec) -- // void function(Eigen::Transform3d & vec) -- // void function(const Eigen::Transform3d & vec) -+ // void function(Eigen::Projective3d vec) -+ // void function(Eigen::Projective3d & vec) -+ // void function(const Eigen::Projective3d & vec) - // -- converter::registry::push_back( &convertible, &construct, type_id<Eigen::Transform3d>() ); -+ converter::registry::push_back( &convertible, &construct, type_id<Eigen::Projective3d>() ); - -- converter::registry::insert( &convert, type_id<Eigen::Transform3d>() ); -+ converter::registry::insert( &convert, type_id<Eigen::Projective3d>() ); - } - - static void* convert(PyObject *obj_ptr) -@@ -401,7 +401,7 @@ template <> struct ScalarTraits<double> - throw_error_already_set(); // the 1D array does not have exactly 3 elements - - double *values = reinterpret_cast<double*>(array->data); -- Eigen::Transform3d *c_obj = new Eigen::Transform3d(); -+ Eigen::Projective3d *c_obj = new Eigen::Projective3d(); - double *dataPtr = c_obj->data(); - - for (int i = 0; i < 16; ++i) -@@ -432,7 +432,7 @@ template <> struct ScalarTraits<double> - // I think this is a better way to get at the double array, where is this - // deleted though? Does Boost::Python do it? - double *values = reinterpret_cast<double*>(array->data); -- Eigen::Transform3d *storage = new Eigen::Transform3d(); -+ Eigen::Projective3d *storage = new Eigen::Projective3d(); - double *dataPtr = storage->data(); - - for (int i = 0; i < 16; ++i) -@@ -467,21 +467,21 @@ class EigenUnitTestHelper - void set_vector3d_ptr(Eigen::Vector3d* vec) { m_vector3d = *vec; } - void set_const_vector3d_ptr(const Eigen::Vector3d* const vec) { m_vector3d = *vec; } - -- //Eigen::Transform3d transform3d() { return m_transform3d; } -- //Eigen::Transform3d& transform3d_ref() { return m_transform3d; } -- const Eigen::Transform3d& const_transform3d_ref() { return m_transform3d; } -- Eigen::Transform3d* transform3d_ptr() { return &m_transform3d; } -- const Eigen::Transform3d* const_transform3d_ptr() { return &m_transform3d; } -- -- //void set_transform3d(Eigen::Transform3d vec) { m_transform3d = vec; } -- //void set_transform3d_ref(Eigen::Transform3d& vec) { m_transform3d = vec; } -- void set_const_transform3d_ref(const Eigen::Transform3d& vec) { m_transform3d = vec; } -- void set_transform3d_ptr(Eigen::Transform3d* vec) { m_transform3d = *vec; } -- void set_const_transform3d_ptr(const Eigen::Transform3d* const vec) { m_transform3d = *vec; } -+ //Eigen::Projective3d transform3d() { return m_transform3d; } -+ //Eigen::Projective3d& transform3d_ref() { return m_transform3d; } -+ const Eigen::Projective3d& const_transform3d_ref() { return m_transform3d; } -+ Eigen::Projective3d* transform3d_ptr() { return &m_transform3d; } -+ const Eigen::Projective3d* const_transform3d_ptr() { return &m_transform3d; } -+ -+ //void set_transform3d(Eigen::Projective3d vec) { m_transform3d = vec; } -+ //void set_transform3d_ref(Eigen::Projective3d& vec) { m_transform3d = vec; } -+ void set_const_transform3d_ref(const Eigen::Projective3d& vec) { m_transform3d = vec; } -+ void set_transform3d_ptr(Eigen::Projective3d* vec) { m_transform3d = *vec; } -+ void set_const_transform3d_ptr(const Eigen::Projective3d* const vec) { m_transform3d = *vec; } - - private: - Eigen::Vector3d m_vector3d; -- Eigen::Transform3d m_transform3d; -+ Eigen::Projective3d m_transform3d; - - }; - #endif -@@ -529,6 +529,6 @@ void export_Eigen() - Vector3x_to_python_array<Eigen::Vector3i>(); - Vector3x_from_python_array<Eigen::Vector3i>(); - -- // Eigen::Transform3d -+ // Eigen::Projective3d - Transform3d_to_python_array(); - Transform3d_from_python_array(); diff --git a/gnu/packages/patches/c++-gsl-find-system-gtest.patch b/gnu/packages/patches/c++-gsl-find-system-gtest.patch new file mode 100644 index 0000000000..2def650292 --- /dev/null +++ b/gnu/packages/patches/c++-gsl-find-system-gtest.patch @@ -0,0 +1,96 @@ +From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev <guriev-ns@ya.ru> +Date: Sat, 18 Apr 2020 13:30:17 +0300 +Subject: [PATCH] Search for GoogleTest via pkg-config first + +--- + tests/CMakeLists.txt | 55 ++++++++++++++++++++++++-------------------- + 1 file changed, 30 insertions(+), 25 deletions(-) + +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 02193197..53d475c2 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,36 +1,41 @@ + cmake_minimum_required(VERSION 3.0.2) + + project(GSLTests CXX) ++include(FindPkgConfig) + + # will make visual studio generated project group files + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt) +-execute_process( +- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download +-) +-if(result) +- message(FATAL_ERROR "CMake step for googletest failed: ${result}") +-endif() ++pkg_search_module(GTestMain gtest_main) ++if (NOT GTestMain_FOUND) ++ configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt) ++ execute_process( ++ COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . ++ RESULT_VARIABLE result ++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download ++ ) ++ if(result) ++ message(FATAL_ERROR "CMake step for googletest failed: ${result}") ++ endif() + +-execute_process( +- COMMAND ${CMAKE_COMMAND} --build . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download +-) +-if(result) +- message(FATAL_ERROR "CMake step for googletest failed: ${result}") +-endif() ++ execute_process( ++ COMMAND ${CMAKE_COMMAND} --build . ++ RESULT_VARIABLE result ++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download ++ ) ++ if(result) ++ message(FATAL_ERROR "CMake step for googletest failed: ${result}") ++ endif() + +-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) ++ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) ++ set(GTestMain_LIBRARIES gtest_main) + +-add_subdirectory( +- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src +- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build +- EXCLUDE_FROM_ALL +-) ++ add_subdirectory( ++ ${CMAKE_CURRENT_BINARY_DIR}/googletest-src ++ ${CMAKE_CURRENT_BINARY_DIR}/googletest-build ++ EXCLUDE_FROM_ALL ++ ) ++endif() + + if (MSVC AND (GSL_CXX_STANDARD EQUAL 17)) + set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-) +@@ -149,7 +154,7 @@ function(add_gsl_test name) + target_link_libraries(${name} + GSL + gsl_tests_config +- gtest_main ++ ${GTestMain_LIBRARIES} + ) + add_test( + ${name} +@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name) + target_link_libraries(${name} + GSL + gsl_tests_config_noexcept +- gtest_main ++ ${GTestMain_LIBRARIES} + ) + add_test( + ${name} diff --git a/gnu/packages/patches/freebayes-devendor-deps.patch b/gnu/packages/patches/freebayes-devendor-deps.patch new file mode 100644 index 0000000000..9886de11fb --- /dev/null +++ b/gnu/packages/patches/freebayes-devendor-deps.patch @@ -0,0 +1,152 @@ +This patch is original to Guix, ongoing work to upstream bits as possible. + +From 9acc56db5e7469f5976be38b52ba4993de98ee38 Mon Sep 17 00:00:00 2001 +From: Efraim Flashner <efraim@flashner.co.il> +Date: Sun, 17 Jan 2021 13:27:17 +0200 +Subject: [PATCH] devendor-dependants + +--- + meson.build | 84 +++++++++++++++++++++++++++++++++++++++++------------ + 1 file changed, 66 insertions(+), 18 deletions(-) + +diff --git a/meson.build b/meson.build +index f6bf242..bded4af 100644 +--- a/meson.build ++++ b/meson.build +@@ -9,8 +9,13 @@ project('freebayes', ['cpp', 'c'], + + zlib_dep = dependency('zlib') + lzma_dep = dependency('liblzma') ++simde_dep = dependency('simde') + bzip2_dep = dependency('bz2lib', required: false) + htslib_dep = dependency('htslib', required : false) ++tabixpp_dep = dependency('tabixpp', required : false) ++fastahack_dep = dependency('fastahack', required : false) ++smithwaterman_dep = dependency('smithwaterman', required : false) ++vcflib_dep = dependency('vcflib', required: false) + thread_dep = dependency('threads') + + if htslib_dep.found() +@@ -59,6 +64,56 @@ else + ] + endif + ++if tabixpp_dep.found() ++ tabixpp_includes = '' ++ tabixpp_src = [] ++else ++ tabixpp_includes = [ ++ 'vcflib/tabixpp', ++ ] ++ tabixpp_src = [ ++ 'vcflib/tabixpp/tabix.cpp', ++ ] ++endif ++ ++if vcflib_dep.found() ++ vcflib_includes = '' ++ vcflib_src = [] ++else ++ vcflib_includes = [ ++ 'vcflib/src', ++ 'vcflib/multichoose', ++ 'vcflib/filevercmp', ++ ] ++ vcflib_src = [ ++ 'vcflib/src/Variant.cpp', ++ ] ++endif ++ ++if fastahack_dep.found() ++ fastahack_src = [] ++else ++ fastahack_src = [ ++ 'vcflib/fastahack/Fasta.cpp', ++ 'vcflib/src/split.cpp', ++ ] ++endif ++ ++if smithwaterman_dep.found() ++ smithwaterman_includes = '' ++ smithwaterman_src = [] ++else ++ smithwaterman_includes = [ ++ 'vcflib/smithwaterman', ++ ] ++ smithwaterman_src = [ ++ 'vcflib/smithwaterman/SmithWatermanGotoh.cpp', ++ 'vcflib/smithwaterman/disorder.cpp', ++ 'vcflib/smithwaterman/Repeats.cpp', ++ 'vcflib/smithwaterman/LeftAlign.cpp', ++ 'vcflib/smithwaterman/IndelAllele.cpp', ++ ] ++endif + + + # +@@ -105,23 +160,18 @@ seqlib_src = [ + ] + + vcflib_src = [ +- 'vcflib/tabixpp/tabix.cpp', +- 'vcflib/src/Variant.cpp', +- 'vcflib/smithwaterman/SmithWatermanGotoh.cpp', +- 'vcflib/smithwaterman/disorder.cpp', +- 'vcflib/smithwaterman/Repeats.cpp', +- 'vcflib/smithwaterman/LeftAlign.cpp', +- 'vcflib/smithwaterman/IndelAllele.cpp', ++ vcflib_src, ++ tabixpp_src, ++ smithwaterman_src, + ] + + bamleftalign_src = [ + 'src/bamleftalign.cpp', + 'src/IndelAllele.cpp', + 'contrib/SeqLib/src/BamWriter.cpp', +- 'vcflib/fastahack/Fasta.cpp', +- 'vcflib/smithwaterman/LeftAlign.cpp', +- 'vcflib/smithwaterman/IndelAllele.cpp', +- 'vcflib/src/split.cpp', ++ fastahack_src, ++ smithwaterman_src, ++ vcflib_src, + 'src/LeftAlign.cpp', + ] + +@@ -134,11 +184,9 @@ incdir = include_directories( + 'ttmath', + 'contrib', + 'contrib/SeqLib', +- 'vcflib/src', +- 'vcflib/tabixpp', +- 'vcflib/smithwaterman', +- 'vcflib/multichoose', +- 'vcflib/filevercmp') ++ tabixpp_includes, ++ smithwaterman_includes, ++ vcflib_includes) + + c_args = ['-fpermissive','-w'] + cpp_args = ['-fpermissive','-w','-Wc++14-compat'] +@@ -152,7 +200,7 @@ executable('freebayes', + include_directories : incdir, + cpp_args : cpp_args, + c_args : c_args, +- dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep], ++ dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, smithwaterman_dep, vcflib_dep, thread_dep], + install: true + ) + +@@ -165,7 +213,7 @@ executable('bamleftalign', + include_directories : incdir, + cpp_args : cpp_args, + c_args : c_args, +- dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep], ++ dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, fastahack_dep, smithwaterman_dep, vcflib_dep, thread_dep], + install: true + ) + +-- +2.30.0 + diff --git a/gnu/packages/patches/gst-plugins-good-fix-test.patch b/gnu/packages/patches/gst-plugins-good-fix-test.patch new file mode 100644 index 0000000000..38ec0ba802 --- /dev/null +++ b/gnu/packages/patches/gst-plugins-good-fix-test.patch @@ -0,0 +1,94 @@ +Fix a broken test: + +https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803 + +Patches copied from upstream source repository: + +https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa +https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/f5310ce346180a717f091f2f09bcbb3ddfb15436 + +From 2ce5909f3a0b0da3abb7b794215d6b8b72a3b7fa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> +Date: Thu, 12 Nov 2020 23:38:21 +0000 +Subject: [PATCH 1/2] tests: qtdemux: fix crash on 32-bit architectures + +Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803 + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815> +--- + tests/check/elements/qtdemux.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c +index 5271c6576..0c748278b 100644 +--- a/tests/check/elements/qtdemux.c ++++ b/tests/check/elements/qtdemux.c +@@ -797,9 +797,10 @@ GST_START_TEST (test_qtdemux_pad_names) + "protection-system", G_TYPE_STRING, + "9a04f079-9840-4286-ab92-e65be0885f95", NULL); + caps = +- gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING, +- "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps", +- GST_TYPE_CAPS, mediacaps, NULL); ++ gst_caps_new_simple ("video/quicktime", ++ "variant", G_TYPE_STRING, "mss-fragmented", ++ "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000), ++ "media-caps", GST_TYPE_CAPS, mediacaps, NULL); + + /* Send segment event* */ + event = gst_event_new_caps (caps); +@@ -852,9 +853,10 @@ GST_START_TEST (test_qtdemux_pad_names) + "protection-system", G_TYPE_STRING, + "9a04f079-9840-4286-ab92-e65be0885f95", NULL); + caps = +- gst_caps_new_simple ("video/quicktime", "variant", G_TYPE_STRING, +- "mss-fragmented", "timesacle", G_TYPE_UINT64, 10000000, "media-caps", +- GST_TYPE_CAPS, mediacaps, NULL); ++ gst_caps_new_simple ("video/quicktime", ++ "variant", G_TYPE_STRING, "mss-fragmented", ++ "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000), ++ "media-caps", GST_TYPE_CAPS, mediacaps, NULL); + + /* Send segment event* */ + event = gst_event_new_caps (caps); +-- +2.30.0 + + +From f5310ce346180a717f091f2f09bcbb3ddfb15436 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> +Date: Thu, 12 Nov 2020 23:39:21 +0000 +Subject: [PATCH 2/2] tests: qtdemux: fix typo in caps field + +timesacle -> timescale + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815> +--- + tests/check/elements/qtdemux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/check/elements/qtdemux.c b/tests/check/elements/qtdemux.c +index 0c748278b..4a14c45c0 100644 +--- a/tests/check/elements/qtdemux.c ++++ b/tests/check/elements/qtdemux.c +@@ -799,7 +799,7 @@ GST_START_TEST (test_qtdemux_pad_names) + caps = + gst_caps_new_simple ("video/quicktime", + "variant", G_TYPE_STRING, "mss-fragmented", +- "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000), ++ "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000), + "media-caps", GST_TYPE_CAPS, mediacaps, NULL); + + /* Send segment event* */ +@@ -855,7 +855,7 @@ GST_START_TEST (test_qtdemux_pad_names) + caps = + gst_caps_new_simple ("video/quicktime", + "variant", G_TYPE_STRING, "mss-fragmented", +- "timesacle", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000), ++ "timescale", G_TYPE_UINT64, G_GUINT64_CONSTANT (10000000), + "media-caps", GST_TYPE_CAPS, mediacaps, NULL); + + /* Send segment event* */ +-- +2.30.0 + diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index 3f16880260..edd1ced257 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -25,7 +25,7 @@ index 8be2362..48716f2 100755 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc --echo -n 0d07b74cb66b94018e3d7f11531f95c76a955e0016a3c401241d0d85062ae7ce firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +-echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -37,7 +37,7 @@ index 8be2362..48716f2 100755 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc -+# echo -n 0d07b74cb66b94018e3d7f11531f95c76a955e0016a3c401241d0d85062ae7ce firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - ++# echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz diff --git a/gnu/packages/patches/idris-disable-test.patch b/gnu/packages/patches/idris-disable-test.patch new file mode 100644 index 0000000000..ec8c7c8451 --- /dev/null +++ b/gnu/packages/patches/idris-disable-test.patch @@ -0,0 +1,19 @@ +The "pkg010" test output depends on the version of optparse-applicative being +used. The expected output requires optparse-applicative >= 0.15.1.0. Skip +the test for now. + +--- idris-1.3.3/test/TestData.hs 2021-01-19 23:05:24.238958262 -0600 ++++ idris-1.3.3/test/TestData.hs 2021-01-19 23:10:33.314390997 -0600 +@@ -212,8 +212,10 @@ + ( 5, ANY ), + ( 6, ANY ), + ( 7, ANY ), +- ( 8, ANY ), +- ( 10, ANY )]), ++ ( 8, ANY )]), ++-- FIXME: Expected output depends on optparse-applicative version. ++-- See https://github.com/idris-lang/Idris-dev/issues/4896 ++-- ( 10, ANY )]), + ("prelude", "Prelude", + [ ( 1, ANY )]), + ("primitives", "Primitive types", diff --git a/gnu/packages/patches/ipxe-reproducible-geniso.patch b/gnu/packages/patches/ipxe-reproducible-geniso.patch new file mode 100644 index 0000000000..ff6aa1da94 --- /dev/null +++ b/gnu/packages/patches/ipxe-reproducible-geniso.patch @@ -0,0 +1,77 @@ +From 052d24d8217c51c572c2f6cbb4a687be2e8ba52d Mon Sep 17 00:00:00 2001 +From: Brice Waegeneire <brice@waegenei.re> +Date: Fri, 5 Jun 2020 14:38:43 +0200 +Subject: [PATCH] [geniso] Make it reproducible + +Some timestamps get embedded in the generated ISO, making it +unreproducible so we overwrite those timestamps to be at the UNIX epoch. +--- + src/util/geniso | 24 +++++++++++++++++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/src/util/geniso b/src/util/geniso +index ff090d4a..e032ffb0 100755 +--- a/src/util/geniso ++++ b/src/util/geniso +@@ -11,6 +11,13 @@ function help() { + echo " -o FILE save iso image to file" + } + ++function reset_timestamp() { ++ for f in "$1"/*; do ++ touch -t 197001010100 "$f" ++ done ++ touch -t 197001010100 "$1" ++} ++ + LEGACY=0 + FIRST="" + +@@ -37,8 +44,9 @@ if [ -z "${OUT}" ]; then + exit 1 + fi + +-# There should either be mkisofs or the compatible genisoimage program +-for command in genisoimage mkisofs; do ++# There should either be mkisofs, xorriso or the compatible genisoimage ++# program ++for command in xorriso genisoimage mkisofs; do + if ${command} --version >/dev/null 2>/dev/null; then + mkisofs=(${command}) + break +@@ -46,8 +54,10 @@ for command in genisoimage mkisofs; do + done + + if [ -z "${mkisofs}" ]; then +- echo "${0}: mkisofs or genisoimage not found, please install or set PATH" >&2 ++ echo "${0}: mkisofs, xorriso or genisoimage not found, please install or set PATH" >&2 + exit 1 ++elif [ "$mkisofs" = "xorriso" ]; then ++ mkisofs+=(-as mkisofs) + fi + + dir=$(mktemp -d bin/iso.dir.XXXXXX) +@@ -115,6 +125,8 @@ case "${LEGACY}" in + exit 1 + fi + ++ reset_timestamp "$dir" ++ + # generate the iso image + "${mkisofs[@]}" -b boot.img -output ${OUT} ${dir} + ;; +@@ -127,6 +139,12 @@ case "${LEGACY}" in + cp ${LDLINUX_C32} ${dir} + fi + ++ reset_timestamp "$dir" ++ ++ if [ "${mkisofs[0]}" = "xorriso" ]; then ++ mkisofs+=(-isohybrid-mbr "$SYSLINUX_MBR_DISK_PATH") ++ fi ++ + # generate the iso image + "${mkisofs[@]}" -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -output ${OUT} ${dir} + +-- +2.26.2 diff --git a/gnu/packages/patches/mesa-skip-disk-cache-test.patch b/gnu/packages/patches/mesa-skip-disk-cache-test.patch deleted file mode 100644 index 190f6b6ee1..0000000000 --- a/gnu/packages/patches/mesa-skip-disk-cache-test.patch +++ /dev/null @@ -1,19 +0,0 @@ -disk_cache_create() here looks up the users home directory from <pwd.h> -which resolves to "/" in the build environment. I could not find an easy -way to set the home directory to something else, so we disable this test -for now. - ---- a/src/compiler/glsl/tests/cache_test.c -+++ b/src/compiler/glsl/tests/cache_test.c -@@ -170,11 +170,6 @@ - unsetenv("MESA_GLSL_CACHE_DIR"); - unsetenv("XDG_CACHE_HOME"); - -- cache = disk_cache_create("test", "make_check", 0); -- expect_non_null(cache, "disk_cache_create with no environment variables"); -- -- disk_cache_destroy(cache); -- - /* Test with XDG_CACHE_HOME set */ - setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); - cache = disk_cache_create("test", "make_check", 0); diff --git a/gnu/packages/patches/mesa-skip-tests.patch b/gnu/packages/patches/mesa-skip-tests.patch new file mode 100644 index 0000000000..2622d5d312 --- /dev/null +++ b/gnu/packages/patches/mesa-skip-tests.patch @@ -0,0 +1,49 @@ +disk_cache_create() here looks up the users home directory from <pwd.h> +which resolves to "/" in the build environment. I could not find an easy +way to set the home directory to something else, so we disable this test +for now. + +--- a/src/compiler/glsl/tests/cache_test.c ++++ b/src/compiler/glsl/tests/cache_test.c +@@ -170,11 +170,6 @@ + unsetenv("MESA_GLSL_CACHE_DIR"); + unsetenv("XDG_CACHE_HOME"); + +- cache = disk_cache_create("test", "make_check", 0); +- expect_non_null(cache, "disk_cache_create with no environment variables"); +- +- disk_cache_destroy(cache); +- + /* Test with XDG_CACHE_HOME set */ + setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); + cache = disk_cache_create("test", "make_check", 0); + +This test fails on i686-linux. I couldn't come up with a regex that +could be used to disable it just on i686-linux, so we disable it +completely with this patch: + +https://gitlab.freedesktop.org/mesa/mesa/-/issues/4091 + +diff --git a/src/util/meson.build b/src/util/meson.build +index 0893f64..909b3e0 100644 +--- a/src/util/meson.build ++++ b/src/util/meson.build +@@ -289,18 +289,6 @@ if with_tests + suite : ['util'], + ) + +- test( +- 'u_debug_stack', +- executable( +- 'u_debug_stack_test', +- files('u_debug_stack_test.cpp'), +- include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], +- dependencies : [idep_mesautil, idep_gtest], +- c_args : [c_msvc_compat_args], +- ), +- suite : ['util'], +- ) +- + process_test_exe = executable( + 'process_test', + files('process_test.c'), diff --git a/gnu/packages/patches/obs-modules-location.patch b/gnu/packages/patches/obs-modules-location.patch new file mode 100644 index 0000000000..18b286d006 --- /dev/null +++ b/gnu/packages/patches/obs-modules-location.patch @@ -0,0 +1,33 @@ +From d250434e6c8eb4f8c8cb47ef3cc6e6de8fa8f828 Mon Sep 17 00:00:00 2001 +From: Alexey Abramov <levenson@mmer.org> +Date: Fri, 15 Jan 2021 17:07:17 +0100 +Subject: [PATCH] Use environment variable for a default module location + +diff --git a/libobs/obs-nix.c b/libobs/obs-nix.c +index 382fa0546..481ea0f14 100644 +*** a/libobs/obs-nix.c +--- b/libobs/obs-nix.c +@@ -66,8 +66,19 @@ + + void add_default_module_paths(void) + { +- for (int i = 0; i < module_patterns_size; i++) +- obs_add_module_path(module_bin[i], module_data[i]); ++ char *bin_directory = getenv("OBS_PLUGINS_DIRECTORY"); ++ char *data_directory = getenv("OBS_PLUGINS_DATA_DIRECTORY"); ++ if (bin_directory && data_directory) { ++ struct dstr dstr_data_directory; ++ dstr_init_copy(&dstr_data_directory, data_directory); ++ dstr_cat(&dstr_data_directory, "/%module%"); ++ obs_add_module_path(bin_directory, dstr_data_directory.array); ++ dstr_free(&dstr_data_directory); ++ ++ } else { ++ for (int i = 0; i < module_patterns_size; i++) ++ obs_add_module_path(module_bin[i], module_data[i]); ++ } + } + + /* +-- +2.29.2
\ No newline at end of file diff --git a/gnu/packages/patches/pinentry-efl.patch b/gnu/packages/patches/pinentry-efl.patch deleted file mode 100644 index 5ba79e28df..0000000000 --- a/gnu/packages/patches/pinentry-efl.patch +++ /dev/null @@ -1,798 +0,0 @@ -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=pinentry.git;a=commit;h=948105b7a34ec9a9e5479d376b7c86bafee50a01 -This patch can be removed with the next release of pinentry. - -From 948105b7a34ec9a9e5479d376b7c86bafee50a01 Mon Sep 17 00:00:00 2001 -From: "William L. Thomson Jr" <wlt@o-sinc.com> -Date: Tue, 29 May 2018 22:50:47 +0100 -Subject: [PATCH] efl: Add an EFL-based pinentry. - -* NEWS: Update. -* Makefile.am: Add new efl subdirectory. -* configure.ac: Add --enable-pinentry-efl option. -* efl/Makefile.am: New file. -* efl/pinentry-efl.c: New file. - -Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org> ---- - Makefile.am | 8 +- - configure.ac | 44 +++- - efl/Makefile.am | 38 ++++ - efl/pinentry-efl.c | 623 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 716 insertions(+), 2 deletions(-) - create mode 100644 efl/Makefile.am - create mode 100644 efl/pinentry-efl.c - -diff --git a/Makefile.am b/Makefile.am -index 8c8b8e5..b8fd0e1 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -82,10 +82,16 @@ else - pinentry_fltk = - endif - -+if BUILD_PINENTRY_EFL -+pinentry_efl = efl -+else -+pinentry_efl = -+endif -+ - SUBDIRS = m4 secmem pinentry ${pinentry_curses} ${pinentry_tty} \ - ${pinentry_emacs} ${pinentry_gtk_2} ${pinentry_gnome_3} \ - ${pinentry_qt} ${pinentry_tqt} ${pinentry_w32} \ -- ${pinentry_fltk} doc -+ ${pinentry_fltk} ${pinentry_efl} doc - - - install-exec-local: -diff --git a/configure.ac b/configure.ac -index ff6c2e0..e305e44 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -419,6 +419,42 @@ fi - - - dnl -+dnl Check for EFL pinentry programs. -+dnl -+AC_ARG_ENABLE(pinentry-efl, -+ AC_HELP_STRING([--enable-pinentry-efl], [build EFL pinentry]), -+ pinentry_efl=$enableval, pinentry_efl=maybe) -+ -+dnl check for pkg-config -+if test "$pinentry_efl" != "no"; then -+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ if test x"${PKG_CONFIG}" = xno ; then -+ pinentry_efl=no -+ fi -+fi -+ -+if test "$pinentry_efl" != "no"; then -+ AC_MSG_CHECKING([for efl]) -+ "${PKG_CONFIG}" --exists 'elementary >= 1.18' -+ if test $? -ne 0 ; then -+ AC_MSG_RESULT([no]) -+ AC_MSG_WARN([efl >= 1.18 is required for efl pinentry]) -+ pinentry_efl=no -+ else -+ AC_MSG_RESULT([yes]) -+ EFL_CFLAGS=`"${PKG_CONFIG}" --cflags ecore-x elementary` -+ EFL_LIBS=`"${PKG_CONFIG}" --libs ecore-x elementary` -+ AC_SUBST(EFL_CFLAGS) -+ AC_SUBST(EFL_LIBS) -+ if test "$pinentry_efl" != "no" -+ then -+ pinentry_efl=yes -+ fi -+ fi -+fi -+AM_CONDITIONAL(BUILD_PINENTRY_EFL, test "$pinentry_efl" = "yes") -+ -+dnl - dnl Check for GTK+-2 / GNOME3 pinentry programs. - dnl - AC_ARG_ENABLE(pinentry-gtk2, -@@ -645,7 +681,11 @@ else - if test "$pinentry_tqt" = "yes"; then - PINENTRY_DEFAULT=pinentry-tqt - else -- AC_MSG_ERROR([[No pinentry enabled.]]) -+ if test "$pinentry_efl" = "yes"; then -+ PINENTRY_DEFAULT=pinentry-efl -+ else -+ AC_MSG_ERROR([[No pinentry enabled.]]) -+ fi - fi - fi - fi -@@ -721,6 +761,7 @@ secmem/Makefile - pinentry/Makefile - curses/Makefile - tty/Makefile -+efl/Makefile - emacs/Makefile - gtk+-2/Makefile - gnome3/Makefile -@@ -744,6 +785,7 @@ AC_MSG_NOTICE([ - Curses Pinentry ..: $pinentry_curses - TTY Pinentry .....: $pinentry_tty - Emacs Pinentry ...: $pinentry_emacs -+ EFL Pinentry .....: $pinentry_efl - GTK+-2 Pinentry ..: $pinentry_gtk_2 - GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt Pinentry ......: $pinentry_qt $pinentry_qt_lib_version -diff --git a/efl/Makefile.am b/efl/Makefile.am -new file mode 100644 -index 0000000..b986a04 ---- /dev/null -+++ b/efl/Makefile.am -@@ -0,0 +1,38 @@ -+# Makefile.am - PIN entry EFL frontend. -+# Copyright (C) 2017 Obsidian-Studios, Inc. -+# Author William L. Thomson Jr. <wlt@o-sinc.com> -+# -+# This file is part of PINENTRY. -+# -+# PINENTRY 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 2 of the License, or -+# (at your option) any later version. -+# -+# PINENTRY 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 this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -+ -+## Process this file with automake to produce Makefile.in -+ -+bin_PROGRAMS = pinentry-efl -+ -+if FALLBACK_CURSES -+ncurses_include = $(NCURSES_INCLUDE) -+libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -+else -+ncurses_include = -+libcurses = -+endif -+ -+AM_CPPFLAGS = $(COMMON_CFLAGS) $(EFL_CFLAGS) $(ncurses_include) \ -+ -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -+LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ -+ $(COMMON_LIBS) $(LIBCAP) $(EFL_LIBS) $(libcurses) -+ -+pinentry_efl_SOURCES = pinentry-efl.c -diff --git a/efl/pinentry-efl.c b/efl/pinentry-efl.c -new file mode 100644 -index 0000000..ca99693 ---- /dev/null -+++ b/efl/pinentry-efl.c -@@ -0,0 +1,623 @@ -+/* pinentry-efl.c -+ Copyright (C) 2017 Obsidian-Studios, Inc. -+ Author William L. Thomson Jr. <wlt@o-sinc.com> -+ -+ Based on pinentry-gtk2.c -+ Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> -+ Copyright (C) 2001, 2002, 2007, 2015 g10 Code GmbH -+ Copyright (C) 2004 by Albrecht Dreà <albrecht.dress@arcor.de> -+ -+ pinentry-efl is a pinentry application for the EFL widget set. -+ It tries to follow the Gnome Human Interface Guide as close as -+ possible. -+ -+ This program 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 2 of the License, or -+ (at your option) any later version. -+ -+ This program 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 this program; if not, write to the Free Software -+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+#include <Elementary.h> -+#include <Ecore_X.h> -+#include <gpg-error.h> -+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wstrict-prototypes" -+#endif -+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -+#pragma GCC diagnostic pop -+#endif -+ -+#ifdef HAVE_GETOPT_H -+#include <getopt.h> -+#else -+#include "getopt.h" -+#endif /* HAVE_GETOPT_H */ -+ -+#include "pinentry.h" -+ -+#ifdef FALLBACK_CURSES -+#include "pinentry-curses.h" -+#endif -+ -+#define PGMNAME "pinentry-efl" -+ -+#ifndef VERSION -+#define VERSION -+#endif -+ -+#define ENTRY_HIDE "Hide entry" -+#define ENTRY_SHOW "Show entry" -+ -+typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; -+ -+static const int WIDTH = 480; -+static const int BUTTON_HEIGHT = 27; -+static const int BUTTON_WIDTH = 70; -+static const int BUTTON_ICON_SIZE = 13; -+static const int PADDING = 5; -+ -+static Eina_Bool got_input; -+static Ecore_Timer *timer; -+static Evas_Object *check_label; -+static Evas_Object *error_label; -+static Evas_Object *entry; -+static Evas_Object *repeat_entry; -+static Evas_Object *qualitybar; -+static Evas_Object *win; -+static char **pargv; -+static int grab_failed; -+static int passphrase_ok; -+static int confirm_mode; -+static int pargc; -+static confirm_value_t confirm_value; -+static pinentry_t pinentry; -+ -+pinentry_cmd_handler_t pinentry_cmd_handler; -+ -+static void -+quit (void) -+{ -+ evas_object_del(win); -+ elm_exit(); -+ ecore_main_loop_quit (); -+} -+ -+static void -+delete_event (void *data EINA_UNUSED, -+ Evas_Object *obj EINA_UNUSED, -+ void *event EINA_UNUSED) -+{ -+ pinentry->close_button = 1; -+ quit (); -+} -+ -+static void -+changed_text_handler (void *data EINA_UNUSED, -+ Evas_Object *obj, -+ void *event EINA_UNUSED) -+{ -+ const char *s; -+ int length; -+ int percent; -+ -+ got_input = EINA_TRUE; -+ -+ if (pinentry->repeat_passphrase && repeat_entry) -+ { -+ elm_object_text_set (repeat_entry, ""); -+ elm_object_text_set (error_label, ""); -+ } -+ -+ if (!qualitybar || !pinentry->quality_bar) -+ return; -+ -+ s = elm_object_text_get (obj); -+ if (!s) -+ s = ""; -+ length = strlen (s); -+ percent = length? pinentry_inq_quality (pinentry, s, length) : 0; -+ evas_object_color_set(qualitybar, -+ 255 - ( 2.55 * percent ), -+ 2.55 * percent, 0, 255); -+ elm_progressbar_value_set (qualitybar, (double) percent / 100.0); -+} -+ -+static void -+on_check (void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) -+{ -+ if(elm_check_state_get(obj)) -+ { -+ elm_entry_password_set(entry, EINA_FALSE); -+ elm_object_text_set(check_label,ENTRY_HIDE); -+ } -+ else -+ { -+ elm_entry_password_set(entry, EINA_TRUE); -+ elm_object_text_set(check_label,ENTRY_SHOW); -+ } -+ evas_object_size_hint_min_set(check_label, -+ ELM_SCALE_SIZE(BUTTON_WIDTH), -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ evas_object_size_hint_align_set(check_label, 0, 1); -+} -+ -+static void -+on_click (void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) -+{ -+ if (confirm_mode) -+ { -+ confirm_value = (confirm_value_t) data; -+ quit (); -+ return; -+ } -+ -+ if (data) -+ { -+ const char *s; -+ const char *s2; -+ -+ s = elm_entry_entry_get (entry); -+ if (!s) -+ s = ""; -+ -+ if (pinentry->repeat_passphrase && repeat_entry) -+ { -+ s2 = elm_entry_entry_get (repeat_entry); -+ if (!s2) -+ s2 = ""; -+ if (strcmp (s, s2)) -+ { -+ elm_object_text_set(error_label, -+ pinentry->repeat_error_string? -+ pinentry->repeat_error_string: -+ "not correctly repeated"); -+ elm_object_focus_set(entry,EINA_TRUE); -+ return; -+ } -+ pinentry->repeat_okay = 1; -+ } -+ -+ passphrase_ok = 1; -+ pinentry_setbufferlen (pinentry, strlen (s) + 1); -+ if (pinentry->pin) -+ strncpy (pinentry->pin, s, strlen(s) + 1); -+ } -+ quit (); -+} -+ -+static void -+enter_callback (void *data, Evas_Object * obj, void *event_info EINA_UNUSED) -+{ -+ if (data) -+ elm_object_focus_set (data, 1); -+ else -+ on_click ((void *) CONFIRM_OK, obj, NULL); -+} -+ -+static Eina_Bool -+timeout_cb (const void * data) -+{ -+ pinentry_t pe = (pinentry_t)data; -+ if (!got_input) -+ { -+ ecore_main_loop_quit(); -+ if (pe) -+ pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); -+ } -+ -+ timer = NULL; -+ return ECORE_CALLBACK_DONE; -+} -+ -+static void -+create_window (void) -+{ -+ char *txt; -+ Evas_Object *icon; -+ Evas_Object *obj; -+ Evas_Object *table; -+ int btn_txt_len = 0; -+ int row = 0; -+ int ok_len = 0; -+ -+ win = elm_win_util_dialog_add(NULL,"pinentry","enter pin"); -+ elm_win_autodel_set(win, EINA_TRUE); -+ elm_win_center(win,EINA_TRUE,EINA_TRUE); -+ evas_object_smart_callback_add(win, "delete,request", delete_event, NULL); -+ -+ table = elm_table_add(win); -+ elm_table_padding_set(table,ELM_SCALE_SIZE(PADDING),0); -+ evas_object_size_hint_padding_set (table, -+ ELM_SCALE_SIZE(PADDING), -+ ELM_SCALE_SIZE(PADDING), -+ ELM_SCALE_SIZE(PADDING), -+ ELM_SCALE_SIZE(PADDING)); -+ evas_object_show(table); -+ -+ if (pinentry->title) -+ { -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->title); -+ elm_win_title_set ( win, txt ); -+ free (txt); -+ } -+ -+ /* Description Label */ -+ if (pinentry->description) -+ { -+ char* aligned; -+ int len; -+ -+ obj = elm_label_add(table); -+ elm_label_line_wrap_set (obj, ELM_WRAP_WORD); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->description); -+ len = strlen(txt)+20; // 20 chars for align tag -+ aligned = calloc(len+1,sizeof(char)); -+ if(aligned) -+ { -+ snprintf(aligned,len, "<align=left>%s</align>",txt); -+ elm_object_text_set(obj,aligned); -+ free (aligned); -+ } else -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); -+ evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, obj, 1, row, 5, 1); -+ evas_object_show(obj); -+ row++; -+ } -+ if (!confirm_mode && (pinentry->error || pinentry->repeat_passphrase)) -+ { -+ /* Error Label */ -+ if (pinentry->error) -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->error); -+ else -+ txt = ""; -+ obj = elm_label_add(table); -+ evas_object_color_set(obj, 255, 0, 0, 255); -+ elm_object_text_set(obj,txt); -+ elm_object_style_set(obj,"slide_bounce"); -+ elm_label_slide_duration_set(obj, 10); -+ elm_label_slide_mode_set(obj, ELM_LABEL_SLIDE_MODE_ALWAYS); -+ elm_label_slide_go(obj); -+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); -+ evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, obj, 1, row, 5, 1); -+ evas_object_show(obj); -+ if (pinentry->error) -+ free (txt); -+ row++; -+ } -+ -+ qualitybar = NULL; -+ -+ if (!confirm_mode) -+ { -+ -+ if (pinentry->prompt) -+ { -+ /* Entry/Prompt Label */ -+ obj = elm_label_add(table); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->prompt); -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_show(obj); -+ } -+ -+ entry = elm_entry_add(table); -+ elm_entry_scrollable_set(entry, EINA_TRUE); -+ elm_scroller_policy_set(entry, -+ ELM_SCROLLER_POLICY_OFF, -+ ELM_SCROLLER_POLICY_OFF); -+ elm_entry_password_set(entry, EINA_TRUE); -+ elm_entry_single_line_set(entry, EINA_TRUE); -+ evas_object_size_hint_weight_set(entry, 0, 0); -+ evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, entry, 2, row, 4, 1); -+ evas_object_smart_callback_add(entry, -+ "changed", -+ changed_text_handler, -+ NULL); -+ evas_object_show(entry); -+ row++; -+ -+ /* Check box */ -+ obj = elm_check_add(table); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_smart_callback_add(obj, "changed", on_check, NULL); -+ evas_object_show(obj); -+ -+ /* Check Label */ -+ check_label = elm_label_add(table); -+ on_check((void *)NULL, obj, (void *)NULL); -+ elm_table_pack(table, check_label, 2, row, 4, 1); -+ evas_object_show(check_label); -+ row++; -+ -+ if (pinentry->quality_bar) -+ { -+ /* Quality Bar Label */ -+ obj = elm_label_add(table); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->quality_bar); -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_show(obj); -+ -+ qualitybar = elm_progressbar_add(table); -+ evas_object_color_set(qualitybar, 255, 0, 0, 255); -+ evas_object_show(qualitybar); -+ if (pinentry->quality_bar_tt) -+ elm_object_tooltip_text_set (qualitybar, -+ pinentry->quality_bar_tt); -+ evas_object_size_hint_weight_set(qualitybar, EVAS_HINT_EXPAND, 0); -+ evas_object_size_hint_align_set(qualitybar, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, qualitybar, 2, row, 4, 1); -+ row++; -+ } -+ -+ if (pinentry->repeat_passphrase) -+ { -+ /* Repeat Label */ -+ obj = elm_label_add(table); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->repeat_passphrase); -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_show(obj); -+ -+ repeat_entry = elm_entry_add(table); -+ elm_entry_scrollable_set(repeat_entry, EINA_TRUE); -+ elm_scroller_policy_set(repeat_entry, -+ ELM_SCROLLER_POLICY_OFF, -+ ELM_SCROLLER_POLICY_OFF); -+ elm_entry_password_set(repeat_entry, EINA_TRUE); -+ elm_entry_single_line_set(repeat_entry, EINA_TRUE); -+ evas_object_size_hint_weight_set(repeat_entry, 0, 0); -+ evas_object_size_hint_align_set(repeat_entry, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, repeat_entry, 2, row, 4, 1); -+ evas_object_smart_callback_add (repeat_entry, "activated", -+ enter_callback, NULL); -+ evas_object_show(repeat_entry); -+ evas_object_smart_callback_add (entry, -+ "activated", -+ enter_callback, -+ repeat_entry); -+ evas_object_smart_callback_add(repeat_entry, -+ "activated", -+ on_click, -+ (void *) CONFIRM_OK); -+ row++; -+ } -+ else -+ evas_object_smart_callback_add(entry, -+ "activated", -+ on_click, -+ (void *) CONFIRM_OK); -+ } -+ -+ /* Cancel Button */ -+ if (!pinentry->one_button) -+ { -+ obj = elm_button_add(table); -+ icon = elm_icon_add (table); -+ evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); -+ if (elm_icon_standard_set (icon, "dialog-cancel") || -+ elm_icon_standard_set (icon, "window-close")) -+ { -+ evas_object_size_hint_min_set(icon, -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE), -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); -+ elm_object_part_content_set(obj, "icon", icon); -+ evas_object_show (icon); -+ } -+ else -+ evas_object_del(icon); -+ if (pinentry->cancel || pinentry->default_cancel) -+ { -+ if(pinentry->cancel) -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->cancel); -+ else -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->default_cancel); -+ if(txt[0]=='_') -+ elm_object_text_set(obj,txt+1); -+ else -+ elm_object_text_set(obj,txt); -+ btn_txt_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); -+ free (txt); -+ } -+ else -+ elm_object_text_set(obj, "Cancel"); //STOCK_CANCEL -+ evas_object_size_hint_align_set(obj, 0, 0); -+ if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) -+ evas_object_size_hint_min_set(obj, -+ btn_txt_len, -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ else -+ evas_object_size_hint_min_set(obj, -+ ELM_SCALE_SIZE(BUTTON_WIDTH), -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ elm_table_pack(table, obj, 4, row, 1, 1); -+ evas_object_smart_callback_add(obj, -+ "clicked", -+ on_click, -+ (void *) CONFIRM_CANCEL); -+ evas_object_show(obj); -+ } -+ -+ /* OK Button */ -+ obj = elm_button_add(table); -+ icon = elm_icon_add (table); -+ evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); -+ if (elm_icon_standard_set (icon, "dialog-ok") || -+ elm_icon_standard_set (icon, "list-add")) -+ { -+ evas_object_size_hint_min_set(icon, -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE), -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); -+ elm_object_part_content_set(obj, "icon", icon); -+ evas_object_show (icon); -+ } -+ else -+ evas_object_del(icon); -+ if (pinentry->ok || pinentry->default_ok) -+ { -+ if(pinentry->ok) -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->ok); -+ else -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->default_ok); -+ if(txt[0]=='_') -+ elm_object_text_set(obj,txt+1); -+ else -+ elm_object_text_set(obj,txt); -+ ok_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); -+ if(ok_len>btn_txt_len) -+ btn_txt_len = ok_len; -+ free (txt); -+ } -+ else -+ elm_object_text_set(obj,"OK"); //STOCK_OK -+ evas_object_size_hint_align_set(obj, 0, 0); -+ if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) -+ evas_object_size_hint_min_set(obj, -+ btn_txt_len, -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ else -+ evas_object_size_hint_min_set(obj, -+ ELM_SCALE_SIZE(BUTTON_WIDTH), -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ elm_table_pack(table, obj, 5, row, 1, 1); -+ evas_object_smart_callback_add(obj, "clicked", on_click, (void *) CONFIRM_OK); -+ evas_object_show(obj); -+ -+ /* Key/Lock Icon */ -+ obj = elm_icon_add (win); -+ evas_object_size_hint_aspect_set (obj, EVAS_ASPECT_CONTROL_BOTH, 1, 1); -+ if (elm_icon_standard_set (obj, "dialog-password")) -+ { -+ double ic_size = WIDTH/5; -+ if(row==0) -+ ic_size = ic_size/3.5; -+ else if(row<4) -+ ic_size = ic_size - ic_size/row; -+ evas_object_size_hint_min_set(obj, -+ ELM_SCALE_SIZE(ic_size), -+ ELM_SCALE_SIZE(ic_size)); -+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0.5); -+ elm_table_pack(table, obj, 0, 0, 1, row? row:1); -+ evas_object_show (obj); -+ } -+ else -+ evas_object_del(obj); -+ -+ /* Box for padding */ -+ obj = elm_box_add (win); -+ elm_box_pack_end (obj, table); -+ evas_object_show (obj); -+ -+ elm_win_resize_object_add(win,obj); -+ evas_object_show(win); -+ -+ if(entry) -+ elm_object_focus_set (entry, EINA_TRUE); -+ -+ if (pinentry->timeout > 0) -+ timer = ecore_timer_add (pinentry->timeout, -+ (Ecore_Task_Cb)timeout_cb, -+ pinentry); -+} -+ -+static int -+efl_cmd_handler (pinentry_t pe) -+{ -+ int want_pass = !!pe->pin; -+ -+ got_input = EINA_FALSE; -+ pinentry = pe; -+ confirm_value = CONFIRM_CANCEL; -+ passphrase_ok = 0; -+ confirm_mode = want_pass ? 0 : 1; -+ /* init ecore-x explicitly using DISPLAY since this can launch -+ * from console -+ */ -+ if (pe->display) -+ ecore_x_init (pe->display); -+ elm_init (pargc, pargv); -+ create_window (); -+ ecore_main_loop_begin (); -+ -+ if (timer) -+ { -+ ecore_timer_del (timer); -+ timer = NULL; -+ } -+ -+ if (confirm_value == CONFIRM_CANCEL || grab_failed) -+ pe->canceled = 1; -+ -+ pinentry = NULL; -+ if (want_pass) -+ { -+ if (passphrase_ok && pe->pin) -+ return strlen (pe->pin); -+ else -+ return -1; -+ } -+ else -+ return (confirm_value == CONFIRM_OK) ? 1 : 0; -+} -+ -+int -+main (int argc, char *argv[]) -+{ -+ pinentry_init (PGMNAME); -+ -+#ifdef FALLBACK_CURSES -+ if (pinentry_have_display (argc, argv)) -+ { -+#endif -+ -+ pinentry_cmd_handler = efl_cmd_handler; -+ pargc = argc; -+ pargv = argv; -+ -+#ifdef FALLBACK_CURSES -+ } -+ else -+ { -+ pinentry_cmd_handler = curses_cmd_handler; -+ } -+#endif -+ -+ pinentry_parse_opts (argc, argv); -+ if (pinentry_loop ()) -+ return 1; -+ -+ return 0; -+} --- -2.8.0.rc3 - diff --git a/gnu/packages/patches/podofo-cmake-3.12.patch b/gnu/packages/patches/podofo-cmake-3.12.patch deleted file mode 100644 index 0a3c19b21a..0000000000 --- a/gnu/packages/patches/podofo-cmake-3.12.patch +++ /dev/null @@ -1,19 +0,0 @@ -The build fails with cmake 3.12.0. This patch will be obsolete with the next -release. - -https://sourceforge.net/p/podofo/tickets/24/attachment/podofo-cmake-3.12.patch - - ---- a/test/TokenizerTest/CMakeLists.txt 2018-07-20 18:26:02.921494293 +0200 -+++ b/test/TokenizerTest/CMakeLists.txt 2018-07-20 18:34:53.727136443 +0200 -@@ -2,10 +2,3 @@ - TARGET_LINK_LIBRARIES(TokenizerTest ${PODOFO_LIB} ${PODOFO_LIB_DEPENDS}) - SET_TARGET_PROPERTIES(TokenizerTest PROPERTIES COMPILE_FLAGS "${PODOFO_CFLAGS}") - ADD_DEPENDENCIES(TokenizerTest ${PODOFO_DEPEND_TARGET}) -- --# Copy the test samples over to the build tree --ADD_CUSTOM_COMMAND( -- TARGET TokenizerTest -- POST_BUILD -- COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/objects" "${CMAKE_CURRENT_BINARY_DIR}/objects" -- ) diff --git a/gnu/packages/patches/python-mediafile-wavpack.patch b/gnu/packages/patches/python-mediafile-wavpack.patch new file mode 100644 index 0000000000..9839fe87b5 --- /dev/null +++ b/gnu/packages/patches/python-mediafile-wavpack.patch @@ -0,0 +1,57 @@ +This patch has already been applied upstream, but is not included in the +current release 0.6.0. + +From d2fc3b59f77c515b02dfe7ad936f89264375d2b4 Mon Sep 17 00:00:00 2001 +From: Adrian Sampson <adrian@radbox.org> +Date: Wed, 29 Jul 2020 19:42:57 -0400 +Subject: [PATCH] Fix test for WavPack bitrate + +Fixes #34. +--- + docs/index.rst | 5 +++++ + mediafile.py | 2 +- + test/test_mediafile.py | 2 +- + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/docs/index.rst b/docs/index.rst +index 7b622df..1465405 100644 +--- a/docs/index.rst ++++ b/docs/index.rst +@@ -100,6 +100,11 @@ Internals + Changelog + --------- + ++v0.7.0 ++'''''' ++ ++- Mutagen 1.45.0 or later is now required. ++ + v0.6.0 + '''''' + +diff --git a/mediafile.py b/mediafile.py +index 23fadaf..9e9d063 100644 +--- a/mediafile.py ++++ b/mediafile.py +@@ -56,7 +56,7 @@ + import six + + +-__version__ = '0.6.0' ++__version__ = '0.7.0' + __all__ = ['UnreadableFileError', 'FileTypeError', 'MediaFile'] + + log = logging.getLogger(__name__) +diff --git a/test/test_mediafile.py b/test/test_mediafile.py +index e9e1850..7f17f44 100644 +--- a/test/test_mediafile.py ++++ b/test/test_mediafile.py +@@ -907,7 +907,7 @@ class WavpackTest(ReadWriteTestBase, unittest.TestCase): + 'bitrate': 109312, + 'format': u'WavPack', + 'samplerate': 44100, +- 'bitdepth': 0, ++ 'bitdepth': 16, + 'channels': 1, + } + diff --git a/gnu/packages/patches/r-httpuv-1.5.4-unvendor-libuv.patch b/gnu/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch index 0947718059..0947718059 100644 --- a/gnu/packages/patches/r-httpuv-1.5.4-unvendor-libuv.patch +++ b/gnu/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch diff --git a/gnu/packages/patches/tipp10-disable-downloader.patch b/gnu/packages/patches/tipp10-disable-downloader.patch new file mode 100644 index 0000000000..4917a927f9 --- /dev/null +++ b/gnu/packages/patches/tipp10-disable-downloader.patch @@ -0,0 +1,165 @@ +https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/disable_downloaders.patch + +Author: Reiner Herrmann <reiner@reiner-h.de> +Description: Disable downloaders + This makes porting to Qt5 much easier, as QHttp is no longer available. + But the functionality was not enabled anyway or is no longer useful. + . + - checkversion.h/.cpp: + At startup (while loading settings), Tipp10 "phones home" to do an + update check (www.tipp10.com/update/version.tipp10v210). + For a packaged software and one that is no longer being developed, + this does not make much sense. + - updatedialog.h/.cpp: + Can download newer sqlite database (www.tipp10.com/update/sql.tipp10v210.utf), + but this file is no longer available on the server (404). + The update action has also not been enabled in the menu, so the update + functionality was currently not active: + widget/mainwindow.cpp:143: //fileMenu->addAction(updateAction); + - downloaddialog.h/.cpp: + Allows downloading lessons from user-specified location. + But the action (widget/startwidget.cpp -> lessonDownload) has not been part + of any menu, so it was also not in use. + +--- a/tipp10.pro ++++ b/tipp10.pro +@@ -15,7 +15,6 @@ + INCLUDEPATH += .
+ CONFIG += qt
+ QT += sql
+-QT += network
+ RC_FILE += tipp10.rc
+ RESOURCES += tipp10.qrc
+ HEADERS += def/defines.h \
+@@ -36,15 +35,12 @@ + widget/settingspages.h \
+ widget/lessondialog.h \
+ widget/regexpdialog.h \
+- widget/downloaddialog.h \
+ widget/lessonprintdialog.h \
+ widget/lessonresult.h \
+- widget/updatedialog.h \
+ widget/helpbrowser.h \
+ widget/companylogo.h \
+ widget/errormessage.h \
+ widget/txtmessagedialog.h \
+- widget/checkversion.h \
+ sql/connection.h \
+ sql/lessontablesql.h \
+ sql/chartablesql.h \
+@@ -70,15 +66,12 @@ + widget/settingspages.cpp \
+ widget/lessondialog.cpp \
+ widget/regexpdialog.cpp \
+- widget/downloaddialog.cpp \
+ widget/lessonprintdialog.cpp \
+ widget/lessonresult.cpp \
+- widget/updatedialog.cpp \
+ widget/helpbrowser.cpp \
+ widget/companylogo.cpp \
+ widget/errormessage.cpp \
+ widget/txtmessagedialog.cpp \
+- widget/checkversion.cpp \
+ sql/lessontablesql.cpp \
+ sql/chartablesql.cpp \
+ sql/trainingsql.cpp \
+--- a/widget/mainwindow.cpp ++++ b/widget/mainwindow.cpp +@@ -41,11 +41,9 @@ +
+ #include "mainwindow.h"
+ #include "settingsdialog.h"
+-#include "updatedialog.h"
+ #include "def/defines.h"
+ #include "def/errordefines.h"
+ #include "errormessage.h"
+-#include "checkversion.h"
+
+ MainWindow::MainWindow() {
+ trainingStarted = false;
+@@ -214,8 +212,8 @@ + }
+
+ void MainWindow::showUpdate() {
+- UpdateDialog updateDialog(this);
+- updateDialog.exec();
++ //UpdateDialog updateDialog(this);
++ //updateDialog.exec();
+ // Fill lesson list after online update
+ startWidget->fillLessonList(false);
+ }
+@@ -486,6 +484,7 @@ + settings.endGroup();
+
+ settings.beginGroup("general");
++#if 0
+ if (settings.value("check_new_version", true).toBool()) {
+
+ QDate lastVersionCheck = settings.value("last_version_check").toDate();
+@@ -499,6 +498,7 @@ + }
+ settings.setValue("last_version_check", today);
+ }
++#endif
+ settings.endGroup();
+ }
+
+--- a/widget/settingspages.cpp ++++ b/widget/settingspages.cpp +@@ -581,7 +581,7 @@ +
+ // Layout of group box vertical
+ QVBoxLayout *layout = new QVBoxLayout;
+- layout->addWidget(checkNewVersion);
++ //layout->addWidget(checkNewVersion);
+ layout->addSpacing(1);
+ layout->addWidget(checkNativeStyle);
+ layout->setMargin(16);
+@@ -610,7 +610,6 @@ + checkIntelligence->setChecked(settings.value("check_toggle_intelligence", true).toBool());
+ checkLimitLesson->setChecked(settings.value("check_limit_lesson", true).toBool());
+ checkLessonPublish->setChecked(settings.value("check_lesson_publish", true).toBool());
+- checkNewVersion->setChecked(settings.value("check_new_version", true).toBool());
+ checkNativeStyle->setChecked(settings.value("check_native_style", false).toBool());
+ settings.endGroup();
+ }
+@@ -636,7 +635,6 @@ + settings.setValue("check_limit_lesson", checkLimitLesson->isChecked());
+ settings.setValue("check_lesson_publish", checkLessonPublish->isChecked());
+ settings.setValue("check_native_style", checkNativeStyle->isChecked());
+- settings.setValue("check_new_version", checkNewVersion->isChecked());
+ settings.endGroup();
+
+ return requireRestart;
+--- a/widget/startwidget.cpp ++++ b/widget/startwidget.cpp +@@ -43,12 +43,10 @@ +
+ #include "startwidget.h"
+ #include "sql/startsql.h"
+-#include "updatedialog.h"
+ #include "def/defines.h"
+ #include "def/errordefines.h"
+ #include "errormessage.h"
+ #include "lessondialog.h"
+-#include "downloaddialog.h"
+ #include "illustrationdialog.h"
+ #include "txtmessagedialog.h"
+
+@@ -1048,7 +1046,7 @@ + }
+
+ void StartWidget::clickDownloadLesson() {
+-
++#if 0
+ QStringList lessonData;
+
+ DownloadDialog downloadDialog(&lessonData, this);
+@@ -1083,6 +1081,7 @@ + }
+ }
+ }
++#endif
+ }
+
+ void StartWidget::clickEditLesson() {
diff --git a/gnu/packages/patches/tipp10-qt5.patch b/gnu/packages/patches/tipp10-qt5.patch new file mode 100644 index 0000000000..34ad5cd708 --- /dev/null +++ b/gnu/packages/patches/tipp10-qt5.patch @@ -0,0 +1,69 @@ +https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/qt5.patch + +Author: Reiner Herrmann <reiner@reiner-h.de> +Description: Port to Qt5 +Bug-Debian: https://bugs.debian.org/875207 + +--- a/tipp10.pro ++++ b/tipp10.pro +@@ -14,6 +14,7 @@ + DEPENDPATH += .
+ INCLUDEPATH += .
+ CONFIG += qt
++QT += widgets multimedia printsupport
+ QT += sql
+ RC_FILE += tipp10.rc
+ RESOURCES += tipp10.qrc
+--- a/main.cpp ++++ b/main.cpp +@@ -24,7 +24,6 @@ + ****************************************************************/
+
+ #include <QApplication>
+-#include <QPlastiqueStyle>
+ #include <QString>
+ #include <QSettings>
+ #include <QCoreApplication>
+@@ -212,7 +211,7 @@ +
+ // Set windows style
+ if (!useNativeStyle) {
+- app.setStyle("plastique");
++ app.setStyle("fusion");
+ }
+
+ // Translation
+--- a/games/abcrainwidget.cpp ++++ b/games/abcrainwidget.cpp +@@ -235,8 +235,7 @@ + charballs.last()->wind = (qrand() % 8) + 2;
+ charballs.last()->rad = 0;
+
+- chartext.append(new QGraphicsTextItem(QString(characterTemp),
+- charballs.last(), scene));
++ chartext.append(new QGraphicsTextItem(QString(characterTemp), charballs.last()));
+ chartext.last()->setFont(QFont("Courier", 16, 100));
+ chartext.last()->setPos(-(chartext.last()->boundingRect().width() / 2), -(chartext.last()->boundingRect().height() / 2));
+
+--- a/sql/chartablesql.cpp ++++ b/sql/chartablesql.cpp +@@ -137,7 +137,7 @@ + sortColumn(4);
+
+ headerview->setStretchLastSection(true);
+- headerview->setResizeMode(QHeaderView::Interactive);
++ headerview->setSectionResizeMode(QHeaderView::Interactive);
+ headerview->setSortIndicatorShown(true);
+
+ // Resize the columns
+--- a/sql/lessontablesql.cpp ++++ b/sql/lessontablesql.cpp +@@ -202,7 +202,7 @@ + sortColumn(-1);
+
+ headerview->setStretchLastSection(true);
+- headerview->setResizeMode(QHeaderView::Interactive);
++ headerview->setSectionResizeMode(QHeaderView::Interactive);
+ headerview->setSortIndicatorShown(true);
+
+ // Resize the columns
diff --git a/gnu/packages/patches/vcflib-use-shared-libraries.patch b/gnu/packages/patches/vcflib-use-shared-libraries.patch deleted file mode 100644 index e198ec663c..0000000000 --- a/gnu/packages/patches/vcflib-use-shared-libraries.patch +++ /dev/null @@ -1,135 +0,0 @@ -This patch is a combination of many of the patches from Debian: -https://sources.debian.org/src/libvcflib/1.0.1+dfsg-3/debian/patches/ - ---- - Makefile | 63 +++++++++++--------------------------------------------- - 1 file changed, 12 insertions(+), 51 deletions(-) - -diff --git a/Makefile b/Makefile -index 6b13350..be85f22 100644 ---- a/Makefile -+++ b/Makefile -@@ -114,43 +114,25 @@ BIN_SOURCES = src/vcfecho.cpp \ - src/vcfnull2ref.cpp \ - src/vcfinfosummarize.cpp - --# when we can figure out how to build on mac --# src/vcfsom.cpp -- - #BINS = $(BIN_SOURCES:.cpp=) - BINS = $(addprefix $(BIN_DIR)/,$(notdir $(BIN_SOURCES:.cpp=))) - SHORTBINS = $(notdir $(BIN_SOURCES:.cpp=)) - --TABIX = tabixpp/tabix.o --FASTAHACK = fastahack/Fasta.o --SMITHWATERMAN = smithwaterman/SmithWatermanGotoh.o --REPEATS = smithwaterman/Repeats.o --INDELALLELE = smithwaterman/IndelAllele.o --DISORDER = smithwaterman/disorder.o --LEFTALIGN = smithwaterman/LeftAlign.o --FSOM = fsom/fsom.o - FILEVERCMP = filevercmp/filevercmp.o - --# Work out how to find htslib --# Use the one we ship in tabixpp unless told otherwise by the environment --HTS_LIB ?= $(VCF_LIB_LOCAL)/tabixpp/htslib/libhts.a --HTS_INCLUDES ?= -I$(VCF_LIB_LOCAL)/tabixpp/htslib --HTS_LDFLAGS ?= -L$(VCF_LIB_LOCAL)/tabixpp/htslib -lhts -lbz2 -lm -lz -llzma -pthread -- -- --INCLUDES = $(HTS_INCLUDES) -I$(INC_DIR) --LDFLAGS = -L$(LIB_DIR) -lvcflib $(HTS_LDFLAGS) -lpthread -lz -lm -llzma -lbz2 -+INCLUDES = -I$(INC_DIR) $(shell pkg-config --cflags htslib fastahack smithwaterman tabixpp) -+LDFLAGS = -L$(LIB_DIR) -lvcflib -lpthread -lz -lstdc++ -lm -llzma -lbz2 $(shell pkg-config --libs htslib fastahack smithwaterman tabixpp) - - - --all: $(OBJECTS) $(BINS) scriptToBin -+all: $(OBJECTS) $(BINS) scriptToBin libvcflib.a - - scriptToBin: $(BINS) - $(CP) scripts/* $(BIN_DIR) - - GIT_VERSION += $(shell git describe --abbrev=4 --dirty --always) - --CXXFLAGS = -Ofast -D_FILE_OFFSET_BITS=64 -std=c++0x -+CXXFLAGS = -Ofast -D_FILE_OFFSET_BITS=64 -std=c++0x -fPIC - #CXXFLAGS = -O2 - #CXXFLAGS = -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual - -@@ -168,7 +150,7 @@ profiling: - gprof: - $(MAKE) CXXFLAGS="$(CXXFLAGS) -pg" all - --$(OBJECTS): $(SOURCES) $(HEADERS) $(TABIX) multichoose pre $(SMITHWATERMAN) $(FILEVERCMP) $(FASTAHACK) -+$(OBJECTS): $(SOURCES) $(HEADERS) multichoose pre $(FILEVERCMP) - $(CXX) -c -o $@ src/$(*F).cpp $(INCLUDES) $(LDFLAGS) $(CXXFLAGS) && $(CP) src/*.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ - - multichoose: pre -@@ -177,39 +159,22 @@ multichoose: pre - intervaltree: pre - cd intervaltree && $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ - --$(TABIX): pre -- cd tabixpp && INCLUDES="$(HTS_INCLUDES)" LIBPATH="-L. $(HTS_LDFLAGS)" HTSLIB="$(HTS_LIB)" $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ -- --$(SMITHWATERMAN): pre -- cd smithwaterman && $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && $(CP) *.o $(VCF_LIB_LOCAL)/$(OBJ_DIR)/ -- --$(DISORDER): $(SMITHWATERMAN) -- --$(REPEATS): $(SMITHWATERMAN) -- --$(LEFTALIGN): $(SMITHWATERMAN) -- --$(INDELALLELE): $(SMITHWATERMAN) -- --$(FASTAHACK): pre -- cd fastahack && $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && $(CP) Fasta.o $(VCF_LIB_LOCAL)/$(OBJ_DIR)/ -- --#$(FSOM): --# cd fsom && $(CXX) $(CXXFLAGS) -c fsom.c -lm -- - $(FILEVERCMP): pre - cd filevercmp && make && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && $(CP) *.o $(VCF_LIB_LOCAL)/$(INC_DIR)/ - - $(SHORTBINS): pre - $(MAKE) $(BIN_DIR)/$@ - --$(BINS): $(BIN_SOURCES) libvcflib.a $(OBJECTS) $(SMITHWATERMAN) $(FASTAHACK) $(DISORDER) $(LEFTALIGN) $(INDELALLELE) $(SSW) $(FILEVERCMP) pre intervaltree -+$(BINS): $(BIN_SOURCES) libvcflib.so $(OBJECTS) $(SSW) $(FILEVERCMP) pre intervaltree - $(CXX) src/$(notdir $@).cpp -o $@ $(INCLUDES) $(LDFLAGS) $(CXXFLAGS) -DVERSION=\"$(GIT_VERSION)\" - --libvcflib.a: $(OBJECTS) $(SMITHWATERMAN) $(REPEATS) $(FASTAHACK) $(DISORDER) $(LEFTALIGN) $(INDELALLELE) $(SSW) $(FILEVERCMP) $(TABIX) pre -- ar rs libvcflib.a $(OBJECTS) smithwaterman/sw.o $(FASTAHACK) $(SSW) $(FILEVERCMP) $(TABIX) -+libvcflib.a: $(OBJECTS) $(SSW) $(FILEVERCMP) pre -+ ar rs libvcflib.a $(OBJECTS) $(SSW) $(FILEVERCMP) - $(CP) libvcflib.a $(LIB_DIR) - -+libvcflib.so: $(OBJECTS) $(SSW) $(FILEVERCMP) pre -+ $(CXX) -shared -o libvcflib.so $(OBJECTS) $(SSW) $(FILEVERCMP) -+ $(CP) libvcflib.so $(LIB_DIR) - - test: $(BINS) - @prove -Itests/lib -w tests/*.t -@@ -230,16 +195,12 @@ clean: - $(RM) $(BINS) $(OBJECTS) - $(RM) ssw_cpp.o ssw.o - $(RM) libvcflib.a -+ $(RM) libvcflib.so - $(RM) -r $(BIN_DIR) - $(RM) -r $(LIB_DIR) - $(RM) -r $(INC_DIR) - $(RM) -r $(OBJ_DIR) -- $(MAKE) clean -C tabixpp -- $(MAKE) clean -C smithwaterman -- $(MAKE) clean -C fastahack - $(MAKE) clean -C multichoose -- $(MAKE) clean -C fsom -- $(MAKE) clean -C libVCFH - $(MAKE) clean -C test - $(MAKE) clean -C filevercmp - $(MAKE) clean -C intervaltree --- -2.28.0 - diff --git a/gnu/packages/patches/vlc-qt-5.15.patch b/gnu/packages/patches/vlc-qt-5.15.patch deleted file mode 100644 index e986a99861..0000000000 --- a/gnu/packages/patches/vlc-qt-5.15.patch +++ /dev/null @@ -1,56 +0,0 @@ -Fix build of VLC with Qt 5.15. Otherwise it fails like this: - ------- -In file included from gui/qt/util/timetooltip.moc.cpp:10:0: -gui/qt/util/timetooltip.hpp:49:18: error: field ‘mPainterPath’ has incomplete type ‘QPainterPath’ - QPainterPath mPainterPath; - ^~~~~~~~~~~~ -In file included from /gnu/store/jsxxnsdvij5mrrv6c0kj0261k0f44xlz-qtbase-5.15.2/include/qt5/QtGui/qbrush.h:49:0, - from /gnu/store/jsxxnsdvij5mrrv6c0kj0261k0f44xlz-qtbase-5.15.2/include/qt5/QtGui/qpalette.h:46, - from /gnu/store/jsxxnsdvij5mrrv6c0kj0261k0f44xlz-qtbase-5.15.2/include/qt5/QtWidgets/qwidget.h:48, - from /gnu/store/jsxxnsdvij5mrrv6c0kj0261k0f44xlz-qtbase-5.15.2/include/qt5/QtWidgets/QWidget:1, - from gui/qt/util/timetooltip.hpp:27, - from gui/qt/util/timetooltip.moc.cpp:10: -/gnu/store/jsxxnsdvij5mrrv6c0kj0261k0f44xlz-qtbase-5.15.2/include/qt5/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’ - class QPainterPath; - ^~~~~~~~~~~~ -make[4]: *** [Makefile:25852: gui/qt/util/libqt_plugin_la-timetooltip.moc.lo] Error 1 ------- - -diff --git a/modules/gui/qt/components/playlist/views.cpp b/modules/gui/qt/components/playlist/views.cpp -index 24db9d9..73c1779 100644 ---- a/modules/gui/qt/components/playlist/views.cpp -+++ b/modules/gui/qt/components/playlist/views.cpp -@@ -27,6 +27,7 @@ - #include "input_manager.hpp" /* THEMIM */ - - #include <QPainter> -+#include <QPainterPath> - #include <QRect> - #include <QStyleOptionViewItem> - #include <QFontMetrics> -diff --git a/modules/gui/qt/dialogs/plugins.cpp b/modules/gui/qt/dialogs/plugins.cpp -index d233382..69728eb 100644 ---- a/modules/gui/qt/dialogs/plugins.cpp -+++ b/modules/gui/qt/dialogs/plugins.cpp -@@ -53,6 +53,7 @@ - #include <QListView> - #include <QListWidget> - #include <QPainter> -+#include <QPainterPath> - #include <QStyleOptionViewItem> - #include <QKeyEvent> - #include <QPushButton> -diff --git a/modules/gui/qt/util/timetooltip.hpp b/modules/gui/qt/util/timetooltip.hpp -index 6a1329e..9f50b18 100644 ---- a/modules/gui/qt/util/timetooltip.hpp -+++ b/modules/gui/qt/util/timetooltip.hpp -@@ -25,6 +25,7 @@ - #include "qt.hpp" - - #include <QWidget> -+#include <QPainterPath> - - class TimeTooltip : public QWidget - { - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 224bd792bd..66e920a7bb 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -13,11 +13,11 @@ ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -92,6 +92,8 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) + #:use-module (gnu packages time) + #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) @@ -99,6 +101,52 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public extractpdfmark + (package + (name "extractpdfmark") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trueroad/extractpdfmark") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14aa6zly53j8gx5d32caiabk2j4b102xha0v9149yahz6kbn5b80")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xorg-server + ;; The test suite wants to write to /homeless-shelter + (lambda _ (setenv "HOME" (getcwd))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("ghostscript" ,ghostscript) + ("pkg-config" ,pkg-config) + ("texlive" ,texlive-tiny))) + (inputs + `(("poppler" ,poppler))) + (home-page "https://github.com/trueroad/extractpdfmark") + (synopsis "Extract page mode and named destinations as PDFmark from PDF") + (description + "PDFmarks is a technique that accompanies PDF, and that is used to store +metadata such as author or title, but also structural information such as +bookmarks or hyperlinks. + +When Ghostscript reads the main PDF generated by the TeX system with embedded +PDF files and outputs the final PDF, the PDF page mode and name targets +etc. are not preserved. Therefore, when you open the final PDF, it is not +displayed correctly. Also, remote PDF links do not work correctly. + +This program is able to extract the page mode and named targets as PDFmark +from PDF. In this way, you can obtain embedded PDF files that have kept this +information.") + (license license:gpl3))) + (define-public flyer-composer (package (name "flyer-composer") @@ -648,15 +696,14 @@ interaction.") (define-public podofo (package (name "podofo") - (version "0.9.6") + (version "0.9.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/podofo/podofo/" version "/podofo-" version ".tar.gz")) (sha256 (base32 - "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9")) - (patches (search-patches "podofo-cmake-3.12.patch")))) + "1f0yvkx6nf99fp741w2y706d8bs9824x1z2gqm3rdy5fv8bfgwkw")))) (build-system cmake-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -671,8 +718,8 @@ interaction.") ("openssl" ,openssl) ("zlib" ,zlib))) (arguments - `(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON" - "-DPODOFO_BUILD_STATIC=ON") + `(#:configure-flags + (list "-DPODOFO_BUILD_SHARED=ON") #:phases (modify-phases %standard-phases (add-before 'configure 'patch @@ -1082,6 +1129,29 @@ such as zooming, highlighting an area of the screen, and a tool to navigate the PDF pages.") (license license:gpl2))) +(define-public img2pdf + (package + (name "img2pdf") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "img2pdf" version)) + (sha256 + (base32 "1jdhmpzgj8815bhargb3xp3ydlqxwkz0mcadrflx2ga0p056kvpa")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pikepdf" ,python-pikepdf) + ("python-pillow" ,python-pillow) + ("python-tkinter" ,python "tk"))) + (home-page "https://gitlab.mister-muffin.de/josch/img2pdf") + (synopsis "Convert images to PDF via direct JPEG inclusion") + (description + "img2pdf converts images to PDF via direct JPEG inclusion. That +conversion is lossless: the image embedded in the PDF has the exact same color +information for every pixel as the input.") + (license license:lgpl3))) + (define-public fbida (package (name "fbida") @@ -1230,7 +1300,7 @@ python-pypdf2 instead.") (define-public pdfarranger (package (name "pdfarranger") - (version "1.3.1") + (version "1.7.0") (source (origin (method git-fetch) @@ -1239,10 +1309,10 @@ python-pypdf2 instead.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx")))) + (base32 "0dmgmvpghsm938iznalbg8h8k17a5h3q466yfc67mcll428n4nx3")))) (build-system python-build-system) (arguments - '(#:tests? #f ;no tests + '(#:tests? #f ;no tests #:phases (modify-phases %standard-phases (add-after 'install 'wrap-for-typelib (lambda* (#:key inputs outputs #:allow-other-keys) @@ -1255,12 +1325,15 @@ python-pypdf2 instead.") (native-inputs `(("intltool" ,intltool) ("python-distutils-extra" ,python-distutils-extra))) - (propagated-inputs + (inputs `(("gtk+" ,gtk+) - ("poppler" ,poppler) + ("poppler" ,poppler))) + (propagated-inputs + `(("img2pdf" ,img2pdf) + ("python-dateutil" ,python-dateutil) + ("python-pikepdf" ,python-pikepdf) ("python-pycairo" ,python-pycairo) - ("python-pygobject" ,python-pygobject) - ("python-pypdf2" ,python-pypdf2))) + ("python-pygobject" ,python-pygobject))) (home-page "https://github.com/jeromerobert/pdfarranger") (synopsis "Merge, split and re-arrange pages from PDF documents") (description diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2d0b8648ce..2f586ffb0e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2019, 2020 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org> @@ -11499,6 +11499,33 @@ lookup in %INC or by assuming it is $0 if the caller is @code{main} (or it can't find %INC{caller()}).") (license license:artistic2.0))) +(define-public perl-text-soundex + (package + (name "perl-text-soundex") + (version "3.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-" + version ".tar.gz")) + (sha256 + (base32 + "1vb0vg1109gfzaak74ynw5s00ml28f33j612g2lxw98b52s5bpgn")))) + (build-system perl-build-system) + (home-page + "https://metacpan.org/release/Text-Soundex") + (synopsis "Implementation of the soundex algorithm.") + (description "Soundex is a phonetic algorithm for indexing names by sound, +as pronounced in English. The goal is for names with the same pronunciation to +be encoded to the same representation so that they can be matched despite +minor differences in spelling. + +This module implements the original soundex algorithm developed by Robert +Russell and Margaret Odell, patented in 1918 and 1922, as well as a variation +called \"American Soundex\" used for US census data, and current maintained by +the National Archives and Records Administration (NARA).") + (license license:perl-license))) + (define-public perl-regexp-pattern (package (name "perl-regexp-pattern") diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm index e03582c47b..9ab9da37fb 100644 --- a/gnu/packages/printers.scm +++ b/gnu/packages/printers.scm @@ -1,7 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,13 +20,9 @@ (define-module (gnu packages printers) #:use-module (guix packages) #:use-module (guix git-download) - #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages compression) - #:use-module (gnu packages cups) #:use-module (gnu packages libusb) - #:use-module (gnu packages ghostscript) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt)) @@ -73,70 +68,3 @@ with Graphtec and Sihouette plotting cutters using an SVG file as its input.") (home-page "http://robocut.org") (license license:gpl3+))) - -(define-public brlaser - (let ((commit "9d7ddda8383bfc4d205b5e1b49de2b8bcd9137f1") - (revision "1")) - (package - (name "brlaser") - (version (git-version "6" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pdewacht/brlaser") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1drh0nk7amn9a8wykki4l9maqa4vy7vwminypfy1712alwj31nd4")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list (string-append "-DCUPS_DATA_DIR=" - (assoc-ref %outputs "out") - "/share/cups") - (string-append "-DCUPS_SERVER_BIN=" - (assoc-ref %outputs "out") - "/lib/cups")))) - (inputs - `(("ghostscript" ,ghostscript) - ("cups" ,cups) - ("zlib" ,zlib))) - (home-page "https://github.com/pdewacht/brlaser") - (synopsis "Brother laser printer driver") - (description "Brlaser is a CUPS driver for Brother laser printers. This -driver is known to work with these printers: - -@enumerate -@item Brother DCP-1510 series -@item Brother DCP-1600 series -@item Brother DCP-7030 -@item Brother DCP-7040 -@item Brother DCP-7055 -@item Brother DCP-7055W -@item Brother DCP-7060D -@item Brother DCP-7065DN -@item Brother DCP-7080 -@item Brother DCP-L2500D series -@item Brother DCP-L2520D series -@item Brother DCP-L2540DW series -@item Brother HL-1110 series -@item Brother HL-1200 series -@item Brother HL-2030 series -@item Brother HL-2140 series -@item Brother HL-2220 series -@item Brother HL-2270DW series -@item Brother HL-5030 series -@item Brother HL-L2300D series -@item Brother HL-L2320D series -@item Brother HL-L2340D series -@item Brother HL-L2360D series -@item Brother MFC-1910W -@item Brother MFC-7240 -@item Brother MFC-7360N -@item Brother MFC-7365DN -@item Brother MFC-7840W -@item Brother MFC-L2710DW series -@item Lenovo M7605D -@end enumerate") - (license license:gpl2+)))) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 0573a1e1e4..9849b16685 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1148,6 +1148,25 @@ convenient wrapper above tools such as Pyflakes, pydocstyle, pycodestyle and McCabe, among others.") (license license:lgpl3+))) +(define-public python-eradicate + (package + (name "python-eradicate") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eradicate" version)) + (sha256 + (base32 + "1j30g9jfmbfki383qxwrfds8b23yiwywj40lng4lqcf5yab4ahr7")))) + (build-system python-build-system) + (home-page "https://github.com/myint/eradicate") + (synopsis "Remove commented-out code from Python sources") + (description "The @command{eradicate} command removes commented-out code +from Python files. It does this by detecting block comments that contain +valid Python syntax that are likely to be commented out code.") + (license license:expat))) + (define-public python-robber (package (name "python-robber") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9110e9af21..947c200253 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -493,16 +493,8 @@ classes @item Compatible with both CPython and PyPy @item Cython support for better performance when used with CPython @end itemize") - (properties `((python2-variant . ,(delay python2-falcon)))) (license license:asl2.0))) -(define-public python2-falcon - (let ((falcon (package-with-python2 (strip-python2-variant python-falcon)))) - (package - (inherit falcon) - (native-inputs - (alist-delete "python-rapidjson" (package-native-inputs falcon)))))) - (define-public python-falcon-cors (package (name "python-falcon-cors") @@ -526,9 +518,6 @@ CORS object to the incoming requests, enabling the ability to serve resources over a different origin than that of the web application.") (license license:asl2.0))) -(define-public python2-falcon-cors - (package-with-python2 python-falcon-cors)) - (define-public python-furl (package (name "python-furl") @@ -2508,17 +2497,8 @@ library.") (description "This module provides a building block to stub out the HTTP requests portions of your testing code.") - (properties `((python2-variant . ,(delay python2-requests-mock)))) (license license:asl2.0))) -(define-public python2-requests-mock - (package (inherit (package-with-python2 - (strip-python2-variant python-requests-mock))) - (arguments - `(#:python ,python-2 - ;; FIXME: 'subunit.run discover: error: no such option: --list' - #:tests? #f)))) - (define-public python-requests-toolbelt (package (name "python-requests-toolbelt") @@ -3098,9 +3078,6 @@ concurrent HTTP client library for python using @code{gevent}.") provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients.") (license license:isc))) -(define-public python2-requests-oauthlib - (package-with-python2 python-requests-oauthlib)) - (define-public python-url (package (name "python-url") @@ -3161,9 +3138,6 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients." @code{httplib2} for use with @code{requests} session objects.") (license license:asl2.0))) -(define-public python2-cachecontrol - (package-with-python2 python-cachecontrol)) - (define-public python-cachecontrol-0.11 (package (inherit python-cachecontrol) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0c1f2b0310..219624c848 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -93,7 +93,9 @@ ;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2019 Kristian Trandem <kristian@devup.no> -;;; Copyright © 2020 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020 EuAndreh <eu@euandre.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -145,6 +147,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) @@ -152,6 +155,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages maths) #:use-module (gnu packages monitoring) #:use-module (gnu packages multiprecision) @@ -468,6 +472,30 @@ EasyGUI is NOT event-driven. Instead, all GUI interactions are invoked by simple function calls.") (license license:bsd-3))) +(define-public python-pymd4c + (package + (name "python-pymd4c") + (version "0.4.6.0b1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pymd4c" version)) + (sha256 + (base32 "07s3arn85ri92im6x3ipljdmrxmpik7irs06i6lm17j1x6j9841d")))) + (build-system python-build-system) + (inputs + `(("md4c" ,md4c))) + (native-inputs + `(("python-flake8" ,python-flake8) + ("python-pkgconfig" ,python-pkgconfig) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/dominickpastore/pymd4c") + (synopsis "Python bindings for MD4C") + (description + "PyMD4C provides Python bindings for MD4c, a C Markdown parser, compliant +to CommonMark.") + (license license:expat))) + (define-public python-pymediainfo (package (name "python-pymediainfo") @@ -1012,9 +1040,6 @@ conventions and aliases in the same expression.") API for locking files.") (license license:expat))) -(define-public python2-lockfile - (package-with-python2 python-lockfile)) - (define-public python-filelock (package (name "python-filelock") @@ -1101,14 +1126,14 @@ other machines, such as over the network.") (define-public python-setuptools (package (name "python-setuptools") - (version "41.0.1") + (version "52.0.0") (source (origin (method url-fetch) - (uri (pypi-uri "setuptools" version ".zip")) + (uri (pypi-uri "setuptools" version)) (sha256 (base32 - "04sns22y2hhsrwfy1mha2lgslvpjsjsz8xws7h2rh5a7ylkd28m2")) + "15ibjdjhkwgj6qbmpsxikkqdfsb1550z46fly7dm15ah4bk1wfpv")) (modules '((guix build utils))) (snippet '(begin @@ -2208,13 +2233,13 @@ syntax.") (define-public python-polib (package (name "python-polib") - (version "1.0.8") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "polib" version)) (sha256 (base32 - "1pq2hbm3m2q0cjdszk8mc4qa1vl3wcblh5nfyirlfnzb2pcy7zss")))) + "0aikb8gcarhifn3sadrbbs5czagih9hjv250gsrgy9v1d49pvn7s")))) (build-system python-build-system) (home-page "https://bitbucket.org/izi/polib/wiki/Home") (synopsis "Manipulate, create and modify gettext files") @@ -2486,9 +2511,6 @@ code introspection, and logging.") "Used only for bootstrapping python2-pbr, you should not need this.") (license license:asl2.0))) -(define-public python2-pbr-minimal - (package-with-python2 python-pbr-minimal)) - (define-public python-pbr (package (inherit python-pbr-minimal) @@ -2516,9 +2538,6 @@ versions, process requirements files and generate AUTHORS and ChangeLog file from git information. "))) -(define-public python2-pbr - (package-with-python2 python-pbr)) - (define-public python-pyrsistent (package (name "python-pyrsistent") @@ -3152,7 +3171,6 @@ e.g. filters, callbacks and errbacks can all be promises.") (synopsis "Virtual Python environment builder") (description "Virtualenv is a tool to create isolated Python environments.") - (properties `((python2-variant . ,(delay python2-virtualenv)))) (license license:expat))) (define-public python2-virtualenv @@ -3160,7 +3178,28 @@ e.g. filters, callbacks and errbacks can all be promises.") (package (inherit base) (arguments - `(#:python ,python-2)) + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'adjust-PYTHONPATH + (lambda* (#:key inputs #:allow-other-keys) + (let* ((python (assoc-ref inputs "python")) + (python-sitedir (string-append python "/lib/python2.7" + "/site-packages"))) + ;; XXX: 'python2' always comes first on PYTHONPATH + ;; and shadows the 'setuptools' input. Move python2 + ;; last: this should be fixed in python-build-system + ;; in a future rebuild cycle. + (setenv "PYTHONPATH" + (string-append (string-join (delete python-sitedir + (string-split + (getenv "PYTHONPATH") + #\:)) + ":") + ":" python-sitedir)) + (format #t "environment variable `PYTHONPATH' changed to `~a'~%" + (getenv "PYTHONPATH")) + #t)))))) (propagated-inputs `(("python-contextlib2" ,python2-contextlib2) ,@(package-propagated-inputs base)))))) @@ -3542,6 +3581,29 @@ text styles of documentation.") (base32 "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q"))))))) +(define-public python-bump2version + (package + (name "python-bump2version") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bump2version" version)) + (sha256 + (base32 "1rinm4gv1fyh7xjv3v6r1p3zh5kl4ry2qifz5f7frx31mnzv4b3n")))) + (build-system python-build-system) + (arguments + ;; XXX: Tests fail with "bumpversion: error: the following arguments are + ;; required: --new-version". + `(#:tests? #false)) + (home-page "https://github.com/c4urself/bump2version") + (synopsis "Version-bump your software with a single command!") + (description + "This package provides a small command line tool to simplify releasing +software by updating all version strings in your source code by the correct +increment. It also creates commits and tags.") + (license license:expat))) + (define-public python-bumpversion (package (name "python-bumpversion") @@ -5625,6 +5687,37 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python2-olefile (package-with-python2 python-olefile)) +(define-public python-pikepdf + (package + (name "python-pikepdf") + (version "2.5.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pikepdf" version)) + (sha256 + (base32 "1wwfspm912388a61lailbpjpqihq9ha8yz05mjqx9yys4ixykhwg")))) + (build-system python-build-system) + (arguments + `(#:tests? #false)) ;require python-xmp-toolkit + (native-inputs + `(("pybind11" ,pybind11) + ("python-setuptools" ,python-setuptools) + ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive) + ("python-toml" ,python-toml) + ("python-wheel" ,python-wheel))) + (inputs + `(("qpdf" ,qpdf))) + (propagated-inputs + `(("python-lxml" ,python-lxml) + ("python-pillow" ,python-pillow))) + (home-page "https://github.com/pikepdf/pikepdf") + (synopsis "Read and write PDFs with Python") + (description + "pikepdf is a Python library for reading and writing PDF files.") + (license license:mpl2.0))) + (define-public python-pillow (package (name "python-pillow") @@ -5929,6 +6022,38 @@ similar to Fourier transforms, the difference being that Fourier transforms are localized only in frequency instead of in time and frequency.") (license license:expat))) +(define-public python-pywal + (package + (name "python-pywal") + (version "3.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dylanaraps/pywal") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "039m7dch479hlwddynacdrr0klz6a5bdly5swqbs94hfimficiyf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + ;; Tests fail with "Permission denied: '/homeless-shelter'". + (setenv "HOME" "/tmp") + #t))))) + (inputs + `(("imagemagick" ,imagemagick))) + (home-page "https://github.com/dylanaraps/pywal") + (synopsis "Color palette generator and applicator") + (description + "Pywal is a tool that generates a color palette from the dominant colors +in an image. It then applies the colors system-wide and on-the-fly in all of +your favourite programs.") + (license license:expat))) + (define-public python-pywinrm (package (name "python-pywinrm") @@ -6310,9 +6435,6 @@ The output of all running processes is collected by honcho and displayed.") (license license:expat))) -(define-public python2-honcho - (package-with-python2 python-honcho)) - (define-public python-pexpect (package (name "python-pexpect") @@ -6384,6 +6506,18 @@ child application and control it as if a human were typing commands.") them as the version argument or in a SCM managed file.") (license license:expat))) +;; TODO: Merge with 'python-setuptools-scm' on the next rebuild cycle. +(define-public python-setuptools-scm/next + (package + (inherit python-setuptools-scm) + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "setuptools_scm" version)) + (sha256 + (base32 "0ahlrxxkx2xhmxskx57gc96w3bdndflxx30304ihvm7ds136nny8")))))) + (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) @@ -6577,6 +6711,27 @@ need to use the older and less efficient @code{pkg_resources} package.") finding unresolved symbols in Python code and their corresponding imports.") (license license:bsd-3))) +(define-public python-inotify-simple + (package + (name "python-inotify-simple") + (version "1.3.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chrisjbillington/inotify_simple") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dv9svrcz31acyq9smjlnw75xv3x5wpn5h6s8j8h0vrqyl3d7l05")))) + (build-system python-build-system) + (home-page + "https://github.com/chrisjbillington/inotify_simple") + (synopsis "Simple wrapper around inotify library") + (description + "@code{inotify-simple} is a simple wrapper around inotify library.") + (license license:bsd-3))) + (define-public python-jaraco-packaging (package (name "python-jaraco-packaging") @@ -6657,9 +6812,6 @@ releases.") common operations on files to be invoked on those path objects directly.") (license license:expat))) -(define-public python2-pathpy - (package-with-python2 python-pathpy)) - (define-public python-simplegeneric (package (name "python-simplegeneric") @@ -7810,13 +7962,13 @@ multiprecision arithmetic.") (define-public python-sympy (package (name "python-sympy") - (version "1.6.2") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "sympy" version)) (sha256 - (base32 "0247skhkxanczpqqdz6n9k1axgpwl665b25hyn9vgr060p4dryhw")))) + (base32 "0bkb4jf24yv5i4kjpsmg1xjjccfhqyi0syv0p0xvhdbmx5hr5pm3")))) (build-system python-build-system) (arguments `(#:phases @@ -7873,7 +8025,7 @@ falling into the Python interpreter.") (define-public python-xlib (package (name "python-xlib") - (version "0.27") + (version "0.29") (source (origin (method git-fetch) @@ -7882,7 +8034,7 @@ falling into the Python interpreter.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "09kimic8rhprx3q8nzalc4aggg42ahqm4v5qcj8dm68yvxfdk986")))) + (base32 "17cwd2knqm2vwrii3kqii9abwsnydhpg4byqx1vy7rjs6i1vbqfc")))) (build-system python-build-system) (arguments `(#:phases @@ -7898,8 +8050,9 @@ falling into the Python interpreter.") (native-inputs `(("python-mock" ,python-mock) ("python-setuptools-scm" ,python-setuptools-scm) - ("python-six" ,python-six) ("xorg-server" ,xorg-server))) + (propagated-inputs + `(("python-six" ,python-six))) (home-page "https://github.com/python-xlib/python-xlib") (synopsis "Python X11 client library") (description @@ -8275,6 +8428,31 @@ design problems in your program. It contains warnings that don't belong in pyflakes and pycodestyle.") (license license:expat))) +(define-public python-flake8-implicit-str-concat + (package + (name "python-flake8-implicit-str-concat") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flake8_implicit_str_concat" version)) + (sha256 + (base32 "1v0y29xlmbr2q12a4nnpm1dm9aw1mjiys1x8jif4z8c90d63cqm6")))) + (build-system python-build-system) + (propagated-inputs + `(("python-attrs" ,python-attrs) + ("python-more-itertools" ,python-more-itertools))) + (home-page "https://github.com/keisheiled/flake8-implicit-str-concat") + (synopsis "Flake8 plugin to encourage correct string literal concatenation") + (description + "This is a plugin for the Python code checking tool Flake8 to encourage +correct string literal concatenation. + +It looks for style problems like implicitly concatenated string literals on +the same line (which can be introduced by the code formating tool Black), or +unnecessary plus operators for explicit string literal concatenation.") + (license license:expat))) + (define-public python-flake8-polyfill (package (name "python-flake8-polyfill") @@ -8314,6 +8492,28 @@ plugins that intend to support Flake8 2.x and 3.x simultaneously.") (define-public python2-flake8-polyfill (package-with-python2 python-flake8-polyfill)) +(define-public python-flake8-print + (package + (name "python-flake8-print") + (version "4.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flake8-print" version)) + (sha256 + (base32 "05k5kkvyk6fdmvnacxfzypk74vbl3pmva13dqg1aljfwnxsc7yjs")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flake8" ,python-flake8) + ("python-pycodestyle" ,python-pycodestyle) + ("python-six" ,python-six))) + (home-page "https://github.com/jbkahn/flake8-print") + (synopsis "Print statement checker plugin for Flake8") + (description + "This plugin for Flake8 checks for @code{print} statements in Python +files.") + (license license:expat))) + (define-public python-flake8-pyi (package (name "python-flake8-pyi") @@ -11042,9 +11242,6 @@ supported environment, or act as a frontend to continuous integration servers.") (license license:expat))) -(define-public python2-tox - (package-with-python2 python-tox)) - (define-public python-jmespath (package (name "python-jmespath") @@ -15554,9 +15751,6 @@ exception message with a traceback that points to the culprit.") (description "This package provides a MediaWiki API client.") (license license:expat))) -(define-public python2-mwclient - (package-with-python2 python-mwclient)) - (define-public python-utils (package (name "python-utils") @@ -16599,9 +16793,6 @@ class ShellOutSSHClientTests")) many of the popular cloud service providers using a unified API.") (license license:asl2.0))) -(define-public python2-apache-libcloud - (package-with-python2 python-apache-libcloud)) - (define-public python-smmap (package (name "python-smmap") @@ -16805,9 +16996,6 @@ will fail (i.e. it will exit with a non-zero exit code) when any of these requirements is not met.") (license license:expat))) -(define-public python2-xenon - (package-with-python2 python-xenon)) - (define-public python-pysocks (package (name "python-pysocks") @@ -17592,6 +17780,29 @@ user's @file{~/Trash} directory.") "@code{pyfavicon} is an async favicon fetcher.") (license license:expat))) +(define-public python-yamllint + (package + (name "python-yamllint") + (version "1.26.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "yamllint" version)) + (sha256 + (base32 "11qhs1jk9pwvyk5k3q5blh9sq42dh1ywdf1f3i2zixf7hncwir5h")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pathspec" ,python-pathspec) + ("python-pyyaml" ,python-pyyaml) + ("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/adrienverge/yamllint") + (synopsis "Linter for YAML files") + (description + "Yamllint is a linter for YAML files. yamllint does not only check for +syntax validity, but for weirdnesses like key repetition and cosmetic problems +such as lines length, trailing spaces, indentation, etc.") + (license license:gpl3+))) + (define-public python-yapf (package (name "python-yapf") @@ -17924,6 +18135,61 @@ based on the CPython 2.7 and 3.7 parsers.") license:asl2.0 license:expat)))) ;ast27/Parser/spark.py +(define-public python-typer + (package + (name "python-typer") + (version "0.3.2") + (source + (origin + ;; Building `python-typer` from the git repository requires the `flit-core` + ;; Python package that is not installed by `python-flit`. + (method url-fetch) + (uri (pypi-uri "typer" version)) + (sha256 + (base32 "00v3h63dq8yxahp9vg3yb9r27l2niwv8gv0dbds9dzrc298dfmal")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "tests/test_completion/test_completion.py" + (("def test_show_completion") + "def _test_show_completion") + (("def test_install_completion") + "def _test_install_completion")) + (substitute* "tests/test_completion/test_completion_install.py" + (("def test_completion_install_bash") + "def _test_completion_install_bash") + (("def test_completion_install_zsh") + "def _test_completion_install_zsh") + (("def test_completion_install_fish") + "def _test_completion_install_fish") + (("def test_completion_install_powershell") + "def _test_completion_install_powershell")) + #t)) + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append (getcwd) ":" + (getenv "PYTHONPATH"))) + (invoke "python" "-m" "pytest" "tests/") + #t))))) + (propagated-inputs + `(("python-click" ,python-click))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-pytest" ,python-pytest) + ("python-shellingham" ,python-shellingham))) + (home-page "https://github.com/tiangolo/typer") + (synopsis + "Typer builds CLI based on Python type hints") + (description + "Typer is a library for building CLI applications. It's based on +Python 3.6+ type hints.") + ;; MIT license + (license license:expat))) + (define-public python-typing (package (name "python-typing") @@ -18520,14 +18786,14 @@ implemented using @code{ctypes}.") (define-public python-userspacefs (package (name "python-userspacefs") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) (uri (pypi-uri "userspacefs" version)) (sha256 (base32 - "0ayfcz9pjwq7h3ws0qas71842s1wm7dxlmg8dccxl2j6yavpv83f")))) + "1v6saf62ml3j63adalvlkj4iavxjbsbapl20b21mn73p7kvn4ayf")))) (build-system python-build-system) (propagated-inputs `(("python-fusepyng" ,python-fusepyng))) @@ -18586,7 +18852,7 @@ user-space file systems in Python.") (define-public pybind11 (package (name "pybind11") - (version "2.4.3") + (version "2.6.1") (source (origin (method git-fetch) (uri (git-reference @@ -18594,7 +18860,7 @@ user-space file systems in Python.") (commit (string-append "v" version)))) (sha256 (base32 - "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd")) + "1wh5b1xnywzxwxkyac2wvyqwzmy1qxs341jjk820r7b825wn6yad")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs @@ -18660,17 +18926,8 @@ inferring type information using compile-time introspection.") @item Inter-process locks @item Generic helpers @end itemize\n") - (properties `((python2-variant . ,(delay python2-fasteners)))) (license license:asl2.0))) -(define-public python2-fasteners - (let ((base (package-with-python2 (strip-python2-variant python-fasteners)))) - (package - (inherit base) - (propagated-inputs - `(("python2-futures" ,python2-futures) - ,@(package-propagated-inputs base)))))) - (define-public python-requests-file (package (name "python-requests-file") @@ -19564,6 +19821,37 @@ Features: @end itemize") (license license:asl2.0))) +(define-public python-pre-commit + (package + (name "python-pre-commit") + (version "2.10.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pre_commit" version)) + (sha256 + (base32 "1ycf6wpxrhxhdzz0vpryhbdxlwik5khgcvp3hxwvfr447a6k84zl")))) + (build-system python-build-system) + (arguments + ;; Tests fail with "AttributeError: module 'pre_commit.resources' has no + ;; attribute 'empty_template_setup'". + `(#:tests? #false)) + (propagated-inputs + `(("python-cfgv" ,python-cfgv) + ("python-identify" ,python-identify) + ("python-importlib-metadata" ,python-importlib-metadata) + ("python-importlib-resources" ,python-importlib-resources) + ("python-nodeenv" ,python-nodeenv) + ("python-pyyaml" ,python-pyyaml) + ("python-toml" ,python-toml) + ("python-virtualenv" ,python-virtualenv))) + (home-page "https://github.com/pre-commit/pre-commit") + (synopsis "Framework for managing multi-language pre-commit hooks") + (description + "This package provides a framework for managing and maintaining +multi-language pre-commit hooks.") + (license license:expat))) + (define-public python-precis-i18n (package (name "python-precis-i18n") @@ -20164,13 +20452,18 @@ time-or-computationally-expensive properties quick and easy and works in Python (define-public python-folium (package (name "python-folium") - (version "0.11.0") + (version "0.12.1") (source (origin - (method url-fetch) - (uri (pypi-uri "folium" version)) + ;; PyPI has a ".whl" file but not a proper source release. + ;; Thus, fetch code from Git. + (method git-fetch) + (uri (git-reference + (url "https://github.com/python-visualization/folium") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "19sclsq3xcjfa7bavzjpyn6rl9b15jbc76n5aag4cwhqqamqj1sl")))) + (base32 "0yi5y9pfpbc4bc4ibr8cblif8ls1wf3k0zawyx86r2qwxxkkyd6k")))) (build-system python-build-system) (propagated-inputs `(("python-branca" ,python-branca) @@ -23142,6 +23435,54 @@ Qt applications.") of binary data.") (license license:expat))) +(define-public python-confuse + (package + (name "python-confuse") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "confuse" version)) + (sha256 + (base32 + "0r74djc8r6lfx6ldsqnhpvfsn256gsfzbl33qcm77hp2qr8h9z4j")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pathlib" ,python-pathlib) + ("python-pyyaml" ,python-pyyaml))) + (home-page "https://github.com/beetbox/confuse") + (synopsis "Painless YAML configuration.") + (description "Confuse is a configuration library for Python that uses +YAML. It takes care of defaults, overrides, type checking, command-line +integration, human-readable errors, and standard OS-specific locations.") + (license license:expat))) + +(define-public python-reflink + (package + (name "python-reflink") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "reflink" version)) + (sha256 + (base32 + "0fkf3sd958g9hvr3jwlhnhqqzrwxljrc3grsf3yknh94vf13a9f9")))) + (build-system python-build-system) + (arguments + `(#:tests? #false)) ; almost all tests want to run mkfs.btrfs + (propagated-inputs + `(("python-cffi" ,python-cffi))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://gitlab.com/rubdos/pyreflink") + (synopsis "Python wrapper around reflink system call") + (description + "Python reflink wraps around platform specific @code{reflink} +implementations.") + (license license:expat))) + (define-public python-pivy (package (name "python-pivy") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 526054c896..4fbb157600 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> -;;; Copyright © 2015, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> @@ -45,6 +45,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix packages) #:use-module (guix deprecation) #:use-module (guix utils) @@ -72,6 +73,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -103,6 +105,91 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) +(define-public qt5ct + (package + (name "qt5ct") + (version "1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2")) + (sha256 + (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%gnu-build-system-modules + (guix build cmake-build-system) + (guix build qt-build-system)) + #:modules + ((guix build gnu-build-system) + ((guix build qt-build-system) + #:prefix qt:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "qt5ct.pro" + (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") + (string-append (assoc-ref inputs "qttools") + "/bin/lrelease"))) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (invoke "qmake" + (string-append "PREFIX=" out) + (string-append "BINDIR=" out "/bin") + (string-append "DATADIR=" out "/share") + (string-append "PLUGINDIR=" out "/lib/qt5/plugins"))) + #t)) + (add-after 'install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (synopsis "Qt5 Configuration Tool") + (description "Qt5CT is a program that allows users to configure Qt5 +settings (such as icons, themes, and fonts) in desktop environments or +window managers, that don't provide Qt integration by themselves.") + (home-page "https://qt5ct.sourceforge.io/") + (license license:bsd-2))) + +(define-public materialdecoration + (package + (name "materialdecoration") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lirios/materialdecoration.git") + (commit "2079487116c6c794af3a15452342a69293039b46"))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06")))) + (build-system qt-build-system) + (native-inputs + `(("cmake-shared" ,cmake-shared) + ("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("qtbase" ,qtbase) + ("qtwayland" ,qtwayland) + ("wayland" ,wayland))) + (synopsis "Material Decoration for Qt") + (description "MaterialDecoration is a client-side decoration for Qt +applications on Wayland.") + (home-page "https://github.com/lirios/materialdecoration") + (license license:lgpl3+))) + (define-public grantlee (package (name "grantlee") @@ -343,16 +430,31 @@ developers using C++ or QML, a CSS & JavaScript like language.") ;; Qt 5: assembler error; see <http://hydra.gnu.org/build/112526>. (supported-systems (delete "mips64el-linux" %supported-systems)))) +(define (qt5-urls component version) + "Return a list of URLs for VERSION of the Qt5 COMPONENT." + ;; We can't use a mirror:// scheme because these URLs are not exact copies: + ;; the layout differs between them. + (list (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" component "-everywhere-src-" + version ".tar.xz") + (string-append "https://download.qt.io/archive/qt/" + (version-major+minor version) "/" version + "/submodules/" component "-everywhere-src-" + version ".tar.xz") + (let ((directory (string-append "qt5" (string-drop component 2)))) + (string-append "http://sources.buildroot.net/" directory "/" + component "-everywhere-src-" version ".tar.xz")) + (string-append "https://distfiles.macports.org/qt5/" + component "-everywhere-src-" version ".tar.xz"))) + (define-public qtbase (package (name "qtbase") (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1y70libf2x52lpbqvhz10lpk7nyl1ajjwzjxly9pjdpfj4jsv7wh")) @@ -610,10 +712,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0pjqrdmd1991x9h4rl8sf81pkd89hfd5h1a2gp3fjw96pk0w5hwb")))) @@ -685,10 +784,7 @@ HostData=lib/qt5 (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1msk8a0z8rr16hkp2fnv668vf6wayiydqgc2mcklaa04rv3qb0mz")) @@ -726,10 +822,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0gkfzj195v9flwljnqpdz3a532618yn4h2577nlsai56x4p7053h")))) @@ -750,10 +843,7 @@ from within Qt 5."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1ypj5jpa31rlx8yfw3y9jia212lfnxvnqkvygs6ihjf3lxi23skn")))) @@ -781,10 +871,7 @@ xmlpatternsvalidator."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0lancdn7y0lrlmyn5cbdm0izd5yprvd5n77nhkb7a3wl2sbx0066")))) @@ -825,10 +912,7 @@ with JavaScript and C++."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "185zci61ip1wpjrygcw2m6v55lvninc0b8y2p3jh6qgpf5w35003")))) @@ -849,10 +933,7 @@ with Bluetooth and NFC."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0gr399fn5n8j3m9d3vv01vcbr1cb7pw043j04cnnxzrlvn2jvd50")))) @@ -876,10 +957,7 @@ consume data received from the server, or both."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0fa81r7bn1mf9ynwsx524a55dx1q0jb4vda6j48ssb4lx7wi201z")))) @@ -909,10 +987,7 @@ recognition API for devices."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1xbd6kc7i0iablqdkvfrajpi32cbq7j6ajbfyyyalcai1s0mhdqc")) @@ -960,10 +1035,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1ddfx4nak16xx0zh1kl836zxvpbixmmjyplsmfmg65pqkwi34dqr")))) @@ -1015,10 +1087,7 @@ compositor libraries."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "17gp5qzg4wdg8qlxk2p3mh8x1vk33rf33wic3fy0cws193bmkiar")))) @@ -1049,10 +1118,7 @@ interacting with serial ports from within Qt."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "125x6756fjpldqy6wbw6cg7ngjh2016aiq92bchh719z1mf7xsxf")))) @@ -1084,10 +1150,7 @@ and others."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1h9y634phvvk557mhmf9z4lmxr41rl8x9mqy2lzp31mk8ffffzqj")))) @@ -1108,10 +1171,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0ihlnhv8ldkqz82v3j7j22lrhk17b6ghra8sx85y2agd2ysq5rw1")))) @@ -1144,10 +1204,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1rw1wibmbxlj6xc86qs3y8h42al1vczqiksyxzaylxs9gqb4d7xy")))) @@ -1197,10 +1254,7 @@ positioning and geolocation plugins."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1k618f7v6jaj0ygy8d7jvgb8zjr47sn55kiskbdkkizp3z7d12f1")))) @@ -1225,10 +1279,7 @@ that helps in Qt development."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0gk74hk488k9ldacxbxcranr3arf8ifqg8kz9nm1rgdgd59p36d2")) @@ -1249,10 +1300,7 @@ ECMAScript and Qt."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1dczakl868mg0lnwpf082jjc5976ycn879li1vqlgw5ihirzp4y3")))) @@ -1273,10 +1321,7 @@ can be used to build complete interfaces in Qt Quick."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "06c9vrwvbjmzapmfa25y34lgjkzg57xxbm92nr6wkv5qykjnq6v7")))) @@ -1298,10 +1343,7 @@ not available."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1r6zfc0qga2ax155js7c8y5rx6vgayf582s921j09mb797v6g3gc")))) @@ -1325,10 +1367,7 @@ coloring, and many more."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "0p07bg93fdfn4gr2kv38qgnws5znhswajrxdfs8xc9l3i7vi2xn7")))) @@ -1355,10 +1394,7 @@ and mobile applications targeting TV-like form factors."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1p5771b9hnpchfcdgy0zkhwg09a6xq88934aggp0rij1k85mkfb0")) @@ -1386,10 +1422,7 @@ also contains functionality to support data models and executable content."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "09rjx53519dfk4qj2gbn3vlxyriasyb747wpg1p11y7jkwqhs4l7")))) @@ -1406,10 +1439,7 @@ purchasing goods and services."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "049x7z8zcp9jixmdv2fjscy2ggpd6za9hkdbb2bqp2mxjm0hwxg0")))) @@ -1433,10 +1463,7 @@ selecting one of the charts themes.") (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1zdn3vm0nfy9ny7c783aabp3mhlnqhi9fw2rljn7ibbksmsnasi2")))) @@ -1460,10 +1487,7 @@ customized by using themes or by adding custom items and labels to them.") (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "11fdgacv4syr8bff2vdw7rb0dg1gcqpdf37hm3pn31d6z91frhpw")))) @@ -1489,10 +1513,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1hngbp0vkr35rpsrac7b9vx6f360v8v2g0fffzm590l8j2ybd0b7")))) @@ -1526,10 +1547,7 @@ processes or computers."))) (version "5.15.2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1xc3x3ghnhgchsg1kgj156yg69wn4rwjx8r28i1jd05hxjggn468")))) @@ -1591,10 +1609,7 @@ using the Enchant spell-checking library.") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) + (uri (qt5-urls name version)) (sha256 (base32 "1q4idxdm81sx102xc12ixj0xpfx52d6vwvs3jpapnkyq8c7cmby8")) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 9f92b30b39..bbf7fb8d57 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020 Christopher Howard <christopher@librehacker.com> ;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com> -;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net> ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> @@ -66,6 +66,7 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) + #:use-module (gnu packages video) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) @@ -538,7 +539,7 @@ to the fix block above. (define-public gqrx (package (name "gqrx") - (version "2.13.5") + (version "2.14.4") (source (origin (method git-fetch) @@ -547,7 +548,7 @@ to the fix block above. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "168wjad5g0ka555hwsciwbj7fqx1c89q59hq1yxj8aiyp5kfcahx")))) + (base32 "0m4ncydihz4n4i80c252vk3c5v672yab1jv85n6ndn7a92xv3ilq")))) (build-system qt-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1057,7 +1058,7 @@ their position, altitude, speed, etc.") (define-public rtl-433 (package (name "rtl-433") - (version "20.02") + (version "20.11") (source (origin (method git-fetch) @@ -1066,7 +1067,7 @@ their position, altitude, speed, etc.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11991xky9gawkragdyg27qsf7kw5bhlg7ygvf3fn7ng00x4xbh1z")))) + (base32 "093bxjxkg7yf78wqj5gpijbfa2p05ny09qqsj84kzi1svnzsa369")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1117,3 +1118,73 @@ modes: @item X10 @end itemize") (license license:gpl2+))) + +(define-public nanovna-saver + (package + (name "nanovna-saver") + (version "0.3.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/NanoVNA-Saver/nanovna-saver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0z83rwpnbbs1n74mx8dgh1d1crp90mannj9vfy161dmy4wzc5kpv")))) + (build-system python-build-system) + (native-inputs + `(("python-cython" ,python-cython))) + (inputs + `(("python-numpy" ,python-numpy) + ("python-pyqt" ,python-pyqt) + ("python-pyserial" ,python-pyserial) + ("python-scipy" ,python-scipy))) + (arguments + '(#:tests? #f)) + (home-page "https://github.com/NanoVNA-Saver/nanovna-saver") + (synopsis "GUI for NanoVNA devices") + (description + "NanoVNA-Saver is a tool for reading, displaying and saving data from the +NanoVNA vector network analyzers.") + (license license:gpl3+))) + +(define-public qsstv + (package + (name "qsstv") + (version "9.4.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://users.telenet.be/on4qz/qsstv/downloads/" + "qsstv_" version ".tar.gz")) + (sha256 + (base32 "0f9hx6sy418cb23fadll298pqbc5l2lxsdivi4vgqbkvx7sw58zi")))) + (build-system qt-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("hamlib" ,hamlib) + ("openjpeg" ,openjpeg) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("v4l-utils" ,v4l-utils))) + (arguments + `(#:tests? #f ; No test suite. + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "qmake" + (string-append "PREFIX=" (assoc-ref outputs "out"))) + #t))))) + (home-page "http://users.telenet.be/on4qz/qsstv/") + (synopsis "Program for receiving and transmitting SSTV and HAMDRM") + (description + "QSSTV is a program for receiving and transmitting SSTV and HAMDRM +(sometimes called DSSTV). It is compatible with most of MMSSTV and EasyPal.") + (license (list license:gpl2+ + license:qwt1.0)))) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index be426e102a..0841c1fd8d 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl> @@ -268,14 +268,14 @@ and triple stores.") (define-public serd (package (name "serd") - (version "0.30.6") + (version "0.30.8") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/serd-" version ".tar.bz2")) (sha256 (base32 - "1vrprliknw9s0mz99dk7qf8i8xx38dd173q6b60332wxcm6cg8pm")))) + "11zs53yx40mv62vxsl15mvdh7s17y5v6lgcgahdvzxgnan7w8bk7")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -302,14 +302,14 @@ ideal (e.g. in LV2 implementations or embedded applications).") (define-public sord (package (name "sord") - (version "0.16.6") + (version "0.16.8") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/sord-" version ".tar.bz2")) (sha256 (base32 - "0i4x49ckdi1d24kwp6rmnf2mz78sncdpq22xhv9kclq8frxg4yk6")))) + "052y7zllrg0bzyky2rmrrwnnf16p6bk7q40rq9mgm0mzm8p9sa3w")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 29d17f0755..2bd6fc21cf 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4978,10 +4978,16 @@ both CSS3 selector and XPath 1.0 support.") "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec")) + `(#:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-git-ls-files + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Rakefile" + (("git ls-files") "find . -type f")) + #t))))) (native-inputs - `(("ruby-rspec" ,ruby-rspec) - ("git" ,git))) + `(("ruby-rspec" ,ruby-rspec))) (synopsis "Retrieve the source code for Ruby methods") (description "Method_source retrieves the source code for Ruby methods. Additionally, it can extract source code from Proc and Lambda objects or just diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 3745a8377c..2f27f94222 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.ccom> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,8 @@ #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages documentation) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gtk) #:use-module (gnu packages jemalloc) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) @@ -90,6 +93,47 @@ highlighting for a large number of languages, git integration, and automatic paging.") (license (list license:expat license:asl2.0)))) +(define-public drill + (package + (name "drill") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "drill" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m73d7rzi0p5c1hn0081d2235kcyapdza7h0vqf5jhnirpnjn793")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-clap" ,rust-clap-2) + ("rust-colored" ,rust-colored-1) + ("rust-csv" ,rust-csv-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-rand" ,rust-rand-0.7) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.10) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-url" ,rust-url-2) + ("rust-yaml-rust" ,rust-yaml-rust-0.4)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("openssl" ,openssl))) + (home-page "https://github.com/fcsonline/drill") + (synopsis "HTTP load testing application") + (description + "Drill is a HTTP load testing application written in Rust inspired by +Ansible syntax. Benchmark files can be written in YAML.") + (license license:gpl3))) + (define-public exa (package (name "exa") @@ -204,7 +248,7 @@ also knows about symlinks, extended attributes, and Git.") ("rust-atty" ,rust-atty-0.2) ("rust-clap" ,rust-clap-2) ("rust-ctrlc" ,rust-ctrlc-3.1) - ("rust-dirs" ,rust-dirs-2.0) + ("rust-dirs" ,rust-dirs-2) ("rust-globset" ,rust-globset-0.4) ("rust-humantime" ,rust-humantime-2) ("rust-ignore" ,rust-ignore-0.4) @@ -458,46 +502,117 @@ gitignore rules.") (base32 "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m")))))) +(define-public tectonic + (package + (name "tectonic") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tectonic" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "16fm2bfvfizrydmirzf0bhr1fidb5slcbvr6150and8yqr8jc4lf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-app-dirs2" ,rust-app-dirs2-2) + ("rust-atty" ,rust-atty-0.2) + ("rust-byte-unit" ,rust-byte-unit-4) + ("rust-cbindgen" ,rust-cbindgen-0.16) + ("rust-cc" ,rust-cc-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-error-chain" ,rust-error-chain-0.12) + ("rust-flate2" ,rust-flate2-1) + ("rust-fs2" ,rust-fs2-0.4) + ("rust-headers" ,rust-headers-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-md-5" ,rust-md-5-0.9) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.9) + ("rust-serde" ,rust-serde-1) + ("rust-sha2" ,rust-sha2-0.9) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1) + ("rust-tectonic-xdv" ,rust-tectonic-xdv-0.1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-termcolor" ,rust-termcolor-1) + ("rust-toml" ,rust-toml-0.5) + ("rust-vcpkg" ,rust-vcpkg-0.2) + ("rust-zip" ,rust-zip-0.5)) + #:cargo-development-inputs + (("rust-filetime" ,rust-filetime-0.2) + ("rust-futures" ,rust-futures-0.1) + ("rust-headers" ,rust-headers-0.2) + ("rust-hyper" ,rust-hyper-0.12) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-tokio" ,rust-tokio-0.1)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (copy-recursively "docs/src" doc) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fontconfig" ,fontconfig) + ("harfbuzz" ,harfbuzz) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (home-page "https://tectonic-typesetting.github.io/") + (synopsis "Complete, embeddable TeX/LaTeX engine") + (description + "This package provides a modernized, complete, embeddable +TeX/LaTeX engine. Tectonic is forked from the XeTeX extension to the +classic Web2C implementation of TeX and uses the TeXLive distribution +of support files.") + (license license:expat))) + (define-public tokei (package (name "tokei") - (version "10.1.1") + (version "12.1.2") (source - (origin - (method url-fetch) - (uri (crate-uri "tokei" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "07f5laqw2k9l3k8wrg9h8p2m5d9hkfxngyacwrn3vs7mlnw8l81m")))) + (origin + (method url-fetch) + (uri (crate-uri "tokei" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "000w549v1bpw7r57xw656p40ywf1gimvxxx5cjnri2js0xg927x4")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-clap" ,rust-clap-2) - ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4) - ("rust-dirs" ,rust-dirs-2.0) + (("rust-aho-corasick" ,rust-aho-corasick-0.7) + ("rust-clap" ,rust-clap-2) + ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) + ("rust-dashmap" ,rust-dashmap-4) + ("rust-dirs" ,rust-dirs-3) ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1) - ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-env-logger" ,rust-env-logger-0.8) ("rust-grep-searcher" ,rust-grep-searcher-0.1) ("rust-hex" ,rust-hex-0.4) ("rust-ignore" ,rust-ignore-0.4) ("rust-log" ,rust-log-0.4) + ("rust-num-format" ,rust-num-format-0.4) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-parking-lot" ,rust-parking-lot-0.11) ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) - ("rust-serde-cbor" ,rust-serde-cbor-0.10) - ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-cbor" ,rust-serde-cbor-0.11) ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-tera" ,rust-tera-1) ("rust-term-size" ,rust-term-size-0.3) ("rust-toml" ,rust-toml-0.5)) #:cargo-development-inputs - (("rust-git2" ,rust-git2-0.11) - ("rust-handlebars" ,rust-handlebars-2.0) - ("rust-ignore" ,rust-ignore-0.4) - ("rust-lazy-static" ,rust-lazy-static-1) + (("rust-git2" ,rust-git2-0.13) ("rust-regex" ,rust-regex-1) - ("rust-serde-json" ,rust-serde-json-1) ("rust-tempfile" ,rust-tempfile-3)))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -539,7 +654,7 @@ blanks grouped by language.") (install-file "README.md" doc) #t)))) #:cargo-inputs - (("rust-embed-resource" ,rust-embed-resource-1.3) + (("rust-embed-resource" ,rust-embed-resource-1) ("rust-derive-builder" ,rust-derive-builder-0.9) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-glob" ,rust-glob-0.3) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 679e2ab869..13e03d7ac7 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -443,51 +443,48 @@ key-value pair databases and a real LDAP database.") (license lgpl3+))) (define-public ppp - ;; This git commit contains unreleased fixes for CVE-2020-8597. - (let ((revision "1") - (commit "8d45443bb5c9372b4c6a362ba2f443d41c5636af")) - (package - (name "ppp") - (version (git-version "2.4.8" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/paulusmack/ppp") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06cf8fb84l3h2zy5da4j7k2j1qjv2gfqn986sf43xgj75605aks2")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no check target - #:make-flags '("CC=gcc") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-Makefile - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc")) - (openssl (assoc-ref inputs "openssl")) - (libpcap (assoc-ref inputs "libpcap"))) - (substitute* "pppd/Makefile.linux" - (("/usr/include/crypt\\.h") - (string-append libc "/include/crypt.h")) - (("/usr/include/openssl") - (string-append openssl "/include/openssl")) - (("/usr/include/pcap-bpf.h") - (string-append libpcap "/include/pcap-bpf.h"))) - #t)))))) - (inputs - `(("libpcap" ,libpcap) - ("openssl" ,(@ (gnu packages tls) openssl)))) - (synopsis "Implementation of the Point-to-Point Protocol") - (home-page "https://ppp.samba.org/") - (description - "The Point-to-Point Protocol (PPP) provides a standard way to establish + (package + (name "ppp") + (version "2.4.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paulusmack/ppp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no check target + #:make-flags '("CC=gcc") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-Makefile + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc")) + (openssl (assoc-ref inputs "openssl")) + (libpcap (assoc-ref inputs "libpcap"))) + (substitute* "pppd/Makefile.linux" + (("/usr/include/crypt\\.h") + (string-append libc "/include/crypt.h")) + (("/usr/include/openssl") + (string-append openssl "/include/openssl")) + (("/usr/include/pcap-bpf.h") + (string-append libpcap "/include/pcap-bpf.h"))) + #t)))))) + (inputs + `(("libpcap" ,libpcap) + ("openssl" ,(@ (gnu packages tls) openssl)))) + (synopsis "Implementation of the Point-to-Point Protocol") + (home-page "https://ppp.samba.org/") + (description + "The Point-to-Point Protocol (PPP) provides a standard way to establish a network connection over a serial link. At present, this package supports IP and IPV6 and the protocols layered above them, such as TCP and UDP.") - ;; pppd, pppstats and pppdump are under BSD-style notices. - ;; some of the pppd plugins are GPL'd. - ;; chat is public domain. - (license (list bsd-3 bsd-4 gpl2+ public-domain))))) + ;; pppd, pppstats and pppdump are under BSD-style notices. + ;; some of the pppd plugins are GPL'd. + ;; chat is public domain. + (license (list bsd-3 bsd-4 gpl2+ public-domain)))) diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm index f699824a05..9a6b75333b 100644 --- a/gnu/packages/scribus.scm +++ b/gnu/packages/scribus.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +46,26 @@ #:use-module (gnu packages tls) #:use-module (gnu packages xml)) +(define podofo-for-scribus + (package + (inherit podofo) + (version "0.9.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/podofo/podofo/" version + "/podofo-" version ".tar.gz")) + (sha256 + (base32 "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix the build with CMake 3.12.0. + (substitute* "test/TokenizerTest/CMakeLists.txt" + (("\\$\\{CMAKE_COMMAND\\}") + "true")) + #t)))))) + (define-public scribus (package (name "scribus") @@ -96,7 +116,9 @@ ("libxml2" ,libxml2) ("libzmf" ,libzmf) ("openssl" ,openssl) - ("podofo" ,podofo) + ;; Scribus 1.5.6.1 does not build with later versions, see + ;; <https://bugs.scribus.net/view.php?id=16427>. + ("podofo" ,podofo-for-scribus) ("poppler" ,poppler) ("python" ,python) ; need Python library ("qtbase" ,qtbase) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 8293d562b3..d458747872 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> +;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) @@ -35,7 +37,9 @@ #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages less) #:use-module (gnu packages linux) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages python) @@ -49,14 +53,14 @@ (define-public xapian (package (name "xapian") - (version "1.4.17") + (version "1.4.18") ;; Note: When updating Xapian, remember to update xapian-bindings below. (source (origin (method url-fetch) (uri (string-append "https://oligarchy.co.uk/xapian/" version "/xapian-core-" version ".tar.xz")) (sha256 - (base32 "0bjpaavdckl4viznr8gbq476fvg648sj4rks2vacmc51vrb8bsxm")))) + (base32 "0xsb4ihf3p767f0zx9p4janwni6r9sg5j6lry0002i8hmnsdnv8r")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("util-linux" ,util-linux "lib"))) @@ -94,7 +98,7 @@ rich set of boolean query operators.") "/xapian-bindings-" version ".tar.xz")) (sha256 (base32 - "1lzb739hjfy9ih2c0ircra50h4jr48wxq1fal7sai963w28mv9j8")))) + "13ziql8027glgihgvnbsa75vkcn82g83mbihj60zf0njj170clpy")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-python3") @@ -413,4 +417,59 @@ online libraries. It provides fast search of document text and bibliographic data and simple document and bibtex retrieval.") (license gpl3+))) +(define-public ugrep + (package + (name "ugrep") + (version "3.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Genivia/ugrep") + (commit (string-append "v" version)))) + (sha256 + (base32 "1ydnpdhn1mp2pnbqzvwabrp573626k89kbv97fax6y1bz2pamrg4")) + (file-name (string-append name "-" version "-checkout")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "bin") ;; pre-build executables + (for-each delete-file (find-files "tests" "^archive\\..*")) + (for-each delete-file (find-files "tests" "^.*\\.pdf$")) + (for-each delete-file (find-files "tests" "^.*\\.class$")) + #t)))) + (build-system gnu-build-system) + (inputs + `(("bzip2" ,bzip2) + ("less" ,less) + ("lz4" ,lz4) + ("lzip" ,lzip) ;; lzma + ("pcre2" ,pcre2) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ;; No script for re-building the binary test input-files + #:test-target "test" + #:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + ;; unpatch shepengs in tests + (substitute* '("tests/Hello.bat" + "tests/Hello.sh") + (("#!/gnu/store/.*/bin/sh") "#!/bin/sh"))))))) + (home-page "https://github.com/Genivia/ugrep/") + (synopsis "Faster grep with an interactive query UI") + (description "Ugrep is a ultra fast searcher of file systems, text +and binary files, source code, archives, compressed files, documents, and +more. + +While still being compatible with the standard GNU/BSD grep command-line +options, ugrep supports fuzzy search as well as structured and (adjustable) +colored output, piped through \"less\" for pagination. An interactive query +UI allows refinement and has a built-in help (press F1). Ugrep implements +multi-threaded and other techniques to speed up search, pattern-matching and +decompression. Many pre-defined regexps ease searching e.g. C typdefs or XML +attributes. Results can be output in several structured or self-defined +formats.") + (license bsd-3))) + ;;; search.scm ends here diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index ce3396a7c4..bd8c6248d9 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -83,7 +83,7 @@ ("rust-colored" ,rust-colored-1.9.1) ("rust-crossterm" ,rust-crossterm-0.13) ("rust-ctor" ,rust-ctor-0.1) - ("rust-dirs" ,rust-dirs-2.0) + ("rust-dirs" ,rust-dirs-2) ("rust-dyn-clone" ,rust-dyn-clone-1) ("rust-ed25519-dalek" ,rust-ed25519-dalek-1) ("rust-eax" ,rust-eax-0.3) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 65ce0a8c6a..6e60907287 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -825,14 +825,14 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "02pw7x76jzfmk8fqs1k0pz7vwnkal458p93j4if0w0hg36xyx1j2")))) + (base32 "1g7ij3va9rlapfyl3zd08g2iffcr6b0n8b0zrp0bnxwvvnysl95h")))) (build-system gnu-build-system) (arguments `(#:strip-binaries? #f ; strip breaks the binary diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 1fd7d91eb9..51be1a30e8 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com> ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr> ;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -30,14 +30,14 @@ (define-public skalibs (package (name "skalibs") - (version "2.9.3.0") + (version "2.10.0.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "0i1vg3bh0w3bpj7cv0kzs6q9v2dd8wa2by8h8j39fh1qkl20f6ph")))) + (base32 "122xipbxh6awsfdfj37mjc8f3g8ndmmmps4gw5s43mya8wgzib61")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -62,14 +62,14 @@ and file system operations. It is used by all skarnet.org software.") (define-public execline (package (name "execline") - (version "2.6.1.1") + (version "2.7.0.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "0mmsnai3bkyhng0cxdz6bf7d6b7kbsxs4p39m63215lz6kq0hhrr")))) + (base32 "0kl74yix60msgw8k3shhp9ymm80n91yxxqckixj5qbbhmylpnpqd")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -104,14 +104,14 @@ complexity."))) (define-public s6 (package (name "s6") - (version "2.9.2.0") + (version "2.10.0.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6/s6-" version ".tar.gz")) (sha256 - (base32 "1pfxx50shncg2s47ic4kp02jh1cxfjq75j3mnxjagyzzz0mbfg9n")))) + (base32 "0xzqrd0m3wjklmw1w3gjw5dcdxnhgvxv2r5wd6m2ismw2jprr9k0")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) @@ -150,14 +150,14 @@ functionality with a very small amount of code."))) (define-public s6-dns (package (name "s6-dns") - (version "2.3.3.0") + (version "2.3.4.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-" version ".tar.gz")) (sha256 - (base32 "05l74ciflaahlgjpvy1g0slydwqclxgybxrkpvdddd2yzwc5kira")))) + (base32 "03s94bc1y2yf0i3v3gh27xz3l2ycf246nb29mrf1zm4v9kdff5fn")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -179,14 +179,14 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (define-public s6-networking (package (name "s6-networking") - (version "2.3.2.0") + (version "2.4.0.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-networking/s6-networking-" version ".tar.gz")) (sha256 - (base32 "04kxj579pm4n5ifc3gfmrqj74vqqfqc82d69avzkn3yrc226mqxv")))) + (base32 "1yqykwfl5jnkxgr6skfj5kzd896pknij0hi5m7lj0r18jpfs5zgq")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) @@ -222,14 +222,14 @@ clock synchronization."))) (define-public s6-rc (package (name "s6-rc") - (version "0.5.1.4") + (version "0.5.2.1") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-rc/s6-rc-" version ".tar.gz")) (sha256 - (base32 "07q0ixpwsmj1v08l6vd7qywdg33zzn8vhm21kvp179bapdzs8sdg")))) + (base32 "02pszbi440wagx2qp8aqj9mv5wm2qisw9lkq7mbnbnxxw9azlhi8")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) @@ -263,7 +263,7 @@ environment."))) (define-public s6-portable-utils (package (name "s6-portable-utils") - (version "2.2.3.0") + (version "2.2.3.1") (source (origin (method url-fetch) @@ -271,7 +271,7 @@ environment."))) "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" version ".tar.gz")) (sha256 - (base32 "063zwifigg2b3wsixdcz4h9yvr6fkqssvx0iyfsprjfmm1yapfi9")))) + (base32 "1ks1ch5v3p2z8y8wp5fmzzgjrqn2l5sj1sgfp8vv6wy8psd8mrj3")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -295,7 +295,7 @@ systems and other constrained environments, but they work everywhere."))) (define-public s6-linux-init (package (name "s6-linux-init") - (version "1.0.5.1") + (version "1.0.6.0") (source (origin (method url-fetch) @@ -303,7 +303,7 @@ systems and other constrained environments, but they work everywhere."))) "https://skarnet.org/software/s6-linux-init/s6-linux-init-" version ".tar.gz")) (sha256 - (base32 "1gkbjldf4f7i3vmv251f9hw7ma09nh8zkwjmqi2gplpkf7z3i34p")))) + (base32 "0kzif3dqhm7h4h7c6npzdbcy7w756222g8ysw116fgb8j385dr6w")))) (build-system gnu-build-system) (inputs `(("execline" ,execline) @@ -341,7 +341,7 @@ all the details."))) (define-public s6-linux-utils (package (name "s6-linux-utils") - (version "2.5.1.3") + (version "2.5.1.4") (source (origin (method url-fetch) @@ -349,7 +349,7 @@ all the details."))) "https://skarnet.org/software/s6-linux-utils/s6-linux-utils-" version ".tar.gz")) (sha256 - (base32 "0wbv02zxaami88xbj2zg63kspz05bbplswg0c6ncb5g9khf52wa4")))) + (base32 "02gxzc9igid2kf2rvm3v6kc9806mpjmdq7cpanv4cml0ip68vbfq")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 7da42d958c..cbf0d21f51 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> @@ -439,6 +439,30 @@ theme for the Sphinx documentation system. It's the default theme of Sphinx.") (define-public python2-sphinx-alabaster-theme (package-with-python2 python-sphinx-alabaster-theme)) +(define-public python-sphinx-argparse + (package + (name "python-sphinx-argparse") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sphinx-argparse" version)) + (sha256 + (base32 "05wc8f5hb3jsg2vh2jf7jsyan8d4i09ifrz2c8fp6f7x1zw9iav0")))) + (build-system python-build-system) + (propagated-inputs + `(("python-sphinx" ,python-sphinx))) + (native-inputs + `(("python-commonmark" ,python-commonmark) + ("python-pytest" ,python-pytest) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (home-page "https://github.com/ribozz/sphinx-argparse") + (synopsis "Sphinx extension for documenting argparse commands and options") + (description + "This package is a sphinx extension that automatically documents +argparse commands and options") + (license license:expat))) + (define-public python-sphinx-cloud-sptheme (package (name "python-sphinx-cloud-sptheme") diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 0f2434d7c5..04c8c6ceaa 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -2,9 +2,9 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> @@ -44,6 +44,7 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages groff) #:use-module (gnu packages guile) + #:use-module (gnu packages hurd) #:use-module (gnu packages libedit) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -200,7 +201,9 @@ a server that supports the SSH-2 protocol.") ("pkg-config" ,pkg-config))) (inputs `(("libedit" ,libedit) ("openssl" ,openssl) - ("pam" ,linux-pam) + ,@(if (hurd-target?) + '() + `(("pam" ,linux-pam))) ("mit-krb5" ,mit-krb5) ("zlib" ,zlib) ("xauth" ,xauth))) ; for 'ssh -X' and 'ssh -Y' @@ -223,7 +226,9 @@ a server that supports the SSH-2 protocol.") "--with-libedit" ;; Enable PAM support in sshd. - "--with-pam" + ,,@(if (hurd-target?) + '() + '("--with-pam")) ;; "make install" runs "install -s" by default, ;; which doesn't work for cross-compiled binaries @@ -666,18 +671,17 @@ manipulating key files.") (define-public sshpass (package (name "sshpass") - (version "1.06") - (synopsis "Non-interactive password authentication with SSH") - (home-page "https://sourceforge.net/projects/sshpass/") + (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sshpass/sshpass/" version "/sshpass-" version ".tar.gz")) (sha256 - (base32 - "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6")))) + (base32 "1dwzqknpswa8vjlbwsx9rcq1j2a7px9h9i2anh09pzkz0mg6wx3i")))) (build-system gnu-build-system) + (home-page "https://sourceforge.net/projects/sshpass/") + (synopsis "Non-interactive password authentication with SSH") (description "sshpass is a tool for non-interactively performing password authentication with SSH's so-called @dfn{interactive keyboard password authentication}.") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index be8d2c6f90..f6554e5fcc 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> @@ -161,14 +161,14 @@ simulation not wholly unlike BUGS. JAGS was written with three aims in mind: (define-public libxls (package (name "libxls") - (version "1.5.3") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/libxls/libxls/releases/download/" "v" version "/libxls-" version ".tar.gz")) (sha256 - (base32 "0rl513wpq5qh7wkmdk4g9c68rzffv3mcbz48p4xyg4969zrx8lnm")))) + (base32 "0wg3ymr43aa1j3scyl9x83b2xgg7wilzpil0dj91a8dzji6w7b2x")))) (build-system gnu-build-system) (home-page "https://github.com/libxls/libxls") (synopsis "Read binary (.xls) Excel spreadsheet files") @@ -523,14 +523,14 @@ code for possible problems.") (define-public r-foreign (package (name "r-foreign") - (version "0.8-80") + (version "0.8-81") (source (origin (method url-fetch) (uri (cran-uri "foreign" version)) (sha256 (base32 - "0wjdi3qn9famsxmpdyyahidaid0yhxlpx4ad9k8vrxhxd6xspasp")))) + "0b4rca1bl8xxna05057hchbwfmgjgx0n140szabpc0raizqzks0s")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") @@ -587,14 +587,14 @@ also flexible enough to handle most nonstandard requirements.") (define-public r-matrix (package (name "r-matrix") - (version "1.2-18") + (version "1.3-2") (source (origin (method url-fetch) (uri (cran-uri "Matrix" version)) (sha256 (base32 - "06b1rc1vq65b271f2wpzhqkvhng8hwwnvjflzxkng50i52603zzp")))) + "0ccmmfd0lbvrhzjzr28k4yfawiywa1m4ics34zyi3rqq23csa2wm")))) (properties `((upstream-name . "Matrix"))) (build-system r-build-system) (propagated-inputs @@ -609,13 +609,13 @@ and operations on them using LAPACK and SuiteSparse.") (define-public r-nlme (package (name "r-nlme") - (version "3.1-150") + (version "3.1-151") (source (origin (method url-fetch) (uri (cran-uri "nlme" version)) (sha256 - (base32 "18qmbzrmrham8hbdlzsca7w46c5iqighx1ymzggll5s86c4s7kvr")))) + (base32 "1jl6x0glpyszy6bkbcggm3f10jl4kldhs5q561k85xcbssx2dim2")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -1113,13 +1113,13 @@ using just two functions: melt and dcast (or acast).") (define-public r-ggplot2 (package (name "r-ggplot2") - (version "3.3.2") + (version "3.3.3") (source (origin (method url-fetch) (uri (cran-uri "ggplot2" version)) (sha256 - (base32 "0wsib5qpzn4d0w1ss3x158xmrawkms8vvsfvr3mh40pvd8g2ibad")))) + (base32 "1k136k1sr6dq1xvx6gs6gzji6hbnnwnsb5qivsxrblfv90irxhj5")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -1176,14 +1176,14 @@ agnes cluster diagrams.") (define-public r-gdtools (package (name "r-gdtools") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) (uri (cran-uri "gdtools" version)) (sha256 (base32 - "08njzin0c6biw62j5w30r9j85vr1m2cg4hmv5d76nym860yrlqjf")))) + "1p3ip0qwpg8f63jfx0b8vbac6l20ddid8xvxzkfi6i858pybnawp")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1269,14 +1269,16 @@ evaluation (NSE) in R.") (define-public r-dbi (package (name "r-dbi") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "DBI" version)) (sha256 (base32 - "1r03j9rdcxb9bhxk40dkmy10ikz4yzsxhy3f9k9ix3x577xbfvd9")))) + "0i0kfyg43nryyka2bjlgz4x75w965224qp36wz1hl7a2lswb6ajp")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/rstats-db/DBI") (synopsis "R database interface") (description @@ -1289,13 +1291,13 @@ R/DBMS implementations.") (define-public r-bh (package (name "r-bh") - (version "1.72.0-3") + (version "1.75.0-0") (source (origin (method url-fetch) (uri (cran-uri "BH" version)) (sha256 (base32 - "1ay8vb6i730lipg8b8g3893vqglhw2kqpc29lwdrxdkb66iw33l8")))) + "0nkgvl5qjs2a7jv0ncsrl4fqaw2pdaj7a1pncdv6kp874sci0k5f")))) (build-system r-build-system) (home-page "https://github.com/eddelbuettel/bh") (synopsis "R package providing subset of Boost headers") @@ -1584,13 +1586,13 @@ R packages that praise their users.") (define-public r-testthat (package (name "r-testthat") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (cran-uri "testthat" version)) (sha256 (base32 - "069ixg03r1s85my9dbc9c1261i4gz8fc1mv67whi2l6kpbp4cjzh")))) + "1l1s4jgmgbsf711ma5i58ssgkz98an7hijcxvwfz314nf5fc8zr9")))) (build-system r-build-system) (propagated-inputs `(("r-brio" ,r-brio) @@ -1646,13 +1648,13 @@ defined in different packages.") (define-public r-rlang (package (name "r-rlang") - (version "0.4.9") + (version "0.4.10") (source (origin (method url-fetch) (uri (cran-uri "rlang" version)) (sha256 (base32 - "0qix6jigz3qqjx151fpv1k5hq2miqyakvm3jql2qqsyr9d1028yr")))) + "0ximv89f6zymnwms121k1jfvvflrdm3pmmf5xyvz56f1qiq04lq7")))) (build-system r-build-system) (home-page "http://rlang.tidyverse.org") (synopsis "Functions for base types, core R and Tidyverse features") @@ -1664,14 +1666,14 @@ like tidy evaluation.") (define-public r-tibble (package (name "r-tibble") - (version "3.0.4") + (version "3.0.5") (source (origin (method url-fetch) (uri (cran-uri "tibble" version)) (sha256 (base32 - "189yyl27mnswk1z51xw6gj3lyxgy6m332jq8xyvwskff57w2w692")))) + "142i34h53b8w8jkh3l8y3xsqfvvgp7ybfbv830bjky7cymxjvj8w")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -1696,13 +1698,13 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "0jnw18nw20gw3jvq3kvkf9mqn6b7mvgmys8g6350k5jwpygk5cbw")))) + "0hc4wnx70mrsb3s0k5ywffhnky3hznlrvvs22m6ls5crgvcak898")))) (build-system r-build-system) (propagated-inputs `(("r-ellipsis" ,r-ellipsis) @@ -1851,13 +1853,13 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.13.4") + (version "1.13.6") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "0jrvl5b8qbzmiymhjgbj4l2nai87ijvv33aw24xvzjx0rkys9dv1")))) + "16ryrpzl86krww5nx7a97i09y5xqld4lw4d9pa1vzjl99x6ds36m")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -2126,14 +2128,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "1xgp4i6yxkh2viia96hlf004hn47yrhfivwf8wv63xdldqa8yj9v")))) + "1mf2nz78l97lbxyagv55bcxrny51ds8g28h307cfa1g3ayylp0x2")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2410,13 +2412,13 @@ functions make it easy to control additional request components.") (define-public r-git2r (package (name "r-git2r") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (cran-uri "git2r" version)) (sha256 (base32 - "1h1vfzym6hi1fqs9p5z5v0f4xldggr425frw8k6dsidah3qhg4h9")))) + "1wjmbs9cmm16pm3g0rmqp7cxxyh95m5lgx4fx5bpgj6j466i8vff")))) (build-system r-build-system) (inputs `(("libgit2" ,libgit2) @@ -2495,13 +2497,13 @@ tools to simplify the devolpment of R packages.") (define-public r-withr (package (name "r-withr") - (version "2.3.0") + (version "2.4.0") (source (origin (method url-fetch) (uri (cran-uri "withr" version)) (sha256 (base32 - "1837vjp35npjrnis1im5xrwj1swpgnms00gkjiz7296l8yckrh1c")))) + "1y0l6zbpg0wix60r58yk452aqvx4rd0bk7zw9b90lzniwk3wvr7d")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -2516,18 +2518,20 @@ were originally a part of the r-devtools package.") (define-public r-hms (package (name "r-hms") - (version "0.5.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "hms" version)) (sha256 (base32 - "1baki0qw5ijgiflvsdvqj3apg4yanf12vx14kwbqdzk5rz46fasf")))) + "0qn9lvpkqrpxck88nf0zbff43vd7d6s1ibg58qfr3w14sw1yj14p")))) (build-system r-build-system) (propagated-inputs - `(("r-rlang" ,r-rlang) + `(("r-ellipsis" ,r-ellipsis) + ("r-lifecycle" ,r-lifecycle) ("r-pkgconfig" ,r-pkgconfig) + ("r-rlang" ,r-rlang) ("r-vctrs" ,r-vctrs))) (home-page "https://github.com/rstats-db/hms") (synopsis "Pretty time of day") @@ -2631,13 +2635,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.10.1.2.0") + (version "0.10.1.2.2") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0nzi6plhdijx3khavmywzw9wbch0hj8kygphw35wdlslm4cnqcj1")))) + "0sfhk4mh39ab1y7pmlnijg4w65yz7pfsyjlqy931zdpjzh1kfciq")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs @@ -2677,13 +2681,13 @@ vectors.") (define-public r-catools (package (name "r-catools") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (cran-uri "caTools" version)) (sha256 (base32 - "0y1kgyiy322yhb0phzwvf2zgjz9awp13lhzhk9v1ddg88656jhq3")))) + "1yf98x2gaf84y9m32xrg84g384zlfwsdw7wvywdljpgdpvzs9szz")))) (properties `((upstream-name . "caTools"))) (build-system r-build-system) (propagated-inputs @@ -2723,13 +2727,13 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "0vmd1kykd4p1nwqbvra34sld5brac0wxb1zmav4wxj05shy67bd5")))) + (base32 "1c7nrpnv2v43msv7nia90rjh6s5x9m5wlb3mpiwy04fyfb29krz6")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs @@ -2838,13 +2842,13 @@ a column in data frame.") (define-public r-rsqlite (package (name "r-rsqlite") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (cran-uri "RSQLite" version)) (sha256 (base32 - "0lynli9144dzb9vhxssba20v7z5h2nirawpvvy8ykv4n3ir7qlsl")))) + "0wx8awxfd4q4mb5dk261rf7zd7y2lcm121fplay0vxl697yym719")))) (properties `((upstream-name . "RSQLite"))) (build-system r-build-system) (propagated-inputs @@ -3035,14 +3039,14 @@ statements.") (define-public r-segmented (package (name "r-segmented") - (version "1.3-0") + (version "1.3-1") (source (origin (method url-fetch) (uri (cran-uri "segmented" version)) (sha256 (base32 - "1a9nnlf8j8j4ik34z19x187s8ki7pv1aayr344jrpn3h6m8fk3x5")))) + "0g8l1i31zfqamvwc5j537k3ld6dr5z81p84grdlqq41gywmyidmr")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/segmented") (synopsis "Regression models with breakpoints estimation") @@ -3195,13 +3199,13 @@ using the multicore functionality of the parallel package.") (define-public r-dt (package (name "r-dt") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (cran-uri "DT" version)) (sha256 (base32 - "0in4d34nxb4pk2jygj0a21cqf0k0m4dhm4rjv68bnkp5kmmz6kbk")))) + "0mpvyfmi2viyhdqx11hznd7dl0q6kxrdmppjsmm2pk0x8a904hz3")))) (properties `((upstream-name . "DT"))) (build-system r-build-system) @@ -3274,13 +3278,13 @@ analysis of large sparse or dense matrices.") (define-public r-glmnet (package (name "r-glmnet") - (version "4.0-2") + (version "4.1") (source (origin (method url-fetch) (uri (cran-uri "glmnet" version)) (sha256 - (base32 "0qdswxvdwjcnw0by15p9yfzw8laq4f2j0ivpma6q8c5zywldpxxc")))) + (base32 "1js01qnznm20h4pslaw1ragxhrzk0w4nw7r6ryg7i27l344za2lg")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran) @@ -3780,14 +3784,14 @@ and tidyr provides no margins or aggregation.") (define-public r-hexbin (package (name "r-hexbin") - (version "1.28.1") + (version "1.28.2") (source (origin (method url-fetch) (uri (cran-uri "hexbin" version)) (sha256 (base32 - "1ry6jm3lqz3mj0s5rzbs6mpkz2hxpnvbw8c1vwc4pj7b173r5l22")))) + "0bbhs5pwxh474w62sq6gqvih7habancxng9wd4f2rgn6lv9zhhb2")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -3828,13 +3832,13 @@ features present in other programming languages.") (define-public r-plotly (package (name "r-plotly") - (version "4.9.2.1") + (version "4.9.3") (source (origin (method url-fetch) (uri (cran-uri "plotly" version)) (sha256 (base32 - "1f0x83a2s7200iqi6gpngijks06fcvcbm6701d5r5rxpb8rawppl")))) + "0801i2q7sw62x734d58h9p2fwpi1hirqj73gsg18pqkdv4b1lkfl")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -3843,7 +3847,6 @@ features present in other programming languages.") ("r-data-table" ,r-data-table) ("r-dplyr" ,r-dplyr) ("r-ggplot2" ,r-ggplot2) - ("r-hexbin" ,r-hexbin) ("r-htmltools" ,r-htmltools) ("r-htmlwidgets" ,r-htmlwidgets) ("r-httr" ,r-httr) @@ -3857,6 +3860,7 @@ features present in other programming languages.") ("r-scales" ,r-scales) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) + ("r-vctrs" ,r-vctrs) ("r-viridislite" ,r-viridislite))) (home-page "https://plot.ly/r") (synopsis "Create interactive web graphics") @@ -4138,14 +4142,14 @@ existing packages provide.") (define-public r-sfsmisc (package (name "r-sfsmisc") - (version "1.1-7") + (version "1.1-8") (source (origin (method url-fetch) (uri (cran-uri "sfsmisc" version)) (sha256 (base32 - "12g6m8sf17q3qmm133nm4fa296w5n5d9ly3fvb2nvc0w4llkif3l")))) + "198zpkz1gvw954ym8669svrk81yb49j6fyk5i6a7dw07z3snlmdn")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/sfsmisc") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") @@ -4533,14 +4537,14 @@ Farebrother's algorithm or Liu et al.'s algorithm.") (define-public r-cowplot (package (name "r-cowplot") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "cowplot" version)) (sha256 (base32 - "04d5pg4xi9nhgcbam71b5mp3q1g804ng864v90add1kddfyl3f9h")))) + "0j7d5vhzdxn1blrsfafx5z8lhq122rp8230hp9czrpsnnhjydp67")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -4790,14 +4794,14 @@ can be efficiently implemented directly in the R language.") (define-public r-robustbase (package (name "r-robustbase") - (version "0.93-6") + (version "0.93-7") (source (origin (method url-fetch) (uri (cran-uri "robustbase" version)) (sha256 (base32 - "1cr478xi4n9jwsdpbq182a7ig47rpb413q28dz6d1am08sk6657a")))) + "0mh9d114p3jdrjf8yn4dx5ff41niz5wn411y0ckjcpnazp8d44c9")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -4970,13 +4974,13 @@ groupings.") (define-public r-vgam (package (name "r-vgam") - (version "1.1-4") + (version "1.1-5") (source (origin (method url-fetch) (uri (cran-uri "VGAM" version)) (sha256 - (base32 "1iwrpyhz3khgw904zxz3pn7d61zvkd5m22gimzk57f8jjplxh1zm")))) + (base32 "1fx123h4x5awzshv0m4jqbbllrdjfpslb2i8gl9phm1y1wahn69h")))) (properties `((upstream-name . "VGAM"))) (build-system r-build-system) (native-inputs @@ -5037,14 +5041,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.") (define-public r-rcppeigen (package (name "r-rcppeigen") - (version "0.3.3.7.0") + (version "0.3.3.9.1") (source (origin (method url-fetch) (uri (cran-uri "RcppEigen" version)) (sha256 (base32 - "1b78qcjim0n9klgkr82n794d6bj9r9f33g0kcsszsns2hir65sk2")))) + "0qp9gypar280lm84pc8w0fxw4jgwqygwi3qnl5sl52kpkcj8c14a")))) (properties `((upstream-name . "RcppEigen"))) (build-system r-build-system) (propagated-inputs @@ -5107,13 +5111,13 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.75") + (version "5.82") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 - (base32 "05mb1qmwah5sdgg2z7m36lqkh479phvb1cx4sjnv1ykvmi9alxv5")))) + (base32 "01wcai04asr0wcfm001whihwbbx3b3r1m65ngknj82nh6hg4xhza")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5197,20 +5201,25 @@ C++ library for numerical linear algebra and RcppEigen glue.") (define-public r-pbkrtest (package (name "r-pbkrtest") - (version "0.4-8.6") + (version "0.5-0.1") (source (origin (method url-fetch) (uri (cran-uri "pbkrtest" version)) (sha256 (base32 - "0s5xhhrhv5i9680lw6af9lj2x4jc3fygmzzk0jjpxnb8g4b3p1jz")))) + "0sgl8r74cknmp8lnq5jvc1w181274ylgk6w4pxf4mzkfii42argm")))) (build-system r-build-system) (propagated-inputs - `(("r-lme4" ,r-lme4) + `(("r-broom" ,r-broom) + ("r-dplyr" ,r-dplyr) + ("r-lme4" ,r-lme4) ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) - ("r-matrix" ,r-matrix))) + ("r-matrix" ,r-matrix) + ("r-numderiv" ,r-numderiv))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://people.math.aau.dk/~sorenh/software/pbkrtest/") (synopsis "Methods for linear mixed model comparison") (description @@ -5527,14 +5536,14 @@ easy and fun.") (define-public r-fdrtool (package (name "r-fdrtool") - (version "1.2.15") + (version "1.2.16") (source (origin (method url-fetch) (uri (cran-uri "fdrtool" version)) (sha256 (base32 - "1h46frlk7d9f4qx0bg6p55nrm9wwwz2sv6d1nz7061wdfsm69yb5")))) + "1aap4k1l3a9m43374xq688mqnzkgqx8l021li262r3h1xr4adpp7")))) (build-system r-build-system) (home-page "http://strimmerlab.org/software/fdrtool/") (synopsis "Estimation of false discovery rates and higher criticism") diff --git a/gnu/packages/stenography.scm b/gnu/packages/stenography.scm index c462deacfa..979b2c29ef 100644 --- a/gnu/packages/stenography.scm +++ b/gnu/packages/stenography.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2021 Christopher Baines <mail@cbaines.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (gnu packages qt) #:use-module (gnu packages check) #:use-module (gnu packages libusb) #:use-module (gnu packages python) @@ -31,7 +33,7 @@ (define-public plover (package (name "plover") - (version "3.1.1") + (version "4.0.0.dev8") (source (origin (method git-fetch) @@ -40,21 +42,21 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "114rlxvq471fyifwcdcgdad79ak7q3w2lk8z9nqhz1i9fg05721c")))) + (base32 "1b2ys77bkjsdmyg97i7lq3lj45q56bycvsm06d4rs656kxhvc0a3")))) (build-system python-build-system) - (arguments - `(#:python ,python-2)) (native-inputs - `(("python2-mock" ,python2-mock) - ("python2-pytest" ,python2-pytest) - ("python2-setuptools-scm" ,python2-setuptools-scm))) + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm))) (inputs - `(("python2-appdirs" ,python2-appdirs) - ("python2-dbus" ,python2-dbus) - ("python2-hidapi" ,python2-hidapi) - ("python2-pyserial" ,python2-pyserial) - ("python2-wxpython" ,python2-wxpython) - ("python2-xlib" ,python2-xlib))) + `(("python-appdirs" ,python-appdirs) + ("python-pyqt" ,python-pyqt) + ("python-babel" ,python-babel) + ("python-dbus" ,python-dbus) + ("python-hidapi" ,python-hidapi) + ("python-pyserial" ,python-pyserial) + ("python-wxpython" ,python-wxpython) + ("python-xlib" ,python-xlib))) (home-page "https://www.openstenoproject.org/plover/") (synopsis "Stenography engine") (description diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 7e479a0d39..eb6cb7b4e3 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -189,58 +190,66 @@ Protocol.") (license mpl2.0))) (define-public syncthing-gtk - (package - (name "syncthing-gtk") - (version "0.9.4.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/syncthing/syncthing-gtk") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0nc0wd7qvyri7841c3dd9in5d7367hys0isyw8znv5fj4c0a6v1f")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'hardcode-dependencies - (lambda* (#:key inputs #:allow-other-keys) - (let ((psmisc (assoc-ref inputs "psmisc")) - (syncthing (assoc-ref inputs "syncthing"))) - ;; Hardcode dependencies paths to avoid propagation. - (substitute* "syncthing_gtk/tools.py" - (("killall") (string-append psmisc "/bin/killall"))) - (substitute* "syncthing_gtk/configuration.py" - (("/usr/bin/syncthing") (string-append syncthing - "/bin/syncthing")))) - #t)) - (add-after 'wrap 'wrap-libs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/syncthing-gtk") - `("GI_TYPELIB_PATH" ":" prefix - (,(getenv "GI_TYPELIB_PATH")))) - #t)))))) - (inputs - `(("gtk+" ,gtk+) - ("libappindicator" ,libappindicator) - ("libnotify" ,libnotify) - ("librsvg" ,librsvg) - ("python2-bcrypt" ,python2-bcrypt) - ("python2-dateutil" ,python2-dateutil) - ("python2-pycairo" ,python2-pycairo) - ("python2-pygobject" ,python2-pygobject) - ("python-nautilus" ,python-nautilus) - ("psmisc" ,psmisc) - ("syncthing" ,syncthing))) - (native-inputs - `(("python2-setuptools" ,python2-setuptools))) - (home-page "https://github.com/syncthing/syncthing-gtk") - (synopsis "GTK3 based GUI and notification area icon for Syncthing") - (description "@code{syncthing-gtk} is a GTK3 Python based GUI and + ;; The commit used below corresponds to the latest commit of the + ;; python3-port branch maintained by Debian. Upstream hasn't bothered + ;; porting to Python 3 (see: + ;; https://github.com/kozec/syncthing-gtk/issues/487). + (let ((revision "1") + (commit "c46fbd8ad1d12d409da8942702a2f119cf45514a")) + (package + (name "syncthing-gtk") + (version (git-version "0.9.4.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/debian/syncthing-gtk.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x1c8snf0jpgjmyyidjw0015ksk5ishqn817wx8vs9i0lfgnnbbg")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'hardcode-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (let ((psmisc (assoc-ref inputs "psmisc")) + (syncthing (assoc-ref inputs "syncthing"))) + ;; Hardcode dependencies paths to avoid propagation. + (substitute* "syncthing_gtk/tools.py" + (("killall") (string-append psmisc "/bin/killall"))) + (substitute* "syncthing_gtk/configuration.py" + (("/usr/bin/syncthing") (string-append syncthing + "/bin/syncthing")))))) + (add-after 'unpack 'remove-windows.py + (lambda _ + ;; A Windows-specific module that fails to load with + ;; "ModuleNotFoundError: No module named 'msvcrt'. + (delete-file "syncthing_gtk/windows.py"))) + (add-after 'wrap 'wrap-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/syncthing-gtk") + `("GI_TYPELIB_PATH" ":" prefix + (,(getenv "GI_TYPELIB_PATH")))))))))) + (inputs + `(("gtk+" ,gtk+) + ("libappindicator" ,libappindicator) + ("libnotify" ,libnotify) + ("librsvg" ,librsvg) + ("python-bcrypt" ,python-bcrypt) + ("python-dateutil" ,python-dateutil) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-nautilus" ,python-nautilus) + ("psmisc" ,psmisc) + ("syncthing" ,syncthing))) + ;; (native-inputs + ;; `(("python2-setuptools" ,python2-setuptools))) + (home-page "https://github.com/syncthing/syncthing-gtk") + (synopsis "GTK3 based GUI and notification area icon for Syncthing") + (description "@code{syncthing-gtk} is a GTK3 Python based GUI and notification area icon for Syncthing. Supported Syncthing features: @itemize @@ -250,7 +259,7 @@ notification area icon for Syncthing. Supported Syncthing features: @item Restart, shutdown server @item Editing daemon settings @end itemize\n") - (license gpl2))) + (license gpl2)))) (define-public go-github-com-jackpal-go-nat-pmp (package diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 9b7d84b3ce..016c5452dd 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -56,7 +56,7 @@ (define-public newsboat (package (name "newsboat") - (version "2.22") + (version "2.22.1") (source (origin (method url-fetch) @@ -64,7 +64,7 @@ "/newsboat-" version ".tar.xz")) (sha256 (base32 - "146p3j46hna1m8zlacb9q1ljnldwv6xrjbaplm94f2x0v4azi1jj")))) + "1476fmfw2hkrjwyr3f7k9316lzwnn2b1dbc51rybcxipqlfg8849")))) (build-system cargo-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -191,11 +191,15 @@ file system, and many more features.") (uri (git-reference (url "https://github.com/lwindolf/liferea/") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "1g9463bvswsm899j6dfhslcg6np70m5wq143mjicr24zy8d17bm7")))) (build-system glib-or-gtk-build-system) (arguments - `(#:phases + `(#:configure-flags + (list + "--disable-static") + #:phases (modify-phases %standard-phases (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) @@ -221,7 +225,8 @@ file system, and many more features.") ("pkg-config" ,pkg-config) ("which" ,which))) (inputs - `(("glib-networking" ,glib-networking) + `(("glib" ,glib) + ("glib-networking" ,glib-networking) ("gnome-keyring" ,gnome-keyring) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gstreamer" ,gstreamer) @@ -229,11 +234,14 @@ file system, and many more features.") ("libnotify" ,libnotify) ("libpeas" ,libpeas) ("libsecret" ,libsecret) + ("libsoup" ,libsoup) ("libxml2" ,libxml2) ("libxslt" ,libxslt) + ("pango" ,pango) ("python" ,python) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) + ("sqlite" ,sqlite) ("webkitgtk" ,webkitgtk))) (home-page "https://lzone.de/liferea/") (synopsis "News reader for GTK/GNOME") diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm new file mode 100644 index 0000000000..66b94baf28 --- /dev/null +++ b/gnu/packages/telegram.scm @@ -0,0 +1,557 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; +;;; 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 telegram) + #:use-module (gnu packages) + #:use-module (gnu packages aidc) + #:use-module (gnu packages animation) + #:use-module (gnu packages assembly) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages check) + #:use-module (gnu packages cmake) + #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) + #:use-module (gnu packages digest) + #:use-module (gnu packages fcitx) + #:use-module (gnu packages fcitx5) + #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages language) + #:use-module (gnu packages libreoffice) + #:use-module (gnu packages linux) + #:use-module (gnu packages lxqt) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages telephony) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xorg) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) + #:use-module (guix build-system qt)) + +(define-public webrtc-for-telegram-desktop + (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9") + (revision "52")) + (hidden-package + (package + (name "webrtc-for-telegram-desktop") + (version + (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/tg_owt.git") + (commit commit))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "06gcrlym6vqqw7zlds9lpwyg37d5m81d87h16aps19v0v9gzan0l")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + `(begin + (let ((keep + '( ;; Custom forks which are incompatible with the ones in Guix. + "abseil-cpp" "libsrtp" "openh264" "rnnoise" + ;; Not available in Guix. + "pffft" "usrsctp" + ;; Has cmake support files for libvpx input. + "libvpx"))) + (with-directory-excursion "src/third_party" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No target + #:configure-flags + (list + "-DCMAKE_C_FLAGS=-fPIC" + "-DCMAKE_CXX_FLAGS=-fPIC") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'copy-inputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((libvpx-from (assoc-ref inputs "libvpx")) + (libyuv-from (assoc-ref inputs "libyuv")) + (libvpx-to (string-append (getcwd) + "/src/third_party/libvpx/source/libvpx")) + (libyuv-to (string-append (getcwd) + "/src/third_party/libyuv"))) + (copy-recursively libvpx-from libvpx-to) + (copy-recursively libyuv-from libyuv-to)) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("yasm" ,yasm))) + (inputs + `(("alsa" ,alsa-lib) + ("ffmpeg" ,ffmpeg) + ("libjpeg" ,libjpeg-turbo) + ("libvpx" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://chromium.googlesource.com/webm/libvpx") + (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9"))) + (file-name + (git-file-name "libvpx-for-webrtc-for-telegram-desktop" version)) + (sha256 + (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68")))) + ("libyuv" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://chromium.googlesource.com/libyuv/libyuv") + (commit "ad890067f661dc747a975bc55ba3767fe30d4452"))) + (file-name + (git-file-name "libyuv-for-webrtc-for-telegram-desktop" version)) + (sha256 + (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll")))) + ("openssl" ,openssl) + ("opus" ,opus) + ("protobuf" ,protobuf) + ("pulseaudio" ,pulseaudio))) + (synopsis "WebRTC support for Telegram Desktop") + (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by +Telegram project, for its use in telegram desktop client.") + (home-page "https://github.com/desktop-app/tg_owt") + (license + (list + ;; Abseil-CPP + license:asl2.0 + ;; LibYuv + (license:non-copyleft "file:///src/third_party/libyuv/LICENSE") + ;; OpenH264 + license:bsd-2 + ;; PFFFT + (license:non-copyleft "file:///src/third_party/pffft/LICENSE") + ;; RnNoise + license:gpl3 + ;; LibSRTP, LibVPx, UsrSCTP and Others + license:bsd-3)))))) + +(define-public rlottie-for-telegram-desktop + (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b") + (revision "671")) + (hidden-package + (package + (inherit rlottie) + (version + (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/rlottie.git") + (commit commit))) + (file-name + (git-file-name "rlottie-for-telegram-desktop" version)) + (sha256 + (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c")))) + (arguments + `(#:configure-flags + (list + "-Dlog=true" + "-Ddumptree=true" + "-Dtest=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cxx-flags + (lambda _ + (substitute* "meson.build" + (("werror=true") + "werror=false")) + #t))))))))) + +(define-public libtgvoip-for-telegram-desktop + (let ((commit "37d98e984fd6fa389262307db826d52ab86c8241") + (revision "87")) + (hidden-package + (package + (inherit libtgvoip) + (version + (git-version "2.4.4" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/telegramdesktop/libtgvoip.git") + (commit commit))) + (file-name + (git-file-name "libtgvoip-for-telegram-desktop" version)) + (sha256 + (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h")))) + (arguments + `(#:configure-flags + (list + "--disable-static" + "--disable-dsp" ; FIXME + "--enable-audio-callback" + "--with-alsa" + "--with-pulse") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-linkers + (lambda _ + (substitute* "Makefile.am" + (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)") + "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)")) + (substitute* "tgvoip.pc.in" + (("libcrypto opus") + "libcrypto opus alsa libpulse")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))))))) + +(define-public telegram-desktop + (package + (name "telegram-desktop") + (version "2.5.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/telegramdesktop/tdesktop.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "0drirhkr9gnm1g03lcqmvap5ljlk859c29gbsm63hhsgv15dlw0y")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + `(begin + (let ((keep + '( ;; Not available in Guix. + "SPMediaKeyTap" "statusnotifieritem" "tgcalls"))) + (with-directory-excursion "Telegram/ThirdParty" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%qt-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules + ((guix build qt-build-system) + ((guix build glib-or-gtk-build-system) + #:prefix glib-or-gtk:) + (guix build utils) + (ice-9 match)) + #:configure-flags + (list + ;; Client applications must provide their own API-ID and API-HASH, + ;; see also <https://core.telegram.org/api/obtaining_api_id>. + ;; In case, that the credentials below fail to work, contact + ;; Raghav Gururajan <rg@raghavgururajan.name> + "-DTDESKTOP_API_ID=2791056" + "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2" + ;; Use bundled fonts as fallback. + "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (add-after 'make-writable 'copy-inputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each + (match-lambda + ((dst src) + (copy-recursively src dst) + (for-each make-file-writable (find-files dst)))) + `(("cmake" ,(assoc-ref inputs "cmake-helpers")) + ("Telegram/codegen" ,(assoc-ref inputs "codegen-source")) + ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source")) + ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source")) + ("Telegram/lib_lottie" + ,(assoc-ref inputs "lib-lottie-source")) + ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source")) + ("Telegram/lib_rlottie" + ,(assoc-ref inputs "lib-rlottie-source")) + ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source")) + ("Telegram/lib_spellcheck" + ,(assoc-ref inputs "lib-spellcheck-source")) + ("Telegram/lib_storage" + ,(assoc-ref inputs "lib-storage-source")) + ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source")) + ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source")) + ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source")) + ("Telegram/ThirdParty/tgcalls" + ,(assoc-ref inputs "tgcalls-source")))) + #t)) + (add-before 'configure 'patch-cxx-flags + (lambda _ + (substitute* "cmake/options_linux.cmake" + (("class-memaccess") "all")) + #t)) + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (native-inputs + `(("cmake-helpers" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/cmake_helpers.git") + (commit "a81345a28d407fb5acd5267ec6afa1864f4e8d5b"))) + (file-name + (git-file-name "cmake-helpers-for-telegram-desktop" version)) + (sha256 + (base32 "0s5hxip68dmkaspjq6j30wx1r5v4prnrjza79hdbznz6i57a2248")))) + ("cmake-shared" ,cmake-shared) + ("extra-cmake-modules" ,extra-cmake-modules) + ("gcc" ,gcc-9) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("qttools" ,qttools))) + (inputs + `(("alsa" ,alsa-lib) + ("c++-gsl" ,c++-gsl) + ("catch" ,catch-framework2) + ("codegen-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/codegen.git") + (commit "127968de8129e8ccfa6ac50721c70415a5a087c3"))) + (file-name + (git-file-name "codegen" version)) + (sha256 + (base32 "036hzjrsk134ky62192nra43rsln5kh5gz20q1920s922661zky2")))) + ("expected" ,libexpected) + ("fcitx-qt5" ,fcitx-qt5) + ("fcitx5-qt" ,fcitx5-qt) + ("ffmpeg" ,ffmpeg) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("hime" ,hime) + ("hunspell" ,hunspell) + ("iconv" ,libiconv) + ("lib-base-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_base.git") + (commit "81df0d0b7842be2b6c88f93dfa136b8efea4c9ad"))) + (file-name + (git-file-name "lib-base-for-telegram-desktop" version)) + (sha256 + (base32 "0ikddprjnjvg0ic8jr2886xq0f18syp587q6z2kci9xmdnvjl217")))) + ("lib-crl-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_crl.git") + (commit "16150bf71d79382738114b913f137ec1a1a7630c"))) + (file-name + (git-file-name "lib-crl-for-telegram-desktop" version)) + (sha256 + (base32 "0qhagdr26aqb9w7wnchcmk1j7ln28x3wbkkkm06b8h0mybksbj7q")))) + ("lib-lottie-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_lottie.git") + (commit "fb40f379d82ffa1fc7506e9a8dddcf48847715ae"))) + (file-name + (git-file-name "lib-lottie-for-telegram-desktop" version)) + (sha256 + (base32 "1vq0mqxcrrv7akcqk9cl4mm61zw6dcfmy8adl0pcp49kynm64saw")))) + ("lib-qr-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_qr.git") + (commit "92ce41a690a463eb462089a4eb1e51e019308018"))) + (file-name + (git-file-name "lib-qr-for-telegram-desktop" version)) + (sha256 + (base32 "182939nv7xs9b3bgah3gl5y9hx5r59mabd2jw3z6717vc96qi2pj")))) + ("lib-rlottie-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_rlottie.git") + (commit "0671bf70547381effcf442ec9618e04502a8adbc"))) + (file-name + (git-file-name "lib-rlottie-for-telegram-desktop" version)) + (sha256 + (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv")))) + ("lib-rpl-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_rpl.git") + (commit "e1b96399d9031c4ef0354631e6bb375029d29d9f"))) + (file-name + (git-file-name "lib-rpl-for-telegram-desktop" version)) + (sha256 + (base32 "1wvqazljd2kq1fxlj250jhjrig529499bym9p81dx33kh1l9dgss")))) + ("lib-spellcheck-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_spellcheck.git") + (commit "1b540b38ed78e9a3cba93e9ba4ce4525ab692277"))) + (file-name + (git-file-name "lib-spellcheck-for-telegram-desktop" version)) + (sha256 + (base32 "0a7042h5zrdvgs7v153ral2dh1zj84di5yjcmgcry5k4s1im9di7")))) + ("lib-storage-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_storage.git") + (commit "cbe51722b73cfa9ff27bd59294b08aa5ee33c936"))) + (file-name + (git-file-name "lib-storage-for-telegram-desktop" version)) + (sha256 + (base32 "045l5xsyagyz17gbhmmvl2miss4nb92p0dmza7yfs9pkg9gs0f87")))) + ("lib-tl-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_tl.git") + (commit "404c83d77e5edb8a39f8e9f56a6340960fe5070e"))) + (file-name + (git-file-name "lib-tl-for-telegram-desktop" version)) + (sha256 + (base32 "1k34nkvvcjqw5q81n1qmklid60cvzjk4lmn9qjimk437m6wbii7f")))) + ("lib-ui-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_ui.git") + (commit "1e2799245cf2720a329ecb5cf5644fded669cce6"))) + (file-name + (git-file-name "lib-ui-for-telegram-desktop" version)) + (sha256 + (base32 "0kd4njcvic2700f00qn25vn3b80vsd2flsm3pi2synnldkiy8lcw")))) + ("lib-webrtc-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_webrtc.git") + (commit "4bc51d6f6d5740159fdb51cb1593e80ce149ed4e"))) + (file-name + (git-file-name "lib-webrtc-for-telegram-desktop" version)) + (sha256 + (base32 "06hpyq4qglrj3cb1xg8ghlmzm9ra8f5n6vm7hcy67n2wk8sy4cal")))) + ("libdbusmenu-qt" ,libdbusmenu-qt) + ("libjpeg" ,libjpeg-turbo) + ("libtgvoip" ,libtgvoip-for-telegram-desktop) + ("lz4" ,lz4) + ("materialdecoration" ,materialdecoration) + ("minizip" ,minizip) + ("nimf" ,nimf) + ("openal" ,openal) + ("openssl" ,openssl) + ("opus" ,opus) + ("pulseaudio" ,pulseaudio) + ("qrcodegen" ,qrcodegen-cpp) + ("qt" ,qtbase) + ("qt5ct" ,qt5ct) + ("qtimageformats" ,qtimageformats) + ("qtwayland" ,qtwayland) + ("range-v3" ,range-v3) + ("rlottie" ,rlottie-for-telegram-desktop) + ("tgcalls-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/TelegramMessenger/tgcalls.git") + (commit "178983f72312ca8bd422bc73810fd63f1a89bd9d"))) + (file-name + (git-file-name "tgcalls-for-telegram-desktop" version)) + (sha256 + (base32 "1xad65c9m6mj6zdj08flafvh8xjkd7xi9r1agcyc64y69lr427d0")))) + ("webrtc" ,webrtc-for-telegram-desktop) + ("x11" ,libx11) + ("xcb" ,libxcb) + ("xcb-keysyms" ,xcb-util-keysyms) + ("xxhash" ,xxhash) + ("zlib" ,zlib))) + (propagated-inputs + `(("dconf" ,dconf))) + (synopsis "Telegram Desktop") + (description "Telegram desktop is the official desktop version of the +Telegram instant messager.") + (home-page "https://desktop.telegram.org/") + (license + (list + ;; ThirdParty + license:lgpl2.1+ + ;; Others + license:gpl3+)))) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 74e1937bbc..f1364c9024 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -20,8 +20,8 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020 Marius Bakke <marius@gnu.org> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. @@ -64,7 +64,6 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -402,7 +401,7 @@ combining, and so on, with a simple interface.") "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n")))) (build-system gnu-build-system) (arguments - `(#:make-flags '("CC=gcc") + `(#:make-flags (list (string-append "CC=" ,(cc-for-target))) #:tests? #f ; no tests #:phases (modify-phases %standard-phases @@ -702,7 +701,7 @@ eye-candy, customizable, and reasonably lightweight.") (define-public foot (package (name "foot") - (version "1.5.4") + (version "1.6.2") (home-page "https://codeberg.org/dnkl/foot") (source (origin (method git-fetch) @@ -710,7 +709,7 @@ eye-candy, customizable, and reasonably lightweight.") (file-name (git-file-name name version)) (sha256 (base32 - "0y6xfsldz5lwy6kp5dy9s27pnii7n5zj754wglvz9d9fp5lkl6id")))) + "08i3jmjky5s2nnc0c95c009cym91rs4sj4876sr4xnlkb7ab4812")))) (build-system meson-build-system) (arguments `(#:meson ,meson-0.55 @@ -720,10 +719,7 @@ eye-candy, customizable, and reasonably lightweight.") ;; Enable LTO as recommended by INSTALL.md. #:configure-flags '("-Db_lto=true"))) (native-inputs - `(;; Foot makes use of modern C features and needs a newer compiler. - ;; Remove when the default compiler is > GCC 7. - ("gcc" ,gcc-10) - ("ncurses" ,ncurses) ;for 'tic' + `(("ncurses" ,ncurses) ;for 'tic' ("pkg-config" ,pkg-config) ("scdoc" ,scdoc) ("wayland-protocols" ,wayland-protocols))) @@ -1210,142 +1206,71 @@ made by suckless.") (define-public alacritty (package (name "alacritty") - (version "0.4.1") + (version "0.7.1") (source (origin + ;; XXX: The crate at "crates.io" has limited contents. In particular, + ;; it does not contain "extra" directory with completions, icon, etc. (method git-fetch) (uri (git-reference (url "https://github.com/jwilm/alacritty") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg")) - (modules '((guix build utils))) - (snippet - ;; Don't use a custom location for winit-0.20-alpha6. - '(begin (substitute* "Cargo.toml" - (("winit .*") "")) - #t)))) + (base32 "1b9hy3ya72hhpl8nkayc7dy4f97xp75np48dm5na5pgyv8b45agi")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-clap" ,rust-clap-2) + `(#:cargo-test-flags '("--release" "--" "--skip=config_read_eof") + #:cargo-inputs + (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) + ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.12) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-clap" ,rust-clap-2) + ("rust-cocoa" ,rust-cocoa-0.24) + ("rust-copypasta" ,rust-copypasta-0.7) + ("rust-crossfont" ,rust-crossfont-0.2) + ("rust-dirs" ,rust-dirs-2) + ("rust-embed-resource" ,rust-embed-resource-1) + ("rust-fnv" ,rust-fnv-1) + ("rust-gl-generator" ,rust-gl-generator-0.14) + ;; XXX: Adjust `add-absolute-library-references' phase when updating + ;; glutin input. + ("rust-glutin" ,rust-glutin-0.26) + ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) - ("rust-time" ,rust-time-0.1) - ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-notify" ,rust-notify-4) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-png" ,rust-png-0.16) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) ("rust-serde" ,rust-serde-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8) ("rust-serde-json" ,rust-serde-json-1) - ("rust-glutin" ,rust-glutin-0.22) ; adjust 'patch-glutin-libgl-path as needed - ("rust-notify" ,rust-notify-4) - ("rust-libc" ,rust-libc-0.2) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-time" ,rust-time-0.1) ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-parking-lot" ,rust-parking-lot-0.9) ("rust-urlocator" ,rust-urlocator-0.1) - ("rust-xdg" ,rust-xdg-2.2) - ("rust-image" ,rust-image-0.22) - ("rust-dirs" ,rust-dirs-2.0) - ("rust-x11-dl" ,rust-x11-dl-2) + ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-winapi" ,rust-winapi-0.3) - ("rust-base64" ,rust-base64-0.11) - ("rust-bigflags" ,rust-bitflags-1) - ("rust-fnv" ,rust-fnv-1) - ("rust-mio" ,rust-mio-0.6) - ("rust-mio-extras" ,rust-mio-extras-2) - ("rust-terminfo" ,rust-terminfo-0.6) - ("rust-url" ,rust-url-2) - ("rust-vte" ,rust-vte-0.3) - ("rust-nix" ,rust-nix-0.15) - ("rust-miow" ,rust-miow-0.3) - ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1) - ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1) - ("rust-signal-hook" ,rust-signal-hook-0.1) - ("rust-clipboard-win" ,rust-clipboard-win-2.1) - ("rust-objc" ,rust-objc-0.2) - ("rust-objc-id" ,rust-objc-id-0.1) - ("rust-objc-foundation" ,rust-objc-foundation-0.1) - ("rust-x11-clipboard" ,rust-x11-clipboard-0.4) - ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.3) - ("rust-wayland-client" ,rust-wayland-client-0.23) - ("rust-euclid" ,rust-euclid-0.20) - ("rust-foreign-types" ,rust-foreign-types-0.5) - ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.4) - ("rust-freetype-rs" ,rust-freetype-rs-0.23) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) - ("rust-core-text" ,rust-core-text-13) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-dwrote" ,rust-dwrote-0.9) - ("rust-winpty-sys" ,rust-winpty-sys-0.4)) - #:cargo-development-inputs - (("rust-rustc-tools-util" ,rust-rustc-tools-util-0.2) - ("rust-gl-generator" ,rust-gl-generator-0.14) - ("rust-andrew" ,rust-andrew-0.2) - ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) - ("rust-embed-resource" ,rust-embed-resource-1.3) - ("rust-http-req" ,rust-http-req-0.5) - ("rust-zip" ,rust-zip-0.5) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-named-pipe" ,rust-named-pipe-0.4) - ("rust-winapi" ,rust-winapi-0.3)) + ("rust-x11-dl" ,rust-x11-dl-2) + ("rust-xdg" ,rust-xdg-2)) #:phases (modify-phases %standard-phases (add-after 'configure 'add-absolute-library-references (lambda* (#:key inputs cargo-inputs vendor-dir #:allow-other-keys) - (let* ((glutin-name ,(package-name rust-glutin-0.22)) - (glutin-version ,(package-version rust-glutin-0.22)) + (let* ((glutin-name ,(package-name rust-glutin-0.26)) + (glutin-version ,(package-version rust-glutin-0.26)) (glutin-api (string-append glutin-name "-" glutin-version ".tar.gz/src/api/")) - (smithay-client-toolkit-name - ,(package-name rust-smithay-client-toolkit-0.6)) - (smithay-client-toolkit-version - ,(package-version rust-smithay-client-toolkit-0.6)) - (smithay-client-toolkit-src - (string-append smithay-client-toolkit-name "-" - smithay-client-toolkit-version ".tar.gz/src")) - (wayland-sys-name ,(package-name rust-wayland-sys-0.23)) - (wayland-sys-version ,(package-version rust-wayland-sys-0.23)) - (wayland-sys-src (string-append wayland-sys-name "-" - wayland-sys-version - ".tar.gz/src")) - (libxkbcommon (assoc-ref inputs "libxkbcommon")) - (libwayland (assoc-ref inputs "wayland")) (mesa (assoc-ref inputs "mesa"))) - (substitute* (string-append vendor-dir "/" glutin-api "glx/mod.rs") - (("libGL.so") (string-append mesa "/lib/libGL.so"))) - (substitute* (string-append vendor-dir "/" glutin-api "egl/mod.rs") - (("libEGL.so") (string-append mesa "/lib/libEGL.so"))) - (substitute* (string-append vendor-dir "/" - smithay-client-toolkit-src - "/keyboard/ffi.rs") - (("libxkbcommon\\.so") - (string-append libxkbcommon "/lib/libxkbcommon.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/server.rs") - (("libwayland-server\\.so") - (string-append libwayland "/lib/libwayland-server.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/cursor.rs") - (("libwayland-cursor\\.so") - (string-append libwayland "/lib/libwayland-cursor.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/egl.rs") - (("libwayland-egl\\.so") - (string-append libwayland "/lib/libwayland-egl.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/client.rs") - (("libwayland-client\\.so") - (string-append libwayland "/lib/libwayland-client.so"))) - #t))) - (add-after 'configure 'remove-alacritty-vendor - (lambda* (#:key vendor-dir #:allow-other-keys) - ;; We don't want Alacritty to be a dependency of itself - ;; If we don't delete it from guix-vendor then build will fail - ;; because Alacritty has a virtual workspace Cargo.toml. - (delete-file-recursively - (string-append vendor-dir "/alacritty-" ,version ".tar.xz")) - #t)) + (substitute* + (string-append vendor-dir "/" glutin-api "glx/mod.rs") + (("libGL.so") (string-append mesa "/lib/libGL.so"))) + (substitute* + (string-append vendor-dir "/" glutin-api "egl/mod.rs") + (("libEGL.so") (string-append mesa "/lib/libEGL.so"))) + #t))) (replace 'install + ;; Upstream install script only takes care of executable. (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) @@ -1354,24 +1279,19 @@ made by suckless.") (tic (string-append (assoc-ref inputs "ncurses") "/bin/tic")) (man (string-append share "/man/man1")) (alacritty-bin "target/release/alacritty")) - ;; Install the executable. (install-file alacritty-bin bin) - ;; Install man pages. (mkdir-p man) (copy-file "extra/alacritty.man" (string-append man "/alacritty.1")) - ;; Install desktop file. - (install-file "extra/linux/alacritty.desktop" + (install-file "extra/linux/Alacritty.desktop" (string-append share "/applications")) - - ;; Install icon + ;; Install icon. (mkdir-p icons) (copy-file "extra/logo/alacritty-term.svg" (string-append icons "/Alacritty.svg")) - ;; Install terminfo. (mkdir-p (string-append share "/terminfo")) ;; We don't compile alacritty-common entry because @@ -1379,18 +1299,19 @@ made by suckless.") (invoke tic "-x" "-e" "alacritty,alacritty-direct" "-o" (string-append share "/terminfo/") "extra/alacritty.info") - ;; Install completions. - (install-file - "extra/completions/alacritty.bash" - (string-append out "/etc/bash_completion.d")) - (install-file - "extra/completions/_alacritty" - (string-append share "/zsh/site-functions")) - (install-file - "extra/completions/alacritty.fish" - (string-append share "/fish/vendor_completions.d")) + (install-file "extra/completions/alacritty.bash" + (string-append out "/etc/bash_completion.d")) + (install-file "extra/completions/_alacritty" + (string-append share "/zsh/site-functions")) + (install-file "extra/completions/alacritty.fish" + (string-append share "/fish/vendor_completions.d")) #t)))))) + (native-inputs + `(("cmake" ,cmake) + ("ncurses" ,ncurses) + ("pkg-config" ,pkg-config) + ("python3" ,python))) (inputs `(("expat" ,expat) ("fontconfig" ,fontconfig) @@ -1404,11 +1325,6 @@ made by suckless.") ("libxxf86vm" ,libxxf86vm) ("wayland" ,wayland) ("mesa" ,mesa))) - (native-inputs - `(("cmake" ,cmake) - ("ncurses" ,ncurses) - ("pkg-config" ,pkg-config) - ("python3" ,python))) (native-search-paths ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is ;; provided for usability reasons. See <https://bugs.gnu.org/22138>. diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index eff8cf9fbe..f05d1dcd44 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Feng Shu <tumashu@163.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -230,7 +230,7 @@ bindings and many of the powerful features of GNU Emacs.") (define-public jucipp (package (name "jucipp") - (version "1.6.1") + (version "1.6.2") (home-page "https://gitlab.com/cppit/jucipp") (source (origin (method git-fetch) @@ -242,7 +242,7 @@ bindings and many of the powerful features of GNU Emacs.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "0lb477acqrm3fy3j6i7j9l68j48cnkrzi80588npwwjssqicy4g6")))) + (base32 "10idv2kyw2dg45wfcnh7nybs8qys7kfvif90sjrff3541k97pm5y")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON" diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e2ce7afe9d..1ce53a967b 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> @@ -155,7 +155,7 @@ rejects UDP traffic from the application you're using.") (define-public privoxy (package (name "privoxy") - (version "3.0.29") + (version "3.0.31") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/ijbswa/Sources/" @@ -163,7 +163,7 @@ rejects UDP traffic from the application you're using.") version "-stable-src.tar.gz")) (sha256 (base32 - "17a8fbdyb0ixc0wwq68fg7xn7l6n7jq67njpq93psmxgzng0dii5")))) + "1sq4s0h73r7mynl8s0ynn3a6zl98j06nb2nqx2j254n7maijjxq7")))) (build-system gnu-build-system) (arguments '(;; The default 'sysconfdir' is $out/etc; change that to diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 45b68a41ad..9e177c9196 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -6,12 +6,12 @@ ;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2016, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2018, 2020 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2020 EuAndreh <eu@euandre.org> @@ -1684,14 +1684,14 @@ history. It implements the changeset evolution concept for Mercurial.") (define-public neon (package (name "neon") - (version "0.30.2") + (version "0.31.2") (source (origin (method url-fetch) - (uri (string-append "http://www.webdav.org/neon/neon-" + (uri (string-append "https://notroj.github.io/neon/neon-" version ".tar.gz")) (sha256 (base32 - "1jpvczcx658vimqm7c8my2q41fnmjaf1j03g7bsli6rjxk6xh2yv")))) + "0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) @@ -1705,11 +1705,12 @@ history. It implements the changeset evolution concept for Mercurial.") ;; https://sourceware.org/bugzilla/show_bug.cgi?id=16475 #:tests? #f #:configure-flags '("--enable-shared" + "--disable-static" ;; requires libgnutils-config, deprecated ;; in gnutls 2.8. ; "--with-ssl=gnutls"))) "--with-ssl=openssl"))) - (home-page "http://www.webdav.org/neon/") + (home-page "https://notroj.github.io/neon/") (synopsis "HTTP and WebDAV client library") (description "Neon is an HTTP and WebDAV client library, with a C interface and the @@ -1938,7 +1939,7 @@ standards-compliant ChangeLog entries based on the changes that it detects.") (define-public diffstat (package (name "diffstat") - (version "1.63") + (version "1.64") (source (origin (method url-fetch) (uri @@ -1949,7 +1950,7 @@ standards-compliant ChangeLog entries based on the changes that it detects.") "diffstat-" version ".tgz"))) (sha256 (base32 - "0vyw200s5dv1257pmrh6c6fdkmw3slyz5szpqfx916xr04sdbpby")))) + "1z7pwcv48fjnhxrjcsjdy83x8b9ckl582mbbds90a79fkn6y7bmq")))) (build-system gnu-build-system) (home-page "https://invisible-island.net/diffstat/") (synopsis "Make histograms from the output of @command{diff}") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 313eaa0776..9ded9559de 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -41,12 +41,14 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Alex McGrath <amk@amk.ie> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> +;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org> +;;; Copyright © 2021 Andrew Tropin <andrew@trop.in> ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,6 +75,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix svn-download) + #:use-module (guix hg-download) #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) @@ -885,14 +888,14 @@ H.264 (MPEG-4 AVC) video streams.") (define-public mkvtoolnix (package (name "mkvtoolnix") - (version "51.0.0") + (version "52.0.0") (source (origin (method url-fetch) (uri (string-append "https://mkvtoolnix.download/sources/" "mkvtoolnix-" version ".tar.xz")) (sha256 - (base32 "0w2crz6wnfw18m9m4zrij1yplcq5drzhz8n58w9kp51wl48a0yn1")) + (base32 "15y7ahlifsclnkl70wn5w34dil8nwcwcjnw3k2ydqc6dz4vb0j5s")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled libraries. @@ -914,6 +917,7 @@ H.264 (MPEG-4 AVC) video streams.") ("file" ,file) ("flac" ,flac) ("fmt" ,fmt) + ("libdvdread" ,libdvdread) ("libmatroska" ,libmatroska) ("libogg" ,libogg) ("libvorbis" ,libvorbis) @@ -1765,17 +1769,16 @@ videoformats depend on the configuration flags of ffmpeg.") (define-public vlc (package (name "vlc") - (version "3.0.11.1") + (version "3.0.12") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/videolan/vlc/" (car (string-split version #\-)) "/vlc-" version ".tar.xz")) - (patches (search-patches "vlc-qt-5.15.patch")) (sha256 (base32 - "1f46h0hv7fk35zg4iczlp7ib7h2jmh8m4r5klw3g2558ib9134qq")))) + "0ygqihw2c5vvzv8950dlf7rdwz1cpz1668jgyja604ljibrmix7g")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) @@ -2193,14 +2196,14 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2021.01.08") + (version "2021.01.16") (source (origin (method url-fetch) (uri (string-append "https://youtube-dl.org/downloads/latest/" "youtube-dl-" version ".tar.gz")) (sha256 (base32 - "1k870v9xc7g16nvixa272sdjnmc7pl49ymmnn6rdz0mcj2548h3k")) + "1q8pvw5j45k8nvr3d9rvnhi6xaj1mdqlkrg7q7qq6zciq5r54fhi")) (snippet '(begin ;; Delete the pre-generated files, except for the man page @@ -3074,7 +3077,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "26.1.1") + (version "26.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -3083,7 +3086,9 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "18b40ayww5isjqnjz63l05fi5xwzrcc64jvwxwq8nqsydn0b14ng")))) + "1k1asqiqw757v59ayx0w029ril947hs0lcp8n91knzjl891fr4nc")) + (patches + (search-patches "obs-modules-location.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -3098,6 +3103,15 @@ be used for realtime video capture via Linux-specific APIs.") (wrap-program (string-append out "/bin/obs") `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))) #t))))) + (native-search-paths + (list (search-path-specification + (variable "OBS_PLUGINS_DIRECTORY") + (separator #f) ;single entry + (files '("lib/obs-plugins"))) + (search-path-specification + (variable "OBS_PLUGINS_DATA_DIRECTORY") + (separator #f) ;single entry + (files '("share/obs/obs-plugins"))))) (native-inputs `(("cmocka" ,cmocka) ("pkg-config" ,pkg-config))) @@ -3129,6 +3143,67 @@ and JACK.") (home-page "https://obsproject.com") (license license:gpl2+))) +(define-public obs-spectralizer + (package + (name "obs-spectralizer") + (version "1.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/univrsal/spectralizer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + + ;; Remove bundled Windows DLLs. + (snippet '(delete-file-recursively "fftw3")) + (modules '((guix build utils))) + + (sha256 + (base32 + "0q75cnyqydpvfda51zm9gxqj3wqr99ad0lxzjhw0ld67qvj1ag6i")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:configure-flags + (list "-DGLOBAL_INSTALLATION=ON" "-DUSE_CMAKE_LIBDIR=ON"))) + (inputs `(("obs" ,obs) + ("fftw" ,fftw))) + (home-page "https://github.com/univrsal/spectralizer") + (synopsis "OBS plugin for audio visualization") + (description "This OBS plugins allows you to vizualize MPD and internal +OBS audio sources.") + (license license:gpl2))) + +(define-public obs-wlrobs + (package + (name "obs-wlrobs") + (version "1.0") + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://hg.sr.ht/~scoopta/wlrobs") + (changeset (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1faiq2gdb7qis3m1hilm4pz8lkmkab75vzm608dbiazahhybf96p")))) + (build-system meson-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs `() ) + (inputs `(("obs" ,obs) + ("libx11" ,libx11 "out") + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) + (home-page "https://hg.sr.ht/~scoopta/wlrobs") + (synopsis "OBS plugin for Wayland (wlroots) screen capture") + (description + "This OBS plugin allows you to capture the screen on wlroots-based +Wayland compositors.") + (license license:gpl3+))) + (define-public libvdpau (package (name "libvdpau") @@ -4156,7 +4231,7 @@ It counts more than 100 plugins.") (define-public motion (package (name "motion") - (version "4.2.2") + (version "4.3.2") (home-page "https://motion-project.github.io/") (source (origin (method git-fetch) @@ -4165,7 +4240,7 @@ It counts more than 100 plugins.") (commit (string-append "release-" version)))) (sha256 (base32 - "05c1gx75xy2hw49x6vkydvwxbr80kipsc3nr906k3hq8735svx6f")) + "09xs815jsivcilpmnrx2jkcxirj4lg5kp99fkr0p2sdxw03myi95")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -4182,7 +4257,7 @@ It counts more than 100 plugins.") '(#:phases (modify-phases %standard-phases (replace 'bootstrap (lambda _ - (patch-shebang "version.sh") + (patch-shebang "scripts/version.sh") (invoke "autoreconf" "-vfi")))) #:configure-flags '("--sysconfdir=/etc") #:make-flags (list (string-append "sysconfdir=" diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index f80aebd949..5841bc98b2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -138,13 +138,28 @@ (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) - (sha256 - (base32 - "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) - (patches (search-patches "qemu-build-info-manual.patch")))) - (outputs '("out" "doc")) ;4.7 MiB of HTML docs - (build-system gnu-build-system) - (arguments + (sha256 + (base32 + "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) + (patches (search-patches "qemu-build-info-manual.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix a bug in the do_ioctl_ifconf() function of qemu to + ;; make ioctl(…, SIOCGIFCONF, …) work for emulated 64 bit + ;; architectures. The size of struct ifreq is handled + ;; incorrectly. + ;; https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01545.html + (substitute* '("linux-user/syscall.c") + (("^([[:blank:]]*)const argtype ifreq_arg_type.*$" line indent) + (string-append line indent + "const argtype ifreq_max_type[] = { MK_STRUCT(STRUCT_ifmap_ifreq) };\n")) + (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent) + (string-append indent "target_ifreq_size = thunk_type_size(ifreq_max_type, 0);"))) + #t)))) + (outputs '("out" "doc")) ;4.7 MiB of HTML docs + (build-system gnu-build-system) + (arguments `(;; FIXME: Disable tests on i686 to work around ;; <https://bugs.gnu.org/40527>. #:tests? ,(or (%current-target-system) @@ -917,7 +932,7 @@ all common programming languages. Vala bindings are also provided.") (define-public lxc (package (name "lxc") - (version "4.0.5") + (version "4.0.6") (source (origin (method url-fetch) (uri (string-append @@ -925,7 +940,7 @@ all common programming languages. Vala bindings are also provided.") version ".tar.gz")) (sha256 (base32 - "1976l9308rx1ria1gazasypk5rmmf5jiqdh54dfrws5bslbdcb5g")))) + "0qz4l7mlhq7hx53q606qgvkyzyr01glsw290v8ppzvxn1fydlrci")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1569,7 +1584,7 @@ Open Container Initiative (OCI) image layout and its tagged images.") (define-public skopeo (package (name "skopeo") - (version "1.2.0") + (version "1.2.1") (source (origin (method git-fetch) (uri (git-reference @@ -1578,7 +1593,7 @@ Open Container Initiative (OCI) image layout and its tagged images.") (file-name (git-file-name name version)) (sha256 (base32 - "1v7k3ki10i6082r7zswblyirx6zck674y6bw3plssw4p1l2611rd")))) + "1y9pmijazbgxzriymrm7zrifmkd1x1wad9b3zjcj7zwr6c999dhg")))) (build-system go-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index ca359e4923..1a0d0d7d63 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -355,10 +355,10 @@ shader compilation.") (license license:asl2.0))) (define-public vkd3d - (let ((commit "ecda316ef54d70bf1b3e860755241bb75873e53f")) ; Release 1.1. + (let ((commit "56cd4a94d541707959ce7677af6d1a34739e5579")) ; Release 1.2. (package (name "vkd3d") - (version "1.1") + (version "1.2") (source (origin (method git-fetch) @@ -367,7 +367,7 @@ shader compilation.") (commit commit))) (sha256 (base32 - "05a28kspy8gzng181w28zjqdb3pj2ss83b0lwnppxbcdzsz7rvrf")) + "1n4a622drgnprvz5hjxzyzcsg2lp5rlf1sajki2vzf5gsx6fdpk8")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 44405d4223..95043566a8 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> @@ -45,7 +45,7 @@ ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -1479,7 +1479,7 @@ used to validate and fix HTML data.") (define-public esbuild (package (name "esbuild") - (version "0.8.29") + (version "0.8.37") (source (origin (method git-fetch) @@ -1488,7 +1488,7 @@ used to validate and fix HTML data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "142gc21aaqmx0d01vmqsg7zi85pjgi3higr4ba0m52qf3mvxd6as")) + (base32 "0c98w2y4y9jaj2wv0334xwdbsvsi5hfh9jdkqr7ffz8lxhmh610f")) (modules '((guix build utils))) (snippet '(begin @@ -3994,7 +3994,7 @@ is limited to http and https.") (define-public perl-net-http (package (name "perl-net-http") - (version "6.19") + (version "6.20") (source (origin (method url-fetch) (uri (string-append @@ -4002,7 +4002,7 @@ is limited to http and https.") "Net-HTTP-" version ".tar.gz")) (sha256 (base32 - "1i1gbcwdzx74whn5vn6xbr2cp7frldfz2rfrcjp2qljr770nxdsj")))) + "07lzfycza7qqxli18xgsnqwiwxapl0b64z33wfw62aai4hm7nllj")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-socket-ssl" ,perl-io-socket-ssl) @@ -4632,8 +4632,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (package-with-python2 python-feedparser)) (define-public guix-data-service - (let ((commit "e3878fefb4184f3ad45a6e6f434767c0bf109db8") - (revision "23")) + (let ((commit "060df92557d5a32dbd3ae4a32c2c5725cd53e09b") + (revision "24")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -4645,7 +4645,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (file-name (git-file-name name version)) (sha256 (base32 - "0002ckayjnd6mw7a0m7q307jdwc9vsjgiidp72463xyp0yrnjdjf")))) + "0ggwslwm041gkd0i45xhvnalxrhjaj4da27p5wrpknrhpa4ipf6v")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -6501,7 +6501,7 @@ collection creation and deletion, and locking operations.") (arguments `(#:cargo-inputs (("rust-ansi-parser" ,rust-ansi-parser-0.6) - ("rust-dirs" ,rust-dirs-2.0) + ("rust-dirs" ,rust-dirs-2) ("rust-gdk" ,rust-gdk-0.13) ("rust-gtk" ,rust-gtk-0.8) ("rust-linkify" ,rust-linkify-0.4) @@ -8004,3 +8004,41 @@ handling library written in C89 (\"ANSI C\"). uriparser is fast and supports Unicode.") (home-page "https://uriparser.github.io/") (license license:bsd-3)))) + +(define-public quark + ;; No releases yet + (let ((revision "0") + (commit "c6a9055e5a30be570e30da8d216c39662c3a3f99")) + (package + (name "quark") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.suckless.org/quark/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1znvnr30xi5vgd6n3wvgv9pwj992zpzzjk0fmq28ydf1l6kqvkm7")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ; no configure script + (home-page "https://tools.suckless.org/quark/") + (synopsis "Small and simple HTTP GET/HEAD-only web server for static +content") + (description "Quark is an extremely small and simple HTTP GET/HEAD only +web server for static content. TLS is not natively supported and should be +provided by a TLS reverse proxy (e.g. tlstunnel, hitch or stunnel).") + (license license:isc) + + ;; XXX: Ignore this CVE to work around a name clash with the unrelated + ;; "cpe:2.3:a:comelz:quark" package. The proper fix is for (guix cve) + ;; to account for "vendor names". + (properties '((lint-hidden-cve . ("CVE-2019-15520"))))))) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 0d93af0dc9..98b435cb8d 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -38,7 +38,6 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) - #:use-module (gnu packages compression) #:use-module (gnu packages cups) #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) @@ -52,6 +51,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages kerberos) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages mingw) #:use-module (gnu packages openldap) @@ -60,7 +60,6 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages mp3) - #:use-module (gnu packages ncurses) #:use-module (gnu packages photo) #:use-module (gnu packages samba) #:use-module (gnu packages scanner) @@ -76,7 +75,7 @@ (define-public wine (package (name "wine") - (version "5.21") + (version "6.0") (source (origin (method url-fetch) @@ -88,7 +87,7 @@ (string-append "https://dl.winehq.org/wine/source/" dir "wine-" version ".tar.xz"))) (sha256 - (base32 "0h185lfpid6cw1sz8rmkpky2l11izpb0w8j0cq6ww6yi94jmq6js")))) + (base32 "0micb3l54cc2cl3v5q92hzvkxxiwi9lmiv72caf45vl35xghd4xl")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -104,7 +103,6 @@ ("faudio" ,faudio) ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("glu" ,glu) ("gnutls" ,gnutls) ("gst-plugins-base" ,gst-plugins-base) ("lcms" ,lcms) @@ -118,6 +116,7 @@ ("libpcap" ,libpcap) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo) + ("libusb" ,libusb) ("libtiff" ,libtiff) ("libICE" ,libice) ("libX11" ,libx11) @@ -130,15 +129,13 @@ ("libXxf86vm" ,libxxf86vm) ("libXcomposite" ,libxcomposite) ("mit-krb5" ,mit-krb5) - ("ncurses" ,ncurses) ("openal" ,openal) ("pulseaudio" ,pulseaudio) ("sdl2" ,sdl2) ("unixodbc" ,unixodbc) ("v4l-utils" ,v4l-utils) ("vkd3d" ,vkd3d) - ("vulkan-loader" ,vulkan-loader) - ("zlib" ,zlib))) + ("vulkan-loader" ,vulkan-loader))) (arguments `(;; Force a 32-bit build targeting a similar architecture, i.e.: ;; armhf for armhf/aarch64, i686 for i686/x86_64. diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e1359c8539..084822f2c7 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2020 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> @@ -1301,14 +1301,14 @@ its size (define-public polybar (package (name "polybar") - (version "3.5.3") + (version "3.5.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/polybar/polybar/releases/" "download/" version "/polybar-" version ".tar.gz")) (sha256 - (base32 "1016g4b981c4hl2pr0m09b4wy0ln1zf3mfp09wrxs73zgfdbngyj")))) + (base32 "0awwjp3l0y9yhmrl914710ipawp2xr43jxrvmnanahlznblg8fhk")))) (build-system cmake-build-system) (arguments ;; Test is disabled because it requires downloading googletest from the diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 0fec969b2b..6038c0eacb 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -61,54 +61,55 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages xdisorg) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix hg-download) - #:use-module (guix utils) #:use-module (guix build-system cmake) - #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system scons) - #:use-module (gnu packages) - #:use-module (gnu packages documentation) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix hg-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages admin) - #:use-module (gnu packages base) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) - #:use-module (gnu packages image) - #:use-module (gnu packages pkg-config) + #:use-module (gnu packages documentation) #:use-module (gnu packages flex) + #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages linux) + #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages maths) - #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages linux) - #:use-module (gnu packages gl) - #:use-module (gnu packages guile) - #:use-module (gnu packages xml) - #:use-module (gnu packages gtk) #:use-module (gnu packages qt) - #:use-module (gnu packages xorg) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages bison) #:use-module (gnu packages sphinx) + #:use-module (gnu packages tcl) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #:use-module (gnu packages) #:use-module (ice-9 match)) ;; packages outside the x.org system proper @@ -959,11 +960,30 @@ transparent text on your screen.") (base32 "1wl2vc5alisiwyk8m07y1ryq8w3ll9ym83j27g4apm4ixjl8d6x2")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'sanitise-shebang + ;; This wish script uses a strange double shebang that escapes our + ;; patch-shebangs phase. Assume that it's unnecessary & replace it. + (lambda _ + (substitute* "xbindkeys_show" + (("^#!.*|^exec wish.*") "") + (("^# \\\\") (string-append "#!" (which "wish")))) + #t)) + (add-after 'unpack 'patch-references + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "xbindkeys_show" + (("\"(xbindkeys)\"" _ command) + (format #f "\"~a/bin/~a\"" out command))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libx11" ,libx11) - ("guile" ,guile-2.2))) + `(("guile" ,guile-2.2) + ("libx11" ,libx11) + ("tk" ,tk))) (home-page "https://www.nongnu.org/xbindkeys/") (synopsis "Associate a combination of keys with a shell command") (description @@ -2267,7 +2287,7 @@ Xwrits hides itself until you should take another break.") (define-public xsettingsd (package (name "xsettingsd") - (version "1.0.0") + (version "1.0.2") (source (origin (method git-fetch) @@ -2276,8 +2296,7 @@ Xwrits hides itself until you should take another break.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v")))) + (base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8")))) (build-system scons-build-system) (inputs `(("libx11" ,libx11))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 544416a410..510e8efe4a 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -7,13 +7,13 @@ ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Nikita <nikita@n0.is> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2019 L p R n d n <guix@lprndn.info> ;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +54,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages popt) + #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages search) @@ -100,7 +101,7 @@ (define-public libxfce4util (package (name "libxfce4util") - (version "4.14.0") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -108,7 +109,7 @@ "/" name "-" version ".tar.bz2")) (sha256 (base32 - "093338faqqsrlc8dkmzr7qv411ysxczg1wlg7s3gvhrfk6vpkb9j")))) + "10svnpc8ggasym1pfgh24bfr0ndqs6lc7v1wmpsizj0zbms8snb0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -126,7 +127,7 @@ Xfce Desktop Environment.") (define-public xfconf (package (name "xfconf") - (version "4.14.4") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -134,12 +135,17 @@ Xfce Desktop Environment.") "xfconf-" version ".tar.bz2")) (sha256 (base32 - "0wszp93z64112jq5wm4133s64in2ndvnzbgsbn8dh7p5xhp64dyc")))) + "09al5bkq89b8pb3xyxnw0cnz6crxj8678ymwq2k9nzf60y812ak5")))) (build-system gnu-build-system) (arguments '(#:phases ;; Run check after install phase to test dbus activation. (modify-phases %standard-phases + ;; tests-end seems to hang forever + (add-before 'configure 'patchout-tests-end + (lambda _ + (substitute* "tests/Makefile.in" + (("tests-end") "")))) (add-after 'install 'custom-check (lambda _ (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME @@ -147,8 +153,15 @@ Xfce Desktop Environment.") (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service (string-append %output "/share")) ;; For the missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0"); + (setenv "DBUS_FATAL_WARNINGS" "0") (invoke "dbus-launch" "make" "check"))) + (add-after 'custom-check 'install-shell-completions + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (etc (string-append out "/etc"))) + (with-directory-excursion "completions" + (install-file "xfconf-query" + (string-append etc "/bash_completion.d")))))) (delete 'check)))) (native-inputs `(("pkg-config" ,pkg-config) @@ -172,7 +185,7 @@ storage system.") (define-public libxfce4ui (package (name "libxfce4ui") - (version "4.14.1") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -180,7 +193,7 @@ storage system.") name "-" version ".tar.bz2")) (sha256 (base32 - "1npjhznmnckhnylsv3l7p1zvhckhmp9d7vifs8w12kdfmrg0fjf4")))) + "1anfj3n28abv9kbcpybs7q3k5g3c3d0r4xf4hyfqms2b9zlwj1lb")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -191,14 +204,11 @@ storage system.") ("gobject-introspection" ,gobject-introspection))) (propagated-inputs `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc - ;; libxfce4kbd-private-2.pc refers to all these. + ;; libxfce4kbd-private-3.pc refers to all these. ("libxfce4util" ,libxfce4util) ("xfconf" ,xfconf))) (inputs `(("libsm" ,libsm) ("libice" ,libice) - ;; FIXME: required by libxfce4ui-1.pc, so should be propagated, - ;; but will lead to a conflict with gtk+. - ("gtk+-2" ,gtk+-2) ("startup-notification" ,startup-notification))) (home-page "https://www.xfce.org/") (synopsis "Widgets library for Xfce") @@ -268,7 +278,7 @@ it to your needs by using several command line options.") (define-public elementary-xfce-icon-theme (package (name "elementary-xfce-icon-theme") - (version "0.15.1") + (version "0.15.2") (source (origin (method git-fetch) (uri @@ -278,7 +288,7 @@ it to your needs by using several command line options.") (file-name (git-file-name name version)) (sha256 (base32 - "1rl15kh9c7qxw4pvwmw44fb4v3vwh6zin4wpx55bnvm5j76y6p3f")))) + "1g6vndqvp11c2kl5vkpzb1wxvr2pfb3hvqxjjdgx6qzq9x8zmiqk")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target @@ -303,7 +313,7 @@ upstream occasionally.") (define-public exo (package (name "exo") - (version "0.12.11") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -311,21 +321,8 @@ upstream occasionally.") "exo-" version ".tar.bz2")) (sha256 (base32 - "1dp5s64g6572h9zvx9js7qc72s728qsd9y7hl7hg6rwaq0cjb2gc")))) + "1k5sfm9cmg8k5zzzv0wb2cciqwwklnpfzcpak7wa32lsxl7b0x8r")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; exo won't find URI::Escape otherwise - (add-after 'install 'wrap-exo-compose-mail - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (perl5lib (getenv "PERL5LIB"))) - (wrap-program (string-append out "/lib/xfce4/exo/exo-compose-mail") - `("PERL5LIB" ":" prefix - (,(string-append perl5lib ":" out - "/lib/perl5/site_perl"))))) - #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) @@ -334,10 +331,7 @@ upstream occasionally.") `(("gtk+-3" ,gtk+) ("libxfce4util" ,libxfce4util))) (inputs - `(;; FIXME Referred to in exo-1.pc but conflict with gtk+-3. - ("gtk+-2" ,gtk+-2) - ("libxfce4ui" ,libxfce4ui) - ("perl-uri" ,perl-uri))) + `(("libxfce4ui" ,libxfce4ui))) (home-page "https://www.xfce.org/") (synopsis "Extension library for Xfce") (description @@ -350,7 +344,7 @@ development.") (define-public garcon (package (name "garcon") - (version "0.7.0") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -358,14 +352,13 @@ development.") "garcon-" version ".tar.bz2")) (sha256 (base32 - "08r4dfvdvl178cjajm7ww16lwb7jsfqh3yz614mn84c0a0dvdhw2")))) + "07fjsgdjqxbcm84ga3cl495782k381k6mwksyrks3zf1l8klk4c4")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) - ("glib:bin" ,glib "bin"))) - (inputs - `(("gtk+-2" ,gtk+-2))) ; required by garcon-gtk2-1.pc + ("pkg-config" ,pkg-config))) (propagated-inputs `(("gtk+-3" ,gtk+) ; required by garcon-gtk3-1.pc ("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk3-1.pc @@ -381,7 +374,7 @@ merging features essential for loading menus modified with menu editors.") (define-public tumbler (package (name "tumbler") - (version "0.2.9") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -389,7 +382,7 @@ merging features essential for loading menus modified with menu editors.") "tumbler-" version ".tar.bz2")) (sha256 (base32 - "1dh7h0jcbf8brvv9vwq4amnk6zgldl2ipdq3clzsx9p50dpr0235")))) + "0rmga1l7da0pjrs6jlyq1nfn513r543v7cchshrif1341knpy2wv")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -420,7 +413,7 @@ management D-Bus specification.") (define-public xfce4-panel (package (name "xfce4-panel") - (version "4.14.0") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -428,7 +421,7 @@ management D-Bus specification.") name "-" version ".tar.bz2")) (sha256 (base32 - "1x3flv86jh9vqah7mr5mmfx2991mc6icsqjygsc3j88lgsyz7y6m")) + "14arjxpvnxdl0a0ajifrmy2py3hv5qy4fykl52wdp4k5pv39n2gs")) (patches (search-patches "xfce4-panel-plugins.patch")))) (build-system gnu-build-system) (arguments @@ -577,7 +570,7 @@ keys for controlling the audio volume.") (define-public xfce4-whiskermenu-plugin (package (name "xfce4-whiskermenu-plugin") - (version "2.5.1") + (version "2.5.2") (source (origin (method url-fetch) @@ -585,7 +578,7 @@ keys for controlling the audio volume.") "xfce4-whiskermenu-plugin/" (version-major+minor version) "/" "xfce4-whiskermenu-plugin-" version ".tar.bz2")) (sha256 - (base32 "09b9i68pf5ghq6dj55s4h3fj07jd5zpn1fghjwnnwxmakj54y1xj")))) + (base32 "05f53ycbszvw23g76pbdszfnqfk4f8w4imwfgljj140wzl50gxx6")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -659,15 +652,16 @@ per window.") (define-public xfce4-appfinder (package (name "xfce4-appfinder") - (version "4.14.0") + (version "4.16.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/xfce/" + (uri (string-append "https://archive.xfce.org/src/xfce/" + name "/" (version-major+minor version) - "/src/" name "-" version ".tar.bz2")) + "/" name "-" version ".tar.bz2")) (sha256 (base32 - "162dibl6ipp72x0s35yhk7kkzxd4qimagg5zdkkv5kjgjpa7bhby")))) + "1v77h5634n49idci2jiw0k7jjk0vzpsvgyx2fkp18l39jayykqxz")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -686,7 +680,7 @@ your system in categories, so you can quickly find and launch them.") (define-public xfce4-session (package (name "xfce4-session") - (version "4.14.2") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -694,7 +688,7 @@ your system in categories, so you can quickly find and launch them.") "xfce4-session-" version ".tar.bz2")) (sha256 (base32 - "1bwpylcn7x9i301yz45wvkzah9bncv9b44nf4hh9ln4i1jka9qzv")) + "1dqpgnq1hy9z170aapjglyp6jpyq1iqn5331nph727a82br77wi2")) (modules '((guix build utils))) (snippet '(begin @@ -731,7 +725,7 @@ allows you to shut down the computer from Xfce.") (define-public xfce4-settings (package (name "xfce4-settings") - (version "4.14.0") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -739,7 +733,7 @@ allows you to shut down the computer from Xfce.") name "-" version ".tar.bz2")) (sha256 (base32 - "0g0ipkg2fyg8r1z95ynx0xjr78bp49c2dwh4mli05nmb4gb40c70")) + "1hnx88a8xmi38mdf5gxdvx7n8yax1vzah8hy8g37bijlqx7l18b7")) (patches (search-patches "xfce4-settings-defaults.patch")))) (build-system gnu-build-system) (arguments @@ -758,7 +752,8 @@ allows you to shut down the computer from Xfce.") ("libxklavier" ,libxklavier) ("libxrandr" ,libxrandr) ("libxfce4ui" ,libxfce4ui) - ("upower" ,upower) + ("upower" ,upower) ;; TODO needs upower-glib + ("python" ,python) ;; for xfce4-compose-mail ("xf86-input-libinput" ,xf86-input-libinput))) (home-page "https://www.xfce.org/") (synopsis "Xfce settings manager") @@ -770,7 +765,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "1.8.16") + (version "4.16.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -778,13 +773,14 @@ like appearance, display, keyboard and mouse settings.") "thunar-" version ".tar.bz2")) (sha256 (base32 - "0k1w2zwa8z6sc8vi3frva74npks79x79n7q9p7ibwk7irfqkh4r2")))) + "1pbspa31q4kgydjzmssahq3k0wcy10ma466dlsd2y69nqjc0pab7")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) (inputs `(("exo" ,exo) + ("gobject-introspection" ,gobject-introspection) ("libexif" ,libexif) ("libgudev" ,libgudev) ("libnotify" ,libnotify) @@ -802,7 +798,7 @@ fast.") (define-public thunar-volman (package (name "thunar-volman") - (version "0.9.5") + (version "4.16.0") (source (origin (method url-fetch) @@ -810,7 +806,7 @@ fast.") (version-major+minor version) "/" "thunar-volman-" version ".tar.bz2")) (sha256 - (base32 "0dqqkbhn43hhmhqyx1fnmawpvysdjzw6ln4ryf629wil6dlwd9vy")))) + (base32 "0zaliahfz9ci2md7g6w9mb7z5azi5n56gihbnwyzvds2n8cygh6j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -833,7 +829,7 @@ and import the new pictures from your camera.") (define-public xfwm4 (package (name "xfwm4") - (version "4.14.3") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -841,7 +837,7 @@ and import the new pictures from your camera.") "xfwm4-" version ".tar.bz2")) (sha256 (base32 - "1gw3fbiwraylarl1bqbvfh7nxlss5w8w0im5ahfg3a9mkrdfr6w2")))) + "133ip28v6j3x4l413d81ixsisf32sa0xzd54n0nn8g6p9fh4rcmm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -863,7 +859,7 @@ on the screen.") (define-public xfdesktop (package (name "xfdesktop") - (version "4.14.3") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -871,7 +867,7 @@ on the screen.") "xfdesktop-" version ".tar.bz2")) (sha256 (base32 - "14sp5a4n21prwmh2l5mjq5fjaq7r2pbjxddfx4wzaix8867x1mq6")) + "1bjv2mpkv7zmpzssbvvzh0x4pn8cqm8dvhgsv5i1xwngzspsajwk")) (modules '((guix build utils))) (snippet #~(begin @@ -1007,7 +1003,7 @@ system resources, while still being visually appealing and user friendly.") (define-public xfce4-power-manager (package (name "xfce4-power-manager") - (version "1.7.1") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -1015,7 +1011,7 @@ system resources, while still being visually appealing and user friendly.") "xfce4-power-manager-" version ".tar.bz2")) (sha256 (base32 - "1ki088iyr266cfyq9bmmhhd27wrsrmbhsblyf4yqby03hlvqif3k")))) + "1wrvqiifaxsgcn1kh4vm2hwxi9lgm6mw4zrfld2zl0mm05y5i77b")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1210,7 +1206,7 @@ of data to either CD/DVD/BD.") (define-public mousepad (package (name "mousepad") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/mousepad/" @@ -1218,7 +1214,7 @@ of data to either CD/DVD/BD.") version ".tar.bz2")) (sha256 (base32 - "10m52yrh89j7xbr299m9f0mqrhqz95lp3qi5zbqd0bg839xjfbix")))) + "13pvisqhq5rjrkfdw635z600167920fxqzg1ngvismaf39iwbb9h")))) (build-system gnu-build-system) (arguments '(#:configure-flags '(;; Use the GSettings keyfile backend rather than @@ -1285,7 +1281,7 @@ A plugin for the Xfce panel is also available.") (define-public xfce4-screensaver (package (name "xfce4-screensaver") - (version "0.1.11") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -1295,7 +1291,7 @@ A plugin for the Xfce panel is also available.") version ".tar.bz2")) (sha256 (base32 - "0xxcvvcch8bqd35ksq8l88a46xnidp59iq4ssyygki0a2vd20h41")))) + "13962rkc7nn3yigv1km8w0z7g41kj2bxmrrwx2f6gnv27qz18kbd")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1505,7 +1501,7 @@ precedence rules, and the following functions and common constants.") (define-public xfce4-cpufreq-plugin (package (name "xfce4-cpufreq-plugin") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1514,7 +1510,7 @@ precedence rules, and the following functions and common constants.") "/xfce4-cpufreq-plugin-" version ".tar.bz2")) (sha256 (base32 - "16748wxy8aa5cxga0dbfrq7kv40alg5yx967r2l6vjapv2w083sh")))) + "1g07rpbq61dbdz0zvvb0xz6ipympxadwknn5y5q3v85k0nr9qfbx")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1624,7 +1620,7 @@ be clicked to open the chosen mount point.") (define-public xfce4-genmon-plugin (package (name "xfce4-genmon-plugin") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1633,7 +1629,7 @@ be clicked to open the chosen mount point.") "/xfce4-genmon-plugin-" version ".tar.bz2")) (sha256 (base32 - "0zafr1jrw87l7h4z3wp88gj7n5mcygm22aw42vdpnp2l8x5nn9fi")))) + "0d81npcqnmkw2qaqa8c6igh9j5r4ivgb15zcjwxjkyhrzz89y4dj")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1890,7 +1886,7 @@ favorite search engine or bug tracker right from the Xfce panel.") (define-public xfce4-statusnotifier-plugin (package (name "xfce4-statusnotifier-plugin") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1899,7 +1895,7 @@ favorite search engine or bug tracker right from the Xfce panel.") "/xfce4-statusnotifier-plugin-" version ".tar.bz2")) (sha256 (base32 - "1yic99jx7013pywpd0k31pxab8s8lv3wcq364iha99qhsm25k42c")))) + "1d2n56g12dhnjznrq7xvr6d3brpp0lmm080xmgjb7ybc1yygpxrc")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1922,7 +1918,7 @@ freedesktop.org specification.") (define-public xfce4-stopwatch-plugin (package (name "xfce4-stopwatch-plugin") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1931,7 +1927,7 @@ freedesktop.org specification.") "/xfce4-stopwatch-plugin-" version ".tar.bz2")) (sha256 (base32 - "0jfr0ykn97hfngh0hd2wrs9rxswzxaxjv93g6csdp8hnij649nm3")))) + "1q840298jzdqlhc9lw49q32xzdhnbzcgvv69qq5slkc704s5w6vw")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 239b0e72a2..c462cffac3 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -141,14 +142,14 @@ things the parser might find in the XML document (like start tags).") (define-public libebml (package (name "libebml") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://dl.matroska.org/downloads/libebml/" "libebml-" version ".tar.xz")) (sha256 - (base32 "1cy4hbk8qbxn4c6pwvlsvr1rp8vhfach9rwfg4c50qa94nlckaw0")))) + (base32 "0ckhf7wcfwik1c8ilwipdr9p7b58pvqvj8x54l6slqah81lwd53f")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 67396ef839..0aa87f850d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org> ;;; @@ -6269,14 +6269,14 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "4.0.5") + (version "4.0.6") (source (origin (method url-fetch) (uri (string-append "https://www.xpra.org/src/xpra-" version ".tar.xz")) (sha256 - (base32 "11ml66z8vbc0fa567kkmp2j20l5l60aflnkrz5ay8arw3w92nmnz")) + (base32 "1s49y2s75a8a70vj0micnmpic5zv1n32yjxy8fkxsqa6j5njyrww")) (patches (search-patches "xpra-4.0.1-systemd-run.patch")))) (build-system python-build-system) ;; see also http://xpra.org/trac/wiki/Dependencies @@ -6303,6 +6303,9 @@ basic eye-candy effects.") ("xf86-input-keyboard" ,xf86-input-keyboard) ("python-pillow" ,python-pillow) ;; Optional dependencies. + ("libx264" ,libx264) + ("x265" ,x265) + ("libvpx" ,libvpx) ("python-rencode" ,python-rencode) ; For speed. ("python-numpy" ,python-numpy) ("python-pyopengl" ,python-pyopengl) ; Drawing acceleration. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 945b546607..f6a490f712 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> @@ -279,7 +279,9 @@ system objects."))) (define root-file-system-service-type (shepherd-service-type 'root-file-system - (const %root-file-system-shepherd-service))) + (const %root-file-system-shepherd-service) + (description "Take care of syncing the root file +system and of remounting it read-only when the system shuts down."))) (define (root-file-system-service) "Return a service whose sole purpose is to re-mount read-only the root file @@ -570,7 +572,9 @@ down."))) (requirement '(udev)) (provision '(trng)) (start #~(make-forkexec-constructor '#$rngd-command)) - (stop #~(make-kill-destructor)))))) + (stop #~(make-kill-destructor)))) + (description "Run the @command{rngd} random number generation daemon to +supply entropy to the kernel's pool."))) (define* (rngd-service #:key (rng-tools rng-tools) @@ -597,7 +601,8 @@ to add @var{device} to the kernel's entropy pool. The service will fail if (provision '(host-name)) (start #~(lambda _ (sethostname #$name))) - (one-shot? #t))))) + (one-shot? #t))) + (description "Initialize the machine's host name."))) (define (host-name-service name) "Return a service that sets the host name to @var{name}." @@ -626,7 +631,8 @@ to add @var{device} to the kernel's entropy pool. The service will fail if (display 1 port)))) #t)) (stop #~(const #f))))) - #t)) ;default to UTF-8 + #t ;default to UTF-8 + (description "Ensure the Linux virtual terminals run in UTF-8 mode."))) (define console-keymap-service-type (shepherd-service-type @@ -638,7 +644,10 @@ to add @var{device} to the kernel's entropy pool. The service will fail if (start #~(lambda _ (zero? (system* #$(file-append kbd "/bin/loadkeys") #$@files)))) - (respawn? #f))))) + (respawn? #f))) + (description "@emph{This service is deprecated in favor of the +@code{keyboard-layout} field of @code{operating-system}.} Load the given list +of console keymaps with @command{loadkeys}."))) (define-deprecated (console-keymap-service #:rest files) #f @@ -1341,7 +1350,9 @@ Service Switch}, for an example." (pid (spawn))) (umask mask) pid)))) - (stop #~(make-kill-destructor)))))) + (stop #~(make-kill-destructor)))) + (description "Run the syslog daemon, @command{syslogd}, which is +responsible for logging system messages."))) ;; Snippet adapted from the GNU inetutils manual. (define %default-syslog.conf @@ -2207,7 +2218,8 @@ instance." (when device (restart-on-EINTR (swapoff device))) #f))) - (respawn? #f)))))) + (respawn? #f)))) + (description "Turn on the virtual memory swap area."))) (define (swap-service device) "Return a service that uses @var{device} as a swap device." @@ -2321,7 +2333,9 @@ This service is not part of @var{%base-services}." (requirement '(user-processes udev dbus-system)) (provision (list (symbol-append 'term- (string->symbol virtual-terminal)))) (start #~(make-forkexec-constructor #$kmscon-command)) - (stop #~(make-kill-destructor))))))) + (stop #~(make-kill-destructor))))) + (description "Start the @command{kmscon} virtual terminal emulator for the +Linux @dfn{kernel mode setting} (KMS)."))) (define-record-type* <static-networking> static-networking make-static-networking diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index 7706ed41c6..2d0bf47b48 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> @@ -24,19 +24,29 @@ (define-module (gnu services cuirass) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages ci) #:use-module (gnu packages version-control) #:use-module (gnu services) #:use-module (gnu services base) + #:use-module (gnu services databases) #:use-module (gnu services shepherd) #:use-module (gnu services admin) #:use-module (gnu system shadow) - #:export (<cuirass-configuration> + #:export (<cuirass-remote-server-configuration> + cuirass-remote-server-configuration + cuirass-remote-server-configuration? + + <cuirass-configuration> cuirass-configuration cuirass-configuration? + cuirass-service-type - cuirass-service-type)) + <cuirass-remote-worker-configuration> + cuirass-remote-worker-configuration + cuirass-remote-worker-configuration? + cuirass-remote-worker-service-type)) ;;;; Commentary: ;;; @@ -45,6 +55,27 @@ ;;; ;;;; Code: +(define %cuirass-default-database + "dbname=cuirass host=/var/run/postgresql") + +(define-record-type* <cuirass-remote-server-configuration> + cuirass-remote-server-configuration make-cuirass-remote-server-configuration + cuirass-remote-server-configuration? + (backend-port cuirass-remote-server-configuration-backend-port ;int + (default #f)) + (publish-port cuirass-remote-server-configuration-publish-port ;int + (default #f)) + (log-file cuirass-remote-server-log-file ;string + (default "/var/log/cuirass-remote-server.log")) + (cache cuirass-remote-server-configuration-cache ;string + (default "/var/cache/cuirass/remote/")) + (trigger-url cuirass-remote-server-trigger-url ;string + (default #f)) + (public-key cuirass-remote-server-configuration-public-key ;string + (default #f)) + (private-key cuirass-remote-server-configuration-private-key ;string + (default #f))) + (define-record-type* <cuirass-configuration> cuirass-configuration make-cuirass-configuration cuirass-configuration? @@ -54,25 +85,18 @@ (default "/var/log/cuirass.log")) (web-log-file cuirass-configuration-web-log-file ;string (default "/var/log/cuirass-web.log")) - (queries-log-file cuirass-configuration-queries-log-file ;string - (default #f)) - (web-queries-log-file - cuirass-configuration-web-queries-log-file ;string - (default #f)) (cache-directory cuirass-configuration-cache-directory ;string (dir-name) (default "/var/cache/cuirass")) - (ttl cuirass-configuration-ttl ;integer - (default (* 30 24 3600))) (user cuirass-configuration-user ;string (default "cuirass")) (group cuirass-configuration-group ;string (default "cuirass")) (interval cuirass-configuration-interval ;integer (seconds) (default 60)) - (queue-size cuirass-configuration-queue-size - (default 1)) - (database cuirass-configuration-database ;string (file-name) - (default "/var/lib/cuirass/cuirass.db")) + (remote-server cuirass-configuration-remote-server + (default #f)) + (database cuirass-configuration-database ;string + (default %cuirass-default-database)) (port cuirass-configuration-port ;integer (port) (default 8081)) (host cuirass-configuration-host ;string @@ -94,15 +118,11 @@ (cache-directory (cuirass-configuration-cache-directory config)) (web-log-file (cuirass-configuration-web-log-file config)) (log-file (cuirass-configuration-log-file config)) - (queries-log-file (cuirass-configuration-queries-log-file config)) - (web-queries-log-file - (cuirass-configuration-web-queries-log-file config)) (user (cuirass-configuration-user config)) (group (cuirass-configuration-group config)) (interval (cuirass-configuration-interval config)) - (queue-size (cuirass-configuration-queue-size config)) + (remote-server (cuirass-configuration-remote-server config)) (database (cuirass-configuration-database config)) - (ttl (cuirass-configuration-ttl config)) (port (cuirass-configuration-port config)) (host (cuirass-configuration-host config)) (specs (cuirass-configuration-specifications config)) @@ -110,64 +130,95 @@ (one-shot? (cuirass-configuration-one-shot? config)) (fallback? (cuirass-configuration-fallback? config)) (extra-options (cuirass-configuration-extra-options config))) - (list (shepherd-service - (documentation "Run Cuirass.") - (provision '(cuirass)) - (requirement '(guix-daemon networking)) - (start #~(make-forkexec-constructor - (list (string-append #$cuirass "/bin/cuirass") - "--cache-directory" #$cache-directory - "--specifications" - #$(scheme-file "cuirass-specs.scm" specs) - "--database" #$database - "--ttl" #$(string-append (number->string ttl) "s") - "--interval" #$(number->string interval) - "--queue-size" #$(number->string queue-size) - #$@(if queries-log-file - (list (string-append "--log-queries=" - queries-log-file)) - '()) - #$@(if use-substitutes? '("--use-substitutes") '()) - #$@(if one-shot? '("--one-shot") '()) - #$@(if fallback? '("--fallback") '()) - #$@extra-options) - - #:environment-variables - (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" - (string-append "GIT_EXEC_PATH=" #$git - "/libexec/git-core")) - - #:user #$user - #:group #$group - #:log-file #$log-file)) - (stop #~(make-kill-destructor))) - (shepherd-service - (documentation "Run Cuirass web interface.") - (provision '(cuirass-web)) - (requirement '(guix-daemon networking)) - (start #~(make-forkexec-constructor - (list (string-append #$cuirass "/bin/cuirass") - "--cache-directory" #$cache-directory - "--specifications" - #$(scheme-file "cuirass-specs.scm" specs) - "--database" #$database - "--ttl" #$(string-append (number->string ttl) "s") - "--web" - "--port" #$(number->string port) - "--listen" #$host - "--interval" #$(number->string interval) - #$@(if web-queries-log-file - (list (string-append "--log-queries=" - web-queries-log-file)) - '()) - #$@(if use-substitutes? '("--use-substitutes") '()) - #$@(if fallback? '("--fallback") '()) - #$@extra-options) + `(,(shepherd-service + (documentation "Run Cuirass.") + (provision '(cuirass)) + (requirement '(guix-daemon postgres networking)) + (start #~(make-forkexec-constructor + (list (string-append #$cuirass "/bin/cuirass") + "--cache-directory" #$cache-directory + "--specifications" + #$(scheme-file "cuirass-specs.scm" specs) + "--database" #$database + "--interval" #$(number->string interval) + #$@(if remote-server '("--build-remote") '()) + #$@(if use-substitutes? '("--use-substitutes") '()) + #$@(if one-shot? '("--one-shot") '()) + #$@(if fallback? '("--fallback") '()) + #$@extra-options) - #:user #$user - #:group #$group - #:log-file #$web-log-file)) - (stop #~(make-kill-destructor)))))) + #:environment-variables + (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" + (string-append "GIT_EXEC_PATH=" #$git + "/libexec/git-core")) + + #:user #$user + #:group #$group + #:log-file #$log-file)) + (stop #~(make-kill-destructor))) + ,(shepherd-service + (documentation "Run Cuirass web interface.") + (provision '(cuirass-web)) + (requirement '(guix-daemon postgres networking)) + (start #~(make-forkexec-constructor + (list (string-append #$cuirass "/bin/cuirass") + "--cache-directory" #$cache-directory + "--database" #$database + "--web" + "--port" #$(number->string port) + "--listen" #$host + "--interval" #$(number->string interval) + #$@(if use-substitutes? '("--use-substitutes") '()) + #$@(if fallback? '("--fallback") '()) + #$@extra-options) + + #:user #$user + #:group #$group + #:log-file #$web-log-file)) + (stop #~(make-kill-destructor))) + ,@(if remote-server + (match-record remote-server <cuirass-remote-server-configuration> + (backend-port publish-port log-file cache trigger-url + public-key private-key) + (list + (shepherd-service + (documentation "Run Cuirass remote build server.") + (provision '(cuirass-remote-server)) + (requirement '(avahi-daemon cuirass guix-daemon networking)) + (start #~(make-forkexec-constructor + (list (string-append #$cuirass "/bin/remote-server") + (string-append "--database=" #$database) + (string-append "--cache=" #$cache) + (string-append "--user=" #$user) + #$@(if backend-port + (list (string-append + "--backend-port=" + (number->string backend-port))) + '()) + #$@(if publish-port + (list (string-append + "--publish-port=" + (number->string publish-port))) + '()) + #$@(if trigger-url + (list + (string-append + "--trigger-substitute-url=" + trigger-url)) + '()) + #$@(if public-key + (list + (string-append "--public-key=" + public-key)) + '()) + #$@(if private-key + (list + (string-append "--private-key=" + private-key)) + '())) + #:log-file #$log-file)) + (stop #~(make-kill-destructor))))) + '())))) (define (cuirass-account config) "Return the user accounts and user groups for CONFIG." @@ -184,16 +235,24 @@ (home-directory (string-append "/var/lib/" cuirass-user)) (shell (file-append shadow "/sbin/nologin")))))) +(define (cuirass-postgresql-role config) + (let ((user (cuirass-configuration-user config))) + (list (postgresql-role + (name user) + (create-database? #t))))) + (define (cuirass-activation config) "Return the activation code for CONFIG." - (let ((cache (cuirass-configuration-cache-directory config)) - (db (dirname (cuirass-configuration-database config))) - (user (cuirass-configuration-user config)) - (log "/var/log/cuirass") - (queries-log-file (cuirass-configuration-queries-log-file config)) - (web-queries-log-file - (cuirass-configuration-web-queries-log-file config)) - (group (cuirass-configuration-group config))) + (let* ((cache (cuirass-configuration-cache-directory config)) + (remote-server (cuirass-configuration-remote-server config)) + (remote-cache (and remote-server + (cuirass-remote-server-configuration-cache + remote-server))) + (db (dirname + (cuirass-configuration-database config))) + (user (cuirass-configuration-user config)) + (log "/var/log/cuirass") + (group (cuirass-configuration-group config))) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) @@ -202,37 +261,24 @@ (mkdir-p #$db) (mkdir-p #$log) + (when #$remote-cache + (mkdir-p #$remote-cache)) + (let ((uid (passwd:uid (getpw #$user))) (gid (group:gid (getgr #$group)))) (chown #$cache uid gid) (chown #$db uid gid) (chown #$log uid gid) - (let ((queries-log-file #$queries-log-file)) - (when queries-log-file - (call-with-output-file queries-log-file (const #t)) - (chown #$queries-log-file uid gid))) - - (let ((web-queries-log-file #$web-queries-log-file)) - (when web-queries-log-file - (call-with-output-file web-queries-log-file (const #t)) - (chown web-queries-log-file uid gid)))))))) + (when #$remote-cache + (chown #$remote-cache uid gid))))))) (define (cuirass-log-rotations config) "Return the list of log rotations that corresponds to CONFIG." - (let ((queries-log-file (cuirass-configuration-queries-log-file config)) - (web-queries-log-file - (cuirass-configuration-web-queries-log-file config))) - (list (log-rotation - (files `(,(cuirass-configuration-log-file config) - ,@(if queries-log-file - (list queries-log-file) - '()) - ,@(if web-queries-log-file - (list web-queries-log-file) - '()))) - (frequency 'weekly) - (options '("rotate 40")))))) ;worth keeping + (list (log-rotation + (files (list (cuirass-configuration-log-file config))) + (frequency 'weekly) + (options '("rotate 40"))))) ;worth keeping (define cuirass-service-type (service-type @@ -244,7 +290,72 @@ (service-extension rottlog-service-type cuirass-log-rotations) (service-extension activation-service-type cuirass-activation) (service-extension shepherd-root-service-type cuirass-shepherd-service) - (service-extension account-service-type cuirass-account))) + (service-extension account-service-type cuirass-account) + (service-extension postgresql-role-service-type + cuirass-postgresql-role))) (description "Run the Cuirass continuous integration service."))) +(define-record-type* <cuirass-remote-worker-configuration> + cuirass-remote-worker-configuration make-cuirass-remote-worker-configuration + cuirass-remote-worker-configuration? + (cuirass cuirass-remote-worker-configuration-cuirass ;package + (default cuirass)) + (workers cuirass-remote-worker-workers ;int + (default 1)) + (systems cuirass-remote-worker-systems ;list + (default (list (%current-system)))) + (log-file cuirass-remote-worker-log-file ;string + (default "/var/log/cuirass-remote-worker.log")) + (publish-port cuirass-remote-worker-configuration-publish-port ;int + (default #f)) + (public-key cuirass-remote-worker-configuration-public-key ;string + (default #f)) + (private-key cuirass-remote-worker-configuration-private-key ;string + (default #f))) + +(define (cuirass-remote-worker-shepherd-service config) + "Return a <shepherd-service> for the Cuirass remote worker service with +CONFIG." + (match-record config <cuirass-remote-worker-configuration> + (cuirass workers systems log-file publish-port public-key private-key) + (list (shepherd-service + (documentation "Run Cuirass remote build worker.") + (provision '(cuirass-remote-worker)) + (requirement '(avahi-daemon guix-daemon networking)) + (start #~(make-forkexec-constructor + (list (string-append #$cuirass "/bin/remote-worker") + (string-append "--workers=" + #$(number->string workers)) + #$@(if systems + (list (string-append + "--systems=" + (string-join systems ","))) + '()) + #$@(if publish-port + (list (string-append + "--publish-port=" + (number->string publish-port))) + '()) + #$@(if public-key + (list + (string-append "--public-key=" + public-key)) + '()) + #$@(if private-key + (list + (string-append "--private-key=" + private-key)) + '())) + #:log-file #$log-file)) + (stop #~(make-kill-destructor)))))) + +(define cuirass-remote-worker-service-type + (service-type + (name 'cuirass-remote-worker) + (extensions + (list + (service-extension shepherd-root-service-type + cuirass-remote-worker-shepherd-service))) + (description + "Run the Cuirass remote build worker service."))) diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index e8957c6859..17ed04e58b 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -32,7 +32,7 @@ #:use-module (guix records) #:use-module (guix gexp) #:use-module (ice-9 match) - #:use-module ((srfi srfi-1) #:select (append-map)) + #:use-module ((srfi srfi-1) #:select (append-map find)) #:export (cups-service-type cups-configuration opaque-cups-configuration @@ -50,7 +50,13 @@ ;;; Code: (define %cups-accounts - (list (user-group (name "lp") (system? #t)) + (list (or + ;; The "lp" group should already exist; try to reuse it. + (find (lambda (group) + (and (user-group? group) + (string=? (user-group-name group) "lp"))) + %base-groups) + (user-group (name "lp") (system? #t))) (user-group (name "lpadmin") (system? #t)) (user-account (name "lp") @@ -482,7 +488,7 @@ programs.") (package cups) "The CUPS package.") (extensions - (package-list (list cups-filters epson-inkjet-printer-escpr + (package-list (list brlaser cups-filters epson-inkjet-printer-escpr foomatic-filters hplip-minimal splix)) "Drivers and other extensions to the CUPS package.") (files-configuration diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index d2dc5f0da8..c11898693f 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -43,6 +43,7 @@ postgresql-config-file-log-destination postgresql-config-file-hba-file postgresql-config-file-ident-file + postgresql-config-file-socket-directory postgresql-config-file-extra-config postgresql-configuration @@ -51,11 +52,24 @@ postgresql-configuration-port postgresql-configuration-locale postgresql-configuration-file + postgresql-configuration-log-directory postgresql-configuration-data-directory postgresql-service postgresql-service-type + postgresql-role + postgresql-role? + postgresql-role-name + postgresql-role-permissions + postgresql-role-create-database? + postgresql-role-configuration + postgresql-role-configuration? + postgresql-role-configuration-host + postgresql-role-configuration-roles + + postgresql-role-service-type + memcached-service-type memcached-configuration memcached-configuration? @@ -101,36 +115,48 @@ host all all ::1/128 md5")) (define-record-type* <postgresql-config-file> postgresql-config-file make-postgresql-config-file postgresql-config-file? - (log-destination postgresql-config-file-log-destination - (default "syslog")) - (hba-file postgresql-config-file-hba-file - (default %default-postgres-hba)) - (ident-file postgresql-config-file-ident-file - (default %default-postgres-ident)) - (extra-config postgresql-config-file-extra-config - (default '()))) + (log-destination postgresql-config-file-log-destination + (default "syslog")) + (hba-file postgresql-config-file-hba-file + (default %default-postgres-hba)) + (ident-file postgresql-config-file-ident-file + (default %default-postgres-ident)) + (socket-directory postgresql-config-file-socket-directory + (default "/var/run/postgresql")) + (extra-config postgresql-config-file-extra-config + (default '()))) (define-gexp-compiler (postgresql-config-file-compiler (file <postgresql-config-file>) system target) (match file (($ <postgresql-config-file> log-destination hba-file - ident-file extra-config) - (define (single-quote string) - (if string - (list "'" string "'") - '())) - - (define contents - (append-map - (match-lambda - ((key) '()) - ((key . #f) '()) - ((key values ...) `(,key " = " ,@values "\n"))) - - `(("log_destination" ,@(single-quote log-destination)) - ("hba_file" ,@(single-quote hba-file)) - ("ident_file" ,@(single-quote ident-file)) - ,@extra-config))) + ident-file socket-directory + extra-config) + ;; See: https://www.postgresql.org/docs/current/config-setting.html. + (define (format-value value) + (cond + ((boolean? value) + (list (if value "on" "off"))) + ((number? value) + (list (number->string value))) + (else + (list "'" value "'")))) + + (define contents + (append-map + (match-lambda + ((key) '()) + ((key . #f) '()) + ((key values ...) + `(,key " = " ,@(append-map format-value values) "\n"))) + + `(("log_destination" ,log-destination) + ("hba_file" ,hba-file) + ("ident_file" ,ident-file) + ,@(if socket-directory + `(("unix_socket_directories" ,socket-directory)) + '()) + ,@extra-config))) (gexp->derivation "postgresql.conf" @@ -151,6 +177,8 @@ host all all ::1/128 md5")) (default "en_US.utf8")) (config-file postgresql-configuration-file (default (postgresql-config-file))) + (log-directory postgresql-configuration-log-directory + (default "/var/log/postgresql")) (data-directory postgresql-configuration-data-directory (default "/var/lib/postgresql/data")) (extension-packages postgresql-configuration-extension-packages @@ -178,7 +206,9 @@ host all all ::1/128 md5")) #:builder (begin (use-modules (guix build utils) (guix build union) (srfi srfi-26)) - (union-build (assoc-ref %outputs "out") (map (lambda (input) (cdr input)) %build-inputs)) + (union-build (assoc-ref %outputs "out") + (map (lambda (input) (cdr input)) + %build-inputs)) #t))) (inputs `(("postgresql" ,postgresql) @@ -187,15 +217,18 @@ host all all ::1/128 md5")) (define postgresql-activation (match-lambda - (($ <postgresql-configuration> postgresql port locale config-file data-directory - extension-packages) + (($ <postgresql-configuration> postgresql port locale config-file + log-directory data-directory + extension-packages) #~(begin (use-modules (guix build utils) (ice-9 match)) (let ((user (getpwnam "postgres")) - (initdb (string-append #$(final-postgresql postgresql extension-packages) - "/bin/initdb")) + (initdb (string-append + #$(final-postgresql postgresql + extension-packages) + "/bin/initdb")) (initdb-args (append (if #$locale @@ -205,6 +238,18 @@ host all all ::1/128 md5")) (mkdir-p #$data-directory) (chown #$data-directory (passwd:uid user) (passwd:gid user)) + ;; Create the socket directory. + (let ((socket-directory + #$(postgresql-config-file-socket-directory config-file))) + (when (string? socket-directory) + (mkdir-p socket-directory) + (chown socket-directory (passwd:uid user) (passwd:gid user)))) + + ;; Create the log directory. + (when (string? #$log-directory) + (mkdir-p #$log-directory) + (chown #$log-directory (passwd:uid user) (passwd:gid user))) + ;; Drop privileges and init state directory in a new ;; process. Wait for it to finish before proceeding. (match (primitive-fork) @@ -227,8 +272,9 @@ host all all ::1/128 md5")) (define postgresql-shepherd-service (match-lambda - (($ <postgresql-configuration> postgresql port locale config-file data-directory - extension-packages) + (($ <postgresql-configuration> postgresql port locale config-file + log-directory data-directory + extension-packages) (let* ((pg_ctl-wrapper ;; Wrapper script that switches to the 'postgres' user before ;; launching daemon. @@ -240,13 +286,21 @@ host all all ::1/128 md5")) (match (command-line) ((_ mode) (let ((user (getpwnam "postgres")) - (pg_ctl #$(file-append (final-postgresql postgresql extension-packages) + (pg_ctl #$(file-append + (final-postgresql postgresql + extension-packages) "/bin/pg_ctl")) (options (format #f "--config-file=~a -p ~d" #$config-file #$port))) (setgid (passwd:gid user)) (setuid (passwd:uid user)) - (execl pg_ctl pg_ctl "-D" #$data-directory "-o" options + (execl pg_ctl pg_ctl "-D" #$data-directory + #$@(if (string? log-directory) + (list "-l" + (string-append log-directory + "/pg_ctl.log")) + '()) + "-o" options mode))))))) (pid-file (in-vicinity data-directory "postmaster.pid")) (action (lambda args @@ -266,25 +320,29 @@ host all all ::1/128 md5")) (stop (action "stop")))))))) (define postgresql-service-type - (service-type (name 'postgresql) - (extensions - (list (service-extension shepherd-root-service-type - postgresql-shepherd-service) - (service-extension activation-service-type - postgresql-activation) - (service-extension account-service-type - (const %postgresql-accounts)) - (service-extension profile-service-type - (compose list postgresql-configuration-postgresql)))))) + (service-type + (name 'postgresql) + (extensions + (list (service-extension shepherd-root-service-type + postgresql-shepherd-service) + (service-extension activation-service-type + postgresql-activation) + (service-extension account-service-type + (const %postgresql-accounts)) + (service-extension + profile-service-type + (compose list postgresql-configuration-postgresql)))))) (define-deprecated (postgresql-service #:key (postgresql postgresql) (port 5432) (locale "en_US.utf8") (config-file (postgresql-config-file)) - (data-directory "/var/lib/postgresql/data") + (data-directory + "/var/lib/postgresql/data") (extension-packages '())) postgresql-service-type - "Return a service that runs @var{postgresql}, the PostgreSQL database server. + "Return a service that runs @var{postgresql}, the PostgreSQL database +server. The PostgreSQL daemon loads its runtime configuration from @var{config-file} and stores the database cluster in @var{data-directory}." @@ -297,6 +355,96 @@ and stores the database cluster in @var{data-directory}." (data-directory data-directory) (extension-packages extension-packages)))) +(define-record-type* <postgresql-role> + postgresql-role make-postgresql-role + postgresql-role? + (name postgresql-role-name) ;string + (permissions postgresql-role-permissions + (default '(createdb login))) ;list + (create-database? postgresql-role-create-database? ;boolean + (default #f))) + +(define-record-type* <postgresql-role-configuration> + postgresql-role-configuration make-postgresql-role-configuration + postgresql-role-configuration? + (host postgresql-role-configuration-host ;string + (default "/var/run/postgresql")) + (log postgresql-role-configuration-log ;string + (default "/var/log/postgresql_roles.log")) + (roles postgresql-role-configuration-roles + (default '()))) ;list + +(define (postgresql-create-roles config) + ;; See: https://www.postgresql.org/docs/current/sql-createrole.html for the + ;; complete permissions list. + (define (format-permissions permissions) + (let ((dict '(bypassrls createdb createrole login replication superuser))) + (string-join (filter-map (lambda (permission) + (and (member permission dict) + (string-upcase + (symbol->string permission)))) + permissions) + " "))) + + (define (roles->queries roles) + (apply mixed-text-file "queries" + (append-map + (lambda (role) + (match-record role <postgresql-role> + (name permissions create-database?) + `("SELECT NOT(EXISTS(SELECT 1 FROM pg_catalog.pg_roles WHERE \ +rolname = '" ,name "')) as not_exists;\n" +"\\gset\n" +"\\if :not_exists\n" +"CREATE ROLE " ,name +" WITH " ,(format-permissions permissions) +";\n" +,@(if create-database? + `("CREATE DATABASE " ,name + " OWNER " ,name ";\n") + '()) +"\\endif\n"))) + roles))) + + (let ((host (postgresql-role-configuration-host config)) + (roles (postgresql-role-configuration-roles config))) + (program-file + "postgresql-create-roles" + #~(begin + (let ((psql #$(file-append postgresql "/bin/psql"))) + (execl psql psql "-a" + "-h" #$host + "-f" #$(roles->queries roles))))))) + +(define (postgresql-role-shepherd-service config) + (match-record config <postgresql-role-configuration> + (log) + (list (shepherd-service + (requirement '(postgres)) + (provision '(postgres-roles)) + (one-shot? #t) + (start #~(make-forkexec-constructor + (list #$(postgresql-create-roles config)) + #:user "postgres" #:group "postgres" + #:log-file #$log)) + (documentation "Create PostgreSQL roles."))))) + +(define postgresql-role-service-type + (service-type (name 'postgresql-role) + (extensions + (list (service-extension shepherd-root-service-type + postgresql-role-shepherd-service))) + (compose concatenate) + (extend (lambda (config extended-roles) + (match-record config <postgresql-role-configuration> + (host roles) + (postgresql-role-configuration + (host host) + (roles (append roles extended-roles)))))) + (default-value (postgresql-role-configuration)) + (description "Ensure the specified PostgreSQL roles are +created after the PostgreSQL database is started."))) + ;;; ;;; Memcached diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 9ec0f6a9ca..a4d4ac0646 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages cluster) #:use-module (gnu packages connman) #:use-module (gnu packages freedesktop) #:use-module (gnu packages linux) @@ -192,7 +194,11 @@ yggdrasil-configuration-log-level yggdrasil-configuration-log-to yggdrasil-configuration-json-config - yggdrasil-configuration-package)) + yggdrasil-configuration-package + + keepalived-configuration + keepalived-configuration? + keepalived-service-type)) ;;; Commentary: ;;; @@ -277,7 +283,9 @@ fe80::1%lo0 apps.facebook.com\n") (and (zero? (cdr (waitpid pid))) (read-pid-file #$pid-file))))) (stop #~(make-kill-destructor)))) - isc-dhcp)) + isc-dhcp + (description "Run @command{dhcp}, a Dynamic Host Configuration +Protocol (DHCP) client, on all the non-loopback network interfaces."))) (define-deprecated (dhcp-client-service #:key (dhcp isc-dhcp)) dhcp-client-service-type @@ -552,9 +560,7 @@ make an initial adjustment of more than 1,000 seconds." (constraint-from openntpd-constraint-from (default '())) (constraints-from openntpd-constraints-from - (default '())) - (allow-large-adjustment? openntpd-allow-large-adjustment? - (default #f))) ; upstream default + (default '()))) (define (openntpd-configuration->string config) @@ -586,8 +592,7 @@ make an initial adjustment of more than 1,000 seconds." "\n"))) ;add a trailing newline (define (openntpd-shepherd-service config) - (let ((openntpd (openntpd-configuration-openntpd config)) - (allow-large-adjustment? (openntpd-allow-large-adjustment? config))) + (let ((openntpd (openntpd-configuration-openntpd config))) (define ntpd.conf (plain-file "ntpd.conf" (openntpd-configuration->string config))) @@ -599,10 +604,7 @@ make an initial adjustment of more than 1,000 seconds." (start #~(make-forkexec-constructor (list (string-append #$openntpd "/sbin/ntpd") "-f" #$ntpd.conf - "-d" ;; don't daemonize - #$@(if allow-large-adjustment? - '("-s") - '())) + "-d") ;; don't daemonize ;; When ntpd is daemonized it repeatedly tries to respawn ;; while running, leading shepherd to disable it. To ;; prevent spamming stderr, redirect output to logfile. @@ -1865,4 +1867,43 @@ See yggdrasil -genconf for config options.") (service-extension profile-service-type (compose list yggdrasil-configuration-package)))))) + +;;; +;;; Keepalived +;;; + +(define-record-type* <keepalived-configuration> + keepalived-configuration make-keepalived-configuration + keepalived-configuration? + (keepalived keepalived-configuration-keepalived ;<package> + (default keepalived)) + (config-file keepalived-configuration-config-file ;file-like + (default #f))) + +(define keepalived-shepherd-service + (match-lambda + (($ <keepalived-configuration> keepalived config-file) + (list + (shepherd-service + (provision '(keepalived)) + (documentation "Run keepalived.") + (requirement '(loopback)) + (start #~(make-forkexec-constructor + (list (string-append #$keepalived "/sbin/keepalived") + "--dont-fork" "--log-console" "--log-detail" + "--pid=/var/run/keepalived.pid" + (string-append "--use-file=" #$config-file)) + #:pid-file "/var/run/keepalived.pid" + #:log-file "/var/log/keepalived.log")) + (respawn? #f) + (stop #~(make-kill-destructor))))))) + +(define keepalived-service-type + (service-type (name 'keepalived) + (extensions (list (service-extension shepherd-root-service-type + keepalived-shepherd-service))) + (description + "Run @uref{https://www.keepalived.org/, Keepalived} +routing software."))) + ;;; networking.scm ends here diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 1faeb350df..e2ec59f5aa 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -1,8 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +37,12 @@ #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) - #:export (shepherd-root-service-type + #:export (shepherd-configuration + shepherd-configuration? + shepherd-configuration-shepherd + shepherd-configuration-services + + shepherd-root-service-type %shepherd-root-service shepherd-service-type @@ -76,7 +82,18 @@ ;;; Code: -(define (shepherd-boot-gexp services) +(define-record-type* <shepherd-configuration> + shepherd-configuration make-shepherd-configuration + shepherd-configuration? + (shepherd shepherd-configuration-shepherd + (default shepherd)) ; package + (services shepherd-configuration-services + (default '()))) ; list of <shepherd-service> + +(define (shepherd-boot-gexp config) + "Return a gexp starting the shepherd service." + (let ((shepherd (shepherd-configuration-shepherd config)) + (services (shepherd-configuration-services config))) #~(begin ;; Keep track of the booted system. (false-if-exception (delete-file "/run/booted-system")) @@ -95,7 +112,10 @@ ;; Start shepherd. (execl #$(file-append shepherd "/bin/shepherd") "shepherd" "--config" - #$(shepherd-configuration-file services)))) + #$(shepherd-configuration-file services shepherd))))) + +(define shepherd-packages + (compose list shepherd-configuration-shepherd)) (define shepherd-root-service-type (service-type @@ -103,39 +123,46 @@ ;; Extending the root shepherd service (aka. PID 1) happens by ;; concatenating the list of services provided by the extensions. (compose concatenate) - (extend append) + (extend (lambda (config extra-services) + (shepherd-configuration + (inherit config) + (services (append (shepherd-configuration-services config) + extra-services))))) (extensions (list (service-extension boot-service-type shepherd-boot-gexp) (service-extension profile-service-type - (const (list shepherd))))) + shepherd-packages))) + (default-value (shepherd-configuration)) (description "Run the GNU Shepherd as PID 1---i.e., the operating system's first process. The Shepherd takes care of managing services such as daemons by ensuring they are started and stopped in the right order."))) (define %shepherd-root-service - ;; The root shepherd service, aka. PID 1. Its parameter is a list of - ;; <shepherd-service> objects. - (service shepherd-root-service-type '())) + ;; The root shepherd service, aka. PID 1. Its parameter is a + ;; <shepherd-configuration>. + (service shepherd-root-service-type)) (define-syntax shepherd-service-type - (syntax-rules () + (syntax-rules (description) "Return a <service-type> denoting a simple shepherd service--i.e., the type for a service that extends SHEPHERD-ROOT-SERVICE-TYPE and nothing else. When DEFAULT is given, use it as the service's default value." - ((_ service-name proc default) + ((_ service-name proc default (description text)) (service-type (name service-name) (extensions (list (service-extension shepherd-root-service-type (compose list proc)))) - (default-value default))) - ((_ service-name proc) + (default-value default) + (description text))) + ((_ service-name proc (description text)) (service-type (name service-name) (extensions (list (service-extension shepherd-root-service-type - (compose list proc)))))))) + (compose list proc)))) + (description text))))) (define %default-imported-modules ;; Default set of modules imported for a service's consumption. @@ -268,9 +295,9 @@ stored." #~(#$name #$doc #$proc))) (shepherd-service-actions service)))))))) -(define (scm->go file) +(define (scm->go file shepherd) "Compile FILE, which contains code to be loaded by shepherd's config file, -and return the resulting '.go' file." +and return the resulting '.go' file. SHEPHERD is used as shepherd package." (let-system (system target) (with-extensions (list shepherd) (computed-file (string-append (basename (scheme-file-name file) ".scm") @@ -292,11 +319,13 @@ and return the resulting '.go' file." #:options '(#:local-build? #t #:substitutable? #f))))) -(define (shepherd-configuration-file services) - "Return the shepherd configuration file for SERVICES." +(define (shepherd-configuration-file services shepherd) + "Return the shepherd configuration file for SERVICES. SHEPHERD is used +as shepherd package." (assert-valid-graph services) - (let ((files (map shepherd-service-file services))) + (let ((files (map shepherd-service-file services)) + (scm->go (cute scm->go <> shepherd))) (define config #~(begin (use-modules (srfi srfi-34) diff --git a/gnu/services/syncthing.scm b/gnu/services/syncthing.scm new file mode 100644 index 0000000000..12ebe7c107 --- /dev/null +++ b/gnu/services/syncthing.scm @@ -0,0 +1,89 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com> +;;; +;;; 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 services syncthing) + #:use-module (gnu packages syncthing) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (syncthing-configuration + syncthing-configuration? + syncthing-service-type)) + +;;; Commentary: +;;; +;;; This module provides a service definition for the syncthing service. +;;; +;;; Code: + +(define-record-type* <syncthing-configuration> + syncthing-configuration make-syncthing-configuration + syncthing-configuration? + (syncthing syncthing-configuration-syncthing ;<package> + (default syncthing)) + (arguments syncthing-configuration-arguments ;list of strings + (default '())) + (logflags syncthing-configuration-logflags ;number + (default 0)) + (user syncthing-configuration-user ;string + (default #f)) + (group syncthing-configuration-group ;string + (default "users")) + (home syncthing-configuration-home ;string + (default #f))) + +(define syncthing-shepherd-service + (match-lambda + (($ <syncthing-configuration> syncthing arguments logflags user group home) + (list + (shepherd-service + (provision (list (string->symbol (string-append "syncthing-" user)))) + (documentation "Run syncthing.") + (requirement '(loopback)) + (start #~(make-forkexec-constructor + (append (list (string-append #$syncthing "/bin/syncthing") + "-no-browser" + "-no-restart" + (string-append "-logflags=" (number->string #$logflags))) + '#$arguments) + #:user #$user + #:group #$group + #:environment-variables + (append (list (string-append "HOME=" (or #$home (passwd:dir (getpw #$user)))) + "SSL_CERT_DIR=/etc/ssl/certs" + "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt") + (remove (lambda (str) + (or (string-prefix? "HOME=" str) + (string-prefix? "SSL_CERT_DIR=" str) + (string-prefix? "SSL_CERT_FILE=" str))) + (environ))))) + (respawn? #f) + (stop #~(make-kill-destructor))))))) + +(define syncthing-service-type + (service-type (name 'syncthing) + (extensions (list (service-extension shepherd-root-service-type + syncthing-shepherd-service))) + (description + "Run @uref{https://github.com/syncthing/syncthing, Syncthing} +decentralized continuous file system synchronization."))) + +;;; syncthing.scm ends here diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index f435630faf..a45da14a80 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ryan Moe <ryan.moe@gmail.com> ;;; Copyright © 2018, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -717,7 +717,7 @@ potential infinite waits blocking libvirt.")) (platforms qemu-binfmt-configuration-platforms (default '())) ;safest default (guix-support? qemu-binfmt-configuration-guix-support? - (default #f))) + (default #t))) (define (qemu-platform->binfmt qemu platform) "Return a gexp that evaluates to a binfmt string for PLATFORM, using the @@ -917,7 +917,9 @@ is added to the OS specified in CONFIG." (disk-size (hurd-vm-configuration-disk-size config)) (type (lookup-image-type-by-name 'hurd-qcow2)) (os->image (image-type-constructor type))) - (system-image (os->image os)))) + (system-image + (image (inherit (os->image os)) + (size disk-size))))) (define (hurd-vm-port config base) "Return the forwarded vm port for this childhurd config." diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 855f4e649b..ff7b262b6a 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -922,19 +922,20 @@ of index files." (define php-fpm-accounts (match-lambda (($ <php-fpm-configuration> php socket user group socket-user socket-group _ _ _ _ _ _) - (list - (user-group (name "php-fpm") (system? #t)) - (user-group - (name group) - (system? #t)) - (user-account - (name user) - (group group) - (supplementary-groups '("php-fpm")) - (system? #t) - (comment "php-fpm daemon user") - (home-directory "/var/empty") - (shell (file-append shadow "/sbin/nologin"))))))) + `(,@(if (equal? group "php-fpm") + '() + (list (user-group (name "php-fpm") (system? #t)))) + ,(user-group + (name group) + (system? #t)) + ,(user-account + (name user) + (group group) + (supplementary-groups '("php-fpm")) + (system? #t) + (comment "php-fpm daemon user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))))) (define (default-php-fpm-config socket user group socket-user socket-group pid-file log-file pm display-errors timezone workers-log-file) diff --git a/gnu/system.scm b/gnu/system.scm index c284a18379..5bf2a85272 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> @@ -12,6 +12,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -858,8 +859,8 @@ syntactically correct." (copy-file #$file #$output))))) (define* (operating-system-etc-service os) - "Return a <service> that builds containing the static part of the /etc -directory." + "Return a <service> that builds a directory containing the static part of +the /etc directory." (let* ((login.defs (plain-file "login.defs" (string-append @@ -1134,10 +1135,11 @@ we're running in the final root." (define (operating-system-shepherd-service-names os) "Return the list of Shepherd service names for OS." (append-map shepherd-service-provision - (service-value - (fold-services (operating-system-services os) - #:target-type - shepherd-root-service-type)))) + (shepherd-configuration-services + (service-value + (fold-services (operating-system-services os) + #:target-type + shepherd-root-service-type))))) (define* (operating-system-derivation os) "Return a derivation that builds OS." diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl index e4b795ff27..135ed23cb6 100644 --- a/gnu/system/examples/bare-hurd.tmpl +++ b/gnu/system/examples/bare-hurd.tmpl @@ -5,7 +5,7 @@ ;; To build a disk image for a virtual machine, do ;; -;; ./pre-inst-env guix system disk-image --target=i586-pc-gnu \ +;; ./pre-inst-env guix system image --target=i586-pc-gnu \ ;; gnu/system/examples/bare-hurd.tmpl ;; ;; You may run it like so diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 67930750d5..1012fa6158 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -70,7 +70,7 @@ arm64-disk-image image-with-os - raw-image-type + efi-raw-image-type qcow2-image-type iso-image-type uncompressed-iso-image-type @@ -128,21 +128,21 @@ (label "GUIX_IMAGE") (flags '(boot))))))) -(define arm32-disk-image +(define* (arm32-disk-image #:optional (offset root-offset)) (image (format 'disk-image) (target "arm-linux-gnueabihf") (partitions (list (partition (inherit root-partition) - (offset root-offset)))) + (offset offset)))) ;; FIXME: Deleting and creating "/var/run" and "/tmp" on the overlayfs ;; fails. (volatile-root? #f))) -(define arm64-disk-image +(define* (arm64-disk-image #:optional (offset root-offset)) (image - (inherit arm32-disk-image) + (inherit (arm32-disk-image offset)) (target "aarch64-linux-gnu"))) @@ -157,9 +157,9 @@ set to the given OS." (inherit base-image) (operating-system os))) -(define raw-image-type +(define efi-raw-image-type (image-type - (name 'raw) + (name 'efi-raw) (constructor (cut image-with-os efi-disk-image <>)))) (define qcow2-image-type @@ -189,12 +189,12 @@ set to the given OS." (define arm32-image-type (image-type (name 'arm32-raw) - (constructor (cut image-with-os arm32-disk-image <>)))) + (constructor (cut image-with-os (arm32-disk-image) <>)))) (define arm64-image-type (image-type (name 'arm64-raw) - (constructor (cut image-with-os arm64-disk-image <>)))) + (constructor (cut image-with-os (arm64-disk-image) <>)))) ;; diff --git a/gnu/system/images/novena.scm b/gnu/system/images/novena.scm index c4d25e850e..dfaf2c60ee 100644 --- a/gnu/system/images/novena.scm +++ b/gnu/system/images/novena.scm @@ -52,7 +52,7 @@ (define novena-image-type (image-type (name 'novena-raw) - (constructor (cut image-with-os arm32-disk-image <>)))) + (constructor (cut image-with-os (arm32-disk-image) <>)))) (define novena-barebones-raw-image (image diff --git a/gnu/system/images/pine64.scm b/gnu/system/images/pine64.scm index f0b0c3f50d..63b31399a5 100644 --- a/gnu/system/images/pine64.scm +++ b/gnu/system/images/pine64.scm @@ -57,7 +57,7 @@ (define pine64-image-type (image-type (name 'pine64-raw) - (constructor (cut image-with-os arm64-disk-image <>)))) + (constructor (cut image-with-os (arm64-disk-image) <>)))) (define pine64-barebones-raw-image (image diff --git a/gnu/system/images/pinebook-pro.scm b/gnu/system/images/pinebook-pro.scm index b038e262cb..22997fd742 100644 --- a/gnu/system/images/pinebook-pro.scm +++ b/gnu/system/images/pinebook-pro.scm @@ -51,13 +51,15 @@ (extra-options '("-L")) ; no carrier detect (baud-rate "115200") (term "vt100") - (tty "ttyS0"))) + (tty "ttyS2"))) %base-services)))) (define pinebook-pro-image-type (image-type (name 'pinebook-pro-raw) - (constructor (cut image-with-os arm64-disk-image <>)))) + (constructor (cut image-with-os + (arm64-disk-image (* 9 (expt 2 20))) ;9MiB + <>)))) (define pinebook-pro-barebones-raw-image (image diff --git a/gnu/system/install.scm b/gnu/system/install.scm index e753463473..7fa5c15324 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> @@ -212,7 +212,9 @@ the given target.") ;; 'user-processes' doesn't depend on us. The 'user-file-systems' ;; service will unmount TARGET eventually. (delete-file-recursively - (string-append target #$%backing-directory)))))))) + (string-append target #$%backing-directory)))))) + (description "Make the store copy-on-write, with writes going to \ +the given target."))) (define (cow-store-service) "Return a service that makes the store copy-on-write, such that writes go to diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 4a9cd0efe2..e6fd0f1315 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Google LLC @@ -76,7 +76,10 @@ from OS that are needed on the bare metal and not in a container." doing anything.") (provision '(loopback networking)) (start #~(const #t)))) - #f)) + #f + (description "Provide loopback and networking without actually doing +anything. This service is used by guest systems running in containers, where +networking support is provided by the host."))) (define %nscd-container-caches ;; Similar to %nscd-default-caches but with smaller cache sizes. This allows diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index 559c27bb28..518dbc4fe8 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; @@ -130,7 +130,8 @@ specifications to 'targets'." (documentation "Map a device node using Linux's device mapper.") (start #~(lambda () #$(open source targets))) (stop #~(lambda _ (not #$(close source targets)))) - (respawn? #f)))))) + (respawn? #f)))) + (description "Map a device node using Linux's device mapper."))) (define (device-mapping-service mapped-device) "Return a service that sets up @var{mapped-device}." diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 8c76bc2b11..59f0a02c8b 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -21,6 +21,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu system shadow) + #:use-module ((guix diagnostics) #:select (formatted-message)) #:use-module (guix records) #:use-module (guix gexp) #:use-module (guix store) @@ -35,6 +36,7 @@ #:use-module ((gnu packages admin) #:select (shadow)) #:use-module (gnu packages bash) + #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) @@ -228,6 +230,44 @@ for a colorful Guile experience.\\n\\n\"))))\n")) (rename-file ".nanorc" ".config/nano/nanorc")) #t)))) +(define (find-duplicates list) + "Find duplicate entries in @var{list}. +Two entries are considered duplicates, if they are @code{equal?} to each other. +This implementation is made asymptotically faster than @code{delete-duplicates} +through the internal use of hash tables." + (let loop ((list list) + ;; We actually modify table in-place, but still allocate it here + ;; so that we only need one level of indentation. + (table (make-hash-table))) + (match list + (() + (hash-fold (lambda (key value seed) + (if (> value 1) + (cons key seed) + seed)) + '() + table)) + ((first . rest) + (hash-set! table first + (1+ (hash-ref table first 0))) + (loop rest table))))) + +(define (assert-unique-account-names users) + (match (find-duplicates (map user-account-name users)) + (() *unspecified*) + (duplicates + (warning + (G_ "the following accounts appear more than once:~{ ~a~}~%") + duplicates)))) + +(define (assert-unique-group-names groups) + (match (find-duplicates (map user-group-name groups)) + (() *unspecified*) + (duplicates + (warning + (G_ "the following groups appear more than once:~{ ~a~}~%") + duplicates)))) + (define (assert-valid-users/groups users groups) "Raise an error if USERS refer to groups not listed in GROUPS." (let ((groups (list->set (map user-group-name groups)))) @@ -287,17 +327,19 @@ of user '~a' is undeclared") <user-group> objects. Raise an error if a user account refers to a undefined group." (define accounts - (filter user-account? accounts+groups)) + (delete-duplicates (filter user-account? accounts+groups) eq?)) (define user-specs (map user-account->gexp accounts)) (define groups - (filter user-group? accounts+groups)) + (delete-duplicates (filter user-group? accounts+groups) eq?)) (define group-specs (map user-group->gexp groups)) + (assert-unique-account-names accounts) + (assert-unique-group-names groups) (assert-valid-users/groups accounts groups) ;; Add users and user groups. diff --git a/gnu/tests/cuirass.scm b/gnu/tests/cuirass.scm new file mode 100644 index 0000000000..86a06d3069 --- /dev/null +++ b/gnu/tests/cuirass.scm @@ -0,0 +1,276 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu tests cuirass) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system vm) + #:use-module (gnu system install) + #:use-module (gnu packages databases) + #:use-module (gnu packages guile) + #:use-module (gnu packages version-control) + #:use-module (gnu services) + #:use-module (gnu services avahi) + #:use-module (gnu services base) + #:use-module (gnu services cuirass) + #:use-module (gnu services databases) + #:use-module (gnu services networking) + #:use-module (gnu system nss) + #:use-module (guix gexp) + #:use-module (guix store) + #:export (%cuirass-test + %cuirass-remote-test)) + +(define* (run-cuirass-test name #:key remote-build?) + (define %cuirass-specs + #~(list + '((#:name . "test") + (#:load-path-inputs . ()) + (#:package-path-inputs . ()) + (#:proc-input . "main") + (#:proc-file . "derivation.scm") + (#:proc . main) + (#:proc-args . ()) + (#:inputs . (((#:name . "main") + (#:url . "file:///tmp/cuirass-main/") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)))) + (#:build-outputs . ()) + (#:priority . 1)))) + + (define %derivation-file + (scheme-file + "derivation.scm" + '(begin + (use-modules (guix) + (srfi srfi-1) + (ice-9 match)) + + (define (derivation->alist store drv) + `((#:derivation . ,(derivation-file-name drv)) + (#:log . ,(log-file store (derivation-file-name drv))) + (#:outputs . ,(filter-map (lambda (res) + (match res + ((name . path) + `(,name . ,path)))) + (derivation->output-paths drv))) + (#:nix-name . ,(derivation-name drv)) + (#:system . ,(derivation-system drv)) + (#:max-silent-time . 3600) + (#:timeout . 3600))) + + (define (main store arguments) + (let* ((file (plain-file "test" "this is a test derivation")) + (job-name "test-job") + (drv (run-with-store store + (gexp->derivation + job-name + #~(begin + (mkdir #$output) + (symlink #$file + (string-append #$output "/file"))))))) + (list (lambda () + `((#:job-name . ,job-name) + ,@(derivation->alist store drv))))))))) + + (define os + (marionette-operating-system + (simple-operating-system + (service cuirass-service-type + (cuirass-configuration + (specifications %cuirass-specs) + (remote-server (and remote-build? + (cuirass-remote-server-configuration))) + (host "0.0.0.0") + (use-substitutes? #t))) + (service dhcp-client-service-type) + ;; Create a Git repository to host Cuirass' specification. + (simple-service + 'create-git-directory activation-service-type + #~(begin + (let* ((git (string-append #$git "/bin/git")) + (main "/tmp/cuirass-main") + (file (string-append main "/derivation.scm"))) + (mkdir-p main) + (with-directory-excursion main + (copy-file #$%derivation-file file) + (invoke git "config" "--global" "user.email" + "charlie@example.org") + (invoke git "config" "--global" "user.name" "A U Thor") + (invoke git "init") + (invoke git "add" ".") + (invoke git "commit" "-m" "That's a commit."))))) + ;; The Guix-daemon & Cuirass will complain if the store is + ;; read-only. Create a store overlay to solve this issue. + (simple-service + 'mount-cow-store activation-service-type + #~(begin + (use-modules (guix build syscalls) + (guix build utils)) + (mkdir-p "/rw-store") + (mount "none" "/rw-store" "tmpfs") + + (mkdir-p "/rw-store/upper") + (mkdir-p "/rw-store/work") + (mount "none" "/gnu/store" "overlay" 0 + "lowerdir=/gnu/store,upperdir=/rw-store/upper,workdir=/rw-store/work"))) + (service postgresql-service-type + (postgresql-configuration + (postgresql postgresql-10))) + (service postgresql-role-service-type)) + #:imported-modules '((gnu services herd) + (guix combinators) + (guix build syscalls) + (guix build utils)))) + + (define os* + (operating-system + (inherit os) + (name-service-switch %mdns-host-lookup-nss) + (services + (append (if remote-build? + (list + (service avahi-service-type) + (service cuirass-remote-worker-service-type + (cuirass-remote-worker-configuration))) + '()) + (operating-system-user-services os))))) + + (define cuirass-web-port 8081) + (define forward-port 5000) + + (define vm + (virtual-machine + (operating-system os*) + (memory-size 1024) + (port-forwardings `((,forward-port . ,cuirass-web-port))))) + + (define test + (with-extensions (list guile-json-4) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (ice-9 match) + (ice-9 rdelim) + (json) + (rnrs bytevectors) + (web client) (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (define (query path) + (http-get + (format #f "http://localhost:~a~a" + #$(number->string forward-port) + path))) + + (define* (retry f #:key times delay) + (let loop ((attempt 1)) + (let ((result (f))) + (cond + (result result) + (else + (if (>= attempt times) + #f + (begin + (sleep delay) + (loop (+ 1 attempt))))))))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "cuirass") + + ;; Wait for cuirass to be up and running. + (test-assert "cuirass running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'cuirass) + #t) + marionette)) + + (test-assert "cuirass-web running" + (begin + (wait-for-tcp-port #$cuirass-web-port marionette) + (retry + (lambda () + (let-values (((response text) + (query "/"))) + (eq? (response-code response) 200))) + #:times 5 + #:delay 5))) + + (test-equal "cuirass-web evaluation" + "test" + (begin + (retry + (lambda () + (let-values (((response text) + (query "/api/evaluation?id=1"))) + (let ((result + (false-if-exception + (json-string->scm + (utf8->string text))))) + (and result + (assoc-ref result "specification"))))) + #:times 5 + #:delay 5))) + + ;; Even though there's a store overlay, the Guix database is not + ;; initialized, meaning that we won't be able to perform the + ;; build. Check at least that it is queued. + (test-assert "cuirass-web build queued" + (begin + (retry + (lambda () + (let-values (((response text) + (query "/api/queue?nr=1"))) + (let ((result + (json-string->scm + (utf8->string text)))) + (match (vector->list result) + ((build) + (and (string=? (assoc-ref build "job") + "test-job") + (or (not #$remote-build?) + ;; Check if the build is started. + (= (assoc-ref build "buildstatus") -1)))) + (else #f))))) + #:times 5 + #:delay 10))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0)))))) + + (gexp->derivation name test)) + +(define %cuirass-test + (system-test + (name "cuirass") + (description "Connect to a Cuirass server.") + (value (run-cuirass-test name)))) + +(define %cuirass-remote-test + (system-test + (name "cuirass-remote") + (description "Connect to a Cuirass server with remote build.") + (value (run-cuirass-test name #:remote-build? #t)))) diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm index 31d5ae4c6a..e831d69f5a 100644 --- a/gnu/tests/databases.scm +++ b/gnu/tests/databases.scm @@ -214,11 +214,31 @@ ;;; The PostgreSQL service. ;;; +(define %postgresql-log-directory + "/var/log/postgresql") + +(define %role-log-file + "/var/log/postgresql_roles.log") + (define %postgresql-os (simple-operating-system (service postgresql-service-type (postgresql-configuration - (postgresql postgresql-10))))) + (postgresql postgresql-10) + (config-file + (postgresql-config-file + (extra-config + '(("session_preload_libraries" "auto_explain") + ("random_page_cost" 2) + ("auto_explain.log_min_duration" "100 ms") + ("work_mem" "500 MB") + ("debug_print_plan" #t))))))) + (service postgresql-role-service-type + (postgresql-role-configuration + (roles + (list (postgresql-role + (name "root") + (create-database? #t)))))))) (define (run-postgresql-test) "Run tests in %POSTGRESQL-OS." @@ -254,6 +274,56 @@ (start-service 'postgres)) marionette)) + (test-assert "log-file" + (marionette-eval + '(begin + (use-modules (ice-9 ftw) + (ice-9 match)) + (current-output-port + (open-file "/dev/console" "w0")) + (let ((server-log-file + (string-append #$%postgresql-log-directory + "/pg_ctl.log"))) + (and (file-exists? server-log-file) + (display + (call-with-input-file server-log-file + get-string-all))) + #t)) + marionette)) + + (test-assert "database ready" + (begin + (marionette-eval + '(begin + (let loop ((i 10)) + (unless (or (zero? i) + (and (file-exists? #$%role-log-file) + (string-contains + (call-with-input-file #$%role-log-file + get-string-all) + ";\nCREATE DATABASE"))) + (sleep 1) + (loop (- i 1))))) + marionette))) + + (test-assert "database creation" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (ice-9 popen)) + (current-output-port + (open-file "/dev/console" "w0")) + (let* ((port (open-pipe* + OPEN_READ + #$(file-append postgresql "/bin/psql") + "-tAh" "/var/run/postgresql" + "-c" "SELECT 1 FROM pg_database WHERE + datname='root'")) + (output (get-string-all port))) + (close-pipe port) + (string-contains output "1"))) + marionette)) + (test-end) (exit (= (test-runner-fail-count (test-runner-current)) 0))))) diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm index af7d8f0b21..219b8b482f 100644 --- a/gnu/tests/guix.scm +++ b/gnu/tests/guix.scm @@ -164,7 +164,10 @@ " local all all trust host all all 127.0.0.1/32 trust -host all all ::1/128 trust")))))) +host all all ::1/128 trust")) + ;; XXX: Remove when postgresql default socket directory is + ;; changed to /var/run/postgresql. + (socket-directory #f))))) (service guix-data-service-type (guix-data-service-configuration (host "0.0.0.0"))) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index bf94e97c2a..4b8963eadd 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ %test-encrypted-root-not-boot-os %test-btrfs-root-os %test-btrfs-root-on-subvolume-os + %test-btrfs-raid-root-os %test-jfs-root-os %test-f2fs-root-os %test-lvm-separate-home-os @@ -222,7 +224,7 @@ reboot\n") #:imported-modules '((gnu services herd) (gnu installer tests) (guix combinators)))) - (installation-image-type 'raw) + (installation-image-type 'efi-raw) (install-size 'guess) (target-size (* 2200 MiB))) "Run SCRIPT (a shell script following the system installation procedure) in @@ -272,7 +274,7 @@ packages defined in installation-os." "-no-reboot" "-m" "1200" #$@(cond - ((eq? 'raw installation-image-type) + ((eq? 'efi-raw installation-image-type) #~("-drive" ,(string-append "file=" #$image ",if=virtio,readonly"))) @@ -1059,6 +1061,74 @@ build (current-guix) and then store a couple of full system images.") (command (qemu-command/writable-image image))) (run-basic-test %btrfs-root-os command "btrfs-root-os"))))) + + +;;; +;;; Btrfs RAID-0 root file system. +;;; +(define-os-with-source (%btrfs-raid-root-os %btrfs-raid-root-os-source) + ;; An OS whose root partition is a RAID partition. + (use-modules (gnu) (gnu tests)) + + (operating-system + (host-name "liberigilo") + (timezone "Europe/Paris") + (locale "en_US.utf8") + + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/vdb"))) + (kernel-arguments '("console=ttyS0")) + + (file-systems (cons (file-system + (device (file-system-label "root-fs")) + (mount-point "/") + (type "btrfs")) + %base-file-systems)) + (users %base-user-accounts) + (services (cons (service marionette-service-type + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) + %base-services)))) + +(define %btrfs-raid-root-installation-script + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 1.4G \\ + mkpart primary ext2 1.4G 2.8G \\ + set 1 boot on \\ + set 1 bios_grub on +mkfs.btrfs -L root-fs -d raid0 -m raid0 /dev/vdb2 /dev/vdb3 +mount /dev/vdb2 /mnt +df -h /mnt +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define %test-btrfs-raid-root-os + (system-test + (name "btrfs-raid-root-os") + (description "Test functionality of an OS installed with a Btrfs +RAID-0 (stripe) root partition.") + (value + (mlet* %store-monad + ((image (run-install %btrfs-raid-root-os + %btrfs-raid-root-os-source + #:script %btrfs-raid-root-installation-script + #:target-size (* 2800 MiB))) + (command (qemu-command/writable-image image))) + (run-basic-test %btrfs-raid-root-os `(,@command) "btrfs-raid-root-os"))))) + ;;; ;;; Btrfs root file system on a subvolume. diff --git a/gnu/tests/monitoring.scm b/gnu/tests/monitoring.scm index 8630f5818c..be69e1c259 100644 --- a/gnu/tests/monitoring.scm +++ b/gnu/tests/monitoring.scm @@ -309,7 +309,12 @@ zabbix||{} (service dhcp-client-service-type) (service postgresql-service-type (postgresql-configuration - (postgresql postgresql))) + (postgresql postgresql) + ;; XXX: Remove when postgresql default socket directory is + ;; changed to /var/run/postgresql. + (config-file + (postgresql-config-file + (socket-directory #f))))) (service zabbix-front-end-service-type (zabbix-front-end-configuration (db-password "zabbix"))) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 7f4518acd2..cc0e79c8b2 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -569,7 +569,12 @@ HTTP-PORT." (listen '("8080")))))) (service postgresql-service-type (postgresql-configuration - (postgresql postgresql-10))) + (postgresql postgresql-10) + ;; XXX: Remove when postgresql default socket directory is + ;; changed to /var/run/postgresql. + (config-file + (postgresql-config-file + (socket-directory #f))))) (service patchwork-service-type (patchwork-configuration (patchwork patchwork) |