diff --git a/doc/guix.texi b/doc/guix.texi index c2eff582f8..92125abccc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1738,22 +1738,18 @@ information. @subsection Emacs Packages @cindex @code{emacs} -When you install Emacs packages with Guix, the elisp files may be placed -either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} or in -sub-directories of -@file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}. The latter -directory exists because potentially there may exist thousands of Emacs -packages and storing all their files in a single directory may not be -reliable (because of name conflicts). So we think using a separate -directory for each package is a good idea. It is very similar to how -the Emacs package system organizes the file structure (@pxref{Package -Files,,, emacs, The GNU Emacs Manual}). +When you install Emacs packages with Guix, the Elisp files are placed +under the @file{share/emacs/site-lisp/} directory of the profile in +which they are installed. The Elisp libraries are made available to +Emacs through the @code{EMACSLOADPATH} environment variable, which is +set when installing Emacs itself. -By default, Emacs (installed with Guix) ``knows'' where these packages -are placed, so you do not need to perform any configuration. If, for -some reason, you want to avoid auto-loading Emacs packages installed -with Guix, you can do so by running Emacs with @code{--no-site-file} -option (@pxref{Init File,,, emacs, The GNU Emacs Manual}). +Additionally, autoload definitions are automatically evaluated at the +initialization of Emacs, by the Guix-specific +@code{guix-emacs-autoload-packages} procedure. If, for some reason, you +want to avoid auto-loading the Emacs packages installed with Guix, you +can do so by running Emacs with the @code{--no-site-file} option +(@pxref{Init File,,, emacs, The GNU Emacs Manual}). @subsection The GCC toolchain @@ -6681,9 +6677,8 @@ of Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual}). It first creates the @code{@code{package}-autoloads.el} file, then it byte compiles all Emacs Lisp files. Differently from the Emacs packaging system, the Info documentation files are moved to the standard -documentation directory and the @file{dir} file is deleted. Each -package is installed in its own directory under -@file{share/emacs/site-lisp/guix.d}. +documentation directory and the @file{dir} file is deleted. The Elisp +package files are installed directly under @file{share/emacs/site-lisp}. @end defvr @defvr {Scheme Variable} font-build-system diff --git a/gnu/local.mk b/gnu/local.mk index f8414ec69f..9db4019d2b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -26,6 +26,8 @@ # Copyright © 2019 Evan Straw # Copyright © 2019 Brett Gilio # Copyright © 2019 Amin Bandali +# Copyright © 2020 Brendan Tildesley +# Copyright © 2020 Vincent Legoll # # This file is part of GNU Guix. # @@ -439,6 +441,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/rednotebook.scm \ %D%/packages/regex.scm \ %D%/packages/robotics.scm \ + %D%/packages/rpc.scm \ %D%/packages/rrdtool.scm \ %D%/packages/rsync.scm \ %D%/packages/ruby.scm \ @@ -811,6 +814,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/date-output-pkg-config-files.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ %D%/packages/patches/datefudge-gettimeofday.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ @@ -871,6 +875,7 @@ dist_patch_DATA = \ %D%/packages/patches/fasthenry-spSolve.patch \ %D%/packages/patches/fasthenry-spFactor.patch \ %D%/packages/patches/fbreader-curl-7.62.patch \ + %D%/packages/patches/ffmpeg-prefer-dav1d.patch \ %D%/packages/patches/fifengine-swig-compat.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ @@ -878,6 +883,7 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-test-rwlock-threads.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ + %D%/packages/patches/foobillard++-pkg-config.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/freeimage-unbundle.patch \ @@ -1009,6 +1015,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/gzdoom-find-system-libgme.patch \ + %D%/packages/patches/hash-extender-test-suite.patch \ %D%/packages/patches/haskell-mode-unused-variables.patch \ %D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/hdf4-architectures.patch \ @@ -1062,6 +1069,8 @@ dist_patch_DATA = \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ + %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \ + %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ %D%/packages/patches/kiki-makefile.patch \ %D%/packages/patches/kiki-missing-includes.patch \ @@ -1069,6 +1078,7 @@ dist_patch_DATA = \ %D%/packages/patches/kinit-kdeinit-extra_libs.patch \ %D%/packages/patches/kinit-kdeinit-libpath.patch \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \ + %D%/packages/patches/kmail-Fix-missing-link-libraries.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmscon-runtime-keymap-switch.patch \ %D%/packages/patches/kpackage-allow-external-paths.patch \ @@ -1115,6 +1125,7 @@ dist_patch_DATA = \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ + %D%/packages/patches/libksieve-Fix-missing-link-libraries.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ %D%/packages/patches/libmad-length-check.patch \ @@ -1335,7 +1346,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ - %D%/packages/patches/python-faker-fix-build-32bit.patch \ %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 45d4a513c8..f5cebc0283 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1923,13 +1923,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.9.5") + (version "2.9.6") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "19fav6rs58zdc3gfhh1lxhki36jn4252183rrd769sv46b9m1bji")))) + (base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 5772547e3e..e72fe66e6f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3264,14 +3264,14 @@ with support for HD extensions.") (define-public bs1770gain (package (name "bs1770gain") - (version "0.6.5") + (version "0.6.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/" version "/bs1770gain-" version ".tar.gz")) (sha256 - (base32 "15nvlh9bg0a52cpg2mii17mlzmxszwivjjalbb4np1v5nj8l5fk6")) + (base32 "13hsbqj1dkpz1gbclnjxv50kr7b4gcjai6c1l38g01433h217qjc")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8dbc0b4b40..c3298b3cec 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2020 Vitaliy Shatrov ;;; ;;; This file is part of GNU Guix. ;;; @@ -335,10 +336,11 @@ used to apply commands with arbitrarily long arguments.") #t))))) (synopsis "Core GNU utilities (file, text, shell)") (description - "GNU Coreutils includes all of the basic command-line tools that are -expected in a POSIX system. These provide the basic file, shell and text -manipulation functions of the GNU system. Most of these tools offer extended -functionality beyond that which is outlined in the POSIX standard.") + "GNU Coreutils package includes all of the basic command-line tools that +are expected in a POSIX system, excluding shell. This package is the union of +the GNU fileutils, sh-utils, and textutils packages. Most of these tools +offer extended functionality beyond that which is outlined in the POSIX +standard.") (license gpl3+) (home-page "https://www.gnu.org/software/coreutils/"))) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index bc7623eac3..6ec74140e3 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -5316,14 +5316,14 @@ coefficients).") (define-public r-biosigner (package (name "r-biosigner") - (version "1.14.0") + (version "1.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "biosigner" version)) (sha256 (base32 - "1kdfhw629qczrfms0jmphqz0ksjzi8js00xj92h1lnv092npfk0j")))) + "184vbbd010yzqv0qn1prxiazibxwiacvlpg9yzcgyhamcx9bvq73")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -5332,10 +5332,7 @@ coefficients).") ("r-randomforest" ,r-randomforest) ("r-ropls" ,r-ropls))) (native-inputs - `(("r-knitr" ,r-knitr) - ("r-rmarkdown" ,r-rmarkdown) - ("pandoc" ,ghc-pandoc) - ("pandoc-citeproc" ,ghc-pandoc-citeproc))) ; all for vignettes + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/biosigner/") (synopsis "Signature discovery from omics data") (description @@ -7402,18 +7399,19 @@ gene selection, testing relationships, and so on.") (define-public r-biocpkgtools (package (name "r-biocpkgtools") - (version "1.4.0") + (version "1.4.6") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocPkgTools" version)) (sha256 (base32 - "0gyhb3071pxmvaxla7cxy9k97s3z3ynl62jnqz9jnkd53c7jnd53")))) + "0grwnmncmpqcplbfw3j210m1a8f7mmdizklh4zksg4ic21dpjj1a")))) (properties `((upstream-name . "BiocPkgTools"))) (build-system r-build-system) (propagated-inputs - `(("r-biocmanager" ,r-biocmanager) + `(("r-biocfilecache" ,r-biocfilecache) + ("r-biocmanager" ,r-biocmanager) ("r-biocviews" ,r-biocviews) ("r-dplyr" ,r-dplyr) ("r-dt" ,r-dt) @@ -7425,14 +7423,19 @@ gene selection, testing relationships, and so on.") ("r-igraph" ,r-igraph) ("r-jsonlite" ,r-jsonlite) ("r-magrittr" ,r-magrittr) + ("r-rappdirs" ,r-rappdirs) ("r-rbgl" ,r-rbgl) ("r-readr" ,r-readr) ("r-rex" ,r-rex) + ("r-rlang" ,r-rlang) ("r-rvest" ,r-rvest) ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) + ("r-tidyselect" ,r-tidyselect) ("r-xml2" ,r-xml2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/seandavi/BiocPkgTools") (synopsis "Collection of tools for learning about Bioconductor packages") (description diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 425c0d53c9..44808e1225 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -173,10 +173,7 @@ `(("pkg-config" ,pkg-config) ("unifont" ,unifont) ("bison" ,bison) - ;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex: - ;; - ;; TODO Try building with flex > 2.6.4. - ("flex" ,flex-2.6.1) + ("flex" ,flex) ("texinfo" ,texinfo) ("help2man" ,help2man) @@ -199,7 +196,7 @@ ;; Dependencies for the test suite. The "real" QEMU is needed here, ;; because several targets are used. ("parted" ,parted) - ("qemu" ,qemu-minimal-2.10) + ("qemu" ,qemu-minimal) ("xorriso" ,xorriso))) (home-page "https://www.gnu.org/software/grub/") (synopsis "GRand Unified Boot loader") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index e8f5be8f05..d7e4fd946b 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2019 Jonathan Brielmaier +;;; Copyright © 2020 Leo Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -245,6 +246,31 @@ other lower-level build files.") (home-page "https://premake.github.io") (license license:bsd-3))) +(define-public premake5 + (package + (inherit premake4) + (version "5.0.0-alpha14") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/premake/premake-core/" + "releases/download/v" version + "/premake-" version "-src.zip")) + (sha256 + (base32 + "0236s7bjvxf7x1l5faywmfzjywflpx42ngyhkn0mqqjnh54a97vw")))) + (arguments + (substitute-keyword-arguments (package-arguments premake4) + ((#:phases phases) + `(modify-phases ,phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "../../bin/release/premake5" + (string-append (assoc-ref outputs "out") "/bin")) + #t)))))) + (description "@code{premake5} is a command line utility that reads a +scripted definition of a software project and outputs @file{Makefile}s or +other lower-level build files."))) + (define-public osc (package (name "osc") diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 060e4d18ad..bd47800d1d 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Stefan Reichoer ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ (define-module (gnu packages calendar) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -48,6 +50,62 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-26)) +(define-public date + ;; We make the same choice as the Arch package maintainer by choosing a + ;; recent commit to fix some bugs. + ;; https://github.com/Alexays/Waybar/issues/565 + (let ((commit "9a0ee2542848ab8625984fc8cdbfb9b5414c0082")) + (package + (name "date") + (version (string-append "2.4.1-" (string-take commit 8))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/HowardHinnant/date.git") + (commit "9a0ee2542848ab8625984fc8cdbfb9b5414c0082"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yxsn0hj22n61bjywysxqgfv7hj5xvsl6isma95fl8xrimpny083")) + (patches + ;; Install pkg-config files + ;; https://github.com/HowardHinnant/date/pull/538 + (search-patches "date-output-pkg-config-files.patch")))) + (inputs `(("tzdata" ,tzdata))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags (list "-DUSE_SYSTEM_TZ_DB=ON" + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_TZ_LIB=ON" + "-DENABLE_DATE_TESTING=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-bin-bash + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "compile_fail.sh" + (("/bin/bash") (which "bash"))) + #t)) + (add-after 'unpack 'patch-zoneinfo-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/tz.cpp" + (("/usr/share/zoneinfo") + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) + #t)) + (replace 'check + (lambda _ + ;; Disable test that requires checking timezone that + ;; isn't set in the build environment. + (substitute* "CTestTestfile.cmake" + (("add_test.tz_test_pass_zoned_time_deduction_test.*") "") + (("set_tests_properties.tz_test_pass_zoned_time_deduction_test.*") "")) + (invoke "make" "testit")))))) + (synopsis "Date and time library for C++11 and C++14") + (description "Date is a header only C++ library that extends the chrono +date algorithms library for calendar dates and durations. It also provides +the library for handling time zones and leap seconds.") + (home-page "https://howardhinnant.github.io/date/date.html") + (license license:expat)))) + (define-public libical (package (name "libical") diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm index d3a6850f9f..d9cf66c501 100644 --- a/gnu/packages/cedille.scm +++ b/gnu/packages/cedille.scm @@ -56,17 +56,12 @@ (let ((out (assoc-ref outputs "out"))) (substitute* "cedille-mode.el" (("/usr/share/emacs/site-lisp/cedille-mode") - (string-append - out "/share/emacs/site-lisp/guix.d/cedille-" - ,version))) + (string-append out "/share/emacs/site-lisp"))) #t))) (add-after 'unpack 'copy-cedille-mode (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (lisp - (string-append - out "/share/emacs/site-lisp/guix.d/cedille-" - ,version "/"))) + (lisp (string-append out "/share/emacs/site-lisp"))) (mkdir-p (string-append lisp "cedille-mode")) (copy-recursively "cedille-mode" diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index f73c76b827..611f99c5a3 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -247,8 +247,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "80.0.3987.132") -(define %ungoogled-revision "7e68f18f1d16a132fe7d913a176daf79897eaa58") +(define %chromium-version "80.0.3987.149") +(define %ungoogled-revision "516e2d990a50a4bbeb8c583e56333c2935e2af95") (define %debian-revision "debian/80.0.3987.116-1") (define package-revision "0") (define %package-version (string-append %chromium-version "-" @@ -263,7 +263,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "00f2hpi2d0n15yw29dv3dli566cgi7qh55bfpziag9a6j02i401c")))) + "07icl3hgg1wjkmz88lbpjf6ll4xyi64spki1nmsy6899jgkxvgjh")))) (define %ungoogled-origin (origin @@ -274,7 +274,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "196rr3nly42pzl2bap22vzw4d8x87yl3zy1wq2fla5z8iy4x8ym1")))) + "0nm55qq4ahw9haf5g7hmzic4mr2xjgpay7lxps7xjp7s1pda4g0q")))) (define %debian-origin (origin diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index a4697e34cd..fcf0e07db7 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -126,7 +126,8 @@ highlighting your own code that seemed comprehensible when you wrote it.") (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("libltdl" ,libltdl) - ("sqlite" ,sqlite))) + ("sqlite" ,sqlite) + ("python-wrapper" ,python-wrapper))) (arguments `(#:configure-flags (list (string-append "--with-ncurses=" diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 75e9afcac5..eed776e0c6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1157,22 +1157,20 @@ in R and Shiny via the D3 visualization library.") (define-public r-crosstalk (package (name "r-crosstalk") - (version "1.0.0") + (version "1.1.0.1") (source (origin (method url-fetch) (uri (cran-uri "crosstalk" version)) (sha256 (base32 - "0lfa89vhrzi7a1rghmygcjr8gzddw35sinb3jx6g49mc9jias7mk")))) + "03ihj7cimkklrbad9zic78xsrfcisygmgy859hqnx0hiph80p9rn")))) (build-system r-build-system) (propagated-inputs - `(("r-ggplot2" ,r-ggplot2) - ("r-htmltools" ,r-htmltools) + `(("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-lazyeval" ,r-lazyeval) - ("r-r6" ,r-r6) - ("r-shiny" ,r-shiny))) + ("r-r6" ,r-r6))) (home-page "https://rstudio.github.io/crosstalk/") (synopsis "Inter-widget interactivity for HTML widgets") (description @@ -1523,14 +1521,14 @@ colors are provided.") (define-public r-glue (package (name "r-glue") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "glue" version)) (sha256 (base32 - "1a1ycg9r3gd91visp49q49rsrdgyf8kr9dxdy3hk99kikn4z5hag")))) + "0alklqcf68kmccssp4j7a7fv553pyqyy6mkkfslav83inppm4d3g")))) (build-system r-build-system) (home-page "https://github.com/tidyverse/glue") (synopsis "Interpreted string literals") @@ -1691,16 +1689,14 @@ you to rapidly iterate while developing a package.") (define-public r-rcpp (package (name "r-rcpp") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "03h3zyjq948y0hrrs95lfk4zgx6wfrg64hjlrfrzf5na7bfh0d9b")))) + (base32 "1m80pdhzi2p82db5xkbwc2m3fzv6df59955yj03nlq40fj7zx4nr")))) (build-system r-build-system) - (native-inputs - `(("r-knitr" ,r-knitr))) ; for vignettes (home-page "http://www.rcpp.org") (synopsis "Seamless R and C++ integration") (description @@ -2014,14 +2010,14 @@ in main memory.") (define-public r-ffbase (package (name "r-ffbase") - (version "0.12.7") + (version "0.12.8") (source (origin (method url-fetch) (uri (cran-uri "ffbase" version)) (sha256 (base32 - "04kxx2f3f0743c5nvpb7x1x0pcd220dazpd5ag1pidxbz3xa85nw")))) + "0mjk7dkq1ginqqfvngzny747ggf9a8fd7kblq96n5ys1jrwjyqhq")))) (build-system r-build-system) (propagated-inputs `(("r-bit" ,r-bit) @@ -2800,14 +2796,14 @@ dimensioned arrays.") (define-public r-rmysql (package (name "r-rmysql") - (version "0.10.19") + (version "0.10.20") (source (origin (method url-fetch) (uri (cran-uri "RMySQL" version)) (sha256 (base32 - "0269pfq791qvax69lrwvvzgllyzm3cy3sdp9sakwxzvw5pxk2vhv")))) + "0lv9m6zpm8dgv7yixr6xhw379vbq45d7n7gkrmjrppdj8vcih77i")))) (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs @@ -3102,14 +3098,14 @@ provides a one-row summary of model-level statistics.") (define-public r-recipes (package (name "r-recipes") - (version "0.1.9") + (version "0.1.10") (source (origin (method url-fetch) (uri (cran-uri "recipes" version)) (sha256 (base32 - "1fmnka583sqm6v5bhxbllb4cd5xfqbf268aij2xgxiwckv3c0ynm")))) + "11f96aanrzi2v6cn49fhvf9y4cmhra63wcy6nvpv6hcfaqqmwd2g")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -3127,6 +3123,8 @@ provides a one-row summary of model-level statistics.") ("r-tidyselect" ,r-tidyselect) ("r-timedate" ,r-timedate) ("r-withr" ,r-withr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/topepo/recipes") (synopsis "Preprocessing tools to create design matrices") (description @@ -5518,7 +5516,7 @@ simple method for converting between file types.") `(("r-foreign" ,r-foreign) ("r-lattice" ,r-lattice) ("r-sp" ,r-sp))) - (home-page "http://r-forge.r-project.org/projects/maptools/") + (home-page "https://r-forge.r-project.org/projects/maptools/") (synopsis "Tools for reading and handling spatial objects") (description "This package provides a set of tools for manipulating and reading @@ -6200,22 +6198,23 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.7") + (version "0.3.8") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "1zyrcf0xxm67bskynjac8dhil2as7rb0mmqaq30zp9lrgfwiycpz")))) + "0xhx5n6qksyh2s9hvwhnc8y0hn362asc5y94ld06snad786hz0rw")))) (build-system r-build-system) (propagated-inputs - `(("r-digest" ,r-digest) - ("r-magrittr" ,r-magrittr) + `(("r-magrittr" ,r-magrittr) ("r-r6" ,r-r6) ("r-uuid" ,r-uuid) ("r-xml2" ,r-xml2) ("r-zip" ,r-zip))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://davidgohel.github.io/officer") (synopsis "Manipulation of Word and PowerPoint documents") (description @@ -8277,14 +8276,14 @@ comparisons of slopes.") (define-public r-pwr (package (name "r-pwr") - (version "1.2-2") + (version "1.3-0") (source (origin (method url-fetch) (uri (cran-uri "pwr" version)) (sha256 (base32 - "0r5g781lr677vp3zyhgmi7r68c87l8gd05l1s3ffnxgn5wf043sm")))) + "1kfzy73v3z6ipc3kdfkcjrp4b4p5k54nwk796gqi36srm93hgc2v")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -8450,14 +8449,14 @@ models.") (define-public r-glmmtmb (package (name "r-glmmtmb") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (cran-uri "glmmTMB" version)) (sha256 (base32 - "1md4yw4kbng953rz1n9g1v2xffk3cxx1qmp0kvbdayg1s82l1rgx")))) + "0sdx1q7wc7895xh8747r4p0wkij0xjgn5ij62ipi9423zd0sr0mm")))) (properties `((upstream-name . "glmmTMB"))) (build-system r-build-system) (propagated-inputs @@ -8534,19 +8533,21 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "0.14.1") + (version "0.14.2") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "07pvs18vlybp96zz1wjr7cwiwi1cvjwkb9ahxzq0vd6adnd6ya59")))) + "1y3yfb07jrr6vkc8hk6rp52l70dj7042jvqgjzllslzy7hx2jhyw")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight) ("r-mass" ,r-mass) ("r-sjlabelled" ,r-sjlabelled))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/strengejacke/ggeffects") (synopsis "Create tidy data frames of marginal effects for ggplot") (description @@ -9755,14 +9756,14 @@ Processing.") (define-public r-waveslim (package (name "r-waveslim") - (version "1.7.5.2") + (version "1.8.2") (source (origin (method url-fetch) (uri (cran-uri "waveslim" version)) (sha256 (base32 - "166ai4q3mlh3v338si952z7fbgph80h0l4ws6bna8ig5jx81rnmz")))) + "0ibivnhz0l06sss5rrrcvyiwg3qpbyk3qn4vx4pp90kj09x4yg0k")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -12344,20 +12345,22 @@ latent growth curve models.") (define-public r-nonnest2 (package (name "r-nonnest2") - (version "0.5-2") + (version "0.5-3") (source (origin (method url-fetch) (uri (cran-uri "nonnest2" version)) (sha256 (base32 - "1bq44qqmm59j91m0sny4xnqmxqlga4cm48qdsw8xfs3x19xwmxk6")))) + "1mnv4pa583ir9s03h952hk40lwdywr3g88g76sk1zsa54rcmn82c")))) (build-system r-build-system) (propagated-inputs `(("r-compquadform" ,r-compquadform) ("r-lavaan" ,r-lavaan) ("r-mvtnorm" ,r-mvtnorm) ("r-sandwich" ,r-sandwich))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/nonnest2/") (synopsis "Tests of non-nested models") (description @@ -13014,19 +13017,21 @@ utilities for sequence data management under the ACNUC system.") (define-public r-units (package (name "r-units") - (version "0.6-5") + (version "0.6-6") (source (origin (method url-fetch) (uri (cran-uri "units" version)) (sha256 (base32 - "02nls8m0r1r7kljs4x35naz3szq62hyqyd5vracf1xwi1kz5kdsh")))) + "11x6xz1fbml28xmrhgn4sii9vfyj3gyfc1dfxahdg9cszdmcgdnh")))) (build-system r-build-system) (inputs `(("udunits" ,udunits))) (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/r-quantities/units/") (synopsis "Measurement Units for R Vectors") (description @@ -14279,14 +14284,14 @@ databases, including ENA, PDB or ChEMBL are also accessible.") (define-public r-ggraph (package (name "r-ggraph") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (cran-uri "ggraph" version)) (sha256 (base32 - "0q2yqsb981a2arf9j530kqs61vw38ixyxbhb6yvv7skgbck02r6y")))) + "1ckq82hg52vr2wydkqv2wrppgjyvddd6bwqzrngqlm7j71xapjl0")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -14303,6 +14308,8 @@ databases, including ENA, PDB or ChEMBL are also accessible.") ("r-scales" ,r-scales) ("r-tidygraph" ,r-tidygraph) ("r-viridis" ,r-viridis))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/ggraph/") (synopsis "Implementation of grammar of graphics for graphs and networks") (description @@ -15372,14 +15379,14 @@ in R, including a translation of the original algorithm into R.") (define-public r-uwot (package (name "r-uwot") - (version "0.1.5") + (version "0.1.8") (source (origin (method url-fetch) (uri (cran-uri "uwot" version)) (sha256 (base32 - "0pz9wa89xq4d119q86lskrznf979m0r1db8iaprcz7kxbi6b8lrj")))) + "1jzh8r1h6f7pw7pb1fr32vn6ai9g10s56ahkq0vi77iznihy1rpd")))) (build-system r-build-system) (propagated-inputs `(("r-dqrng" ,r-dqrng) @@ -15388,7 +15395,6 @@ in R, including a translation of the original algorithm into R.") ("r-matrix" ,r-matrix) ("r-rcpp" ,r-rcpp) ("r-rcppannoy" ,r-rcppannoy) - ("r-rcppparallel" ,r-rcppparallel) ("r-rcppprogress" ,r-rcppprogress) ("r-rspectra" ,r-rspectra))) (home-page "https://github.com/jlmelville/uwot") @@ -16690,14 +16696,14 @@ elicitation options based on Kass and Vaidyanathan (1992) (define-public r-accept (package (name "r-accept") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (cran-uri "accept" version)) (sha256 (base32 - "1r4mhy9g4wjcjgdd0gwdarmr09292il3vdkmx0hz7vh9mffyr9kx")))) + "0pn8q0jsi0nb2mm2kv6sjczflflshhy55y7nqqnk70yx9f6wm83y")))) (properties `((upstream-name . "accept"))) (build-system r-build-system) (propagated-inputs @@ -19384,14 +19390,14 @@ and Euclidean distance is particularly fast.") (define-public r-isocodes (package (name "r-isocodes") - (version "2019.12.22") + (version "2020.03.16") (source (origin (method url-fetch) (uri (cran-uri "ISOcodes" version)) (sha256 (base32 - "1k2f2258bwzs0b3nxma9kcw395qkljvk514a7047rx4dn0iwd874")))) + "1hz1sj57qkkkrgn8slsz2n4jv1fkyp40503j9rg30lxy4gmb83hn")))) (properties `((upstream-name . "ISOcodes"))) (build-system r-build-system) (home-page "https://cran.r-project.org/package=ISOcodes") @@ -19473,14 +19479,14 @@ Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.") (define-public r-quanteda (package (name "r-quanteda") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "quanteda" version)) (sha256 (base32 - "0snr610vahbdqkmma0zy5mg5qbb6n1b8sgsclqb2sccn1gg38vyy")))) + "0pym6vdzqbkyj87m3pla229092xvvx4j830x67qflxzzdmc9dzhz")))) (properties `((upstream-name . "quanteda"))) (build-system r-build-system) (propagated-inputs @@ -19503,6 +19509,8 @@ Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.") ("r-stringi" ,r-stringi) ("r-xml2" ,r-xml2) ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://quanteda.io") (synopsis "Quantitative analysis of textual data") (description @@ -20794,3 +20802,111 @@ statistics and p-values of the correlation coefficients.") scales and utilities, including a spell check function for plot label fields and an overall emphasis on typography.") (license license:expat))) + +(define-public r-crochet + (package + (name "r-crochet") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "crochet" version)) + (sha256 + (base32 + "1cbv79nyycxk6f8ldcsnn2pvgxqlnrj0qs19nhafnq2clxy863k6")))) + (build-system r-build-system) + (home-page "https://github.com/agrueneberg/crochet") + (synopsis "Implementation Helper for Matrix-Like Types") + (description + "Functions to help implement the extraction / subsetting / indexing +function @code{[} and replacement function @code{[<-} of custom matrix-like +types (based on S3, S4, etc.), modeled as closely to the base matrix class +as possible (with tests to prove it).") + (license license:expat))) + +(define-public r-boa + (package + (name "r-boa") + (version "1.1.8-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "boa" version)) + (sha256 + (base32 + "04lhqk5qfvaz1jk90glr2yi5vq7cdy0w8m6g2lnzk359l9y41zhp")))) + (properties `((upstream-name . "boa"))) + (build-system r-build-system) + (home-page "http://www.jstatsoft.org/v21/i11") + (synopsis "Library for @dfn{Bayesian Output Analysis Program} (BOA) for MCMC") + (description + "This package provides a menu-driven program and library of functions for +carrying out convergence diagnostics and statistical and graphical analysis of +@dfn{Markov chain Monte Carlo} (MCMC) sampling output.") + (license license:gpl2+))) + +(define-public r-httpcode + (package + (name "r-httpcode") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "httpcode" version)) + (sha256 + (base32 + "06k853ihwzkcx4z3jzazpb03p91frqkwz18jy4fwr8j2nwyqbhgv")))) + (build-system r-build-system) + (home-page "https://github.com/sckott/httpcode") + (synopsis "HTTP status code helper") + (description "@code{httpcode} provides functionality for finding and +explaining the meaning of @code{HTTP} status codes. Functions are included for +searching for codes by full or partial number, by message, and to get +appropriate dog and cat images for many status codes.") + (license license:expat))) + +(define-public r-latex2exp + (package + (name "r-latex2exp") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (cran-uri "latex2exp" version)) + (sha256 + (base32 + "12nbcgfmv13k6sc6m326ras9bcvy380b7rxcxphn06r3cfkby0zw")))) + (build-system r-build-system) + (propagated-inputs + `(("r-stringr" ,r-stringr) + ("r-magrittr", r-magrittr))) + (home-page "https://github.com/stefano-meschiari/latex2exp/") + (synopsis "Use LaTeX expressions in plots") + (description "@code{latex2exp} parses and converts LaTeX math formulas to +R's plotmath expressions, used to enter mathematical formulas and symbols to be +rendered as text, axis labels, etc. throughout R's plotting system.") + (license license:expat))) + +(define-public r-oai + (package + (name "r-oai") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (cran-uri "oai" version)) + (sha256 + (base32 + "1ipw9bq3ra66d1ddj1rylyyd20mlcb2i7phzhywra53s1fdifq1g")))) + (build-system r-build-system) + (propagated-inputs + `(("r-xml2" ,r-xml2) + ("r-httr" ,r-httr) + ("r-plyr" ,r-plyr) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble))) + (home-page "https://github.com/ropensci/oai/") + (synopsis "General purpose OAI-PMH services client") + (description "@code{oai} provides a general purpose client to work with +any @dfn{Open Archives Initiative Protocol for 'Metadata' Harvesting} (OAI-PMH) +service. Functions are provided to work with the OAI-PMH verbs: +@code{GetRecord}, @code{Identify}, @code{ListIdentifiers}, +@code{ListMetadataFormats}, @code{ListRecords}, and @code{ListSets}.") + (license license:expat))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1e1e9bf5db..64c170df73 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) #:use-module (gnu packages jemalloc) #:use-module (gnu packages llvm) #:use-module (gnu packages pcre) @@ -47,6 +48,30 @@ ;;; Please: Try to add new module packages in alphabetic order. ;;; +(define-public rust-abomonation-0.7 + (package + (name "rust-abomonation") + (version "0.7.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "abomonation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cjg3hjf028n447pdj7zcdgrkngx30as8ndxlxx947wvr49jkrsn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-recycler" ,rust-recycler-0.1)))) + (home-page "https://github.com/TimelyDataflow/abomonation") + (synopsis "High performance and very unsafe serialization library") + (description + "This package provides a high performance and very unsafe serialization +library in Rust.") + (license license:expat))) + (define-public rust-addr2line-0.9 (package (name "rust-addr2line") @@ -218,6 +243,67 @@ the Rust programming language.") ("rust-rand" ,rust-rand-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) +(define-public rust-alga-0.9 + (package + (name "rust-alga") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "alga" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wl4z8ini9269x04g8wwdz1nn3hmmvaaysq4jwhymikyg81kv0jg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-decimal" ,rust-decimal-2.0) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)) + #:cargo-development-inputs + (("rust-alga-derive" ,rust-alga-derive-0.9) + ("rust-quickcheck" ,rust-quickcheck-0.8)))) + (home-page "https://github.com/rustsim/alga") + (synopsis "Abstract algebra for Rust") + (description "Alga aims to provide solid mathematical abstractions to +algebra-focused applications. It defines and organizes through trait +inheritance the basic building blocks of general algebraic structures. +Specific implementations of algebraic structure traits are left to other +crates. Higher-level traits for specialized domains of algebra (like linear +algebra) are also provided and will prove useful for applications that include +code that is generic with regard to the algebraic entity types.") + (license license:asl2.0))) + +(define-public rust-alga-derive-0.9 + (package + (name "rust-alga-derive") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "alga-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a2594j6blczz18vfg85agr7vsjrbq6900d3xwxw0zzbqj9j2adz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-edit-distance" ,rust-edit-distance-2.1) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)))) + (home-page "https://github.com/rustsim/alga") + (synopsis "Dutomatic deriving of abstract algebra traits") + (description "Derive attribute for implementing algebraic traits from the +@code{alga} crate.") + (license license:asl2.0))) + (define-public rust-andrew-0.2 (package (name "rust-andrew") @@ -966,7 +1052,7 @@ that uses Serde for transforming structs into bytes and vice versa!") (home-page "https://rust-lang.github.io/rust-bindgen/") (synopsis - "Automatically generates FFI bindings to C and C++libraries") + "Automatically generates FFI bindings to C and C++ libraries") (description "Automatically generates Rust FFI bindings to C and C++ libraries.") @@ -1677,6 +1763,93 @@ exposed as Reader/Writer streams.") "The ChaCha family of stream ciphers.") (license (list license:asl2.0 license:expat)))) +(define-public rust-cairo-rs-0.8 + (package + (name "rust-cairo-rs") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cairo-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11303v1fv6hsc9n70ak380gknkf0098phpcxqdhkmahqjsx4jw0m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("cairo" ,cairo))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the Cairo library") + (description + "Rust bindings for the Cairo library.") + (license license:expat))) + +(define-public rust-cairo-rs-0.7 + (package + (inherit rust-cairo-rs-0.8) + (name "rust-cairo-rs") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cairo-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "171m98g41avp5mmshqir4ka21napp7ma5fx45wi9mw5hwdyv8pg0")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.1)))))) + +(define-public rust-cairo-sys-rs-0.9 + (package + (name "rust-cairo-sys-rs") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cairo-sys-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qsdy6s57yvscg2rfm7wdqrlhzbn1aq9lhk3dy1vw5f7r81blrgz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11" ,rust-x11-2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (inputs + `(("cairo" ,cairo))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libcairo") + (description "This package provides FFI bindings to libcairo.") + (license license:expat))) + (define-public rust-calloop-0.4 (package (name "rust-calloop") @@ -3378,6 +3551,73 @@ intrinsics.") Code} (MAC) algorithms.") (license (list license:expat license:asl2.0)))) +(define-public rust-cssparser-0.25 + (package + (name "rust-cssparser") + (version "0.25.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "cssparser" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03klvpdzsk4cyh8k0dbnlngzafv7gqywqrnsqqb3gfmrxyj8rqgv")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test files missing. + #:cargo-inputs + (("rust-cssparser-macros" ,rust-cssparser-macros-0.3) + ("rust-dtoa-short" ,rust-dtoa-short-0.3) + ("rust-heapsize" ,rust-heapsize-0.4) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-matches" ,rust-matches-0.1) + ("rust-phf" ,rust-phf-0.7) + ("rust-procedural-masquerade" ,rust-procedural-masquerade-0.1) + ("rust-serde" ,rust-serde-1.0) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-autocfg" ,rust-autocfg-0.1) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)) + #:cargo-development-inputs + (("rust-difference" ,rust-difference-2.0) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-serde-json" ,rust-serde-json-1.0)))) + (home-page "https://github.com/servo/rust-cssparser") + (synopsis "Rust implementation of CSS Syntax Level 3") + (description + "This package contains a Rust implementation of CSS Syntax Level 3.") + (license license:mpl2.0))) + +(define-public rust-cssparser-macros-0.3 + (package + (name "rust-cssparser-macros") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "cssparser-macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vqyc5xm8a4va92vs1nn0cc46c930l2n21gccijnc5y7hx7cicav")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-phf-codegen" ,rust-phf-codegen-0.7) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-procedural-masquerade" ,rust-procedural-masquerade-0.1) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)))) + (home-page "https://github.com/servo/rust-cssparser") + (synopsis "Procedural macros for cssparser") + (description + "This package provides the procedural macros for rust-cssparser.") + (license license:mpl2.0))) + (define-public rust-csv-1.1 (package (name "rust-csv") @@ -3562,6 +3802,33 @@ attributes.") hexadecimal, base32, and base64.") (license license:expat))) +(define-public rust-data-url-0.1 + (package + (name "rust-data-url") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "data-url" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "176wa1n8h71iwyaxhar4sqwrgrvb5sxk26az0fy88vnxrsffjgyk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-matches" ,rust-matches-0.1)) + #:cargo-development-inputs + (("rust-rustc-test" ,rust-rustc-test-0.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-json" ,rust-serde-json-1.0)))) + (home-page "https://github.com/servo/rust-url") + (synopsis "Processing of data: URL according to WHATWG's Fetch Standard") + (description + "Processing of data: URL according to WHATWG's Fetch Standard.") + (license (list license:expat license:asl2.0)))) + (define-public rust-datetime-0.4 (package (name "rust-datetime") @@ -3595,6 +3862,36 @@ hexadecimal, base32, and base64.") and arithmetic.") (license license:expat))) +(define-public rust-decimal-2.0 + (package + (name "rust-decimal") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "decimal" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vb3i8vg1dxrw3kzbfiag3gg7rdjd73z80mwbwkq60vnphiqfig6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-ord-subset" ,rust-ord-subset-3) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-cc" ,rust-cc-1.0)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1.0)))) + (home-page "https://github.com/alkis/decimal") + (synopsis "Decimal floating point arithmetic for Rust") + (description + "Decimal floating point arithmetic for Rust.") + (license license:asl2.0))) + (define-public rust-deflate-0.7 (package (name "rust-deflate") @@ -4086,6 +4383,31 @@ floating-point primitives to an @code{io::Write}.") (base32 "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d")))))) +(define-public rust-dtoa-short-0.3 + (package + (name "rust-dtoa-short") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dtoa-short" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wkn7ziqffq8hj0a411lgn7674ackzdk734ikp230rmp2f2hn0jr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dtoa" ,rust-dtoa-0.4)) + #:cargo-development-inputs + (("rust-float-cmp" ,rust-float-cmp-0.3)))) + (home-page "https://github.com/upsuper/dtoa-short") + (synopsis "Serialize float number and truncate to certain precision") + (description + "Serialize float number and truncate to certain precision in Rust.") + (license license:mpl2.0))) + (define-public rust-duct-0.13 (package (name "rust-duct") @@ -4146,6 +4468,29 @@ floating-point primitives to an @code{io::Write}.") "This package provides lightweight binding to DirectWrite.") (license license:mpl2.0))) +(define-public rust-edit-distance-2.1 + (package + (name "rust-edit-distance") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "edit-distance" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yq3wlmd7ly22qxhfysi77qp31yvpx2ll9waa75bkpiih7rsmfmv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/febeling/edit-distance") + (synopsis "Levenshtein edit distance between strings") + (description + "Levenshtein edit distance between strings, a measure for similarity.") + (license license:asl2.0))) + (define-public rust-either-1.5 (package (name "rust-either") @@ -5026,6 +5371,45 @@ Reader/Writer streams. Contains bindings for zlib, deflate, and gzip-based streams.") (license (list license:expat license:asl2.0)))) +(define-public rust-float-cmp-0.5 + (package + (name "rust-float-cmp") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "float-cmp" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03hmx3n48hjm0x1ig84n1j87kzp75lzr6cj1sgi6a6pykgn4n8km")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2)))) + (home-page "https://github.com/mikedilger/float-cmp") + (synopsis "Floating point approximate comparison traits") + (description + "Floating point approximate comparison traits in Rust.") + (license license:expat))) + +(define-public rust-float-cmp-0.3 + (package + (inherit rust-float-cmp-0.5) + (name "rust-float-cmp") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "float-cmp" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c0hmj46xma5aysz0qb49padhc26aw875whx6q6rglsj5dqpds1b")))) + (arguments + `(#:cargo-inputs (("rust-num" ,rust-num-0.1)))))) + (define-public rust-float-ord-0.2 (package (name "rust-float-ord") @@ -5202,6 +5586,26 @@ implementation that is more efficient for smaller hash keys.") (base32 "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00")))))) +(define-public rust-fragile-0.3 + (package + (name "rust-fragile") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fragile" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yf2hmkw52x2dva3c9km1x8c2z5kwby7qqn8kz5ms3gs480i9y05")))) + (build-system cargo-build-system) + (home-page "https://github.com/mitsuhiko/rust-fragile") + (synopsis "Wrapper types for sending non-send values to other threads") + (description "This package provides wrapper types for sending non-send +values to other threads.") + (license license:asl2.0))) + (define-public rust-freetype-rs-0.23 (package (name "rust-freetype-rs") @@ -5746,6 +6150,36 @@ for the futures-rs library.") "This package provides the @code{futures-rs} procedural macro implementations.") (license (list license:expat license:asl2.0)))) +(define-public rust-futures-preview-0.3 + (package + (name "rust-futures-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-preview" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rsq8d1ciyg37i5ysd9dynwmklwy4sx466z9a72687wsi8fgj9dz")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3) + ("rust-futures-core-preview" ,rust-futures-core-preview-0.3) + ("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3) + ("rust-futures-io-preview" ,rust-futures-io-preview-0.3) + ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3) + ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs") + (synopsis "An implementation of futures and streams") + (description + "An implementation of futures and streams featuring zero allocations, +composability, and iterator-like interfaces.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-select-macro-preview-0.3 (package (name "rust-futures-select-macro-preview") @@ -5888,7 +6322,7 @@ for the futures-rs library.") "0kizm86wgr5qldyavskfi0r1msg6m4x2pkj0d4r04br2ig29i0dg")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs (("rust-futures" ,rust-futures-0.1) ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3) @@ -5901,8 +6335,7 @@ for the futures-rs library.") ("rust-pin-utils" ,rust-pin-utils-0.1) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1) - ("rust-rand" ,rust-rand-0.4) - ("rust-rand-core" ,rust-rand-core-0.5) + ("rust-rand" ,rust-rand-0.7) ("rust-slab" ,rust-slab-0.4) ("rust-tokio-io" ,rust-tokio-io-0.1)))) (home-page "https://github.com/rust-lang/futures-rs") @@ -5990,6 +6423,74 @@ archive to be linked into Rustcode.") API library @code{gdi32}.") (license license:expat))) +(define-public rust-gdk-pixbuf-0.7 + (package + (name "rust-gdk-pixbuf") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdk-pixbuf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k2g3w2p57m68bi5sldvkmgjgslgqswrjsijjhqaibdvw67409lp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fragile" ,rust-fragile-0.3) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) + ("rust-gio" ,rust-gio-0.7) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the GdkPixbuf library") + (description + "Rust bindings for the GdkPixbuf library.") + (license license:expat))) + +(define-public rust-gdk-pixbuf-sys-0.9 + (package + (name "rust-gdk-pixbuf-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdk-pixbuf-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c2andpjb10y7bahh6nxnksh9m3g5qh4mgq9znx634cy1831p6fq")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests not included in release + #:cargo-inputs + (("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgdk_pixbuf-2.0") + (description "This package provides FFI bindings to @code{libgdk_pixbuf-2.0}.") + (license license:expat))) + (define-public rust-generator-0.6 (package (name "rust-generator") @@ -6207,6 +6708,41 @@ retrieving random data from system source.") DWARF debugging format.") (license (list license:asl2.0 license:expat)))) +(define-public rust-gio-0.7 + (package + (name "rust-gio") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gio" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qv0wc1hqyb81c03h81s3xrl9jslrw23fr4yhygxbhih9k9vaqb2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-fragile" ,rust-fragile-0.3) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("glib" ,glib))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the Gio library") + (description "Rust bindings for the Gio library.") + (license license:expat))) + (define-public rust-gio-sys-0.9 (package (name "rust-gio-sys") @@ -6238,6 +6774,25 @@ DWARF debugging format.") (description "This package provides FFI bindings to libgio-2.0.") (license license:expat))) +(define-public rust-gir-format-check-0.1 + (package + (name "rust-gir-format-check") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gir-format-check" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0znl4qcgmg0656zk9vjkwdn9wj1zpkd0m0l5jnzmahd80ii7vf4b")))) + (build-system cargo-build-system) + (home-page "https://github.com/gtk-rs/gir-format-check") + (synopsis "File format checker") + (description "File format checker in Rust.") + (license license:expat))) + (define-public rust-git2-0.11 (package (name "rust-git2") @@ -6391,6 +6946,68 @@ reading and writing git repositories.") "Generated OpenGL bindings and wrapper for Servo.") (license (list license:asl2.0 license:expat)))) +(define-public rust-glib-0.9 + (package + (name "rust-glib") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "glib" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h3100mf7kdfxibjz5na0sqzbd2mcsyd8pzivn3666w414x5gys0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("glib" ,glib))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the GLib library") + (description + "Rust bindings for the GLib library.") + (license license:expat))) + +(define-public rust-glib-0.8 + (package + (inherit rust-glib-0.9) + (name "rust-glib") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "glib" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ysy87zrwyzhfpf3d8rkyyr3amwj85wky05fsl7kx95s84l269xy")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.1)))))) + (define-public rust-glib-sys-0.9 (package (name "rust-glib-sys") @@ -6991,6 +7608,29 @@ standard printing of search results, similar to grep itself.") "Fast line oriented regex searching as a library.") (license (list license:unlicense license:expat)))) +(define-public rust-gtk-rs-lgpl-docs-0.1 + (package + (name "rust-gtk-rs-lgpl-docs") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk-rs-lgpl-docs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06b1j64zg0xmhwfkyhzh3y0apclg6qihn3f7s1bd7kgjmkia4jlr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rustdoc-stripper" ,rust-rustdoc-stripper-0.1)))) + (home-page "https://gtk-rs.org/") + (synopsis "LGPL-licensed docs for Gtk-rs crates") + (description + "LGPL-licensed docs for Gtk-rs crates.") + (license license:lgpl2.0))) + (define-public rust-gzip-header-0.3 (package (name "rust-gzip-header") @@ -9276,19 +9916,19 @@ platform-independently.") (license (list license:asl2.0 license:expat)))) -(define-public rust-markup5ever-0.8 +(define-public rust-markup5ever-0.9 (package (name "rust-markup5ever") - (version "0.8.1") + (version "0.9.0") (source - (origin - (method url-fetch) - (uri (crate-uri "markup5ever" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi")))) + (origin + (method url-fetch) + (uri (crate-uri "markup5ever" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00wxigkiw8f777pjp7q5kfq77xpwda9zskkwp698assh8yfisf35")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -9300,14 +9940,28 @@ platform-independently.") ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0) - ("rust-string-cache-codegen" - ,rust-string-cache-codegen-0.4)))) + ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.4)))) (home-page "https://github.com/servo/html5ever") (synopsis "Common code for xml5ever and html5ever") (description "Common code for xml5ever and html5ever.") (license (list license:asl2.0 license:expat)))) +(define-public rust-markup5ever-0.8 + (package + (inherit rust-markup5ever-0.9) + (name "rust-markup5ever") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "markup5ever" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi")))))) + (define-public rust-matches-0.1 (package (name "rust-matches") @@ -9328,8 +9982,38 @@ platform-independently.") whether an expression matches a pattern.") (license license:expat))) +(define-public rust-matrixmultiply-0.2 + (package + (name "rust-matrixmultiply") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "matrixmultiply" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "13s7nfd3dfcsrixld2lk8c563ih5xzczl2w36hprfc016rkfrxyl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rawpointer" ,rust-rawpointer-0.2)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-itertools" ,rust-itertools-0.7)))) + (home-page "https://github.com/bluss/matrixmultiply/") + (synopsis "General matrix multiplication for f32 and f64 matrices") + (description "General matrix multiplication for f32 and f64 matrices. +Operates on matrices with general layout (they can use arbitrary row and column +stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher +performance. Uses a microkernel strategy, so that the implementation is easy to +parallelize and optimize.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-matrixmultiply-0.1 (package + (inherit rust-matrixmultiply-0.2) (name "rust-matrixmultiply") (version "0.1.15") (source @@ -9340,20 +10024,9 @@ whether an expression matches a pattern.") (sha256 (base32 "00p0fpjhm45qdzi37mgv7ggsy8b9gqvq4999yrbgyn1dxkf6gbfw")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.1)) - #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1)))) - (home-page "https://github.com/bluss/matrixmultiply/") - (synopsis "General matrix multiplication for f32 and f64 matrices") - (description "General matrix multiplication for f32 and f64 matrices. -Operates on matrices with general layout (they can use arbitrary row and column -stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher -performance. Uses a microkernel strategy, so that the implementation is easy to -parallelize and optimize.") - (license (list license:asl2.0 - license:expat)))) + `(#:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.1)) + #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1)))))) (define-public rust-maybe-uninit-2.0 (package @@ -9991,6 +10664,48 @@ checking.") "Chaining APIs for both self -> Self and &mut self methods.") (license license:expat))) +(define-public rust-nalgebra-0.18 + (package + (name "rust-nalgebra") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "nalgebra" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18i1npny8s45ff67p5qpdwwsn36fp23mal8847fkb32cqgdzvada")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-abomonation" ,rust-abomonation-0.7) + ("rust-alga" ,rust-alga-0.9) + ("rust-approx" ,rust-approx-0.3) + ("rust-generic-array" ,rust-generic-array-0.12) + ("rust-matrixmultiply" ,rust-matrixmultiply-0.2) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pest" ,rust-pest-2.1) + ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-quickcheck" ,rust-quickcheck-0.8) + ("rust-rand" ,rust-rand-0.6) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-typenum" ,rust-typenum-1.10)) + #:cargo-development-inputs + (("rust-rand-xorshift" ,rust-rand-xorshift-0.1) + ("rust-serde-json" ,rust-serde-json-1.0)))) + (home-page "https://nalgebra.org") + (synopsis "Linear algebra library") + (description + "This package provides a linear algebra library with transformations and +statically-sized or dynamically-sized matrices.") + (license license:bsd-3))) + (define-public rust-named-pipe-0.4 (package (name "rust-named-pipe") @@ -10430,6 +11145,29 @@ combinators library.") including bigint, complex, rational, range iterators, generic integers, and more.") (license (list license:expat license:asl2.0)))) +(define-public rust-num-0.1 + (package + (inherit rust-num-0.2) + (name "rust-num") + (version "0.1.42") + (source + (origin + (method url-fetch) + (uri (crate-uri "num" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vhmyvfan380f86895z0f8rjscjc6qvwcmyvm15370ik2mjas0s7")))) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.1) + ("rust-num-complex" ,rust-num-complex-0.1) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.1) + ("rust-num-traits" ,rust-num-traits-0.2)))))) + (define-public rust-num-bigint-0.2 (package (name "rust-num-bigint") @@ -10461,6 +11199,30 @@ including bigint, complex, rational, range iterators, generic integers, and more "Big integer implementation for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-num-bigint-0.1 + (package + (inherit rust-num-bigint-0.2) + (name "rust-num-bigint") + (version "0.1.44") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-bigint" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hg80xd7vd5yqzks1h0zk2fcgqnf84m2cdj9q4cffk581nnrjf76")))) + (arguments + `(#:cargo-inputs + (("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand" ,rust-rand-0.4) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-0.8)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.4)))))) + (define-public rust-num-complex-0.2 (package (name "rust-num-complex") @@ -10489,6 +11251,27 @@ including bigint, complex, rational, range iterators, generic integers, and more "Complex numbers implementation for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-num-complex-0.1 + (package + (inherit rust-num-complex-0.2) + (name "rust-num-complex") + (version "0.1.43") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-complex" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mln3h018lar511hadjwfkbyq1561s8kdzfg8aagbakqg0fn725j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-0.8)))))) + (define-public rust-num-cpus-1.11 (package (name "rust-num-cpus") @@ -10639,6 +11422,28 @@ including bigint, complex, rational, range iterators, generic integers, and more "Rational numbers implementation for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-num-rational-0.1 + (package + (inherit rust-num-rational-0.2) + (name "rust-num-rational") + (version "0.1.42") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-rational" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kkqb8j3b3nis9hs4ww4hkrmb4a6v9sr9al08xmwhgvmpms4qcgf")))) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.1) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-0.8)))))) + (define-public rust-num-traits-0.2 (package (name "rust-num-traits") @@ -11176,6 +11981,27 @@ system for OpenSSL.") "Extra FFI bindings to OpenSSL that require a C shim.") (license license:expat))) +(define-public rust-ord-subset-3 + (package + (name "rust-ord-subset") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ord-subset" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vvb6zmz279nb59dki7kbsvixbk8zpg2gxvgcpsjfnxg9ik19knp")))) + (build-system cargo-build-system) + (home-page "https://github.com/emerentius/ord_subset") + (synopsis "Tools for working with the Ord subset of certain PartialOrd types") + (description + "This package provides tools for working with the Ord subset of certain +PartialOrd types, like floats.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ordered-float-1.0 (package (name "rust-ordered-float") @@ -11361,6 +12187,139 @@ normally prevent moving a type that has been borrowed from.") "This package provides a library for padding strings at runtime.") (license license:expat))) +(define-public rust-pango-0.7 + (package + (name "rust-pango") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pango" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11np7nxb69g3kid2l78b7k519x1wk1c3f9yy7swgzy24n5qs0grr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("pango" ,pango))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the Pango library") + (description + "Rust bindings for the Pango library.") + (license license:expat))) + +(define-public rust-pango-sys-0.9 + (package + (name "rust-pango-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pango-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zdynikh6jrfa31fpmbrwnz46a57idci73zzkf0z0g3vj223vfc6")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test files not included in release. + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("pango" ,pango))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libpango-1.0") + (description "This package provides FFI bindings to @code{libpango-1.0}.") + (license license:expat))) + +(define-public rust-pangocairo-0.8 + (package + (name "rust-pangocairo") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pangocairo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qjiwsp73x3w0493dzycyjzxnzwq7ixwmf1ccr5r41pjhxbnk1kl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.7) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango" ,rust-pango-0.7) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("gtk+" ,gtk+))) + (home-page "http://gtk-rs.org/") + (synopsis "Rust bindings for the PangoCairo library") + (description + "Rust bindings for the PangoCairo library.") + (license license:expat))) + +(define-public rust-pangocairo-sys-0.10 + (package + (name "rust-pangocairo-sys") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pangocairo-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zlyf5vajarnxg5034b8qa5w5zajv96lfvlgiki26svpmcqip4m3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("gtk+" ,gtk+))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgtk-3") + (description "This package provides FFI bindings to libgtk-3.") + (license license:expat))) + (define-public rust-parity-wasm-0.40 (package (name "rust-parity-wasm") @@ -12511,6 +13470,27 @@ in terms of the upstream unstable API.") #:cargo-development-inputs (("rust-quote" ,rust-quote-0.6)))))) +(define-public rust-procedural-masquerade-0.1 + (package + (name "rust-procedural-masquerade") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "procedural-masquerade" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l098px1hwdzqnxl376a9hfxb9q8kmj2n0y0s8k7plrz3jjp85cs")))) + (build-system cargo-build-system) + (home-page "https://github.com/servo/rust-cssparser") + (synopsis "Macro rules for proc-macro-derive") + (description + "This package provides @code{macro_rules} for making +@code{proc_macro_derive} pretend to be @code{proc_macro}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-proptest-0.9 (package (name "rust-proptest") @@ -13602,8 +14582,30 @@ random number generators.") "Interoperability library for Rust Windowing applications.") (license license:expat))) +(define-public rust-rawpointer-0.2 + (package + (name "rust-rawpointer") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rawpointer" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1qy1qvj17yh957vhffnq6agq0brvylw27xgks171qrah75wmg8v0")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/rawpointer/") + (synopsis "Extra methods for raw pointers") + (description "Extra methods for raw pointers. For example +@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr}) +and @code{ptrdistance}.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-rawpointer-0.1 (package + (inherit rust-rawpointer-0.2) (name "rust-rawpointer") (version "0.1.0") (source @@ -13613,15 +14615,7 @@ random number generators.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b")))) - (build-system cargo-build-system) - (home-page "https://github.com/bluss/rawpointer/") - (synopsis "Extra methods for raw pointers") - (description "Extra methods for raw pointers. For example -@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr}) -and @code{ptrdistance}.") - (license (list license:asl2.0 - license:expat)))) + "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b")))))) (define-public rust-rawslice-0.1 (package @@ -13773,6 +14767,26 @@ accessors.") ("rust-rand-xorshift" ,rust-rand-xorshift-0.2) ("rust-scoped-tls" ,rust-scoped-tls-1.0)))))) +(define-public rust-rctree-0.3 + (package + (name "rust-rctree") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rctree" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a54z2b850albiqx9vw009p9xg363vqzh1ybkwb89zn8375jk7my")))) + (build-system cargo-build-system) + (home-page "https://github.com/RazrFalcon/rctree") + (synopsis "DOM-like tree implemented using reference counting") + (description "This package provides a @code{DOM-like} tree implemented using +reference counting.") + (license license:expat))) + (define-public rust-rdrand-0.4 (package (name "rust-rdrand") @@ -13797,6 +14811,27 @@ accessors.") @code{rdrand} and @code{rdseed} instructions") (license license:isc))) +(define-public rust-recycler-0.1 + (package + (name "rust-recycler") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "recycler" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yll0sqswy6afk9ik7r22djqafa3wfgvgdzqqh7jbczyiqr2gp4q")))) + (build-system cargo-build-system) + (home-page "https://github.com/frankmcsherry/recycler") + (synopsis "Rust library for recycling types containing owned memory") + (description + "This package provides a small Rust library for recycling types containing +owned memory.") + (license license:expat))) + ;; This package requires features which are unavailable ;; on the stable releases of Rust. (define-public rust-redox-syscall-0.1 @@ -14492,6 +15527,29 @@ require unstable language features.") rustc compiler.") (license (list license:expat license:asl2.0)))) +(define-public rust-rustdoc-stripper-0.1 + (package + (name "rust-rustdoc-stripper") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustdoc-stripper" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13rf65a0xk1zyb92jd8p12x529rsbfchwk9zvjr0snr9savpxw19")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.1)))) + (home-page "https://github.com/GuillaumeGomez/rustdoc-stripper") + (synopsis "Nanipulate rustdoc comments") + (description + "This package provides a tool to manipulate rustdoc comments.") + (license license:asl2.0))) + (define-public rust-rustfix-0.4 (package (name "rust-rustfix") diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index a338c4d47a..2b77a79c2f 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -1086,3 +1087,47 @@ cryptographic ratchet. It is written in C and C++11, and exposed as a C API.") (home-page "https://matrix.org/docs/projects/other/olm/") (license license:asl2.0))) + +(define-public hash-extender + (let ((commit "9ecef26809a1ceea2a455f6f591b004298df551b") + (revision "1")) + (package + (name "hash-extender") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/iagox86/hash_extender") + (commit commit))) + (sha256 + (base32 + "0fqy3d559zgf71w39py0931d8na0ylils45r8zs6r79wgr6qn78c")) + (file-name (git-file-name name version)) + (patches + (search-patches "hash-extender-test-suite.patch")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ + (invoke "./hash_extender_test"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (bindir (string-append outdir "/bin")) + (docdir (string-append outdir + "/share/doc/hash-extender-" + ,version))) + (install-file "hash_extender" bindir) + (install-file "README.md" docdir) + #t)))))) + (inputs + `(("openssl" ,openssl))) + (synopsis "Tool for hash length extension attacks") + (description "@command{hash_extender} is a utility for performing hash +length extension attacks supporting MD4, MD5, RIPEMD-160, SHA-0, SHA-1, +SHA-256, SHA-512, and WHIRLPOOL hashes.") + (home-page "https://github.com/iagox86/hash_extender") + (license license:bsd-3)))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 0c097a3383..91ec254609 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Andy Patterson ;;; Copyright © 2016 Danny Milosavljevic -;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018 Julien Lepiller ;;; Copyright © 2017, 2020 Thomas Danckaert ;;; Copyright © 2017 Jelle Licht @@ -217,7 +217,7 @@ either single machines or networked clusters.") "@code{mgo} (pronounced as mango) is a MongoDB driver for the Go language. It implements a rich selection of features under a simple API following standard Go idioms.") - (home-page "http://labix.org/mgo") + (home-page "https://labix.org/mgo") (license license:bsd-2))) (define-public ephemeralpg @@ -2391,32 +2391,17 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") (define-public python-orator (package (name "python-orator") - (version "0.9.7") + (version "0.9.9") (source (origin (method url-fetch) (uri (pypi-uri "orator" version)) (sha256 (base32 - "14r58z64fdp76ixnvmi4lni762b405ynmsx6chr1qihs3yl9zn6c")))) + "0mbgybz63ryhr9p1f4glnls5c57jp6il3dw0kf97f3pj80687rvg")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'loosen-dependencies - ;; Tests are not actually run since they are not included with the - ;; distributed package, but dependencies are checked. - (lambda _ - (substitute* "setup.py" - ((",<.*'") "'") - (("flexmock==0.9.7") "flexmock") - ;; The pytest-mock package is out of date, so we remove minimum - ;; version requirement. - (("pytest-mock.*'") "pytest-mock'")) - #t))))) - (native-inputs - `(("python-pytest-mock" ,python-pytest-mock) - ("python-pytest" ,python-pytest) - ("python-flexmock" ,python-flexmock))) + ;; FIXME: Tests are not distributed with PyPI, and the repository + ;; does not contain setup.py. How to test? + (arguments '(#:tests? #f)) (propagated-inputs `(("python-backpack" ,python-backpack) ("python-blinker" ,python-blinker) @@ -2427,6 +2412,7 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") ("python-pendulum" ,python-pendulum) ("python-pyaml" ,python-pyaml) ("python-pygments" ,python-pygments) + ("python-pyyaml" ,python-pyyaml) ("python-simplejson" ,python-simplejson) ("python-six" ,python-six) ("python-wrapt" ,python-wrapt))) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 0652ea15e6..8e72139a07 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -99,7 +99,7 @@ ("python-tblib" ,python-tblib))) (propagated-inputs `(("python-pytz" ,python-pytz))) - (home-page "http://www.djangoproject.com/") + (home-page "https://www.djangoproject.com/") (synopsis "High-level Python Web framework") (description "Django is a high-level Python Web framework that encourages rapid @@ -223,6 +223,30 @@ with arguments to the field constructor.") "Django-taggit is a reusable Django application for simple tagging.") (license license:bsd-3))) +(define-public python-easy-thumbnails + (package + (name "python-easy-thumbnails") + (version "2.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "easy-thumbnails" version)) + (sha256 + (base32 + "14gzp5cv24z0qhxb7f7k7v9jgzpaj4n8yhjq83ynpx8183fs1rz4")))) + (build-system python-build-system) + (propagated-inputs + `(("python-django" ,python-django) + ("python-pillow" ,python-pillow))) + (home-page "https://github.com/SmileyChris/easy-thumbnails") + (synopsis "Easy thumbnails for Django") + (description + "Easy thumbnails is a Django plugin to dynamically create thumbnails +based on source images. Multiple thumbnails can be created from a single +source image, using different options to control parameters like the image +size and quality.") + (license license:bsd-3))) + (define-public python-pytest-django (package (name "python-pytest-django") diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 7524a0dc1b..69dee2b856 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2020 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,19 +99,17 @@ pseudo-terminal (PTY) allocated to a Docker container using the Python client.") (license license:asl2.0))) -;; When updating, check whether python-jsonschema-2.6 can be removed from Guix -;; entirely. (define-public docker-compose (package (name "docker-compose") - (version "1.24.1") + (version "1.25.4") (source (origin (method url-fetch) (uri (pypi-uri "docker-compose" version)) (sha256 (base32 - "0lx7bx6jvhydbab8vwry0bclhdf0dfj6jrns1m5y45yp9ybqxmd5")))) + "1ww8ckpj3n5jdg63qvmiqx3gk0fsrnynnnqj17fppymbwjzf5fps")))) (build-system python-build-system) ;; TODO: Tests require running Docker daemon. (arguments '(#:tests? #f)) @@ -120,9 +119,9 @@ client.") ("python-docker-py" ,python-docker-py) ("python-dockerpty" ,python-dockerpty) ("python-docopt" ,python-docopt) - ("python-jsonschema" ,python-jsonschema-2.6) + ("python-jsonschema" ,python-jsonschema) ("python-pyyaml" ,python-pyyaml) - ("python-requests" ,python-requests-2.20) + ("python-requests" ,python-requests) ("python-six" ,python-six) ("python-texttable" ,python-texttable) ("python-websocket-client" ,python-websocket-client))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index acd690fee5..7ded5ba7e5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -64,6 +64,7 @@ ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc> ;;; ;;; This file is part of GNU Guix. ;;; @@ -295,7 +296,7 @@ on stdout instead of using a socket as the Emacsclient does.") (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770")) (package (name "emacs-magit") - (version (git-version "2.90.1" "2" commit)) + (version (git-version "2.90.1" "3" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -335,24 +336,10 @@ on stdout instead of using a socket as the Emacsclient does.") (guix build emacs-utils)) #:test-target "test" #:tests? #f ; tests are not included in the release - #:make-flags (list (string-append "PREFIX=" %output) ;; Don't put .el files in a sub-directory. - (string-append "lispdir=" %output "/share/emacs/site-lisp") - (string-append "DASH_DIR=" - (assoc-ref %build-inputs "dash") - "/share/emacs/site-lisp/guix.d/dash-" - ,(package-version emacs-dash)) - (string-append "WITH_EDITOR_DIR=" - (assoc-ref %build-inputs "with-editor") - "/share/emacs/site-lisp/guix.d/with-editor-" - ,(package-version emacs-with-editor)) - (string-append "TRANSIENT_DIR=" - (assoc-ref %build-inputs "transient") - "/share/emacs/site-lisp/guix.d/transient-" - ,(package-version emacs-transient))) - + (string-append "lispdir=" %output "/share/emacs/site-lisp")) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch @@ -414,7 +401,7 @@ operations.") (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f")) (package (name "emacs-magit-svn") - (version (git-version "2.2.1" "1" commit)) + (version (git-version "2.2.1" "2" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -424,48 +411,11 @@ operations.") (sha256 (base32 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy")))) - (build-system trivial-build-system) - (native-inputs `(("emacs" ,emacs-minimal))) + (build-system emacs-build-system) (propagated-inputs `(("dash" ,emacs-dash) ("with-editor" ,emacs-with-editor) ("magit" ,emacs-magit) ("transient" ,emacs-transient))) - (arguments - `(#:modules ((guix build utils) - (guix build emacs-utils)) - - #:builder - (begin - (use-modules (guix build utils) - (guix build emacs-utils)) - - (let ((emacs (string-append (assoc-ref %build-inputs "emacs") - "/bin/emacs")) - (magit (string-append (assoc-ref %build-inputs "magit") - "/share/emacs/site-lisp")) - (transient (string-append (assoc-ref %build-inputs "transient") - "/share/emacs/site-lisp/guix.d/transient-" - ,(package-version emacs-transient))) - (dash (string-append (assoc-ref %build-inputs "dash") - "/share/emacs/site-lisp/guix.d/dash-" - ,(package-version emacs-dash))) - (with-editor (string-append (assoc-ref %build-inputs "with-editor") - "/share/emacs/site-lisp/guix.d/with-editor-" - ,(package-version emacs-with-editor))) - (source (assoc-ref %build-inputs "source")) - (lisp-dir (string-append %output "/share/emacs/site-lisp"))) - - (install-file (string-append source "/magit-svn.el") - lisp-dir) - - (with-directory-excursion lisp-dir - (parameterize ((%emacs emacs)) - (emacs-generate-autoloads ,name lisp-dir) - (setenv "EMACSLOADPATH" - (string-append ":" magit ":" transient - ":" dash ":" with-editor)) - (emacs-batch-eval '(byte-compile-file "magit-svn.el")))) - #t)))) (home-page "https://github.com/magit/magit-svn") (synopsis "Git-SVN extension to Magit") (description @@ -2164,47 +2114,6 @@ type, for example: packages, buffers, files, etc.") (base32 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps")))) (build-system gnu-build-system) - (arguments - `(#:configure-flags - (let ((guix (assoc-ref %build-inputs "guix")) - (gcrypt (assoc-ref %build-inputs "guile-gcrypt")) - (geiser (assoc-ref %build-inputs "geiser")) - (dash (assoc-ref %build-inputs "dash")) - (bui (assoc-ref %build-inputs "bui")) - (magit-popup (assoc-ref %build-inputs "magit-popup")) - (edit-indirect (assoc-ref %build-inputs "edit-indirect")) - (site-lisp "/share/emacs/site-lisp") - (site-scm "/share/guile/site") - (site-go "/lib/guile") - (guile-dir (lambda (dir) - (car (find-files dir - (lambda (file stat) - (string-prefix? - "2." (basename file))) - #:directories? #t))))) - (list (string-append "--with-guix-site-dir=" - (guile-dir (string-append guix site-scm))) - (string-append "--with-guix-site-ccache-dir=" - (guile-dir (string-append guix site-go)) - "/site-ccache") - (string-append "--with-guile-gcrypt-site-dir=" - (guile-dir (string-append gcrypt site-scm))) - (string-append "--with-guile-gcrypt-site-ccache-dir=" - (guile-dir (string-append gcrypt site-go)) - "/site-ccache") - (string-append "--with-geiser-lispdir=" geiser site-lisp) - (string-append "--with-dash-lispdir=" - dash site-lisp "/guix.d/dash-" - ,(package-version emacs-dash)) - (string-append "--with-bui-lispdir=" - bui site-lisp "/guix.d/bui-" - ,(package-version emacs-bui)) - (string-append "--with-editindirect-lispdir=" - edit-indirect site-lisp "/guix.d/edit-indirect-" - ,(package-version emacs-edit-indirect)) - (string-append "--with-popup-lispdir=" - magit-popup site-lisp "/guix.d/magit-popup-" - ,(package-version emacs-magit-popup)))))) (native-inputs `(("pkg-config" ,pkg-config) ("emacs" ,emacs-minimal))) @@ -3725,7 +3634,7 @@ build jobs.") (define-public emacs-company (package (name "emacs-company") - (version "0.9.11") + (version "0.9.12") (source (origin (method git-fetch) @@ -3734,7 +3643,7 @@ build jobs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0x7ag716jp4xb7kmcmr8pqlxx1v0f2gkjx5gx34wxxqfrndwyx8i")))) + (base32 "0c31amc6gyfkmb1ii6mm56c75za1yxkj2iyhrjc45nn2mrh7yj7a")))) (build-system emacs-build-system) (arguments `(#:phases @@ -3750,7 +3659,7 @@ build jobs.") #t))) #:tests? #t #:test-command '("make" "test-batch"))) - (home-page "http://company-mode.github.io/") + (home-page "https://company-mode.github.io/") (synopsis "Modular text completion framework") (description "Company is a modular completion mechanism. Modules for retrieving @@ -4346,7 +4255,7 @@ for @code{AUCTeX}.") (substitute* "mit-scheme-doc.el" (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/") (string-append "file:" doc-dir "/mit-scheme-ref/"))))))))) - (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/") + (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/") (synopsis "MIT-Scheme documentation lookup for Emacs") (description "This package provides a set of Emacs functions to search definitions of @@ -6486,7 +6395,7 @@ like @code{org-edit-src-code} but for arbitrary regions.") (define-public emacs-projectile (package (name "emacs-projectile") - (version "2.0.0") + (version "2.1.0") (source (origin (method url-fetch) (uri (string-append "https://raw.githubusercontent.com/bbatsov" @@ -6494,7 +6403,7 @@ like @code{org-edit-src-code} but for arbitrary regions.") (file-name (string-append "projectile-" version ".el")) (sha256 (base32 - "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby")))) + "1jj9wk91clyph3zmxkd7y7d6gdqmjd1vndhyq5fxp7i7dy013571")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -12707,7 +12616,7 @@ files to be expanded upon opening them.") (build-system emacs-build-system) (propagated-inputs `(("emacs-parsebib" ,emacs-parsebib))) - (home-page "http://joostkremers.github.io/ebib/") + (home-page "https://joostkremers.github.io/ebib/") (synopsis "BibTeX database manager for Emacs") (description "Ebib is a BibTeX database manager that runs in GNU Emacs. @@ -18378,7 +18287,7 @@ a suffix) we prefer to call it just a \"transient\".") (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb")) (package (name "emacs-forge") - (version (git-version "0.1.0" "2" commit)) + (version (git-version "0.1.0" "3" commit)) (source (origin (method git-fetch) @@ -18389,7 +18298,7 @@ a suffix) we prefer to call it just a \"transient\".") (sha256 (base32 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83")))) - (build-system gnu-build-system) + (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) @@ -18404,51 +18313,22 @@ a suffix) we prefer to call it just a \"transient\".") ("emacs-transient" ,emacs-transient))) (arguments `(#:tests? #f ;no tests - #:modules ((srfi srfi-26) - (guix build gnu-build-system) - ((guix build emacs-build-system) #:prefix emacs:) - (guix build utils) - (guix build emacs-utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-build-system) - (guix build emacs-utils)) #:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'install) - (add-after 'unpack 'delete-doc-targets + (add-after 'unpack 'build-info-manual (lambda _ - (substitute* "./Makefile" - (("lisp docs") "lisp")))) - (add-after 'delete-doc-targets 'chdir-lisp + (invoke "make" "info") + ;; Move the info file to lisp so that it gets installed by the + ;; emacs-build-system. + (rename-file "docs/forge.info" "lisp/forge.info"))) + (add-after 'build-info-manual 'chdir-lisp (lambda _ - (chdir "lisp"))) - (add-after 'chdir-lisp 'emacs-install - (assoc-ref emacs:%standard-phases 'install)) - (add-after 'emacs-install 'emacs-make-autoloads - (assoc-ref emacs:%standard-phases 'make-autoloads)) - (add-after 'build 'install-elc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (el-dir (string-append - out "/share/emacs/site-lisp/guix.d/forge-" - ,version))) - (for-each (cut install-file <> el-dir) - (find-files "." "\\.elc")) - #t))) - (add-after 'install-elc 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (with-directory-excursion "../docs" - (invoke "makeinfo" "forge.texi") - (install-file "forge.info" info) - #t))))))) + (chdir "lisp") + #t))))) (home-page "https://github.com/magit/forge/") (synopsis "Access Git forges from Magit") - (description - "Work with Git forges, such as Github and Gitlab, from the comfort of -Magit and the rest of Emacs.") + (description "Work with Git forges, such as Github and Gitlab, from the +comfort of Magit and the rest of Emacs.") (license license:gpl3+)))) (define-public emacs-matcha @@ -21829,3 +21709,25 @@ a @samp{date} keywords, and optionally, a @samp{filetags} keyword.") "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji conversion program}, a Japanese input method on Emacs.") (license license:gpl2+)))) + +(define-public emacs-objed + (package + (name "emacs-objed") + (version "0.8.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/objed-" version ".tar")) + (sha256 + (base32 + "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr")))) + (build-system emacs-build-system) + (home-page "https://github.com/clemera/objed") + (synopsis "Navigate and edit text objects") + (description + "@code{emacs-objed} allows to navigate and edit text objects. It +enables modal editing and composition of commands, too. It combines ideas of +other Editors like Vim or Kakoune and tries to align them with regular Emacs +conventions.") + (license license:gpl3+))) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index f9a21204d9..9e52f3bb38 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -74,16 +74,3 @@ regular expressions for each rule. Whenever it finds a match, it executes the corresponding C code.") (license (non-copyleft "file://COPYING" "See COPYING in the distribution.")))) - -(define-public flex-2.6.1 - (package - (inherit flex) - (version "2.6.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/westes/flex" - "/releases/download/v" version "/" - "flex-" version ".tar.xz")) - (sha256 - (base32 - "0gqhk4vkwy4gl9xbpgkljph8c0a5kpijz6wd0p5r9q202qn42yic")))))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 5c158c0f99..855414a211 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2017, 2018 Mark H Weaver ;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Rutger Helling -;;; Copyright © 2017 Brendan Tildesley +;;; Copyright © 2017, 2020 Brendan Tildesley ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Stefan Stefanović @@ -72,6 +72,7 @@ #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages man) #:use-module (gnu packages m4) #:use-module (gnu packages nss) #:use-module (gnu packages perl) @@ -804,6 +805,43 @@ composes the final output. A Wayland compositor is essentially a multiplexer to the KMS/DRM Linux kernel devices.") (license license:expat))) +(define-public wev + ;; There simple tool has no version or release yet. + (let ((commit "cee3dfb2a8b40ee303611018c68ae182d84a7f46")) + (package + (name "wev") + (version (string-append "2020-02-06-" (string-take commit 8))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~sircmpwn/wev") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l71v3fzgiiv6xkk365q1l08qvaymxd4kpaya6r2g8yzkr7i2hms")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("scdoc" ,scdoc))) + (inputs + `(("libxkbcommon" ,libxkbcommon) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) + (home-page "https://git.sr.ht/~sircmpwn/wev") + (synopsis "Wayland event viewer") + (description "Wev is a tool that opens a window, printing all events +sent to a Wayland window, such as key presses. It is analogous to the X11 tool +XEv.") + (license license:expat)))) + (define-public exempi (package (name "exempi") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c34537a146..0e37675775 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -598,6 +598,136 @@ regular @command{cat}, but it also adds terminal escape codes between characters and lines resulting in a rainbow effect.") (license license:wtfpl2)))) +(define-public foobillard++ + ;; Even though this latest revision is old already, stable release is + ;; lagging way behind it, and has issues with textures rendering. + (let ((svn-revision 170)) + (package + (name "foobillard++") + (version (string-append "3.43-r" (number->string svn-revision))) + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "svn://svn.code.sf.net/p/foobillardplus/code/") + (revision svn-revision))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00b693ys5zvzjbjzzj3dqfzm5xw64gwjf9m8qv6bkmf0klbhmayk")) + (patches + (search-patches "foobillard++-pkg-config.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Unfortunately, the game includes background music with + ;; a non-commercial clause. Delete it. + (for-each delete-file (find-files "data/music" "\\.ogg$")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + ;; Install data in a less exotic location. + (string-append "--prefix=" (assoc-ref %outputs "out") "/share") + ;; Prevent a build error about undefined trigonometric functions. + "--enable-fastmath=no") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-makefile + ;; Remove hard-coded directories. Also fix installation + ;; rule: it tries to move around non-existent files or + ;; files already moved. + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.am" + (("/usr") (assoc-ref outputs "out")) + (("cp .*?/foobillardplus\\.desktop.*") "") + (("cp .*?/foobillardplus\\.(png|xbm) \\$\\(datarootdir\\).*") + "")) + #t)) + (add-after 'unpack 'unbundle-font + ;; XXX: The package ships with LinBiolinum_aSB.ttf and + ;; LinBiolinum_aS.ttf, which are not provided by + ;; `font-linuxlibertine' package. Therefore, we cannot replace + ;; them yet. + (lambda* (#:key inputs #:allow-other-keys) + (let ((dejavu (string-append (assoc-ref inputs "font-dejavu") + "/share/fonts/truetype/"))) + (with-directory-excursion "data" + (for-each (lambda (f) + (delete-file f) + (symlink (string-append dejavu f) f)) + '("DejaVuSans-Bold.ttf" "DejaVuSans.ttf")))) + #t)) + (replace 'bootstrap + (lambda _ + (invoke "aclocal" "--force") + (invoke "autoconf" "-f") + (invoke "autoheader" "-f") + (invoke "automake" "-a" "-c" "-f"))) + (add-before 'build 'prepare-build + ;; Set correct environment for SDL. + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))) + #t)) + (add-before 'build 'fix-settings-directory + ;; Hide foobillardplus settings directory in $HOME. + (lambda _ + (substitute* "src/history.c" + (("/foobillardplus-data") "/.foobillardplus")) + #t)) + (add-before 'install 'create-directories + ;; Install process does not create directories before + ;; trying to move file in it. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/icons")) + (mkdir-p (string-append out "/share/applications"))) + #t)) + (add-after 'install 'symlink-executable + ;; Symlink executable to $out/bin. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (with-directory-excursion bin + (symlink "../share/foobillardplus/bin/foobillardplus" + "foobillardplus")) + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("font-dejavu" ,font-dejavu) + ("freetype" ,freetype) + ("glu" ,glu) + ("libpng" ,libpng) + ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-net))))) + (home-page "http://foobillardplus.sourceforge.net/") + (synopsis "3D billiard game") + (description "FooBillard++ is an advanced 3D OpenGL billiard game +based on the original foobillard 3.0a sources from Florian Berger. +You can play it with one or two players or against the computer. + +The game features: + +@itemize +@item Wood paneled table with gold covers and gold diamonds. +@item Reflections on balls. +@item Zoom in and out, rotation, different angles and bird's eye view. +@item Different game modes: 8 or 9-ball, Snooker or Carambole. +@item Tournaments. Compete against other players. +@item Animated cue with strength and eccentric hit adjustment. +@item Jump shots and snipping. +@item Realistic gameplay and billiard sounds. +@item Red-Green stereo. +@item And much more. +@end itemize") + (license (list license:gpl2 license:silofl1.1))))) + (define-public freedoom (package (name "freedoom") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index f465470d49..5c5c51a0ad 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2020 Marius Bakke ;;; Copyright © 2020 Joseph LaFreniere +;;; Copyright © 2020 Guy Fleury Iteriteka ;;; ;;; This file is part of GNU Guix. ;;; @@ -605,26 +606,22 @@ using compilers other than GCC." #:phases (modify-phases %standard-phases (add-before 'configure 'chdir - (lambda _ - (chdir "libiberty") - #t)) - (replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/")) - (include (string-append out "/include/"))) - (mkdir-p lib) - (mkdir-p include) - (copy-file "libiberty.a" - (string-append lib "libiberty.a")) - (copy-file "../include/libiberty.h" - (string-append include "libiberty.h")) - #t)))))) + (lambda _ + (chdir "libiberty") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib/")) + (include (string-append out "/include/"))) + (install-file "libiberty.a" lib) + (install-file "../include/libiberty.h" include)) + #t))))) (inputs '()) (outputs '("out")) (native-inputs '()) (propagated-inputs '()) + (properties '()) (synopsis "Collection of subroutines used by various GNU programs"))) (define-public libiberty diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index a8fd36f03c..4352129fe2 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -81,6 +81,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) + #:use-module (gnu packages textutils) #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages wxwidgets) @@ -839,7 +840,7 @@ to create databases that are optimized for rendering/tile/map-services.") (define-public libosmium (package (name "libosmium") - (version "2.14.2") + (version "2.15.4") (source (origin (method git-fetch) @@ -848,16 +849,18 @@ to create databases that are optimized for rendering/tile/map-services.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "123ri1l0a2b9fljgpwsl7z2w4i3kmgxz79d4ns9z4mwbp8sw0250")))) + (base32 "0mlcvqrhp40bzj5r5j9nfc5vbis8hmzcq9xi8jylkciyydaynhz4")))) (build-system cmake-build-system) (propagated-inputs `(("boost" ,boost) + ("bzip2" ,bzip2) ("expat" ,expat) ("gdal" ,gdal) ("geos" ,geos) - ("proj.4" ,proj.4) + ("proj" ,proj) ("protozero" ,protozero) ("sparsehash" ,sparsehash) + ("utfcpp" ,utfcpp) ("zlib" ,zlib))) (native-inputs `(("doxygen" ,doxygen))) @@ -870,7 +873,7 @@ OpenStreetMap data.") (define-public osm2pgsql (package (name "osm2pgsql") - (version "0.96.0") + (version "1.2.1") (source (origin (method git-fetch) @@ -879,7 +882,7 @@ OpenStreetMap data.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "032cydh8ynaqfhdzmkvgbmqyjql668y6qln1l59l2s3ni9963bbl")) + (base32 "1ysan01lpqzjxlq3y2kdminfjs5d9zksicpf9vvzpdk3fzq51fc9")) (modules '((guix build utils))) (snippet '(begin @@ -898,16 +901,17 @@ OpenStreetMap data.") "/include")))) (inputs `(("boost" ,boost) + ("bzip2" ,bzip2) ("expat" ,expat) ("libosmium" ,libosmium) ("lua" ,lua) ("postgresql" ,postgresql) - ("proj.4" ,proj.4) + ("proj" ,proj) ("protozero" ,protozero) ("zlib" ,zlib))) (native-inputs - `(("python-2" ,python-2) - ("python2-psycopg2" ,python2-psycopg2))) + `(("python" ,python) + ("python-psycopg2" ,python-psycopg2))) (home-page "https://github.com/openstreetmap/osm2pgsql") (synopsis "OSM data importer to postgresql") (description "Osm2pgsql is a tool for loading OpenStreetMap data into a diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index aeeced42bd..d9d757e614 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2020 Alex Griffin ;;; Copyright © 2020 Jack Hill +;;; Copyright © 2020 Ekaitz Zarraga ;;; ;;; This file is part of GNU Guix. ;;; @@ -146,6 +147,47 @@ GNOME Shell.") (home-page "https://github.com/ubuntu/gnome-shell-extension-appindicator/") (license license:gpl2+))) +(define-public gnome-shell-extension-topicons-redux + (package + (name "gnome-shell-extension-topicons-redux") + (version "6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/pop-planet/TopIcons-Redux.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dli9xb545n3xlj6q4wl0y5gzkm903zs47p8fiq71pdvbr6v38rj")))) + (build-system gnu-build-system) + (native-inputs + `(("glib" ,glib "bin"))) + (arguments + `(#:tests? #f ;no test defined in the project + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" + "install" + (string-append + "INSTALL_PATH=" + out + "/share/gnome-shell/extensions")))))))) + (home-page "https://gitlab.com/pop-planet/TopIcons-Redux") + (synopsis "Display legacy tray icons in the GNOME Shell top panel") + (description "Many applications, such as chat clients, downloaders, and +some media players, are meant to run long-term in the background even after you +close their window. These applications remain accessible by adding an icon to +the GNOME Shell Legacy Tray. However, the Legacy Tray was removed in GNOME +3.26. TopIcons Redux brings those icons back into the top panel so that it's +easier to keep track of apps running in the backround.") + (license license:gpl2+))) + (define-public gnome-shell-extension-dash-to-dock (package (name "gnome-shell-extension-dash-to-dock") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f0b4d01e3d..ef65c5bcca 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -44,7 +44,7 @@ ;;; Copyright © 2019 David Wilson ;;; Copyright © 2019, 2020 Raghav Gururajan ;;; Copyright © 2019 Jonathan Brielmaier -;;; Copyright © 2019 Leo Prikler +;;; Copyright © 2019, 2020 Leo Prikler ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2020 raingloom @@ -1587,15 +1587,17 @@ on the GNOME Desktop with a single simple application.") (build-system meson-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'set-adwaita-theme-file-name + (add-after 'unpack 'patch-schemas (lambda* (#:key inputs #:allow-other-keys) - ;; Provide the correct file name of the default GNOME - ;; background, 'adwaita-timed.xml'. (let ((theme (assoc-ref inputs "gnome-backgrounds"))) (substitute* (find-files "schemas" "\\.gschema\\.xml\\.in$") + ;; Provide the correct file name of the default GNOME + ;; background, 'adwaita-timed.xml'. (("@datadir@/backgrounds/gnome") - (string-append theme "/share/backgrounds/gnome"))) + (string-append theme "/share/backgrounds/gnome")) + ;; Do not reference fonts, that may not exist. + (("'Source Code Pro 10'") "'Monospace 11'")) #t)))))) (inputs `(("glib" ,glib) @@ -2160,245 +2162,84 @@ dealing with different structured file formats.") library.") (license license:lgpl2.0+))) -(define* (computed-origin-method gexp-promise hash-algo hash - #:optional (name "source") - #:key (system (%current-system)) - (guile (default-guile))) - "Return a derivation that executes the G-expression that results -from forcing GEXP-PROMISE." - (mlet %store-monad ((guile (package->derivation guile system))) - (gexp->derivation (or name "computed-origin") - (force gexp-promise) - #:graft? #f ;nothing to graft - #:system system - #:guile-for-build guile))) - -(define librsvg-next-source - (let* ((version "2.46.4") - (upstream-source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/librsvg/" - (version-major+minor version) "/" - "librsvg-" version ".tar.xz")) - (sha256 - (base32 - "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))))) - (origin - (method computed-origin-method) - (file-name (string-append "librsvg-" version ".tar.xz")) - (sha256 #f) - (uri - (delay - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (set-path-environment-variable - "PATH" '("bin") - (list "/tmp" - #+(canonical-package xz) - #+(canonical-package gzip) - #+(canonical-package tar))) - (invoke "tar" "xvf" #+upstream-source) - (with-directory-excursion (string-append "librsvg-" #$version) - ;; The following crate(s) are needed in addition to the ones replaced: - (begin - (invoke - "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor") - (invoke - "tar" "xvf" #+(package-source rust-proc-macro2-0.4) "-C" "vendor") - (invoke - "tar" "xvf" #+(package-source rust-quote-0.6) "-C" "vendor") - (invoke - "tar" "xvf" #+(package-source rust-unicode-xid-0.1) "-C" "vendor") - (invoke - "tar" "xvf" #+(package-source rust-maybe-uninit-2.0) "-C" "vendor")) - (for-each - (lambda (crate) - (delete-file-recursively (string-append "vendor/" (car crate))) - (invoke "tar" "xvf" (cdr crate) "-C" "vendor")) - '(("aho-corasick" . #+(package-source rust-aho-corasick-0.7)) -;; alga 0.9 - ("approx" . #+(package-source rust-approx-0.3)) - ("arrayvec" . #+(package-source rust-arrayvec-0.4)) - ("atty" . #+(package-source rust-atty-0.2)) - ("autocfg" . #+(package-source rust-autocfg-1.0)) - ("bitflags" . #+(package-source rust-bitflags-1)) -;; block 0.1 - ("bstr" . #+(package-source rust-bstr-0.2)) - ("byteorder" . #+(package-source rust-byteorder-1.3)) -;; cairo-rs 0.7 -;; cairo-sys-rs 0.9 - ("cast" . #+(package-source rust-cast-0.2)) - ("cfg-if" . #+(package-source rust-cfg-if-0.1)) - ("clap" . #+(package-source rust-clap-2)) - ("cloudabi" . #+(package-source rust-cloudabi-0.0)) - ("criterion" . #+(package-source rust-criterion-0.2)) - ("criterion-plot" . #+(package-source rust-criterion-plot-0.3)) - ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7)) - ("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.8)) - ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.2)) - ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.7)) -;; cssparser 0.25 -;; cssparser-macros 0.3 - ("csv" . #+(package-source rust-csv-1.1)) - ("csv-core" . #+(package-source rust-csv-core-0.1)) -;; data-url 0.1 -;; downcast-rs 1.0 - ("dtoa" . #+(package-source rust-dtoa-0.4)) -;; dtoa-short 0.3 - ("either" . #+(package-source rust-either-1.5)) - ("encoding" . #+(package-source rust-encoding-0.2)) - ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219)) - ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219)) - ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219)) - ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219)) - ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219)) - ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1)) -;; float-cmp 0.5 -;; fragile 0.3 - ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1)) - ("futf" . #+(package-source rust-futf-0.1)) -;; gdk-pixbuf 0.7 -;; gdk-pixbuf-sys 0.9 - ("generic-array" . #+(package-source rust-generic-array-0.12)) -;; gio 0.7 - ("gio-sys" . #+(package-source rust-gio-sys-0.9)) -;; glib 0.8 - ("glib-sys" . #+(package-source rust-glib-sys-0.9)) - ("gobject-sys" . #+(package-source rust-gobject-sys-0.9)) - ("idna" . #+(package-source rust-idna-0.2)) - ("itertools" . #+(package-source rust-itertools-0.8)) - ("itoa" . #+(package-source rust-itoa-0.4)) - ("language-tags" . #+(package-source rust-language-tags-0.2)) - ("lazy_static" . #+(package-source rust-lazy-static-1)) - ("libc" . #+(package-source rust-libc-0.2)) - ("libm" . #+(package-source rust-libm-0.1)) - ("locale_config" . #+(package-source rust-locale-config-0.3)) - ("log" . #+(package-source rust-log-0.4)) - ("mac" . #+(package-source rust-mac-0.1)) - ("malloc_buf" . #+(package-source rust-malloc-buf-0.0)) -;; markup5ever 0.9 - ("matches" . #+(package-source rust-matches-0.1)) -;; matrixmultiply 0.2 - ("memchr" . #+(package-source rust-memchr-2.2)) - ("memoffset" . #+(package-source rust-memoffset-0.5)) -;; nalgebra 0.18 - ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0)) - ("nodrop" . #+(package-source rust-nodrop-0.1)) - ("num-complex" . #+(package-source rust-num-complex-0.2)) - ("num-integer" . #+(package-source rust-num-integer-0.1)) - ("num-rational" . #+(package-source rust-num-rational-0.2)) - ("num-traits" . #+(package-source rust-num-traits-0.2)) - ("num_cpus" . #+(package-source rust-num-cpus-1.10)) - ("objc" . #+(package-source rust-objc-0.2)) - ("objc-foundation" . #+(package-source rust-objc-foundation-0.1)) - ("objc_id" . #+(package-source rust-objc-id-0.1)) -;; pango 0.7 -;; pango-sys 0.9 -;; pangocairo 0.8 -;; pangocairo-sys 0.10 - ("percent-encoding" . #+(package-source rust-percent-encoding-2.1)) - ("phf" . #+(package-source rust-phf-0.7)) - ("phf_codegen" . #+(package-source rust-phf-codegen-0.7)) - ("phf_generator" . #+(package-source rust-phf-generator-0.7)) - ("phf_shared" . #+(package-source rust-phf-shared-0.7)) - ("pkg-config" . #+(package-source rust-pkg-config-0.3)) - ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1)) - ("proc-macro2" . #+(package-source rust-proc-macro2-1.0)) -;; procedural-masquerade 0.1 - ("quote" . #+(package-source rust-quote-1.0)) - ("rand" . #+(package-source rust-rand-0.6)) - ("rand_chacha" . #+(package-source rust-rand-chacha-0.1)) - ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3)) - ("rand_core" . #+(package-source rust-rand-core-0.4)) - ("rand_hc" . #+(package-source rust-rand-hc-0.1)) - ("rand_isaac" . #+(package-source rust-rand-isaac-0.1)) - ("rand_jitter" . #+(package-source rust-rand-jitter-0.1)) - ("rand_os" . #+(package-source rust-rand-os-0.1)) - ("rand_pcg" . #+(package-source rust-rand-pcg-0.1)) - ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1)) - ("rand_xoshiro" . #+(package-source rust-rand-xoshiro-0.1)) -;; rawpointer 0.2 - ("rayon" . #+(package-source rust-rayon-1.3)) - ("rayon-core" . #+(package-source rust-rayon-core-1.7)) -;; rctree 0.3 - ("rdrand" . #+(package-source rust-rdrand-0.4)) - ("regex" . #+(package-source rust-regex-1.3)) - ("regex-automata" . #+(package-source rust-regex-automata-0.1)) - ("regex-syntax" . #+(package-source rust-regex-syntax-0.6)) - ("rustc_version" . #+(package-source rust-rustc-version-0.2)) - ("ryu" . #+(package-source rust-ryu-1.0)) - ("same-file" . #+(package-source rust-same-file-1.0)) - ("scopeguard" . #+(package-source rust-scopeguard-1.0)) - ("semver" . #+(package-source rust-semver-0.9)) - ("semver-parser" . #+(package-source rust-semver-parser-0.7)) - ("serde" . #+(package-source rust-serde-1.0)) - ("serde_derive" . #+(package-source rust-serde-derive-1.0)) - ("serde_json" . #+(package-source rust-serde-json-1.0)) - ("siphasher" . #+(package-source rust-siphasher-0.2)) - ("smallvec" . #+(package-source rust-smallvec-0.6)) - ("string_cache" . #+(package-source rust-string-cache-0.7)) - ("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4)) - ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3)) - ("syn" . #+(package-source rust-syn-1.0)) - ("tendril" . #+(package-source rust-tendril-0.4)) - ("textwrap" . #+(package-source rust-textwrap-0.11)) - ("thread_local" . #+(package-source rust-thread-local-1.0)) - ("tinytemplate" . #+(package-source rust-tinytemplate-1.0)) - ("typenum" . #+(package-source rust-typenum-1.10)) - ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3)) - ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1)) - ("unicode-width" . #+(package-source rust-unicode-width-0.1)) - ("unicode-xid" . #+(package-source rust-unicode-xid-0.2)) - ("url" . #+(package-source rust-url-2.1)) - ("utf-8" . #+(package-source rust-utf-8-0.7)) - ("walkdir" . #+(package-source rust-walkdir-2.2)) - ("winapi" . #+(package-source rust-winapi-0.3)) - ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4)) - ("winapi-util" . #+(package-source rust-winapi-util-0.1)) - ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4)) - ("xml-rs" . #+(package-source rust-xml-rs-0.8))))) - (format #t "Replacing vendored crates in the tarball and repacking ...~%") - (force-output) - (invoke "tar" "cfa" #$output - ;; Avoid non-determinism in the archive. We set the - ;; mtime of files in the archive to early 1980 because - ;; the build process fails if the mtime of source - ;; files is pre-1980, due to the creation of zip - ;; archives. - "--mtime=@315619200" ; 1980-01-02 UTC - "--owner=root:0" - "--group=root:0" - "--sort=name" - (string-append "librsvg-" #$version)) - #t))))))) - (define-public librsvg-next (package + (inherit librsvg) (name "librsvg") (version "2.46.4") - (source librsvg-next-source) - (build-system gnu-build-system) + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/librsvg/" + (version-major+minor version) "/" + "librsvg-" version ".tar.xz")) + (sha256 + (base32 + "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "vendor") + ;; Don't demand an exact version for string_cache + (substitute* "rsvg_internals/Cargo.toml" + (("\"=") "\"")) + #t)))) + (build-system cargo-build-system) (arguments - `(#:configure-flags - (list "--disable-static" - "--enable-vala") ; needed for e.g. gnome-mines - #:make-flags '("CC=gcc") - #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums' + `(#:modules ((guix build cargo-build-system) + (guix build utils) + ((guix build gnu-build-system) #:prefix gnu:)) + #:vendor-dir "vendor" + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.7) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-cssparser" ,rust-cssparser-0.25) + ("rust-data-url" ,rust-data-url-0.1) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-encoding" ,rust-encoding-0.2) + ("rust-float-cmp" ,rust-float-cmp-0.5) + ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) + ("rust-gio" ,rust-gio-0.7) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-itertools" ,rust-itertools-0.8) + ("rust-language-tags" ,rust-language-tags-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-locale-config" ,rust-locale-config-0.3) + ("rust-markup5ever" ,rust-markup5ever-0.9) + ("rust-nalgebra" ,rust-nalgebra-0.18) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-pango" ,rust-pango-0.7) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-pangocairo" ,rust-pangocairo-0.8) + ("rust-phf" ,rust-phf-0.7) + ("rust-rayon" ,rust-rayon-1.3) + ("rust-rctree" ,rust-rctree-0.3) + ("rust-string-cache" ,rust-string-cache-0.7) + ("rust-regex" ,rust-regex-1.3) + ("rust-url" ,rust-url-2.1) + ("rust-xml-rs" ,rust-xml-rs-0.8)) + #:cargo-development-inputs + (("rust-cairo-rs" ,rust-cairo-rs-0.7) + ("rust-criterion" ,rust-criterion-0.2)) #:phases (modify-phases %standard-phases - (add-after 'configure 'patch-cargo-checksums + (add-after 'unpack 'prepare-for-build (lambda _ - (use-modules (guix build cargo-utils)) - (substitute* "librsvg/Cargo.toml" - (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored - (substitute* "rsvg_internals/Cargo.toml" - (("\"=") "\"")) - (generate-all-checksums "vendor") - (delete-file "Cargo.lock") - (invoke "cargo" "generate-lockfile"))) + ;; In lieu of #:make-flags + (setenv "CC" "gcc") + ;; Something about the build environment resists building + ;; successfully with the '--locked' flag. + (substitute* '("Makefile.am" + "Makefile.in") + (("--locked") "")) + #t)) (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (substitute* "gdk-pixbuf-loader/Makefile.in" ;; By default the gdk-pixbuf loader is installed under ;; gdk-pixbuf's prefix. Work around that. @@ -2410,6 +2251,27 @@ from forcing GEXP-PROMISE." (("gdk_pixbuf_cache_file = .*$") "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")) #t)) + (add-after 'configure 'gnu-configure + (assoc-ref gnu:%standard-phases 'configure)) + ;(lambda* (#:key outputs #:allow-other-keys) + ; ((assoc-ref gnu:%standard-phases 'configure) + ; #:outputs outputs + ; #:configure-flags ("--disable-static" + ; "--enable-vala")))) + (add-after 'configure 'dont-vendor-self + (lambda* (#:key vendor-dir #:allow-other-keys) + ;; Don't keep the whole tarball in the vendor directory + (delete-file-recursively + (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) + #t)) + (replace 'build + (assoc-ref gnu:%standard-phases 'build)) + (replace 'check + (lambda* args + ((assoc-ref gnu:%standard-phases 'check) + #:test-target "check"))) + (replace 'install + (assoc-ref gnu:%standard-phases 'install)) (add-before 'check 'remove-failing-tests (lambda _ (with-directory-excursion "tests/fixtures/reftests" @@ -2431,30 +2293,6 @@ from forcing GEXP-PROMISE." ;; This test fails on aarch64: "bugs/777834-empty-text-children.svg"))) #t))))) - (native-inputs - `(("pkg-config" ,pkg-config) - ;; This is the minimum supported Rust version in Librsvg 2.46. - ("rust" ,rust-1.34) - ("cargo" ,rust-1.34 "cargo") - ("vala" ,vala) - ("glib" ,glib "bin") ; glib-mkenums, etc. - ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. - (inputs - `(("pango" ,pango) - ("libcroco" ,libcroco) - ("bzip2" ,bzip2) - ("libgsf" ,libgsf) - ("libxml2" ,libxml2))) - (propagated-inputs - ;; librsvg-2.0.pc refers to all of that. - `(("cairo" ,cairo) - ("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib))) - (home-page "https://wiki.gnome.org/LibRsvg") - (synopsis "Render SVG files using Cairo") - (description - "Librsvg is a C library to render SVG files using the Cairo 2D graphics -library.") (license license:lgpl2.1+))) (define-public libidl diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c22eb57fc7..e1abcc1c83 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Petter -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Marius Bakke ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2019 Mathieu Othacehe @@ -251,14 +251,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.19") + (version "2.2.20") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "1h6yx6sdpz3lf9gdppgxqcf73baynr8gflmh43286fkgw3058994")))) + "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -404,6 +404,15 @@ libskba (working with X.509 certificates and CMS data).") (sha256 (base32 "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'disable-failing-test + ;; XXX gnupg@2.2.20 breaks the expected JSON response for this test. + (lambda _ + (substitute* "tests/json/t-json.c" + (("\"t-keylist-secret\", ") "")) + #t))))) (native-inputs `(("gnupg" ,gnupg))) (propagated-inputs @@ -1003,6 +1012,16 @@ however, pgpdump produces more detailed and easier to understand output.") (base32 "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gnupg (assoc-ref inputs "gnupg"))) + (wrap-program (string-append out "/bin/gpa") + `("PATH" ":" prefix (,(string-append gnupg "/bin")))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 77cb3ba79d..ef1bea7b7c 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -326,7 +326,7 @@ exception-handling library.") flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics.") - (home-page "http://www.ogre3d.org/") + (home-page "https://www.ogre3d.org/") (license license:expat))) (define-public openexr diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 9e89fe1e61..b887da1076 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -228,7 +228,7 @@ visualization tool suite.") `(("python-nose" ,python-nose) ("python-mock" ,python-mock) ("python-doctest-ignore-unicode" ,python-doctest-ignore-unicode))) - (home-page "http://pygraphviz.github.io") + (home-page "https://pygraphviz.github.io") (synopsis "Python interface to Graphviz") (description "PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. With PyGraphviz you can create, edit, read, diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 12530c95b4..d20d460e1b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2019 Giacomo Leidi +;;; Copyright © 2020 Brendan Tildesley ;;; ;;; This file is part of GNU Guix. ;;; @@ -956,7 +957,7 @@ exceptions, macros, and a dynamic programming environment.") (description "Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG images onto Cairo surfaces.") - (home-page "http://wingolog.org/projects/guile-rsvg/") + (home-page "https://wingolog.org/projects/guile-rsvg/") (license license:lgpl2.1+)))) (define-public guile2.2-rsvg @@ -1944,3 +1945,30 @@ displayed on the other side of the bus.") ;; Dual-licensed under either LGPLv2.1 or LGPLv3. (license (list license:lgpl2.1 license:lgpl3)))) + +(define-public gtk-layer-shell + (package + (name "gtk-layer-shell") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/wmww/gtk-layer-shell/releases/download/v" + version "/gtk-layer-shell-" version ".tar.xz")) + (sha256 + (base32 "0ncklk3z0fzlz6p76jdcrr1ykyp1f4ykjjch4x2hfp9bwsnl4a3m")))) + (build-system meson-build-system) + (native-inputs `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection))) + (inputs `(("wayland" ,wayland) + ("gtk+" ,gtk+))) + (home-page "https://github.com/wmww/gtk-layer-shell") + (synopsis "Library to create Wayland desktop components using the Layer +Shell protocol") + (description "Layer Shell is a Wayland protocol for desktop shell +components, such as panels, notifications and wallpapers. It can be used to +anchor windows to a corner or edge of the output, or stretch them across the +entire output. It supports all Layer Shell features including popups and +popovers.") + (license license:expat))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index fe99fb9236..661a725fca 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -598,7 +598,7 @@ is not available for Guile 2.0.") highlighting library for GNU Guile. It can parse code written in various programming languages into a simple s-expression that can be converted to HTML (via SXML) or any other format for rendering.") - (home-page "http://dthompson.us/projects/guile-syntax-highlight.html") + (home-page "https://dthompson.us/projects/guile-syntax-highlight.html") (license license:lgpl3+))) (define-public guile2.2-syntax-highlight diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index f5b45d0bfb..12cb857cbb 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -754,8 +754,26 @@ advanced user's otherwise working script to fail under future circumstances. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) (home-page "https://github.com/jaspervdj/stylish-haskell") (synopsis "Haskell code prettifier") - (description - "A simple Haskell code prettifier. The goal is not to format all of the -code in a file, just clean up import statements and a few other tedious -items. This tool tries to help where necessary without getting in the way.") + (description "Stylish-haskell is a Haskell code prettifier. The goal is +not to format all of the code in a file, to avoid \"getting in the way\". +However, this tool can e.g. clean up import statements and help doing various +tasks that get tedious very quickly. It can +@itemize +@item +Align and sort @code{import} statements +@item +Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant +pragmas +@item +Remove trailing whitespaces +@item +Align branches in @code{case} and fields in records +@item +Convert line endings (customisable) +@item +Replace tabs by four spaces (turned off by default) +@item +Replace some ASCII sequences by their Unicode equivalent (turned off by +default) +@end itemize") (license license:bsd-3))) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 418eb7cc46..0828dc93c6 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -3774,7 +3774,7 @@ versions of GHC (i.e., < 6.10).") (define-public ghc-extra (package (name "ghc-extra") - (version "1.7.1") + (version "1.6.21") (source (origin (method url-fetch) @@ -3784,7 +3784,7 @@ versions of GHC (i.e., < 6.10).") ".tar.gz")) (sha256 (base32 - "0zshxv9dnd8vksncmb8dj4wvq2wdybzwxyhmy2zp6a81icm4azx4")))) + "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl")))) (build-system haskell-build-system) (inputs `(("ghc-clock" ,ghc-clock) @@ -5286,8 +5286,7 @@ descriptions.") (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (elisp-file "elisp/hindent.el") - (dest (string-append out "/share/emacs/site-lisp" - "/guix.d/hindent-" ,version)) + (dest (string-append out "/share/emacs/site-lisp")) (emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))) (make-file-writable elisp-file) @@ -11120,68 +11119,7 @@ occurrences of a substring (the first in case of overlaps) with another.") (license license:bsd-3))) (define-public ghc-stylish-haskell - (package - (name "ghc-stylish-haskell") - (version "0.9.2.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://hackage/package/stylish-haskell/stylish-haskell-" - version - ".tar.gz")) - (sha256 - (base32 - "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w")))) - (build-system haskell-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'update-constraints - (lambda _ - (substitute* "stylish-haskell.cabal" - (("haskell-src-exts >= 1\\.18 && < 1\\.21,") - "haskell-src-exts >= 1.18 && < 1.22,")) - #t))))) - (inputs - `(("ghc-aeson" ,ghc-aeson) - ("ghc-file-embed" ,ghc-file-embed) - ("ghc-haskell-src-exts" ,ghc-haskell-src-exts) - ("ghc-semigroups" ,ghc-semigroups) - ("ghc-syb" ,ghc-syb) - ("ghc-yaml" ,ghc-yaml) - ("ghc-strict" ,ghc-strict) - ("ghc-optparse-applicative" - ,ghc-optparse-applicative))) - (native-inputs - `(("ghc-hunit" ,ghc-hunit) - ("ghc-test-framework" ,ghc-test-framework) - ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) - (home-page "https://github.com/jaspervdj/stylish-haskell") - (synopsis "Haskell code prettifier") - (description "Stylish-haskell is a Haskell code prettifier. The goal is -not to format all of the code in a file, to avoid \"getting in the way\". -However, this tool can e.g. clean up import statements and help doing various -tasks that get tedious very quickly. It can -@itemize -@item -Align and sort @code{import} statements -@item -Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant -pragmas -@item -Remove trailing whitespaces -@item -Align branches in @code{case} and fields in records -@item -Convert line endings (customisable) -@item -Replace tabs by four spaces (turned off by default) -@item -Replace some ASCII sequences by their Unicode equivalent (turned off by -default) -@end itemize") - (license license:bsd-3))) + (deprecated-package "ghc-stylish-haskell" stylish-haskell)) (define-public ghc-svg-builder (package diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm index f0b33e0deb..86eb86d3b5 100644 --- a/gnu/packages/hyperledger.scm +++ b/gnu/packages/hyperledger.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) + #:use-module (gnu packages rpc) #:use-module (gnu packages tbb) #:use-module (gnu packages version-control) #:use-module (gnu packages web)) @@ -189,7 +190,7 @@ link-time. New implementations can be added as well.") (inputs `(("boost" ,boost-1.69) ("gflags" ,gflags) - ("grpc" ,grpc) + ("grpc" ,grpc-1.16.1) ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519) ("postgresql" ,postgresql) ("protobuf" ,protobuf) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 46ad22d2a0..1b8fd32c80 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1805,10 +1805,10 @@ identical visual appearance.") (sha256 (base32 "0brljl4zfbn5mh9hkfrfkvd27c5y9vdkgap9r1hrfy9r1x20sskn")))) (build-system meson-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs `(("pkg-config" ,pkg-config) + ("scdoc" ,scdoc))) (inputs `(("cairo" ,cairo) ("libjpeg-turbo" ,libjpeg-turbo) - ("scdoc" ,scdoc) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols))) (home-page "https://github.com/emersion/grim") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 26b67ae041..c9d59bbabd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3669,7 +3669,7 @@ these two libraries to vary independently of one another.") #:tests? #f));; FIXME: we need to generate some resources as in pom.xml (native-inputs `(("java-junit" ,java-junit))) - (home-page "http://codehaus-plexus.github.io/plexus-classworlds/") + (home-page "https://codehaus-plexus.github.io/plexus-classworlds/") (synopsis "Java class loader framework") (description "Plexus classworlds replaces the native @code{ClassLoader} mechanism of Java. It is especially useful for dynamic loading of application @@ -4179,7 +4179,7 @@ project and determining what files need to be rebuilt.") ("java-plexus-classworlds" ,java-plexus-classworlds) ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect) ("java-guava" ,java-guava))) - (home-page "http://codehaus-plexus.github.io/modello/") + (home-page "https://codehaus-plexus.github.io/modello/") (synopsis "Framework for code generation from a simple model") (description "Modello is a framework for code generation from a simple model. @@ -4753,7 +4753,7 @@ available in the Java programming language or Commons Lang.") (native-inputs `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "http://openjdk.java.net/projects/code-tools/jmh/") + (home-page "https://openjdk.java.net/projects/code-tools/jmh/") (synopsis "Benchmark harness for the JVM") (description "JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages @@ -8040,7 +8040,7 @@ package contains utilities for obtaining services via the Java SE 6 `(#:jar-name "java-aqute-bnd-annotation.jar" #:source-dir "biz.aQute.bnd.annotation/src" #:tests? #f)); empty test dir - (home-page "http://bnd.bndtools.org/") + (home-page "https://bnd.bndtools.org/") (synopsis "Tools for OSGi") (description "Bnd is a swiss army knife for OSGi, it creates manifest headers based on analyzing the class code, it verifies the project settings, @@ -10363,7 +10363,7 @@ wider problem of Object to Object transformation.") `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core) ("tzdata" ,tzdata))) - (home-page "http://www.joda.org/joda-time/") + (home-page "https://www.joda.org/joda-time/") (synopsis "Replacement for the Java date and time classes") (description "Joda-Time is a replacement for the Java date and time classes prior to Java SE 8.") diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 07293b6bd1..bf962859b9 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages kde-internet) #:use-module (gnu packages openldap) #:use-module (gnu packages qt) #:use-module (gnu packages search) @@ -334,6 +335,112 @@ Akonadi PIM data server. It uses Xapian for indexing and querying.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) +(define-public kincidenceeditor + (package + (name "kincidenceeditor") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/incidenceeditor-" version ".tar.xz")) + (sha256 + (base32 "0v962v2ihawndg39ypkfawa449vpbdyg00ib7avb19a153y3wxg6")))) + (properties `((upstream-name . "incidenceeditor"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-calendar" ,akonadi-calendar) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcalendarsupport" ,kcalendarsupport) + ("kcalutils" ,kcalutils) + ("kcodecs" ,kcodecs) + ("kcontacts" ,kcontacts) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("kdiagram" ,kdiagram) + ("keventviews" ,keventviews) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kldap" ,kldap) + ("kmailtransport" ,kmailtransport) + ("kmime" ,kmime) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kwallat" ,kwallet) + ("libkdepim" ,libkdepim) + ("qtbase" ,qtbase))) + (home-page "https://cgit.kde.org/incidenceeditor.git") + (synopsis "KDE PIM library for editing incidences") + (description "This library provides an incidence editor for KDE PIM.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public kaddressbook + (package + (name "kaddressbook") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kaddressbook-" version ".tar.xz")) + (sha256 + (base32 "1bpl9cqjv7s6pnsaa266jqmny2s6ldkylxviri162jxg51v1hhz3")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("grantlee" ,grantlee) + ("grantleetheme" ,grantleetheme) + ("kcalendarcore" ,kcalendarcore) + ("kcmutils" ,kcmutils) + ("kcompletion" ,kcompletion) + ("kcontacts" ,kcontacts) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("kdoctools" ,kdoctools) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("kontactinterface" ,kontactinterface) + ("kparts" ,kparts) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("libkleo" ,libkleo) + ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests + ("prison" ,prison) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase))) + (home-page "https://kontact.kde.org/components/kaddressbook.html") + (synopsis "Address Book application to manage your contacts") + (description "KAddressBook stores all the personal details of your family, +friends and other contacts. It supports large variety of services, including +NextCloud, Kolab, Google Contacts, Microsoft Exchange (EWS) or any standard +CalDAV server.") + (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + (define-public kalarmcal (package (name "kalarmcal") @@ -375,6 +482,86 @@ Akonadi PIM data server. It uses Xapian for indexing and querying.") calendar data.") (license license:lgpl2.0+))) +(define-public kblog + (package + (name "kblog") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kblog-" version ".tar.xz")) + (sha256 + (base32 "0r3ik3df444kzg2mnzckkh4kk6v08zil1f26dwmxsslsqw9hl0vv")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcalendarcore" ,kcalendarcore) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kxmlrpcclient" ,kxmlrpcclient) + ("qtbase" ,qtbase) + ("syndication" ,syndication))) + ;; Note: Some tests take up to 90 sec. + (home-page "https://cgit.kde.org/kblog.git") + (synopsis "Client-side support library for web application remote blogging +APIs") + (description "KBlog is a library for calling functions on Blogger 1.0, +MetaWeblog, MovableType and GData compatible blogs. It calls the APIs using +KXmlRpcClient and Syndication. It supports asynchronous sending and fetching +of posts and, if supported on the server, multimedia files. Almost every +modern blogging web application that provides an XML data interface supports +one of the APIs mentioned above.") + (license license:lgpl2.0+))) + +(define-public kcalendarsupport + (package + (name "kcalendarsupport") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/calendarsupport-" version ".tar.xz")) + (sha256 + (base32 "1hwfh5njq4614ypwdilna33hdcn11kshpwg6n27cag1qhwrxs1i4")))) + (properties `((upstream-name . "calendarsupport"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-calendar" ,akonadi-calendar) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils", kcalutils) + ("kcompletion" ,kcompletion) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("kguiaddons" ,kguiaddons) + ("kholidays" ,kholidays) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/calendarsupport/") + (synopsis "Calendar Support library for KDE PIM") + (description "The Calendar Support library provides helper utilities for +calendaring applications.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + (define-public kcalutils (package (name "kcalutils") @@ -414,6 +601,34 @@ data") functions for accessing calendar data using the kcalcore API.") (license license:lgpl2.0+))) +(define-public kdav + (package + (name "kdav") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kdav-" version ".tar.xz")) + (sha256 + (base32 "1w59n17lridglphnm4mnmmzq1ijpbp269qxfmz01vk6wry6hlnp8")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("qtbase" ,qtbase) + ("qtxmlpatterns" ,qtxmlpatterns))) + (home-page "https://cgit.kde.org/kdav.git") + (synopsis "DAV protocol implementation with KJobs") + (description "This is a DAV protocol implemention with KJobs. Calendars +and todos are supported, using either GroupDAV or CalDAV, and contacts are +supported using GroupDAV or CardDAV.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + (define-public kdepim-apps-libs (package (name "kdepim-apps-libs") @@ -460,6 +675,135 @@ for KDE PIM.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) +(define-public kdepim-runtime + (package + (name "kdepim-runtime") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kdepim-runtime-" version ".tar.xz")) + (sha256 + (base32 "1skid9v6viw379mwhmb4xjh6bylv8wg7cy56kkbcpsmpars9cwr6")) + (patches (search-patches + "kdepim-runtime-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("kdoctools" ,kdoctools) + ("libxslt" ,libxslt) + ("shared-mime-info" ,shared-mime-info))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-calendar" ,akonadi-calendar) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-notes" ,akonadi-notes) + ("boost" ,boost) + ("cyrus-sasl" ,cyrus-sasl) + ("kalarmcal" ,kalarmcal) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kdav" ,kdav) + ("kdbusaddons" ,kdbusaddons) + ("kholidays" ,kholidays) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmailtransport" ,kmailtransport) + ("kmbox" ,kmbox) + ("kmime" ,kmime) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("kross" ,kross) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwindowsystem" ,kwindowsystem) + ("libkgapi" ,libkgapi) + ;; TODO: libkolab + ("qca" ,qca) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtnetworkauth" ,qtnetworkauth) + ("qtspeech" ,qtspeech) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("qtxmlpatterns" ,qtxmlpatterns))) + (arguments + ;; TODO: 5/45 tests fail for quite different reasons, even with + ;; "offscreen" and dbus + `(#:tests? #f)) + (home-page "https://cgit.kde.org/kdepim-runtime.git") + (synopsis "Runtime components for Akonadi KDE") + (description "This package contains Akonadi agents written using KDE +Development Platform libraries. Any package that uses Akonadi should probably +pull this in as a dependency. The kres-bridges is also parts of this +package.") + (license ;; Files vary a lot regarding the license. GPL2+ and LGPL2.1+ + ;; have been used in those I checked. But the archive also includes + ;; license texts for GPL3 and AGPL3. + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public keventviews + (package + (name "keventviews") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/eventviews-" version ".tar.xz")) + (sha256 + (base32 "190vx074ligzysc9w5pf2b51dfy0i4v9mc53m9jdcw8y02shy49w")))) + (properties `((upstream-name . "eventviews"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-calendar" ,akonadi-calendar) + ("akonadi-contacts" ,akonadi-contacts) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcalendarsupport" ,kcalendarsupport) + ("kcalutils" ,kcalutils) + ("kcodecs", kcodecs) + ("kcompletion" ,kcompletion) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kdbusaddons" ,kdbusaddons) + ("kdiagram" ,kdiagram) + ("kguiaddons" ,kguiaddons) + ("kholidays" ,kholidays) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("kpimtextedit" ,kpimtextedit) + ("kservice" ,kservice) + ("ktextwidgets" ,ktextwidgets) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("qtbase" ,qtbase))) + (home-page "https://cgit.kde.org/eventviews.git") + (synopsis "KDE PIM library for creating events") + (description "This library provides an event creator for KDE PIM.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + (define-public kgpg (package (name "kgpg") @@ -664,6 +1008,167 @@ and retrieving certificates from LDAP servers.") (license ;; GPL for programs, FDL for documentation (list license:gpl2+ license:fdl1.2+)))) +(define-public kmail + (package + (name "kmail") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kmail-" version ".tar.xz")) + (sha256 + (base32 "0gsdpv9pf4h031zcawc4qv78a5kl9hxp2amd0spjhs7wc7nl17fk")) + (patches (search-patches "kmail-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("kbookmarks" ,kbookmarks) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcmutils" ,kcmutils) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("kguiaddons" ,kguiaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kldap" ,kldap) + ("kmailcommon" ,kmailcommon) + ("kmailtransport" ,kmailtransport) + ("kmessagelib" ,kmessagelib) + ("kmime" ,kmime) + ("kmime" ,kmime) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kontactinterface" ,kontactinterface) + ("kparts" ,kparts) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("kservice" ,kservice) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("ktnef" ,ktnef) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libgravatar" ,libgravatar) + ("libkdepim" ,libkdepim) + ("libkleo" ,libkleo) + ("libksieve" ,libksieve) + ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("sonnet" ,sonnet))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "dbus-launch" "ctest" ".") + #t))))) + (home-page "https://kontact.kde.org/components/kmail.html") + (synopsis "Full featured graphical email client") + (description "KMail supports multiple accounts, mail filtering and email +encryption. The program let you configure your workflow and it has good +integration into KDE (Plasma Desktop) but is also useable with other Desktop +Envionments. + +KMail is the email component of Kontact, the integrated personal information +manager from KDE.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public kmailcommon + (package + (name "kmailcommon") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/mailcommon-" version ".tar.xz")) + (sha256 + (base32 "1gsj89kgq4457mnfjlys4wiixpzwlbwhj4zpd7r4fdhbyihz3k2m")))) + (properties `((upstream-name . "mailcommon"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("gnupg" ,gnupg) + ("qttools" ,qttools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("karchive" ,karchive) + ("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kdbusaddons" ,kdbusaddons) + ("kdesignerplugin" ,kdesignerplugin) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kldap" ,kldap) + ("kmailimporter" ,kmailimporter) + ("kmailtransport" ,kmailtransport) + ("kmessagelib" ,kmessagelib) + ("kmime" ,kmime) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("libkleo" ,libkleo) + ("libxslt" ,libxslt) + ("phonon" ,phonon) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f)) ;; TODO: 4/56 tests fail, even with "offscreen" and dbus + (home-page "https://cgit.kde.org/mailcommon.git") + (synopsis "KDE email utility library") + (description "The mail common library provides utility functions for +dealing with email.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + (define-public kmailimporter (package (name "kmailimporter") @@ -769,6 +1274,84 @@ mail transport.") using a Qt/KMime C++ API.") (license license:lgpl2.0+ ))) +(define-public kmessagelib + (package + (name "kmessagelib") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/messagelib-" version ".tar.xz")) + (sha256 + (base32 "0a378aqkdjzyzlxxha2qxa6vzrj92l1fplzb6fajz4l7ipj4hbnv")))) + (properties `((upstream-name . "messagelib"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("gnupg" ,gnupg) + ("libxml2" ,libxml2))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-notes" ,akonadi-notes) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("grantlee" ,grantlee) + ("grantleetheme" ,grantleetheme) + ("karchive" ,karchive) + ("kcalendarcore" ,kcalendarcore) + ("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kldap" ,kldap) + ("kmailtransport" ,kmailtransport) + ("kmbox" ,kmbox) + ("kmime" ,kmime) + ("knewstuff" ,knewstuff) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("kservice" ,kservice) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libgravatar" ,libgravatar) + ("libkdepim" ,libkdepim) + ("libkleo" ,libkleo) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("qtwebkit" ,qtwebkit) + ("sonnet" ,sonnet))) + (arguments + `(#:tests? #f)) ;; TODO many test fail for quite different reasons + (home-page "https://cgit.kde.org/messagelib.git") + (synopsis "KDE PIM messaging libraries") + (description "This packages provides several libraries for messages, +e.g. a message list, a mime tree parse, a template parser and the +kwebengineviewer.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + (define-public kmime (package (name "kmime") @@ -807,6 +1390,80 @@ US-ASCII, non-text attachments, multi-part message bodies, and header information in non-ASCII character sets.") (license license:lgpl2.0+))) +(define-public knotes + (package + (name "knotes") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/knotes-" version ".tar.xz")) + (sha256 + (base32 "128qpfqjn5zwl5550srmbjyxns242q6a3b0jy70jjx2yixy3rb87")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("libxslt" ,libxslt))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-notes" ,akonadi-notes) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("grantlee" ,grantlee) + ("grantleetheme" ,grantleetheme) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcmutils" ,kcmutils) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdnssd" ,kdnssd) + ("kdoctools" ,kdoctools) + ("kglobalaccel" ,kglobalaccel) + ("kiconthemes" ,kiconthemes) + ("kimap" ,kimap) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kmime" ,kmime) + ("kmime" ,kmime) + ("knewstuff" ,knewstuff) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kontactinterface" ,kontactinterface) + ("kparts" ,kparts) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) + (home-page "https://kontact.kde.org/components/knotes.html") + (synopsis "Note-taking utility") + (description "KNotes lets you write the computer equivalent of sticky +notes. The notes are saved automatically when you exit the program, and they +display when you open the program. + +Features: +@itemize +@item Write notes in your choice of font and background color +@item Use drag and drop to email your notes +@item Can be dragged into Calendar to book a time-slot +@item Notes can be printed +@end itemize") + (license (list license:gpl2+ license:lgpl2.0+)))) + (define-public kontactinterface (package (name "kontactinterface") @@ -835,6 +1492,93 @@ information in non-ASCII character sets.") application \"Parts\" to be embedded as a Kontact component (or plugin).") (license license:lgpl2.0+))) +(define-public korganizer + (package + (name "korganizer") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/korganizer-" version ".tar.xz")) + (sha256 + (base32 "1ixdmmczccvwr7a6vvzv0kyjay0mjnbwcwkq6yym32m2lb3vcxdn")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("qttools" ,qttools) + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-calendar" ,akonadi-calendar) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-notes" ,akonadi-notes) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcalendarsupport" ,kcalendarsupport) + ("kcalutils" ,kcalutils) + ("kcmutils" ,kcmutils) + ("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("keventviews" ,keventviews) + ("kholidays" ,kholidays) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kincidenceeditor" ,kincidenceeditor) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kldap" ,kldap) + ("kmailtransport" ,kmailtransport) + ("kmime" ,kmime) + ("knewstuff" ,knewstuff) + ("knotifications" ,knotifications) + ("kontactinterface" ,kontactinterface) + ("kparts" ,kparts) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("kservice" ,kservice) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests + ("phonon" ,phonon) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "dbus-launch" "ctest" ".") + #t))))) + (home-page "https://kontact.kde.org/components/korganizer.html") + (synopsis "Organizational assistant, providing calendars and other similar +functionality to help you organize your life.") + (description "KOrganizer is the calendar and scheduling component of +Kontact. It provides management of events and tasks, alarm notification, web +export, network transparent handling of data, group scheduling, import and +export of calendar files and more. It is able to work together with a wide +variety of clanedaring services, including NextCloud, Kolab, Google Calendar +and others. KOrganizer is fully customizable to your needs and is an integral +part of the Kontact suite, which aims to be a complete solution for organizing +your personal data. KOrganizer supports the two dominant standards for storing +and exchanging calendar data, vCalendar and iCalendar.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + (define-public kpimcommon (package (name "kpimcommon") @@ -1132,3 +1876,61 @@ various Google services.") KDE using certificate-based crypto.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) + +(define-public libksieve + (package + (name "libksieve") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/libksieve-" version ".tar.xz")) + (sha256 + (base32 "0q6f6lc4yvlq0vsfml10lz844z6zxxf7yivk7l3vglap58ci20x1")) + (patches (search-patches "libksieve-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("cyrus-sasl" ,cyrus-sasl) + ("karchive" ,karchive) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kmailtransport" ,kmailtransport) + ("kmime" ,kmime) + ("knewstuff" ,knewstuff) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwindowsystem" ,kwindowsystem) + ("libkdepim" ,libkdepim) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'substitute + (lambda _ + ;; Disable a failing test + ;; sieveeditorhelphtmlwidgettest fails with `sigtrap` + (substitute* + "src/ksieveui/editor/webengine/autotests/CMakeLists.txt" + (("^\\s*(add_test|ecm_mark_as_test)\\W" line) + (string-append "# " line))) + #t))))) + (home-page "https://cgit.kde.org/libksieve.git") + (synopsis "KDE Sieve library") + (description "Sieve is a language that can be used filter emails. KSieve +is a Sieve parser and interpreter library for KDE.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 7a689c9b29..6eb02119a4 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -325,6 +325,37 @@ for some KDevelop language plugins (Ruby, PHP, CSS...).") ;; kdevplatform was merged into kdevelop as of 5.2.x (define-deprecated kdevplatform kdevelop) +(define-public kdiagram + (package + (name "kdiagram") + (version "2.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/kdiagram/" version + "/kdiagram-" version ".tar.xz")) + (sha256 + (base32 "1c6dbp9gssjrx59z8yxzq1ay56pnw7h28symjrv0gcvhxyjirrxx")) + (patches (search-patches + "kdiagram-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (home-page "https://cgit.kde.org/kdiagram.git/") + (synopsis "Libraries for creating business diagrams") + (description "This package provides libraries for integrating business +diagrams in Qt-based applications. + +@code{KCharts} provides an implementation of the ODF Chart specification. It +supports stock charts, box charts, and whisker charts. @code{KGantt} provides +a module for implementing ODF Gantt charts, which are bar charts that +illustrate project schedules.") + (license license:gpl2+))) + (define-public krita (package (name "krita") diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 7f437e425e..d5dd3c092b 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -35,9 +35,7 @@ #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) - #:use-module ((guix licenses) - #:select (gpl2 gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0 - non-copyleft x11-style bsd-3)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (ice-9 match) @@ -110,7 +108,7 @@ expressions stored in multiple named targets, or \"cells\". The cells can be referenced from each other, and the library takes care of resolving their dependencies automatically upon calculation.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public orcus (package @@ -140,7 +138,7 @@ spreadsheet documents. The library includes import filters for Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet, Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for CSV, CSS and XML.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public unoconv (package @@ -197,7 +195,7 @@ Format (@file{.odt}, @file{.ods}, @file{.odp})), Portable Document Format @file{.docx}), @file{.xls} and @file{.xlsx}). All required fonts must be installed on the converting system.") - (license gpl2))) + (license license:gpl2))) (define-public librevenge (package @@ -229,7 +227,7 @@ All required fonts must be installed on the converting system.") (description "Librevenge is a base library for writing document import filters. It has interfaces for text documents, vector graphics, spreadsheets and presentations.") - (license (list mpl2.0 lgpl2.1+)))) ;dual licensed + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual-licensed (define-public libwpd (package @@ -257,7 +255,7 @@ spreadsheets and presentations.") (description "Libwpd is a C++ library designed to help process WordPerfect documents. It is most commonly used to import such documents into other word processors.") - (license (list mpl2.0 lgpl2.1+)))) ;dual licensed + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual-licensed (define-public libe-book (package @@ -294,7 +292,7 @@ Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files), PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled cellphones), TCR (simple compressed text format), TealDoc, zTXT, ZVR (simple compressed text format).") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libepubgen (package @@ -322,7 +320,7 @@ ZVR (simple compressed text format).") (description "libepubgen is an EPUB generator for librevenge. It supports librevenge's text document interface and--currently in a very limited way--presentation and vector drawing interfaces.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libwpg (package @@ -348,7 +346,7 @@ way--presentation and vector drawing interfaces.") (synopsis "Library and tools for the WordPerfect Graphics format") (description "The libwpg project provides a library and tools for working with graphics in the WPG (WordPerfect Graphics) format.") - (license (list mpl2.0 lgpl2.1+)))) ;dual licensed + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual-licensed (define-public libcmis (package @@ -390,7 +388,8 @@ working with graphics in the WPG (WordPerfect Graphics) format.") (description "LibCMIS is a C++ client library for the CMIS interface. It allows C++ applications to connect to any ECM behaving as a CMIS server such as Alfresco or Nuxeo.") - (license (list mpl1.1 gpl2+ lgpl2.1+)))) ; triple license + (license + (list license:mpl1.1 license:gpl2+ license:lgpl2.1+)))) ; triple license (define-public libabw (package @@ -418,7 +417,7 @@ as Alfresco or Nuxeo.") (synopsis "Library for parsing the AbiWord format") (description "Libabw is a library that parses the file format of AbiWord documents.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libcdr (package @@ -447,7 +446,7 @@ AbiWord documents.") (synopsis "Library for parsing the CorelDRAW format") (description "Libcdr is a library that parses the file format of CorelDRAW documents of all versions.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libetonyek (package @@ -481,7 +480,7 @@ CorelDRAW documents of all versions.") (synopsis "Library for parsing the Apple Keynote format") (description "Libetonyek is a library that parses the file format of Apple Keynote documents. It currently supports Keynote versions 2 to 5.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public liblangtag (package @@ -507,7 +506,7 @@ for identifying languages as described in RFC 5646. It supports the extensions described in RFC6067 and RFC6497, and Extension T for language/locale identifiers as described in the Unicode CLDR standard 21.0.2.") - (license (list lgpl3+ mpl2.0)))) ; dual license + (license (list license:lgpl3+ license:mpl2.0)))) ; dual license (define-public libexttextcat (package @@ -525,8 +524,8 @@ standard 21.0.2.") (synopsis "Text Categorization library") (description "Libexttextcat is an N-Gram-Based Text Categorization library primarily intended for language guessing.") - (license (non-copyleft "file://LICENSE" - "See LICENSE in the distribution.")))) + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) (define-public libfreehand (package @@ -567,7 +566,7 @@ library primarily intended for language guessing.") (synopsis "Library for parsing the FreeHand format") (description "Libfreehand is a library that parses the file format of Aldus/Macromedia/Adobe FreeHand documents.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libmspub (package @@ -594,7 +593,7 @@ Aldus/Macromedia/Adobe FreeHand documents.") (synopsis "Library for parsing the Microsoft Publisher format") (description "Libmspub is a library that parses the file format of Microsoft Publisher documents of all versions.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libnumbertext (package @@ -617,7 +616,7 @@ Microsoft Publisher documents of all versions.") "The libnumbertext library provides language-neutral @code{NUMBERTEXT} and @code{MONEYTEXT} functions for LibreOffice Calc, available for C++ and Java.") - (license (list lgpl3+ bsd-3)))) + (license (list license:lgpl3+ license:bsd-3)))) (define-public libpagemaker (package @@ -646,7 +645,7 @@ Java.") (description "Libpagemaker is a library that parses the file format of Aldus/Adobe PageMaker documents. Currently it only understands documents created by PageMaker version 6.x and 7.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libvisio (package @@ -676,7 +675,7 @@ created by PageMaker version 6.x and 7.") (synopsis "Library for parsing the Microsoft Visio format") (description "Libvisio is a library that parses the file format of Microsoft Visio documents of all versions.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libodfgen (package @@ -707,7 +706,7 @@ Microsoft Visio documents of all versions.") Open Document Format (ODF). It provides generator implementations for all document interfaces supported by librevenge: text documents, vector drawings, presentations and spreadsheets.") - (license (list mpl2.0 lgpl2.1+)))) ; dual license + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license (define-public libmwaw (package @@ -734,7 +733,7 @@ text documents, vector drawings, presentations and spreadsheets.") (description "Libmwaw contains some import filters for old Macintosh text documents (MacWrite, ClarisWorks, ... ) and for some graphics and spreadsheet documents.") - (license (list mpl2.0 lgpl2.1+)))) ; dual license + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license (define-public libstaroffice (package @@ -757,7 +756,7 @@ spreadsheet documents.") (synopsis "Provides LibreOffice support for old StarOffice documents") (description "@code{libstaroffice} is an import filter for the document formats from the old StarOffice (.sdc, .sdw, ...).") - (license (list mpl2.0 lgpl2.1+)))) ; dual license + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license (define-public libwps (package @@ -783,7 +782,7 @@ from the old StarOffice (.sdc, .sdw, ...).") (synopsis "Import library for Microsoft Works text documents") (description "Libwps is a library for importing files in the Microsoft Works word processor file format.") - (license (list mpl2.0 lgpl2.1+)))) ; dual license + (license (list license:mpl2.0 license:lgpl2.1+)))) ; dual license (define-public libzmf (package @@ -815,7 +814,7 @@ Works word processor file format.") (description "Libzmf is a library that parses the file format of Zoner Callisto/Draw documents. Currently it only understands documents created by Zoner Draw version 4 and 5.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public hunspell (package @@ -847,7 +846,7 @@ Zoner Draw version 4 and 5.") library and program designed for languages with rich morphology and complex word compounding or character encoding.") ;; Triple license, including "mpl1.1 or later". - (license (list mpl1.1 gpl2+ lgpl2.1+)))) + (license (list license:mpl1.1 license:gpl2+ license:lgpl2.1+)))) (define (dicollecte-french-dictionary variant synopsis) ;; Return a French dictionary package from dicollecte.org, for the given @@ -895,7 +894,7 @@ word compounding or character encoding.") "This package provides a dictionary for the Hunspell spell-checking library.") (home-page "https://www.dicollecte.org/home.php?prj=fr") - (license mpl2.0))) + (license license:mpl2.0))) (define-syntax define-french-dictionary (syntax-rules (synopsis) @@ -940,8 +939,9 @@ library.") (synopsis "Hyphenation library") (description "Hyphen is a hyphenation library using TeX hyphenation patterns, which are pre-processed by a perl script.") - ;; triple license, including "mpl1.1 or later" - (license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+)))) + ;; Triple license, including "mpl1.1 or later". + (license + (list license:mpl1.1 license:mpl2.0 license:gpl2+ license:lgpl2.1+)))) (define-public mythes (package @@ -965,8 +965,8 @@ patterns, which are pre-processed by a perl script.") (description "MyThes is a simple thesaurus that uses a structured text data file and an index file with binary search to look up words and phrases and to return information on pronunciations, meanings and synonyms.") - (license (non-copyleft "file://COPYING" - "See COPYING in the distribution.")))) + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution.")))) (define-public libqxp (package @@ -993,7 +993,7 @@ and to return information on pronunciations, meanings and synonyms.") (synopsis "Library and tools for the QuarkXPress file format") (description "libqxp is a library and a set of tools for reading and converting QuarkXPress file format. It supports versions 3.1 to 4.1.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public libreoffice (package @@ -1214,4 +1214,4 @@ a number of components: Writer, a word processor; Calc, a spreadsheet application; Impress, a presentation engine; Draw, a drawing and flowcharting application; Base, a database and database frontend; Math for editing mathematics.") - (license mpl2.0))) + (license license:mpl2.0))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2c0674c338..69c2818355 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -362,42 +362,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.26") +(define-public linux-libre-5.4-version "5.4.27") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1bqdiw4pjzwm7pxml2dl09bj85ijs82rq788c58681zgmvs796k6"))) + (hash (base32 "0szc1p9y6z8gs2f1nj45nrz52sxcabg2xh7zqlljazv45lvcvf8r"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.111") +(define-public linux-libre-4.19-version "4.19.112") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0cjjf3wbvbkjy4mss8c74afx8ng31i22km66ydh9f9mz182piyy6"))) + (hash (base32 "0yiyqwgh6wcyshpdj98s7dc4ahyx47y6whvnww6sjmzdq0fb3hi4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.173") +(define-public linux-libre-4.14-version "4.14.174") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0kxp3mgiags8hdax15masab9zr89xraqvl9ri7zwgksx8ixav0m2"))) + (hash (base32 "12ai2lc2ny38s93d0m5ngrv030vwv1h2hhzp0fs6fhjxasikq8jc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.216") +(define-public linux-libre-4.9-version "4.9.217") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0lgv5k8v5xz9z2z4k42566bh0akyk1gr0dx6s1m1rjrzsf9k86l6"))) + (hash (base32 "06b8av9f9pk2yp95nzv4322k0d5wsg40sxd9kfim1xzb093abckg"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.216") +(define-public linux-libre-4.4-version "4.4.217") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1hjgh9brvxzi6ypgfnk07l3j28xsxgz88sdshnz19vj96bn1w70q"))) + (hash (base32 "0vsjchywznmjn01flgvm9vsja5zqni319rfwgy997afcbz0c9spx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -4072,6 +4072,48 @@ system calls, important for the performance of databases and other advanced applications.") (license license:lgpl2.1+))) +(define-public blktrace + ;; Take a newer commit to get the fix for CVE-2018-10689. + (let ((commit "db4f6340e04716285ea56fe26d76381c3adabe58") + (revision "1")) + (package + (name "blktrace") + (version (git-version "1.2.0" revision commit)) + (home-page + "https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 "0ah7xn4qnx09k6bm39p69av7d0c8cl6863drv6a1nf914sq1kpgp")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + (list "CC=gcc" (string-append "prefix=" %output)) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-after 'unpack 'fix-gnuplot-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((gnuplot (assoc-ref inputs "gnuplot"))) + (substitute* "btt/bno_plot.py" + (("gnuplot %s") + (string-append gnuplot "/bin/gnuplot %s"))) + #t)))))) + (inputs + `(("libaio" ,libaio) + ("gnuplot" ,gnuplot) + ("python" ,python-wrapper))) ;for 'bno_plot.py' + (synopsis "Block layer IO tracing mechanism") + (description "Blktrace is a block layer IO tracing mechanism which provides +detailed information about request queue operations to user space. It extracts +event traces from the kernel (via the relaying through the debug file system).") + (license license:gpl2)))) + (define-public sbc (package (name "sbc") diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index ae7057ca3f..5631383eda 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -926,7 +926,7 @@ multiple inspectors with independent history.") (base32 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39")))) (build-system asdf-build-system/sbcl) - (home-page "http://marijnhaverbeke.nl/parse-js/") + (home-page "https://marijnhaverbeke.nl/parse-js/") (synopsis "Parse JavaScript") (description "Parse-js is a Common Lisp package for parsing JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.") @@ -950,7 +950,7 @@ JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.") (base32 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7")))) (build-system asdf-build-system/sbcl) - (home-page "http://www.cliki.net/PARSE-NUMBER") + (home-page "https://www.cliki.net/PARSE-NUMBER") (synopsis "Parse numbers") (description "@code{parse-number} is a library of functions for parsing strings into one of the standard Common Lisp number types without using the @@ -3504,7 +3504,7 @@ RFC 1321 by R. Rivest, published April 1992.") ("sbcl-trivial-garbage" ,sbcl-trivial-garbage) ("sbcl-alexandria" ,sbcl-alexandria) ("sbcl-trivial-features" ,sbcl-trivial-features))) - (home-page "http://common-lisp.net/project/cl-plus-ssl/") + (home-page "https://common-lisp.net/project/cl-plus-ssl/") (synopsis "Common Lisp bindings to OpenSSL") (description "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source @@ -4281,7 +4281,7 @@ streams (though primarily the former, while wrapping the latter).") ("sbcl-fast-io" ,sbcl-fast-io) ("sbcl-proc-parse" ,sbcl-proc-parse) ("sbcl-cl-ppcre" ,sbcl-cl-ppcre))) - (home-page "http://rudolph-miller.github.io/jonathan/overview.html") + (home-page "https://rudolph-miller.github.io/jonathan/overview.html") (synopsis "JSON encoder and decoder") (description "High performance JSON encoder and decoder. Currently support: SBCL, diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 86ebee35cd..9139dc440e 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -191,7 +191,7 @@ windows in a terminal, colorize, filter and merge.") (define-public spdlog (package (name "spdlog") - (version "1.3.1") + (version "1.5.0") (source (origin (method git-fetch) @@ -201,7 +201,7 @@ windows in a terminal, colorize, filter and merge.") (file-name (git-file-name name version)) (sha256 (base32 - "1rd4zmrlkcdjx0m0wpmjm1g9srj7jak6ai08qkhbn2lsn0niifzd")))) + "0dn44r3xbw1w0bk9yflnxkh3rzdq2bpxkks44skfmqig0rsj1f1x")))) (build-system cmake-build-system) ;; TODO run benchmark. Currently not possible, as adding ;; (gnu packages benchmark) forms a dependency cycle diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 45e08e066a..181ce76559 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -182,7 +182,7 @@ language.") (inputs `(("lua" ,lua) ("expat" ,expat))) - (home-page "http://matthewwild.co.uk/projects/luaexpat/") + (home-page "https://matthewwild.co.uk/projects/luaexpat/") (synopsis "SAX XML parser based on the Expat library") (description "LuaExpat is a SAX XML parser based on the Expat library.") (license (package-license lua-5.1)))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 27b15ddcea..32aa6849d2 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -73,12 +73,12 @@ #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rpc) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages statistics) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) - #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -842,7 +842,7 @@ computing environments.") (propagated-inputs `(("python-numpy" ,python-numpy) ("python-scipy" ,python-scipy))) - (home-page "http://scikit-learn.org/") + (home-page "https://scikit-learn.org/") (synopsis "Machine Learning in Python") (description "Scikit-learn provides simple and efficient tools for data mining and @@ -1296,80 +1296,6 @@ based on the Kaldi toolkit and the GStreamer framework and implemented in Python.") (license license:bsd-2)))) -(define-public grpc - (package - (name "grpc") - (version "1.16.1") - (outputs '("out" "static")) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grpc/grpc.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; no test target - #:configure-flags - (list "-DgRPC_ZLIB_PROVIDER=package" - "-DgRPC_CARES_PROVIDER=package" - "-DgRPC_SSL_PROVIDER=package" - "-DgRPC_PROTOBUF_PROVIDER=package" - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out")) - "-DCMAKE_INSTALL_LIBDIR=lib" - (string-append "-DCMAKE_INSTALL_RPATH=" - (assoc-ref %outputs "out") "/lib") - "-DCMAKE_VERBOSE_MAKEFILE=ON") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'configure-shared - (lambda* (#:key (configure-flags '()) #:allow-other-keys) - (mkdir "../build-shared") - (with-directory-excursion "../build-shared" - (apply invoke - "cmake" "../source" - "-DBUILD_SHARED_LIBS=ON" - configure-flags) - (apply invoke "make" - `("-j" ,(number->string (parallel-job-count))))))) - (add-after 'install 'install-shared-libraries - (lambda _ - (with-directory-excursion "../build-shared" - (invoke "make" "install")))) - (add-before 'strip 'move-static-libs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (static (assoc-ref outputs "static"))) - (mkdir-p (string-append static "/lib")) - (with-directory-excursion - (string-append out "/lib") - (for-each - (lambda (file) - (rename-file file - (string-append static "/lib/" file))) - (find-files "." "\\.a$")))) - #t))))) - (inputs - `(("c-ares" ,c-ares/cmake) - ("openssl" ,openssl) - ("zlib" ,zlib))) - (native-inputs - `(("protobuf" ,protobuf) - ("python" ,python-wrapper))) - (home-page "https://grpc.io") - (synopsis "High performance universal RPC framework") - (description "gRPC is a modern high performance @dfn{Remote Procedure Call} -(RPC) framework that can run in any environment. It can efficiently connect -services in and across data centers with pluggable support for load balancing, -tracing, health checking and authentication. It is also applicable in last -mile of distributed computing to connect devices, mobile applications and -browsers to backend services.") - (license license:asl2.0))) - ;; Note that Tensorflow includes a "third_party" directory, which seems to not ;; only contain modified subsets of upstream library source code, but also ;; adapter headers provided by Google (such as the fft.h header, which is not @@ -1782,7 +1708,6 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) (sha256 (base32 "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign"))))) - ("grpc" ,grpc "static") ("googletest" ,googletest) ("swig" ,swig) ("unzip" ,unzip))) @@ -1804,7 +1729,8 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("giflib" ,giflib) - ("grpc:bin" ,grpc) + ("grpc" ,grpc-1.16.1 "static") + ("grpc:bin" ,grpc-1.16.1) ("jsoncpp" ,jsoncpp-for-tensorflow) ("snappy" ,snappy) ("sqlite" ,sqlite) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6be6662057..3e02a99562 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -676,7 +676,7 @@ repository and Maildir/IMAP as LOCAL repository.") ("ruby" ,ruby))) ; to set GEM_PATH so ruby-sqlite3 is found at runtime (build-system gnu-build-system) (arguments - (let ((elisp-dir "/share/emacs/site-lisp/guix.d/mew") + (let ((elisp-dir "/share/emacs/site-lisp") (icon-dir "/share/mew")) `(#:modules ((guix build gnu-build-system) (guix build utils) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9feb54d87d..a83800b0cb 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1138,7 +1138,7 @@ implemented in C.") `( #:configure-flags '("--enable-install-include" "--enable-shared" "CC=h4cc -Df2cFortran" "LIBS=-lgctp") #:parallel-tests? #f)) - (home-page "http://hdfeos.org/software/library.php#HDF-EOS2") + (home-page "https://hdfeos.org/software/library.php#HDF-EOS2") (synopsis "HDF4-based data format for NASA's Earth Observing System") (description "HDF-EOS2 is a software library built on HDF4 which supports the construction of data structures used in NASA's Earth Observing diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 8083a43fdb..84aab45e5f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -82,6 +82,7 @@ #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) @@ -98,6 +99,7 @@ #:use-module (gnu packages kerberos) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) + #:use-module (gnu packages openldap) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -862,6 +864,47 @@ prints timing information for each step of the HTTP request (DNS lookup, TCP connection, TLS handshake and so on) in the terminal.") (license license:expat))) +(define-public squid + (package + (name "squid") + (version "4.10") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.squid-cache.org/Versions/v4/squid-" + version ".tar.xz")) + (sha256 + (base32 "07sz0adv8nkhy797675bpra7lvdkwjq9isw1ddgylhlazl511w4q")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-true-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "test-suite/testheaders.sh" + (("/bin/true") + (string-append (assoc-ref inputs "coreutils") + "/bin/true"))) + #t))))) + (inputs + `(("perl" ,perl) + ("openldap" ,openldap) + ("linux-pam" ,linux-pam) + ("libcap" ,libcap) + ("cyrus-sasl" ,cyrus-sasl) + ("expat" ,expat) + ("libxml2" ,libxml2) + ("openssl" ,openssl))) + (native-inputs + `(("cppunit" ,cppunit) + ("pkg-config" ,pkg-config))) + (synopsis "Web caching proxy") + (description "Squid is a caching proxy for the Web supporting HTTP, HTTPS, +FTP, and more. It reduces bandwidth and improves response times by caching and +reusing frequently-requested web pages.") + (home-page "http://www.squid-cache.org/") + (license license:gpl2+))) + (define-public bwm-ng (package (name "bwm-ng") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c9a1037902..5181d6156b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2088,7 +2088,7 @@ and consumable.") (sha256 (base32 "0gsb1jpj3mnqbjgbavi4l95gl6g4agq58j82km22fdfg63j3w3fk")))))) - (home-page "http://www.cduce.org/download.html#side") + (home-page "https://www.cduce.org/download.html#side") (synopsis "Lexer generator for Unicode and OCaml") (description "Lexer generator for Unicode and OCaml.") (license license:expat))) @@ -3340,8 +3340,8 @@ OCaml projects that contain C stubs.") (define-public ocaml-tsdl (package (name "ocaml-tsdl") - (version "0.9.6") - (home-page "http://erratique.ch/software/tsdl") + (version "0.9.7") + (home-page "https://erratique.ch/software/tsdl") (source (origin (method url-fetch) (uri (string-append home-page "/releases/tsdl-" @@ -3349,7 +3349,7 @@ OCaml projects that contain C stubs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00krjhmnchsnz33h9zhh0v69xbvi86l0xf0dvy7iivylb7f7x3n4")))) + "1zwv0ixkigh1gzk5n49rwvz2f2m62jdkkqg40j7dclg4gri7691f")))) (build-system ocaml-build-system) (arguments `(#:build-flags '("build") @@ -3360,12 +3360,10 @@ OCaml projects that contain C stubs.") (native-inputs `(("ocamlbuild" ,ocamlbuild) ("ocaml-astring" ,ocaml-astring) - ("ocaml-ocb-stubblr" ,ocaml-ocb-stubblr) ("opam" ,opam) ("pkg-config" ,pkg-config))) (inputs `(("topkg" ,ocaml-topkg) - ("result" ,ocaml-result) ("sdl2" ,sdl2) ("integers" ,ocaml-integers) ("ctypes" ,ocaml-ctypes))) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 32eb360e04..f14d5df130 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -130,7 +130,7 @@ programming.") ;; The regression tests require a lot more dependencies. #:tests? #f)) (build-system cmake-build-system) - (home-page "http://github.khronos.org/OpenCL-CLHPP/") + (home-page "https://github.khronos.org/OpenCL-CLHPP/") (synopsis "Khronos OpenCL-CLHPP") (description "This package provides the @dfn{host API} C++ headers for OpenCL.") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index bcc30638e5..1c4503995b 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -172,6 +172,13 @@ (lambda (port) (display ,version port))) + ;; Install SysV init files to $(prefix)/etc rather + ;; than to /etc. + (substitute* "nix/local.mk" + (("^sysvinitservicedir = .*$") + (string-append "sysvinitservicedir = \ +$(prefix)/etc/init.d\n"))) + (invoke "sh" "bootstrap"))) (add-before 'check 'copy-bootstrap-guile (lambda* (#:key system inputs #:allow-other-keys) diff --git a/gnu/packages/patches/date-output-pkg-config-files.patch b/gnu/packages/patches/date-output-pkg-config-files.patch new file mode 100644 index 0000000000..3fd1d54b36 --- /dev/null +++ b/gnu/packages/patches/date-output-pkg-config-files.patch @@ -0,0 +1,60 @@ +From e56b2dce7e89a92e1b9b35caa13b3e938c4cedea Mon Sep 17 00:00:00 2001 +From: Cole Mickens +Date: Sun, 26 Jan 2020 01:27:08 -0800 +Subject: [PATCH] CMakeLists.txt: output date.pc for pkg-config + +--- + CMakeLists.txt | 15 +++++++++++++++ + date.pc.in | 10 ++++++++++ + 2 files changed, 25 insertions(+) + create mode 100644 date.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f30c473..fe778e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -128,6 +128,15 @@ if( BUILD_TZ_LIB ) + endif( ) + endif( ) + ++if ( BUILD_TZ_LIB ) ++ # Cflags: -I${includedir} @TZ_COMPILE_DEFINITIONS@ ++ set( TZ_COMPILE_DEFINITIONS "$,-D$, -D>,>" ) ++ configure_file(date.pc.in date.pc.cf @ONLY) ++ file( GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/date.pc" ++ INPUT "${CMAKE_CURRENT_BINARY_DIR}/date.pc.cf" ) ++ ++endif( ) ++ + #[===================================================================[ + installation + #]===================================================================] +@@ -171,6 +180,12 @@ install ( + FILES cmake/dateConfig.cmake "${version_config}" + DESTINATION ${CONFIG_LOC}) + ++if ( BUILD_TZ_LIB ) ++ install( ++ FILES ${CMAKE_BINARY_DIR}/date.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++endif( ) ++ + #[===================================================================[ + testing + #]===================================================================] +diff --git a/date.pc.in b/date.pc.in +new file mode 100644 +index 0000000..b9c4623 +--- /dev/null ++++ b/date.pc.in +@@ -0,0 +1,10 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_BINDIR@ ++libdir=@CMAKE_INSTALL_LIB@ ++includedir=@CMAKE_INSTALL_INCLUDE@ ++ ++Name: date ++Description: A date and time library based on the C++11/14/17 header ++Version: @PACKAGE_VERSION@ ++Libs: -L${libdir} -ltz ++Cflags: -I${includedir} @TZ_COMPILE_DEFINITIONS@ diff --git a/gnu/packages/patches/ffmpeg-prefer-dav1d.patch b/gnu/packages/patches/ffmpeg-prefer-dav1d.patch new file mode 100644 index 0000000000..95e3712a7f --- /dev/null +++ b/gnu/packages/patches/ffmpeg-prefer-dav1d.patch @@ -0,0 +1,43 @@ +When decoding AV1 files, prefer dav1d over libaom for performance +reasons. + +Patch copied from upstream source repository: + + + +From dc0806dd25882f41f6085c8356712f95fded56c7 Mon Sep 17 00:00:00 2001 +From: James Almer +Date: Sun, 15 Sep 2019 11:29:56 -0300 +Subject: [PATCH] avcodec/allcodecs: make libdav1d the preferred AV1 decoder + +It's considerably faster than libaom in most systems. + +Reviewed-by: BBB +Signed-off-by: James Almer +--- + libavcodec/allcodecs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c +index 5130fca026..d5dfba1877 100644 +--- a/libavcodec/allcodecs.c ++++ b/libavcodec/allcodecs.c +@@ -680,7 +680,6 @@ extern AVCodec ff_pcm_mulaw_at_encoder; + extern AVCodec ff_pcm_mulaw_at_decoder; + extern AVCodec ff_qdmc_at_decoder; + extern AVCodec ff_qdm2_at_decoder; +-extern AVCodec ff_libaom_av1_decoder; + extern AVCodec ff_libaom_av1_encoder; + extern AVCodec ff_libaribb24_decoder; + extern AVCodec ff_libcelt_decoder; +@@ -738,6 +737,7 @@ extern AVCodec ff_idf_decoder; + /* external libraries, that shouldn't be used by default if one of the + * above is available */ + extern AVCodec ff_h263_v4l2m2m_encoder; ++extern AVCodec ff_libaom_av1_decoder; + extern AVCodec ff_libopenh264_encoder; + extern AVCodec ff_libopenh264_decoder; + extern AVCodec ff_h264_amf_encoder; +-- +2.20.1 + diff --git a/gnu/packages/patches/foobillard++-pkg-config.patch b/gnu/packages/patches/foobillard++-pkg-config.patch new file mode 100644 index 0000000000..7cc40a4777 --- /dev/null +++ b/gnu/packages/patches/foobillard++-pkg-config.patch @@ -0,0 +1,34 @@ +From: Markus Koschany +Date: Thu, 8 Mar 2018 17:49:24 +0100 +Subject: pkg-config + +Use pkg-config instead of the deprecated freetype-config command. + +Bug-Debian: https://bugs.debian.org/892338 +Forwarded: no +--- + src/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 3b7d0fe..0f5a5dd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -158,8 +158,8 @@ endif + SDL_CFLAGS = `sdl-config --cflags` + SDL_LIBS = `sdl-config --libs` + +-FREETYPE_CFLAGS = `freetype-config --cflags` +-FREETYPE_LIBS = `freetype-config --libs` ++FREETYPE_CFLAGS = `pkg-config --cflags freetype2` ++FREETYPE_LIBS = `pkg-config --libs freetype2` + + if USE_MATHSINGLE + MATH_CFLAGS = -DVMATH_SINGLE_PRECISION +@@ -233,4 +233,4 @@ AM_CFLAGS = -Wall ${FREETYPE_CFLAGS} ${SDL_CFLAGS} ${NVIDIA_CFLAGS} ${SOUND_CFLA + ${OPTIMIZATION_CFLAGS} ${USESSE_CFLAGS} ${USEWIN_CFLAGS} ${FASTMATH_CFLAGS} ${DEBIAN_CFLAGS} -lm + + AM_LDFLAGS = ${all_libraries} ${FREETYPE_LIBS} ${SDL_LIBS} +-LDADD = ${LDADD_FLAGS} +\ No newline at end of file ++LDADD = ${LDADD_FLAGS} diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch new file mode 100644 index 0000000000..59de52dad4 --- /dev/null +++ b/gnu/packages/patches/hash-extender-test-suite.patch @@ -0,0 +1,13 @@ +Make the test suite exit with a non-zero exit code if some tests failed. +Pull request pending upstream: https://github.com/iagox86/hash_extender/pull/13 +--- a/test.c ++++ b/test.c +@@ -79,5 +79,9 @@ void test_report(void) + printf("TESTS PASSED: %d / %d [%2.4f%%]\n", tests_passed, tests_run, 100 * (float)tests_passed / tests_run); + printf("--------------------------------------------------------------------------------\n"); + } ++ ++ if (tests_passed != tests_run) { ++ exit(1); ++ } + } diff --git a/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..13345c0038 --- /dev/null +++ b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch @@ -0,0 +1,42 @@ +From b84c4ba97cecf7304e99cafdd8a9c5866ce27050 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Tue, 21 Jan 2020 23:33:50 +0100 +Subject: [PATCH] Fix missing link libraries. + +See + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + resources/ews/test/CMakeLists.txt | 1 + + resources/facebook/CMakeLists.txt | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/resources/ews/test/CMakeLists.txt b/resources/ews/test/CMakeLists.txt +index b20eddcb8..6355eb994 100644 +--- a/resources/ews/test/CMakeLists.txt ++++ b/resources/ews/test/CMakeLists.txt +@@ -35,6 +35,7 @@ qt5_add_resources(isolatestestcommon_RSRCS isolatedtestcommon.qrc) + add_library(isolatedtestcommon STATIC ${isolatestestcommon_SRCS}) + target_link_libraries(isolatedtestcommon + KF5::AkonadiCore ++ KF5::AkonadiMime + Qt5::Core + Qt5::Network + Qt5::Test +diff --git a/resources/facebook/CMakeLists.txt b/resources/facebook/CMakeLists.txt +index bdd5eeaa7..27a9c83c1 100644 +--- a/resources/facebook/CMakeLists.txt ++++ b/resources/facebook/CMakeLists.txt +@@ -21,7 +21,8 @@ add_library(facebookresourcelib STATIC ${fbresource_SRCS}) + + target_link_libraries(facebookresourcelib + KF5::KIOWidgets ++ KF5::AkonadiCore + KF5::IconThemes + KF5::I18n + KF5::ConfigGui + KF5::CalendarCore +-- +2.21.1 + diff --git a/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..cdfb608d9b --- /dev/null +++ b/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch @@ -0,0 +1,23 @@ +From c59acf1f54a2cd760e55082a01593a31a690d786 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Wed, 22 Jan 2020 00:56:27 +0100 +Subject: [PATCH] Fix missing link libraries. + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + examples/Bars/Simple/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/Bars/Simple/CMakeLists.txt b/examples/Bars/Simple/CMakeLists.txt +index be2a6fc..b13befb 100644 +--- a/examples/Bars/Simple/CMakeLists.txt ++++ b/examples/Bars/Simple/CMakeLists.txt +@@ -1,3 +1,3 @@ + add_executable(BarsSimple main.cpp) + +-target_link_libraries(BarsSimple KChart Qt5::Widgets) ++target_link_libraries(BarsSimple KChart Qt5::Widgets Qt5::Svg) +-- +2.21.1 + diff --git a/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch b/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..fc784d63dd --- /dev/null +++ b/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch @@ -0,0 +1,41 @@ +From 6b0a3a60870499b20ce9ae2ea07cbc5ee53cbdd2 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Tue, 21 Jan 2020 23:23:38 +0100 +Subject: [PATCH] Fix missing link libraries. + +See + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + agents/archivemailagent/CMakeLists.txt | 1 + + agents/followupreminderagent/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/agents/archivemailagent/CMakeLists.txt b/agents/archivemailagent/CMakeLists.txt +index 95c6249de..d0ddcd475 100644 +--- a/agents/archivemailagent/CMakeLists.txt ++++ b/agents/archivemailagent/CMakeLists.txt +@@ -22,6 +22,7 @@ ki18n_wrap_ui(libarchivemailagent_SRCS ui/archivemailwidget.ui ) + add_library(archivemailagent STATIC ${libarchivemailagent_SRCS}) + target_link_libraries(archivemailagent + KF5::MailCommon ++ KF5::Libkdepim + KF5::I18n + KF5::Notifications + KF5::KIOWidgets +diff --git a/agents/followupreminderagent/CMakeLists.txt b/agents/followupreminderagent/CMakeLists.txt +index 9ae7eaa29..527044807 100644 +--- a/agents/followupreminderagent/CMakeLists.txt ++++ b/agents/followupreminderagent/CMakeLists.txt +@@ -27,6 +27,7 @@ target_link_libraries(followupreminderagent + KF5::AkonadiMime + KF5::AkonadiAgentBase + KF5::DBusAddons ++ KF5::FollowupReminder + KF5::XmlGui + KF5::KIOWidgets + KF5::Notifications +-- +2.21.1 + diff --git a/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch b/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..238c4ec46c --- /dev/null +++ b/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch @@ -0,0 +1,59 @@ +From 732861dda9c466841a09329a0b2c992f2b78c40a Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Tue, 21 Jan 2020 23:15:23 +0100 +Subject: [PATCH] Fix missing link libraries. + +See + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + src/ksieveui/autocreatescripts/tests/CMakeLists.txt | 2 ++ + src/ksieveui/scriptsparsing/autotests/CMakeLists.txt | 2 +- + src/ksieveui/scriptsparsing/tests/CMakeLists.txt | 8 ++++++-- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/src/ksieveui/autocreatescripts/tests/CMakeLists.txt b/src/ksieveui/autocreatescripts/tests/CMakeLists.txt +index 8a482b4..c43216c 100644 +--- a/src/ksieveui/autocreatescripts/tests/CMakeLists.txt ++++ b/src/ksieveui/autocreatescripts/tests/CMakeLists.txt +@@ -15,6 +16,7 @@ set(parsingscript_gui_SRCS parsingscript_gui.cpp ../../tests/capability.cpp) + add_executable(parsingscript_gui ${parsingscript_gui_SRCS}) + target_link_libraries(parsingscript_gui + KF5::KIOCore ++ KF5::SyntaxHighlighting + KF5::KSieveUi + KF5::KSieve + KF5::PimCommon +diff --git a/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt b/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt +index e41a74e..31703ef 100644 +--- a/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt ++++ b/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt +@@ -5,7 +5,7 @@ macro(add_sieveeditor_xmlprintingscriptbuilding _source _extrasource) + ecm_add_test(${_test} + TEST_NAME ${_name} + NAME_PREFIX "sieveeditor-xmlprintingscriptbuilding-" +- LINK_LIBRARIES Qt5::Test KF5::I18n KF5::KSieveUi ++ LINK_LIBRARIES Qt5::Test KF5::I18n KF5::KSieveUi KF5::SyntaxHighlighting + ) + endmacro() + add_sieveeditor_xmlprintingscriptbuilding(xmlprintingscriptbuildertest.cpp "" "") +diff --git a/src/ksieveui/scriptsparsing/tests/CMakeLists.txt b/src/ksieveui/scriptsparsing/tests/CMakeLists.txt +index a252039..99a1aaa 100644 +--- a/src/ksieveui/scriptsparsing/tests/CMakeLists.txt ++++ b/src/ksieveui/scriptsparsing/tests/CMakeLists.txt +@@ -9,5 +9,9 @@ set(xmlsieveparsing_SRCS + ) + + add_executable(xmlsieveparsing ${xmlsieveparsing_SRCS} ) +-target_link_libraries(xmlsieveparsing KF5::KSieveUi KF5::KSieve KF5::I18n) +- ++target_link_libraries(xmlsieveparsing ++ KF5::KSieveUi ++ KF5::SyntaxHighlighting ++ KF5::KSieve ++ KF5::I18n ++) +-- +2.21.1 + diff --git a/gnu/packages/patches/python-faker-fix-build-32bit.patch b/gnu/packages/patches/python-faker-fix-build-32bit.patch deleted file mode 100644 index 466b289012..0000000000 --- a/gnu/packages/patches/python-faker-fix-build-32bit.patch +++ /dev/null @@ -1,36 +0,0 @@ -These tests fail on 32-bit due to an overflow. - -Upstream bug URL: https://github.com/joke2k/faker/issues/408 - -diff --git a/tests/__init__.py b/tests/__init__.py -index 6026772..58b6b83 100644 ---- a/tests/__init__.py -+++ b/tests/__init__.py -@@ -384,7 +384,6 @@ class FactoryTestCase(unittest.TestCase): - provider = Provider - # test century - self.assertTrue(self._datetime_to_time(provider.date_time_this_century(after_now=False)) <= self._datetime_to_time(datetime.datetime.now())) -- self.assertTrue(self._datetime_to_time(provider.date_time_this_century(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now())) - # test decade - self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(after_now=False)) <= self._datetime_to_time(datetime.datetime.now())) - self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now())) -@@ -413,8 +412,6 @@ class FactoryTestCase(unittest.TestCase): - - # ensure all methods provide timezone aware datetimes - with self.assertRaises(TypeError): -- provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now() -- with self.assertRaises(TypeError): - provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now() - with self.assertRaises(TypeError): - provider.date_time_this_year(after_now=False, tzinfo=utc) <= datetime.datetime.now() -@@ -423,7 +420,6 @@ class FactoryTestCase(unittest.TestCase): - - # test century - self.assertTrue(provider.date_time_this_century(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc)) -- self.assertTrue(provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc)) - # test decade - self.assertTrue(provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc)) - self.assertTrue(provider.date_time_this_decade(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc)) --- -2.11.1 - diff --git a/gnu/packages/perl-compression.scm b/gnu/packages/perl-compression.scm index af6d575435..6bb67bcb59 100644 --- a/gnu/packages/perl-compression.scm +++ b/gnu/packages/perl-compression.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Eric Bavier -;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Petter ;;; Copyright © 2017, 2019 Efraim Flashner ;;; @@ -130,7 +130,7 @@ type by using either Perl modules, or command-line tools on your system.") (define-public perl-archive-zip (package (name "perl-archive-zip") - (version "1.67") + (version "1.68") (source (origin (method url-fetch) @@ -138,7 +138,7 @@ type by using either Perl modules, or command-line tools on your system.") "mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-" version ".tar.gz")) (sha256 - (base32 "0x17b7s5c3bqy9gx7psdqxbzkilylnwwd3c3i68vynbn9hs788my")))) + (base32 "0l663s3a68p8r2qjy4pn1g05lx0i8js8wpz7qqln3bsvg1fihklq")))) (build-system perl-build-system) (native-inputs ;; For tests. diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 2551028e49..ff4bd8d3a1 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Julien Lepiller ;;; Copyright © 2016 Marius Bakke -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Oleg Pykhalov ;;; Copyright © 2020 Maxim Cournoyer @@ -60,15 +60,15 @@ (define-public php (package (name "php") - (version "7.4.3") - (home-page "https://www.php.net/") + (version "7.4.4") + (home-page "https://secure.php.net/") (source (origin (method url-fetch) (uri (string-append home-page "distributions/" "php-" version ".tar.xz")) (sha256 (base32 - "0alqqs5hn4jmz1adrbysbw92n55nkw6f9vfivqj829kwhxnqa7yg")) + "0k57zj1z8kf8403rd72wymj08bswpa5ikcpzviw9mpykzp7c8wqq")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 23c06267a7..1286693fc2 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1043,7 +1043,7 @@ been constructed to maintain extensive documentation on how to use (build-system python-build-system) (inputs `(("openssl" ,openssl))) - (home-page "http://bitbucket.org/mhallin/py-scrypt") + (home-page "https://bitbucket.org/mhallin/py-scrypt") (synopsis "Bindings for the scrypt key derivation function library") (description "This is a set of Python bindings for the scrypt key derivation function.") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c20ef40192..1180485e2e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1600,7 +1600,7 @@ commands.") (synopsis "Toolkit for XML processing in Python") (description "ElementTree is a Python library supporting lightweight XML processing.") - (home-page "http://effbot.org/zone/element-index.htm") + (home-page "https://effbot.org/zone/element-index.htm") (license (license:x11-style "http://docs.python.org/2/license.html" "Like \"CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\".")))) @@ -2306,32 +2306,6 @@ compare, diff, and patch JSON and JSON-like structures in Python.") `(("python2-functools32" ,python2-functools32) ,@(package-propagated-inputs jsonschema)))))) -;; This old version is still required by docker-compose as of 1.24.0. -(define-public python-jsonschema-2.6 - (package - (name "python-jsonschema") - (version "2.6.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "jsonschema" version)) - (sha256 - (base32 - "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check (lambda _ (invoke "nosetests")))))) - (native-inputs - `(("python-nose" ,python-nose) - ("python-vcversioner" ,python-vcversioner))) - (home-page "https://github.com/Julian/jsonschema") - (synopsis "Implementation of JSON Schema for Python") - (description - "Jsonschema is an implementation of JSON Schema for Python.") - (license license:expat) - (properties `((python2-variant . ,(delay python2-jsonschema)))))) - (define-public python-schema (package (name "python-schema") @@ -2424,6 +2398,40 @@ somewhat intelligible.") (define-public python2-unidecode (package-with-python2 python-unidecode)) +(define-public python-text-unidecode + (package + (name "python-text-unidecode") + (version "1.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "text-unidecode" version)) + (sha256 + (base32 + "14xb99fdv52j21dsljgsbmbaqv10ps4b453p229r29sdn4xn1mms")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/kmike/text-unidecode/") + (synopsis "Decode Unicode data") + (description + "@code{text-unidecode} is a basic Python port of the @code{Text::Unidecode} +Perl library. It can create ASCII representations of Unicode data. In general +users should prefer the @code{python-unidecode} package which offers better +memory usage and transliteration quality.") + ;; The user can choose either license. + (license (list license:clarified-artistic license:gpl2+)))) + +(define-public python2-text-unidecode + (package-with-python2 python-text-unidecode)) + (define-public python-pyjwt (package (name "python-pyjwt") @@ -3451,7 +3459,9 @@ Server (PLS).") (propagated-inputs `(("python-pluggy" ,python-pluggy) ("python-jsonrpc-server" ,python-jsonrpc-server) - ("python-jedi" ,python-jedi) + ;; Note: Remove the special versions of Jedi and Parso when updating + ;; this package. + ("python-jedi" ,python-jedi-0.15) ("python-yapf" ,python-yapf) ("python-pyflakes" ,python-pyflakes) ("python-pydocstyle" ,python-pydocstyle) @@ -7713,7 +7723,7 @@ printing of sub-tables by specifying a row range.") `(("hdf5" ,hdf5-1.10) ("bzip2" ,bzip2) ("zlib" ,zlib))) - (home-page "http://www.pytables.org/") + (home-page "https://www.pytables.org/") (synopsis "Hierarchical datasets for Python") (description "PyTables is a package for managing hierarchical datasets and designed to efficiently cope with extremely large amounts of data.") @@ -9469,14 +9479,14 @@ document.") (define-public python-botocore (package (name "python-botocore") - (version "1.12.149") + (version "1.15.26") (source (origin (method url-fetch) (uri (pypi-uri "botocore" version)) (sha256 (base32 - "12597f74khp3ngwr282cb949w0gcqj20rkfc3x275dijavyy5cmf")))) + "1a87pbwkk5vlwz92hy1wizfnpiwn11bhaicr6bmji1i5ybwdhnr8")))) (build-system python-build-system) (arguments ;; FIXME: Many tests are failing. @@ -10315,7 +10325,7 @@ the same purpose: to provide Python bindings for libmagic.") ;; without libmagic bindings at all: ;; https://github.com/s3tools/s3cmd/issues/198 ("python2-magic" ,python2-magic))) - (home-page "http://s3tools.org/s3cmd") + (home-page "https://s3tools.org/s3cmd") (synopsis "Command line tool for S3-compatible storage services") (description "S3cmd is a command line tool for uploading, retrieving and managing data @@ -10407,7 +10417,7 @@ development version of CPython that are not available in older releases.") ;; https://github.com/PythonCharmers/python-future/issues/210 (arguments `(#:tests? #f)) - (home-page "http://python-future.org") + (home-page "https://python-future.org") (synopsis "Single-source support for Python 3 and 2") (description "@code{python-future} is the missing compatibility layer between Python 2 and @@ -11223,8 +11233,18 @@ more, possibly remote, memcached servers.") (description "CliKit is a group of utilities to build testable command line interfaces.") + (properties `((python2-variant . ,(delay python2-clikit)))) (license license:expat))) +(define-public python2-clikit + (let ((base (package-with-python2 (strip-python2-variant python-clikit)))) + (package/inherit + base + (propagated-inputs + `(("python-enum34" ,python2-enum34) + ("python-typing" ,python2-typing) + ,@(package-propagated-inputs base)))))) + (define-public python-msgpack-python (package (name "python-msgpack-python") @@ -11422,34 +11442,29 @@ parsing UK postcodes.") (define-public python-faker (package (name "python-faker") - (version "0.7.9") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "Faker" version)) (sha256 (base32 - "1fh2p2yz0fsdr4fqwxgddwbvfb6qn6vp8yx0qwqzra27yq5d1wsm")) - (patches - (search-patches "python-faker-fix-build-32bit.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file (find-files "." "\\.pyc$")) - #t)))) + "13qq485ydxmdnqn3xbfv1xfyqbf9qfnfw33v1vw5l6jyy9p8cgrd")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "python" "-m" "unittest" "-v" "tests")))))) + (lambda _ (invoke "python" "-m" "pytest" "-v")))))) (native-inputs `(;; For testing - ("python-email-validator" ,python-email-validator) - ("python-mock" ,python-mock) - ("python-ukpostcodeparser" ,python-ukpostcodeparser))) + ("python-freezegun" ,python-freezegun) + ("python-pytest" ,python-pytest) + ("python-random2" ,python-random2) + ("python-ukpostcodeparser" ,python-ukpostcodeparser) + ("python-validators" ,python-validators))) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-six" ,python-six))) + ("python-text-unidecode" ,python-text-unidecode))) (home-page "https://github.com/joke2k/faker") (synopsis "Python package that generates fake data") (description @@ -11458,13 +11473,25 @@ addresses, and phone numbers.") (license license:expat) (properties `((python2-variant . ,(delay python2-faker)))))) +;; Faker 4.0 dropped Python 2 support, so we stick with this older version here. (define-public python2-faker (let ((base (package-with-python2 (strip-python2-variant python-faker)))) (package (inherit base) + (version "3.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "Faker" version)) + (sha256 + (base32 + "11cr0qvspkdh6198rqy56qildk7bnp6llj8kyy1dan5sp5n4dxy7")))) + (native-inputs + `(("python-mock" ,python2-mock) + ,@(package-native-inputs base))) (propagated-inputs `(("python2-ipaddress" ,python2-ipaddress) + ("python2-six" ,python2-six) ,@(package-propagated-inputs base)))))) (define-public python-pyaml @@ -11613,6 +11640,20 @@ well.") (define-public python2-jedi (package-with-python2 python-jedi)) +;; python-language-server requires 0.15 specifically. Remove once unused. +(define-public python-jedi-0.15 + (package + (inherit python-jedi) + (version "0.15.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "jedi" version)) + (sha256 + (base32 + "01zqasl690x1i6dq4mvh13pz0cw8i276xsivsrnn00x90iqm42g9")))) + (propagated-inputs + `(("python-parso" ,python-parso-0.5))))) + (define-public ptpython (package (name "ptpython") @@ -11743,7 +11784,7 @@ and/or Xon/Xoff. The port is accessed in RAW mode.") ("mesa" ,mesa) ("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))) - (home-page "http://kivy.org") + (home-page "https://kivy.org") (synopsis "Multitouch application framework") (description @@ -12217,6 +12258,34 @@ provide extendible implementations of common aspects of a cloud so that you can focus on building massively scalable web applications.") (license license:expat))) +(define-public python-random2 + (package + (name "python-random2") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "random2" version ".zip")) + (sha256 + (base32 + "01y0s4747plsx8fdnxy0nz83dp69naddz58m81r9h0s1qfm31b9l")))) + (build-system python-build-system) + (native-inputs `(("unzip" ,unzip))) + (home-page "http://pypi.python.org/pypi/random2") + (synopsis "Python 3 version of the Python 2 @code{random} module") + (description + "This package provides a Python 3 ported version of Python 2.7’s +@code{random} module. It has also been back-ported to work in Python 2.6. + +In Python 3, the implementation of @code{randrange()} was changed, so that +even with the same seed you get different sequences in Python 2 and 3. + +This package closes that gap, allowing stable random number generation +between the different Python versions.") + (license license:psfl))) + +(define-public python2-random2 + (package-with-python2 python-random2)) + (define-public python-snowballstemmer (package (name "python-snowballstemmer") @@ -12580,7 +12649,7 @@ possible on all supported Python versions.") (invoke "python" "Cheetah/Tests/Test.py"))))))) (propagated-inputs `(("python-markdown" ,python-markdown))) ;optional - (home-page "http://cheetahtemplate.org/") + (home-page "https://cheetahtemplate.org/") (synopsis "Template engine") (description "Cheetah is a text-based template engine and Python code generator. @@ -14145,6 +14214,41 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") (define-public python2-rfc3987 (package-with-python2 python-rfc3987)) +(define-public python-validators + (package + (name "python-validators") + (version "0.14.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "validators" version)) + (sha256 + (base32 + "024m15j33szd0v8k5l4ccish6n0b4knq81gmb4fq25ynwyyyd4mi")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest" "-vv")))))) + (propagated-inputs + `(("python-decorator" ,python-decorator) + ("python-six" ,python-six))) + (native-inputs + `(("python-flake8" ,python-flake8) + ("python-isort" ,python-isort) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/kvesteri/validators") + (synopsis "Data validation library") + (description + "This package contains validators for different things such as email +addresses, IP addresses, URLs, hashes and more. It has been designed to +be easy to use and not require defining a schema or form just to validate +some input.") + (license license:expat))) + +(define-public python2-validators + (package-with-python2 python-validators)) + (define-public python-validate-email (package (name "python-validate-email") @@ -15132,7 +15236,7 @@ objects on other machines, also known as remote procedure calls (RPC).") `(#:python ,python-2 ;; Pyro has no test cases for automatic execution #:tests? #f)) - (home-page "http://pythonhosted.org/Pyro/") + (home-page "https://pythonhosted.org/Pyro/") (synopsis "Distributed object manager for Python") (description "Pyro is a Distributed Object Technology system written in Python that is designed to be easy to use. It resembles @@ -15898,6 +16002,19 @@ Parso is also able to list multiple syntax errors in your Python file.") (define-public python2-parso (package-with-python2 python-parso)) +;; This version is required for Jedi@0.15, which in turn is needed for +;; python-language-server. +(define-public python-parso-0.5 + (package + (inherit python-parso) + (version "0.5.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "parso" version)) + (sha256 + (base32 + "1qgvrkpma7vylrk047mxxvqd66nwqk978n3ig2w8iz9m3bgjbksm")))))) + (define-public python-async-generator (package (name "python-async-generator") @@ -17011,26 +17128,6 @@ source via the Abstract Syntax Tree.") (define-public python2-astor (package-with-python2 python-astor)) -(define-public python-grpcio - (package - (name "python-grpcio") - (version "1.17.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "grpcio" version)) - (sha256 - (base32 - "0qb9y6j83nxa6d4kc60i8yfgdm7a8ms7b54kncjzf5y7nsxp8rzx")))) - (build-system python-build-system) - (propagated-inputs - `(("python-six" ,python-six))) - (home-page "https://grpc.io") - (synopsis "HTTP/2-based RPC framework") - (description "This package provides a Python library for communicating -with the HTTP/2-based RPC framework gRPC.") - (license license:asl2.0))) - (define-public python-astunparse (package (name "python-astunparse") @@ -17056,13 +17153,13 @@ distribution.") (define-public python-gast (package (name "python-gast") - (version "0.2.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (pypi-uri "gast" version)) (sha256 - (base32 "1w5dzdb3gpcfmd2s0b93d8gff40a1s41rv31458z14inb3s9v4zy")))) + (base32 "0mrvvfzqafj1wzd0xxfmjf4vphnlxypbhpic1m283aj9i8lfz0dq")))) (build-system python-build-system) (propagated-inputs `(("python-astunparse" ,python-astunparse))) diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm new file mode 100644 index 0000000000..e73695b613 --- /dev/null +++ b/gnu/packages/rpc.scm @@ -0,0 +1,177 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2020 Marius Bakke +;;; +;;; 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 . + +(define-module (gnu packages rpc) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system python) + #:use-module (gnu packages adns) + #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages tls)) + +(define-public grpc + (package + (name "grpc") + (version "1.27.3") + (outputs '("out" "static")) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grpc/grpc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0czmbwnafc7jnrrq2fnac2av83vs2q7q0wy4k11w9zbpld7j5h6d")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no test target + #:configure-flags + (list "-DgRPC_ZLIB_PROVIDER=package" + "-DgRPC_ABSL_PROVIDER=package" + "-DgRPC_CARES_PROVIDER=package" + "-DgRPC_SSL_PROVIDER=package" + "-DgRPC_PROTOBUF_PROVIDER=package" + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out")) + "-DCMAKE_INSTALL_LIBDIR=lib" + (string-append "-DCMAKE_INSTALL_RPATH=" + (assoc-ref %outputs "out") "/lib") + "-DCMAKE_VERBOSE_MAKEFILE=ON") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-shared + (lambda* (#:key (configure-flags '()) #:allow-other-keys) + (mkdir "../build-shared") + (with-directory-excursion "../build-shared" + (apply invoke + "cmake" "../source" + "-DBUILD_SHARED_LIBS=ON" + configure-flags) + (apply invoke "make" + `("-j" ,(number->string (parallel-job-count))))))) + (add-after 'install 'install-shared-libraries + (lambda _ + (with-directory-excursion "../build-shared" + (invoke "make" "install")))) + (add-before 'strip 'move-static-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (with-directory-excursion + (string-append out "/lib") + (for-each + (lambda (file) + (rename-file file + (string-append static "/lib/" file))) + (find-files "." "\\.a$")))) + #t))))) + (inputs + `(("abseil-cpp" ,abseil-cpp) + ("c-ares" ,c-ares/cmake) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs + `(("protobuf" ,protobuf) + ("python" ,python-wrapper))) + (home-page "https://grpc.io") + (synopsis "High performance universal RPC framework") + (description "gRPC is a modern high performance @dfn{Remote Procedure Call} +(RPC) framework that can run in any environment. It can efficiently connect +services in and across data centers with pluggable support for load balancing, +tracing, health checking and authentication. It is also applicable in last +mile of distributed computing to connect devices, mobile applications and +browsers to backend services.") + (license license:asl2.0))) + +;; Some packages require this older version. +(define-public grpc-1.16.1 + (package + (inherit grpc) + (version "1.16.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grpc/grpc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "grpc" version)) + (sha256 + (base32 + "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))))) + +(define-public python-grpcio + (package + (name "python-grpcio") + (version "1.27.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "grpcio" version)) + (sha256 + (base32 + "0zl89jwcff9hkd8mi4yf3qbhns9vbv1s4x4vahm5mkpr7jwk5ras")) + (modules '((guix build utils) (ice-9 ftw))) + (snippet + '(begin + (with-directory-excursion "third_party" + ;; Delete the bundled source code of libraries that are possible + ;; to provide as inputs. + (for-each delete-file-recursively + (scandir "." + (lambda (file) + (not (member file + '("." ".." + "abseil-cpp" + "address_sorting" + "upb"))))))) + #t)))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'use-system-libraries + (lambda _ + (setenv "GRPC_PYTHON_BUILD_SYSTEM_CARES" "1") + (setenv "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL" "1") + (setenv "GRPC_PYTHON_BUILD_SYSTEM_ZLIB" "1") + #t)) + (add-before 'build 'configure-compiler + (lambda _ + (substitute* '("setup.py" "src/python/grpcio/commands.py") + (("'cc'") "'gcc'")) + #t))))) + (inputs + `(("c-ares" ,c-ares) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://grpc.io") + (synopsis "HTTP/2-based RPC framework") + (description "This package provides a Python library for communicating +with the HTTP/2-based RPC framework gRPC.") + (license license:asl2.0))) diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index 74efae753c..0d8217ee20 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -34,7 +34,6 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu)) - (define-public rsync (package (name "rsync") @@ -47,10 +46,17 @@ (base32 "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + ;; The bundled copies are preferred by default. + (list "--without-included-zlib" + "--without-included-popt"))) (native-inputs `(("perl" ,perl))) (inputs - `(("acl" ,acl))) + `(("acl" ,acl) + ("popt" ,popt) + ("zlib" ,zlib))) (synopsis "Remote (and local) file copying tool") (description "Rsync is a fast and versatile file copying tool. It can copy locally, diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0e7d35f44f..87d98525fa 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Efraim Flashner -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017, 2018, 2019 Christopher Baines ;;; Copyright © 2018 Vasile Dumitrascu @@ -758,7 +758,7 @@ interactions.") (description "RSpec is a behavior-driven development (BDD) framework for Ruby. This meta-package includes the RSpec test runner, along with the expectations and mocks frameworks.") - (home-page "http://rspec.info/") + (home-page "https://rspec.info/") (license license:expat))) (define-public ruby-rspec-2 @@ -1318,14 +1318,13 @@ with a similar style to the original OAuth spec.") (define-public ruby-omniauth (package (name "ruby-omniauth") - (version "1.9.0") + (version "1.9.1") (source (origin (method url-fetch) (uri (rubygems-uri "omniauth" version)) (sha256 - (base32 - "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x")))) + (base32 "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; No included tests @@ -7225,7 +7224,7 @@ generation.") concise DSL for constructing SQL queries and table schemas. It includes a comprehensive ORM layer for mapping records to Ruby objects and handling associated records.") - (home-page "http://sequel.jeremyevans.net") + (home-page "https://sequel.jeremyevans.net") (license license:expat))) (define-public ruby-timecop diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d8e77184ca..59bce3af02 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3573,13 +3573,13 @@ t-probabilities, quantiles, random deviates and densities.") (define-public r-matrixstats (package (name "r-matrixstats") - (version "0.55.0") + (version "0.56.0") (source (origin (method url-fetch) (uri (cran-uri "matrixStats" version)) (sha256 (base32 - "06fvx0rlaz80k0lkqq2n7v0309xpz7h7ss0m9kgyikp4xs8bvmhn")))) + "09qgfv9x32x6ncgf19iy7yjp26fwy6p5wm8spc2xzfc0qhylmqrr")))) (properties `((upstream-name . "matrixStats"))) (build-system r-build-system) (native-inputs @@ -5029,14 +5029,14 @@ decompositions of such matrices, and solutions of linear systems.") (define-public r-modelmetrics (package (name "r-modelmetrics") - (version "1.2.2.1") + (version "1.2.2.2") (source (origin (method url-fetch) (uri (cran-uri "ModelMetrics" version)) (sha256 (base32 - "17yw46yr0n9hddvlhh73jdpmpdlpa581n5xjpwkr6cpr2f7xxpqc")))) + "0mrlsw4c5y1vdsqynxr2dcvmhh5h37pnd71jw5a5djpbda9g21jy")))) (properties `((upstream-name . "ModelMetrics"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index d4c0f7efc6..41a0802cde 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2016 Danny Milosavljevic -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 ng0 @@ -89,18 +89,20 @@ expressions.") (define-public python-pytzdata (package (name "python-pytzdata") - (version "2017.3.1") + (version "2019.3") (source (origin (method url-fetch) (uri (pypi-uri "pytzdata" version)) (sha256 (base32 - "1wi3jh39zsa9iiyyhynhj7w5b2p9wdyd0ppavpsrmf3wxvr7cwz8")))) + "0ppfc6kz4p41mxyqxq1g1zp6gvns99g6b344qj6ih0x9vxy6zh7s")))) (build-system python-build-system) - (native-inputs - `(("python-pytest" ,python-pytest) - ("python-nose" ,python-nose))) + ;; XXX: The PyPI distribution contains no tests, and the upstream + ;; repository lacks a setup.py! How to build from git? + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-cleo" ,python-cleo))) (home-page "https://github.com/sdispater/pytzdata") (synopsis "Timezone database for Python") (description @@ -136,22 +138,21 @@ saving time. Almost all of the Olson timezones are supported.") (define-public python-pendulum (package (name "python-pendulum") - (version "1.2.4") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "pendulum" version)) (sha256 (base32 - "1fj36yxi2f4lzchzd8ny1qjl67dbypnk0gn8qwad2w78579m8m8z")))) + "1zhzk0ai8is8zclw4v73dllf0hx0l5nmm4sbwrh6cl8h5qsang09")))) (build-system python-build-system) - (native-inputs - `(("python-pytest" ,python-pytest) - ("python-nose" ,python-nose))) + ;; XXX: The PyPI distribution lacks tests, and the upstream repository + ;; lacks a setup.py! + (arguments '(#:tests? #f)) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-pytzdata" ,python-pytzdata) - ("python-tzlocal" ,python-tzlocal))) + ("python-pytzdata" ,python-pytzdata))) (home-page "https://github.com/sdispater/pendulum") (synopsis "Alternate API for Python datetimes") (description "Pendulum is a drop-in replacement for the standard diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ac2a849705..813970fcba 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1287,7 +1287,7 @@ though this can be overridden.") (install-file (string-append source "/" script) bindir) #t)))) - (home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html") + (home-page "https://dustin.sallings.org/2010/03/28/git-test-sequence.html") (synopsis "Run a command over a sequence of commits") (description "git-test-sequence is similar to an automated git bisect except it’s diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 861e5c427e..e90650b5eb 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -922,6 +922,8 @@ operate properly.") (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) + ;; See + (patches (search-patches "ffmpeg-prefer-dav1d.patch")) (sha256 (base32 "176jn1lcdf0gk7sa5l2mv0faqp5dsqdhx1gqcrgymqhfmdal4xfb")))) @@ -1204,6 +1206,10 @@ videoformats depend on the configuration flags of ffmpeg.") (inputs `(("alsa-lib" ,alsa-lib) ("avahi" ,avahi) + ;; XXX Try removing dav1d here and testing AV1 playback when FFmpeg 4.3 + ;; is released. + ;; + ("dav1d" ,dav1d) ("dbus" ,dbus) ("eudev" ,eudev) ("flac" ,flac) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 7bea7fa791..75e8f0bb2e 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -70,7 +70,7 @@ (define-public vim (package (name "vim") - (version "8.2.0343") + (version "8.2.0411") (source (origin (method git-fetch) (uri (git-reference @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "063i52h8v7f87zamrw2ph057f0x2nzwf1s0izrm2psy41cyf4wa3")))) + "0idjbf15yqk5jz2dqbh2lzj7glxcwn1jl5pp9kk908ps02vzqyai")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 171e83650e..3f59bbdb73 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -37,7 +37,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Pierre-Moana Levesque -;;; Copyright © 2019 Florian Pelz +;;; Copyright © 2019, 2020 Florian Pelz ;;; Copyright © 2020 Timotej Lazar ;;; Copyright © 2020 Alexandros Theodotou ;;; Copyright © 2020 Pierre Neidhardt @@ -443,20 +443,10 @@ documentation.") (begin ;; The nginx source code is part of the module’s source. (format #t "decompressing nginx source code~%") - (call-with-output-file "nginx.tar" - (lambda (out) - (let* ((gzip (assoc-ref inputs "gzip")) - (nginx-srcs (assoc-ref inputs "nginx-sources")) - (pipe (open-pipe* OPEN_READ - (string-append gzip "/bin/gzip") - "-cd" - nginx-srcs))) - (dump-port pipe out) - (unless (= (status:exit-val (close-pipe pipe)) 0) - (error "gzip decompress failed"))))) - (invoke (string-append (assoc-ref inputs "tar") "/bin/tar") - "xvf" "nginx.tar" "--strip-components=1") - (delete-file "nginx.tar") + (let ((tar (assoc-ref inputs "tar")) + (nginx-srcs (assoc-ref inputs "nginx-sources"))) + (invoke (string-append tar "/bin/tar") + "xvf" nginx-srcs "--strip-components=1")) #t))) (add-after 'unpack 'convert-to-dynamic-module (lambda _ diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f5b9e62afe..7fee167185 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -66,6 +66,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages calendar) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) @@ -1485,7 +1486,7 @@ modules for building a Wayland compositor.") (define-public waybar (package (name "waybar") - (version "0.8.0") + (version "0.9.1") (source (origin (method git-fetch) @@ -1494,12 +1495,14 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0s8ck7qxka0l91ayma6amp9sc8cidi43byqgzcavi3a6id983r1z")))) + (base32 "0drlv8im5phz39jxp3gxkc40b6f85bb3piff2v3hmnfzh7ib915s")))) (build-system meson-build-system) (arguments `(#:configure-flags (list (string-append "-Dout=" (assoc-ref %outputs "out"))))) - (inputs `(("fmt" ,fmt) + (inputs `(("date" ,date) + ("fmt" ,fmt) + ("gtk-layer-shell" ,gtk-layer-shell) ("gtkmm" ,gtkmm) ("jsoncpp" ,jsoncpp) ("libdbusmenu" ,libdbusmenu) @@ -1513,7 +1516,7 @@ modules for building a Wayland compositor.") ("pkg-config" ,pkg-config) ("wayland-protocols" ,wayland-protocols))) (home-page "https://github.com/Alexays/Waybar") - (synopsis "Wayland bar for Sway and Wlroots based compositors.") + (synopsis "Wayland bar for Sway and Wlroots based compositors") (description "Waybar is a highly customisable Wayland bar for Sway and Wlroots based compositors.") (license license:expat))) ; MIT license diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 2ec151fd01..4353a095e8 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2019 Yoshinori Arai ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Leo Prikler +;;; Copyright © 2020 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -3468,6 +3469,105 @@ X server.") X server.") (license license:x11))) +(define-public v86d + (package + (name "v86d") + (version "0.1.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mjanusz/v86d.git") + (commit (string-append name "-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c4iiggb5r9i2hxhk8c6q1m2vpfva39l1w33fsfkrz6fav6x34pp")) + (modules '((guix build utils))) + (snippet + '(begin + ;; remove bundled x86emu + (for-each delete-file + (filter (lambda (name) ;keep customized Makefile + (not (string-suffix? "Makefile" name))) + (find-files "libs/x86emu"))) + ;; remove non-working vbetest utility program (it is unnecessary) + (delete-file "libs/lrmi-0.10/vbe.h") + (delete-file "libs/lrmi-0.10/vbetest.c") + #t)))) + + ;; We keep the bundled copy of the Linux Real Mode Interface lrmi-0.10, + ;; because it includes fixes missing from upstream lrmi. We do not use + ;; libx86, because we already use x86emu with the more current lrmi. + + (inputs `(("xorg-server-sources" ,(package-source xorg-server)) ;for x86emu + ("xorgproto" ,xorgproto))) ;upstream x86emu uses X11/Xfuncproto.h + (outputs '("out" ;main v86d helper + "testvbe")) ;test program for listing video modes + (supported-systems '("i686-linux" "x86_64-linux")) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;there are no tests + #:modules ((guix build utils) + (guix build gnu-build-system) + (ice-9 popen)) + #:phases + (modify-phases %standard-phases + ;; Replace the bundled x86emu with its upstream copy from Xorg-server: + (add-after 'unpack 'unpack-x86emu-sources + (lambda* (#:key inputs #:allow-other-keys) + (begin + (format #t "decompressing x86emu source code~%") + (with-directory-excursion "libs" + (let ((srcs (assoc-ref inputs "xorg-server-sources")) + (tar-binary (string-append (assoc-ref inputs "tar") + "/bin/tar"))) + (invoke tar-binary "xvf" srcs "--strip-components=3" + "--wildcards" "*/hw/xfree86/x86emu/") + ;; extract license: + (with-directory-excursion "x86emu" + (invoke tar-binary "xvf" srcs "--strip-components=1" + "--wildcards" "*/COPYING")) + #t))))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CC" (which "gcc")) + (setenv "DESTDIR" out) + (invoke "./configure" "--with-x86emu")))) + (add-after 'build 'build-testvbe + (lambda _ + (invoke "make" "testvbe"))) + (add-after 'install 'install-testvbe + (lambda* (#:key outputs #:allow-other-keys) + (let ((testvbe (assoc-ref outputs "testvbe")) + (olddest (getenv "DESTDIR"))) + (setenv "DESTDIR" testvbe) + (invoke "make" "install_testvbe") + (setenv "DESTDIR" olddest) + #t))) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc-dir (string-append out "/share/doc/v86d"))) + (mkdir-p doc-dir) + (copy-file "README" + (string-append doc-dir "/README")) + (copy-file "libs/lrmi-0.10/README" + (string-append doc-dir "/README.lrmi")) + (copy-file "libs/x86emu/COPYING" + (string-append doc-dir "/COPYING.xorg-server.x86emu")) + #t)))))) + (home-page "https://github.com/mjanusz/v86d") + (synopsis "Userspace helper for uvesafb") + (description + "v86d provides a backend for kernel drivers that need to execute x86 BIOS +code. The code is executed in a controlled environment and the results are +passed back to the kernel via the netlink interface. v86d is required by the +uvesafb Linux kernel module that provides an fbdev framebuffer when Kernel +Mode Setting is unavailable. It can be a last resort when no other Xorg X +server driver works.") + (license (list license:gpl2 + license:x11)))) ;for bundled lrmi and x86emu (define-public xf86-video-vmware (package diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 13b8b14095..46efdfddab 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,6 @@ #:use-module ((gnu packages admin) #:select (shadow)) #:use-module (gnu packages bash) - #:use-module (gnu packages guile-wm) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) @@ -117,12 +117,6 @@ (define (default-skeletons) "Return the default skeleton files for /etc/skel. These files are copied by 'useradd' in the home directory of newly created user accounts." - (define copy-guile-wm - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (copy-file (car (find-files #+guile-wm "wm-init-sample.scm")) - #$output)))) (let ((profile (plain-file "bash_profile" "\ # Honor per-interactive-shell startup file @@ -162,7 +156,6 @@ alias grep='grep --color=auto'\n")) (zprofile (plain-file "zprofile" "\ # Honor system-wide environment variables source /etc/profile\n")) - (guile-wm (computed-file "guile-wm" copy-guile-wm)) (xdefaults (plain-file "Xdefaults" "\ XTerm*utf8: always XTerm*metaSendsEscape: true\n")) @@ -202,7 +195,6 @@ convenient interactive line editing and input history.\\n\\n\"))) (else (display \"Consider installing the 'guile-colorized' package for a colorful Guile experience.\\n\\n\"))))\n")) - (".guile-wm" ,guile-wm) (".gdbinit" ,gdbinit)))) (define (skeleton-directory skeletons) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 9ecc45cc04..4f650ffb34 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -270,8 +270,12 @@ packages defined in installation-os." (lambda (port) (write '#$target-os-source port))) marionette) - (exit (marionette-eval '(zero? (system #$script)) - marionette))) + + ;; Run SCRIPT. It typically invokes 'reboot' as a last step and + ;; thus normally gets killed with SIGTERM by PID 1. + (let ((status (marionette-eval '(system #$script) marionette))) + (exit (or (equal? (status:term-sig status) SIGTERM) + (equal? (status:exit-val status) 0))))) (when #$(->bool gui-test) (wait-for-unix-socket "/var/guix/installer-socket" diff --git a/guix/inferior.scm b/guix/inferior.scm index 6b685ece30..c9a5ee5129 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -66,6 +66,7 @@ inferior-exception? inferior-exception-arguments inferior-exception-inferior + inferior-exception-stack read-repl-response inferior-packages @@ -159,6 +160,15 @@ inferior." (letrec ((result (inferior 'pipe pipe close (cons 0 rest) (delay (%inferior-packages result)) (delay (%inferior-package-table result))))) + + ;; For protocol (0 1) and later, send the protocol version we support. + (match rest + ((n _ ...) + (when (>= n 1) + (send-inferior-request '(() repl-version 0 1 1) result))) + (_ + #t)) + (inferior-eval '(use-modules (guix)) result) (inferior-eval '(use-modules (gnu)) result) (inferior-eval '(use-modules (ice-9 match)) result) @@ -202,7 +212,8 @@ equivalent. Return #f if the inferior could not be launched." (define-condition-type &inferior-exception &error inferior-exception? (arguments inferior-exception-arguments) ;key + arguments - (inferior inferior-exception-inferior)) ; | #f + (inferior inferior-exception-inferior) ; | #f + (stack inferior-exception-stack)) ;list of (FILE COLUMN LINE) (define* (read-repl-response port #:optional inferior) "Read a (guix repl) response from PORT and return it as a Scheme object. @@ -217,10 +228,19 @@ Raise '&inferior-exception' when an exception is read from PORT." (match (read port) (('values objects ...) (apply values (map sexp->object objects))) - (('exception key objects ...) + (('exception ('arguments key objects ...) + ('stack frames ...)) + ;; Protocol (0 1 1) and later. (raise (condition (&inferior-exception (arguments (cons key (map sexp->object objects))) - (inferior inferior))))))) + (inferior inferior) + (stack frames))))) + (('exception key objects ...) + ;; Protocol (0 0). + (raise (condition (&inferior-exception + (arguments (cons key (map sexp->object objects))) + (inferior inferior) + (stack '()))))))) (define (read-inferior-response inferior) (read-repl-response (inferior-socket inferior) diff --git a/guix/lint.scm b/guix/lint.scm index 24fbf05202..40bddd0a41 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -317,6 +317,7 @@ of a package, and INPUT-NAMES, a list of package specifications such as "python-pytest-cov" "python2-pytest-cov" "python-setuptools-scm" "python2-setuptools-scm" "python-sphinx" "python2-sphinx" + "scdoc" "swig" "qmake" "qttools" diff --git a/guix/packages.scm b/guix/packages.scm index d925e754a3..5c6d1a92d5 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -355,25 +355,24 @@ object." (catch 'system-error (lambda () ;; In general we want to keep relative file names for modules. - (with-fluids ((%file-port-name-canonicalization 'relative)) - (call-with-input-file (search-path %load-path file) - (lambda (port) - (goto port line column) - (match (read port) - (('package inits ...) - (let ((field (assoc field inits))) - (match field - ((_ value) - ;; Put the `or' here, and not in the first argument of - ;; `and=>', to work around a compiler bug in 2.0.5. - (or (and=> (source-properties value) - source-properties->location) - (and=> (source-properties field) - source-properties->location))) - (_ - #f)))) - (_ - #f)))))) + (call-with-input-file (search-path %load-path file) + (lambda (port) + (goto port line column) + (match (read port) + (('package inits ...) + (let ((field (assoc field inits))) + (match field + ((_ value) + (let ((props (source-properties value))) + (and props + ;; Preserve the original file name, which may be a + ;; relative file name. + (let ((loc (source-properties->location props))) + (set-field loc (location-file) file))))) + (_ + #f)))) + (_ + #f))))) (lambda _ #f))) (_ #f))) diff --git a/guix/repl.scm b/guix/repl.scm index 0f75f9cd0b..0ace5976cf 100644 --- a/guix/repl.scm +++ b/guix/repl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018, 2019 Ludovic Courtès +;;; Copyright © 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,6 +17,8 @@ ;;; along with GNU Guix. If not, see . (define-module (guix repl) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (send-repl-response machine-repl)) @@ -39,15 +41,53 @@ (one-of symbol? string? keyword? pair? null? array? number? boolean? char?))) -(define (send-repl-response exp output) +(define repl-prompt + ;; Current REPL prompt or #f. + (make-parameter #f)) + +(define (stack->frames stack) + "Return STACK's frames as a list." + (unfold (cute >= <> (stack-length stack)) + (cut stack-ref stack <>) + 1+ + 0)) + +(define* (send-repl-response exp output + #:key (version '(0 0))) "Write the response corresponding to the evaluation of EXP to PORT, an -output port." +output port. VERSION is the client's protocol version we are targeting." (define (value->sexp value) (if (self-quoting? value) `(value ,value) `(non-self-quoting ,(object-address value) ,(object->string value)))) + (define (frame->sexp frame) + `(,(frame-procedure-name frame) + ,(match (frame-source frame) + ((_ (? string? file) (? integer? line) . (? integer? column)) + (list file line column)) + (_ + '(#f #f #f))))) + + (define (handle-exception key . args) + (define reply + (match version + ((0 1 (? positive?) _ ...) + ;; Protocol (0 1 1) and later. + (let ((stack (if (repl-prompt) + (make-stack #t handle-exception (repl-prompt)) + (make-stack #t)))) + `(exception (arguments ,key ,@(map value->sexp args)) + (stack ,@(map frame->sexp (stack->frames stack)))))) + (_ + ;; Protocol (0 0). + `(exception ,key ,@(map value->sexp args))))) + + (write reply output) + (newline output) + (force-output output)) + (catch #t (lambda () (let ((results (call-with-values @@ -58,10 +98,8 @@ output port." output) (newline output) (force-output output))) - (lambda (key . args) - (write `(exception ,key ,@(map value->sexp args))) - (newline output) - (force-output output)))) + (const #t) + handle-exception)) (define* (machine-repl #:optional (input (current-input-port)) @@ -72,13 +110,33 @@ The protocol of this REPL is meant to be machine-readable and provides proper support to represent multiple-value returns, exceptions, objects that lack a read syntax, and so on. As such it is more convenient and robust than parsing Guile's REPL prompt." - (write `(repl-version 0 0) output) + (define tag + (make-prompt-tag "repl-prompt")) + + (define (loop exp version) + (match exp + ((? eof-object?) #t) + (exp + (send-repl-response exp output + #:version version) + (loop (read input) version)))) + + (write `(repl-version 0 1 1) output) (newline output) (force-output output) - (let loop () - (match (read input) - ((? eof-object?) #t) - (exp - (send-repl-response exp output) - (loop))))) + ;; In protocol version (0 0), clients would not send their supported + ;; protocol version. Thus, the code below checks for two case: (1) a (0 0) + ;; client that directly sends an expression to evaluate, and (2) a more + ;; recent client that sends (() repl-version ...). This form is chosen to + ;; be unambiguously distinguishable from a regular Scheme expression. + + (call-with-prompt tag + (lambda () + (parameterize ((repl-prompt tag)) + (match (read input) + ((() 'repl-version version ...) + (loop (read input) version)) + (exp + (loop exp '(0 0)))))) + (const #f))) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 792c458850..bdddc11b7b 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -42,8 +42,6 @@ #:autoload (guix store roots) (gc-roots user-owned?) #:use-module ((guix build utils) #:select (directory-exists? mkdir-p)) - #:use-module ((guix build syscalls) - #:select (with-file-lock/no-wait)) #:use-module (ice-9 format) #:use-module (ice-9 match) #:use-module (ice-9 regex) diff --git a/tests/inferior.scm b/tests/inferior.scm index 5236a3f3e2..5fddb1fd13 100644 --- a/tests/inferior.scm +++ b/tests/inferior.scm @@ -68,6 +68,9 @@ (guard (c ((inferior-exception? c) (close-inferior inferior) (and (eq? inferior (inferior-exception-inferior c)) + (match (inferior-exception-stack c) + (((_ (files lines columns)) ..1) + (member "guix/repl.scm" files))) (inferior-exception-arguments c)))) (inferior-eval '(throw 'a 'b 'c 'd) inferior) 'badness)))