diff options
author | Marius Bakke <mbakke@fastmail.com> | 2020-04-13 20:26:21 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2020-04-13 20:26:21 +0200 |
commit | fc58cb5bd2f4a4fb9e910f553009fce8a60e56e9 (patch) | |
tree | 5a69fa6b63a7bfe7232cb98e949912c20775058d | |
parent | 9d89818a359dd0657e4eb7649b29ad4197b8db39 (diff) | |
parent | bad368b0d794689f3a8a11b58f1ea4987938682e (diff) | |
download | guix-fc58cb5bd2f4a4fb9e910f553009fce8a60e56e9.tar.gz |
Merge branch 'master' into core-updates
63 files changed, 763 insertions, 462 deletions
diff --git a/doc/build.scm b/doc/build.scm index 8d5b58962a..994b94eae2 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -220,8 +220,11 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')." (syntax-highlight scheme) (syntax-highlight lexers) (guix build utils) + (srfi srfi-1) + (srfi srfi-26) (ice-9 match) - (ice-9 threads)) + (ice-9 threads) + (ice-9 vlist)) (define (pair-open/close lst) ;; Pair 'open' and 'close' tags produced by 'highlights' and @@ -255,10 +258,11 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')." level (reverse result))) (values (reverse result) "" '()))))) - (define (highlights->sxml* highlights) + (define (highlights->sxml* highlights anchors) ;; Like 'highlights->sxml', but handle nested 'paren tags. This ;; allows for paren matching highlights via appropriate CSS - ;; "hover" properties. + ;; "hover" properties. When a symbol is encountered, look it up + ;; in ANCHORS, a vhash, and emit the corresponding href, if any. (define (tag->class tag) (string-append "syntax-" (symbol->string tag))) @@ -269,8 +273,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')." (number->string level)))) ,open (span (@ (class "syntax-symbol")) - ,@(highlights->sxml* body)) + ,@(highlights->sxml* body anchors)) ,close)) + (('symbol text) + ;; Check whether we can emit a hyperlink for TEXT. + (match (vhash-assoc text anchors) + (#f + `(span (@ (class ,(tag->class 'symbol))) ,text)) + ((_ . target) + `(a (@ (class ,(tag->class 'symbol)) (href ,target)) + ,text)))) ((tag text) `(span (@ (class ,(tag->class tag))) ,text))) highlights)) @@ -301,35 +313,109 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')." (pk 'unsupported-code-snippet something) (primitive-exit 1))))) - (define (syntax-highlight sxml) + (define (syntax-highlight sxml anchors) ;; Recurse over SXML and syntax-highlight code snippets. - (match sxml - (('*TOP* decl body ...) - `(*TOP* ,decl ,@(map syntax-highlight body))) - (('head things ...) - `(head ,@things - (link (@ (rel "stylesheet") - (type "text/css") - (href #$syntax-css-url))))) - (('pre ('@ ('class "lisp")) code-snippet ...) - `(pre (@ (class "lisp")) - ,@(highlights->sxml* - (pair-open/close - (highlight lex-scheme - (concatenate-snippets code-snippet)))))) - ((tag ('@ attributes ...) body ...) - `(,tag (@ ,@attributes) ,@(map syntax-highlight body))) - ((tag body ...) - `(,tag ,@(map syntax-highlight body))) - ((? string? str) - str))) - - (define (process-html file) + (let loop ((sxml sxml)) + (match sxml + (('*TOP* decl body ...) + `(*TOP* ,decl ,@(map loop body))) + (('head things ...) + `(head ,@things + (link (@ (rel "stylesheet") + (type "text/css") + (href #$syntax-css-url))))) + (('pre ('@ ('class "lisp")) code-snippet ...) + `(pre (@ (class "lisp")) + ,@(highlights->sxml* + (pair-open/close + (highlight lex-scheme + (concatenate-snippets code-snippet))) + anchors))) + ((tag ('@ attributes ...) body ...) + `(,tag (@ ,@attributes) ,@(map loop body))) + ((tag body ...) + `(,tag ,@(map loop body))) + ((? string? str) + str)))) + + (define (underscore-decode str) + ;; Decode STR, an "underscore-encoded" string as produced by + ;; makeinfo for indexes, such as "_0025base_002dservices" for + ;; "%base-services". + (let loop ((str str) + (result '())) + (match (string-index str #\_) + (#f + (string-concatenate-reverse (cons str result))) + (index + (let ((char (string->number + (substring str (+ index 1) (+ index 5)) + 16))) + (loop (string-drop str (+ index 5)) + (append (list (string (integer->char char)) + (string-take str index)) + result))))))) + + (define (anchor-id->key id) + ;; Convert ID, an anchor ID such as + ;; "index-pam_002dlimits_002dservice" to the corresponding key, + ;; "pam-limits-service" in this example. Drop the suffix of + ;; duplicate anchor IDs like "operating_002dsystem-1". + (let ((id (if (any (cut string-suffix? <> id) + '("-1" "-2" "-3" "-4" "-5")) + (string-drop-right id 2) + id))) + (underscore-decode + (string-drop id (string-length "index-"))))) + + (define* (collect-anchors file #:optional (vhash vlist-null)) + ;; Collect the anchors that appear in FILE, a makeinfo-generated + ;; file. Grab those from <dt> tags, which corresponds to + ;; Texinfo @deftp, @defvr, etc. Return VHASH augmented with + ;; more name/reference pairs. + (define string-or-entity? + (match-lambda + ((? string?) #t) + (('*ENTITY* _ ...) #t) + (_ #f))) + + (define (worthy-entry? lst) + ;; Attempt to match: + ;; Scheme Variable: <strong>x</strong> + ;; but not: + ;; <code>cups-configuration</code> parameter: … + (let loop ((lst lst)) + (match lst + (((? string-or-entity?) rest ...) + (loop rest)) + ((('strong _ ...) _ ...) + #t) + (_ #f)))) + + (let ((shtml (call-with-input-file file html->shtml))) + (let loop ((shtml shtml) + (vhash vhash)) + (match shtml + (('dt ('@ ('id id)) rest ...) + (if (and (string-prefix? "index-" id) + (worthy-entry? rest)) + (vhash-cons (anchor-id->key id) + (string-append (basename file) + "#" id) + vhash) + vhash)) + ((tag ('@ _ ...) body ...) + (fold loop vhash body)) + ((tag body ...) + (fold loop vhash body)) + (_ vhash))))) + + (define (process-html file anchors) ;; Parse FILE and perform syntax highlighting for its Scheme ;; snippets. Install the result to #$output. (format (current-error-port) "processing ~a...~%" file) (let* ((shtml (call-with-input-file file html->shtml)) - (highlighted (syntax-highlight shtml)) + (highlighted (syntax-highlight shtml anchors)) (base (string-drop file (string-length #$input))) (target (string-append #$output base))) (mkdir-p (dirname target)) @@ -352,17 +438,43 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')." (pk 'error-link file target (strerror errno)) (primitive-exit 3)))))) + (define (html? file stat) + (string-suffix? ".html" file)) + ;; Install a UTF-8 locale so we can process UTF-8 files. (setenv "GUIX_LOCPATH" #+(file-append glibc-utf8-locales "/lib/locale")) (setlocale LC_ALL "en_US.utf8") + ;; First process the mono-node 'guix.html' files. (n-par-for-each (parallel-job-count) - (lambda (file) - (if (string-suffix? ".html" file) - (process-html file) - (copy-as-is file))) - (find-files #$input)))))) + (lambda (mono) + (let ((anchors (collect-anchors mono))) + (process-html mono anchors))) + (find-files #$input "^guix(\\.[a-zA-Z_-]+)?\\.html$")) + + ;; Next process the multi-node HTML files in two phases: (1) + ;; collect the list of anchors, and (2) perform + ;; syntax-highlighting. + (let* ((multi (find-files #$input "^html_node$" + #:directories? #t)) + (anchors (n-par-map (parallel-job-count) + (lambda (multi) + (cons multi + (fold collect-anchors vlist-null + (find-files multi html?)))) + multi))) + (n-par-for-each (parallel-job-count) + (lambda (file) + (let ((anchors (assoc-ref anchors (dirname file)))) + (process-html file anchors))) + (append-map (lambda (multi) + (find-files multi html?)) + multi))) + + ;; Last, copy non-HTML files as is. + (for-each copy-as-is + (find-files #$input (negate html?))))))) (computed-file name build)) diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm index cd77c9a12b..c8f4a34c72 100644 --- a/gnu/packages/batik.scm +++ b/gnu/packages/batik.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -198,7 +199,7 @@ SAC is an interface for CSS parsers.") (define-public java-xmlgraphics-commons (package (name "java-xmlgraphics-commons") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) @@ -206,8 +207,7 @@ SAC is an interface for CSS parsers.") "mirror://apache/xmlgraphics/commons/source/xmlgraphics-commons-" version "-src.tar.gz")) (sha256 - (base32 - "0a432a4ca3vgnbada5cy9mlmfzmq6hi4i176drfxrp17q2d43w23")) + (base32 "0zdkngb896cr35jq1v859j2kpqyn6a87k6a893h394hgvnz7yi3v")) (modules '((guix build utils))) (snippet `(begin diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 2fbfdba2d8..3ada92085e 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3501,8 +3501,8 @@ phenotype of interest.") (synopsis "Fast gene set enrichment analysis") (description "The package implements an algorithm for fast gene set enrichment -analysis. Using the fast algorithm allows to make more permutations and get -more fine grained p-values, which allows to use accurate stantard approaches +analysis. Using the fast algorithm makes more permutations and gets +more fine grained p-values, which allows using accurate standard approaches to multiple hypothesis correction.") (license license:expat))) @@ -4271,7 +4271,7 @@ investigation using RNA-seq data.") (home-page "https://bioconductor.org/packages/AUCell/") (synopsis "Analysis of gene set activity in single-cell RNA-seq data") (description - "AUCell allows to identify cells with active gene sets (e.g. signatures, + "AUCell identifies cells with active gene sets (e.g. signatures, gene modules, etc) in single-cell RNA-seq data. AUCell uses the @dfn{Area Under the Curve} (AUC) to calculate whether a critical subset of the input gene set is enriched within the expressed genes for each cell. The @@ -6426,7 +6426,7 @@ parametric mixture model. The protein binding sites (clusters) are then resolved at high resolution and cluster statistics are estimated using a rigorous Bayesian framework. Post-processing of the results, data export for UCSC genome browser visualization and motif search analysis are provided. In -addition, the package allows to integrate RNA-Seq data to estimate the False +addition, the package integrates RNA-Seq data to estimate the False Discovery Rate of cluster detection. Key functions support parallel multicore computing. While wavClusteR was designed for PAR-CLIP data analysis, it can be applied to the analysis of other NGS data obtained from experimental diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4c3d2b793b..cd01027bce 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8401,7 +8401,7 @@ system. It is used to analyze experimental crosses for identifying genes contributing to variation in quantitative traits (so-called quantitative trait loci, QTLs). -Using a hidden Markov model, R/qtl allows to estimate genetic maps, to +Using a hidden Markov model, R/qtl estimates genetic maps, to identify genotyping errors, and to perform single-QTL and two-QTL, two-dimensional genome scans.") (license license:gpl3))) @@ -8532,7 +8532,7 @@ of other R packages who wish to make use of HTSlib.") (home-page "https://bioconductor.org/packages/bamsignals") (synopsis "Extract read count signals from bam files") (description - "This package allows to efficiently obtain count vectors from indexed bam + "This package efficiently obtains count vectors from indexed bam files. It counts the number of nucleotide sequence reads in given genomic ranges and it computes reads profiles and coverage profiles. It also handles paired-end data.") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index d7e4fd946b..a8ffa56bc6 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> -;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> @@ -103,8 +103,8 @@ generate such a compilation database.") (license license:gpl3+))) (define-public gn - (let ((commit "6e5ba2e7210823cf7ccce3eb2a23336a4e7f1349") - (revision "1666")) ;as returned by `git describe`, used below + (let ((commit "ec938ddaa276646eb8f1ab33e160c156011d8217") + (revision "1736")) ;as returned by `git describe`, used below (package (name "gn") (version (git-version "0.0" revision commit)) @@ -114,7 +114,7 @@ generate such a compilation database.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "157ax65sixjm0i1j89wvny48v1mbsl4pbvv5vqinjc6r0fryaf2r")) + "0j1qjwp2biw12s6npzpx4z8nvih7pyn68q6cz2k4700bk9y0d574")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -135,8 +135,10 @@ generate such a compilation database.") (call-with-output-file "out/last_commit_position.h" (lambda (port) (format port - "#define LAST_COMMIT_POSITION \"~a (~a)\"\n" - ,revision ,(string-take commit 8)) + (string-append + "#define LAST_COMMIT_POSITION_NUM ~a\n" + "#define LAST_COMMIT_POSITION \"~a (~a)\"\n") + ,revision ,revision ,(string-take commit 8)) #t)))) (replace 'build (lambda _ diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index b7267e14ec..7bca0468cf 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -582,14 +582,14 @@ but it works for any C/C++ project.") (define-public python-parameterized (package (name "python-parameterized") - (version "0.7.1") + (version "0.7.3") (source (origin (method url-fetch) (uri (pypi-uri "parameterized" version)) (sha256 (base32 - "1vapry9lyfb2mlpgk2wh9079hzxzq5120bsczncxxay663mdp53a")))) + "0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -1952,8 +1952,8 @@ possible to write plugins to add your own checks.") (synopsis "Simple extension to have parametrized unit tests") (description - "This package allows to create parametrized unit-tests that work with the standard -unittest package. A parametrized test case is automatically converted to multiple test + "This package creates parameterized unit-tests that work with the standard +unittest package. A parameterized test case is automatically converted to multiple test cases. Since they are TestCase subclasses, they work with other test suites that recognize TestCases.") (license license:bsd-2))) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index fb8a813b7a..3625eb7964 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -135,8 +135,11 @@ "third_party/dawn" ;ASL2.0 "third_party/depot_tools/owners.py" ;BSD-3 "third_party/devtools-frontend" ;BSD-3 + "third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 "third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0 "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 + "third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0 "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 @@ -196,7 +199,6 @@ "third_party/qcms" ;Expat "third_party/rnnoise" ;BSD-3 "third_party/s2cellid" ;ASL2.0 - "third_party/sfntly" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 "third_party/skia/third_party/skcms" ;BSD-3 @@ -206,7 +208,6 @@ "third_party/spirv-headers" ;ASL2.0 "third_party/SPIRV-Tools" ;ASL2.0 "third_party/sqlite" ;Public domain - "third_party/ungoogled" ;BSD-3 "third_party/usb_ids" ;BSD-3 "third_party/usrsctp" ;BSD-2 "third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3 @@ -247,9 +248,9 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "80.0.3987.163") -(define %ungoogled-revision "516e2d990a50a4bbeb8c583e56333c2935e2af95") -(define %debian-revision "debian/80.0.3987.116-1") +(define %chromium-version "81.0.4044.92") +(define %ungoogled-revision "b484ad4c0bdb696c86d941798ae6b0e2bd0db35d") +(define %debian-revision "debian/81.0.4044.92-1") (define package-revision "0") (define %package-version (string-append %chromium-version "-" package-revision "." @@ -263,7 +264,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "0ikk4cgz3jgjhyncsvlqvlc03y7jywjpa6v34fwsjxs88flyzpdn")))) + "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2")))) (define %ungoogled-origin (origin @@ -274,7 +275,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "0nm55qq4ahw9haf5g7hmzic4mr2xjgpay7lxps7xjp7s1pda4g0q")))) + "071a33idn2zcix6z8skn7y85mhb9w5s0bh0fvrjm269y7cmjrh3l")))) (define %debian-origin (origin @@ -288,7 +289,7 @@ from forcing GEXP-PROMISE." (_ (string-take %debian-revision 7))))) (sha256 (base32 - "1cc5sp566dd8f2grgr770xwbxgxf58dk1w7q3s8pmv4js5h3pwq8")))) + "0srgbcqga3l75bfkv3bnmjk416189nazsximvzdx2k5n8v5k4p3m")))) ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. @@ -319,8 +320,7 @@ from forcing GEXP-PROMISE." (list #+(canonical-package patch) #+(canonical-package xz) #+(canonical-package tar) - #+python-2 - #+python)) + #+python-wrapper)) (copy-recursively #+ungoogled-source "/tmp/ungoogled") @@ -338,11 +338,11 @@ from forcing GEXP-PROMISE." (format #t "Ungooglifying...~%") (force-output) - (invoke "python3" "utils/prune_binaries.py" chromium-dir + (invoke "python" "utils/prune_binaries.py" chromium-dir "pruning.list") - (invoke "python3" "utils/patches.py" "apply" + (invoke "python" "utils/patches.py" "apply" chromium-dir "patches") - (invoke "python3" "utils/domain_substitution.py" "apply" "-r" + (invoke "python" "utils/domain_substitution.py" "apply" "-r" "domain_regex.list" "-f" "domain_substitution.list" "-c" "/tmp/domainscache.tar.gz" chromium-dir) @@ -390,13 +390,13 @@ from forcing GEXP-PROMISE." (format #t "Pruning third party files...~%") (force-output) - (apply invoke "python" + (apply invoke (string-append #+python-2 "/bin/python") "build/linux/unbundle/remove_bundled_libraries.py" "--do-remove" preserved-files) (format #t "Replacing GN files...~%") (force-output) - (invoke "python3" "build/linux/unbundle/replace_gn_files.py" + (invoke "python" "build/linux/unbundle/replace_gn_files.py" "--system-libraries" "ffmpeg" "flac" "fontconfig" "freetype" "harfbuzz-ng" "icu" "libdrm" "libevent" "libjpeg" "libpng" "libvpx" "libwebp" "libxml" @@ -450,7 +450,6 @@ from forcing GEXP-PROMISE." ;; directory for an exhaustive list of supported flags. ;; (Note: The 'configure' phase will do that for you.) (list "is_debug=false" - "is_cfi=false" "use_gold=false" "use_lld=false" "clang_use_chrome_plugins=false" @@ -636,8 +635,13 @@ from forcing GEXP-PROMISE." (setenv "AR" "ar") (setenv "NM" "nm") (setenv "CC" "clang") (setenv "CXX" "clang++") - ;; Do not optimize away null pointer safety checks. - (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks") + (setenv "CXXFLAGS" + (string-join + '(;; Do not optimize away null pointer safety checks. + "-fno-delete-null-pointer-checks" + ;; Disable warnings about unknown warnings that require + ;; Clang plugins or newer versions. + "-Wno-unknown-warning-option"))) ;; TODO: pre-compile instead. Avoids a race condition. (setenv "PYTHONDONTWRITEBYTECODE" "1") @@ -782,7 +786,7 @@ from forcing GEXP-PROMISE." ("glib" ,glib) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c) + ("icu4c" ,icu4c-66.1) ("jsoncpp" ,jsoncpp) ("lcms" ,lcms) ("libevent" ,libevent) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 59bfd8833a..ecfc053017 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11532,7 +11532,7 @@ JASA, 94:496-509.") (home-page "https://cran.r-project.org/web/packages/etm") (synopsis "Empirical transition matrix") (description - "The @dfn{empirical transition matrix} (etm) package permits to estimate + "The @dfn{empirical transition matrix} (etm) package estimates the matrix of transition probabilities for any time-inhomogeneous multistate model with finite state space using the Aalen-Johansen estimator.") (license license:expat))) @@ -13880,7 +13880,7 @@ redirection on the fly, which appears to be very useful for teaching purposes, as the student can keep a copy of the produced output to keep all that they did during the course. The package comes with a vignette describing how to write HTML reports for statistical analysis. Finally, a driver for Sweave -allows to parse HTML flat files containing R code and to automatically write +parses HTML flat files containing R code and to automatically write the corresponding outputs (tables and graphs).") (license license:gpl2+))) @@ -15863,7 +15863,7 @@ be used further by e.g. graphic devices.") "This package provides several layout algorithms to visualize networks which are not part of the igraph library. Most are based on the concept of stress majorization by Gansner et al. (2004) -<doi:10.1007/978-3-540-31843-9_25>. Some more specific algorithms allow to +<doi:10.1007/978-3-540-31843-9_25>. Some more specific algorithms emphasize hidden group structures in networks or focus on specific nodes.") (license license:expat))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8e61c4afd2..09568aec37 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -225,7 +225,7 @@ standard Go idioms.") (define-public ephemeralpg (package (name "ephemeralpg") - (version "2.9") + (version "3.0") (source (origin (method url-fetch) @@ -233,17 +233,14 @@ standard Go idioms.") "https://eradman.com/ephemeralpg/code/ephemeralpg-" version ".tar.gz")) (sha256 - (base32 "1ghp3kya4lxvfwz3c022cx9vqf55jbf9sjw60bxjcb5sszklyc89")))) + (base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (invoke "ruby" "test.rb"))) + (delete 'configure) ; no configure script (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -255,11 +252,13 @@ standard Go idioms.") "/bin") ;; For getsocket. ,(string-append out "/bin"))))) - #t))))) + #t))) + #:test-target "test")) (inputs `(("postgresql" ,postgresql) ("util-linux" ,util-linux))) (native-inputs + ;; For tests. `(("ruby" ,ruby) ("which" ,which))) (home-page "https://eradman.com/ephemeralpg/") diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index e7833b8e70..3c8814348f 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; @@ -105,17 +105,20 @@ and time-efficient for good hash functions.") (define-public ssdeep (package (name "ssdeep") - (version "2.13") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/ssdeep/" - name "-" version "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f")))) + (version "2.14.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ssdeep-project/ssdeep/" + "releases/download/release-" version "/" + "ssdeep-" version ".tar.gz")) + (sha256 + (base32 "04qkjc6kksxkv7xbnk32rwmf3a8czdv2vvrdzfs0kw06h73snbpz")))) (build-system gnu-build-system) - (home-page "http://ssdeep.sourceforge.net") + (arguments + `(#:configure-flags + (list "--disable-static"))) + (home-page "https://ssdeep-project.github.io") (synopsis "Context-triggered piecewise hashing algorithm") (description "ssdeep computes and matches context triggered piecewise hashes (CTPH), also called fuzzy checksums. It can identify similar files @@ -126,14 +129,14 @@ in between these sequences may be different in both content and length.") (define-public liburcu (package (name "liburcu") - (version "0.11.1") + (version "0.12.0") (source (origin (method url-fetch) (uri (string-append "https://www.lttng.org/files/urcu/" "userspace-rcu-" version ".tar.bz2")) (sha256 (base32 - "0l1kxgzch4m8fxiz2hc8fwg56hrvzzspp7n0svnl7i7iycdrgfcj")))) + "15wzk3nyy6gh6i7xhksxzs8fjar1g4ddz51iahk1v7lq0vjip6s0")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ; for tests @@ -149,7 +152,7 @@ queues, stacks, and doubly-linked lists.") (define-public uthash (package (name "uthash") - (version "2.0.2") + (version "2.1.0") (source (origin (method git-fetch) @@ -158,8 +161,7 @@ queues, stacks, and doubly-linked lists.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0kslz8k6lssh7fl7ayzwlj62p0asxs3dq03357ls5ywjad238gqg")))) + (base32 "0k80bjbb6ss5wpmfmfji6xbyjm990hg9kcshwwnhdnh73vxkcd1m")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -178,7 +180,7 @@ queues, stacks, and doubly-linked lists.") ;; There is no top-level Makefile to do this for us. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name)) + (doc (string-append out "/share/doc/" ,name "-" ,version)) (include (string-append out "/include"))) ;; Don't install HTML files: they're just the below .txt files ;; dolled up, can be stale, and regeneration requires asciidoc. diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index db8c9695f4..ff4cccb03d 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,7 +117,7 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.119") + (version "1.0.123") (source (origin (method git-fetch) @@ -126,8 +126,7 @@ contains the archive keys used for that.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0p0p8qmlsbvpfa0r7ifghr67zrrc96d83r9qwahzaxyxkvnhr4x4")))) + (base32 "0fr5ir8arzisx71jybbk4xz85waz50lf2y052nfimzh6vv9dx54c")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index b835fb4510..37f8f74b7b 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -68,7 +68,7 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "138")) + (let ((version "139")) (package (name "diffoscope") (version version) @@ -80,7 +80,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1lsxwyqaaxmin8h06l0352f0kh0l9brbqfn0zv8hmb64bp5r20nr")))) + "1k4yjyvmn5nfdapkwgkr9gzpn18kr4c58n0f32pfkx4yakfqkk4i")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 756c9ad2af..19bf65b76a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -624,7 +624,7 @@ passphrases.") (define-public ndctl (package (name "ndctl") - (version "67") + (version "68") (source (origin (method git-fetch) (uri (git-reference @@ -633,7 +633,7 @@ passphrases.") (file-name (git-file-name name version)) (sha256 (base32 - "076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n")))) + "0xmim7z4qp6x2ggndnbwd940c73pa1qlf3hxyn3qh5pyr69nh9y8")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 70caeab06d..9c8b9553c4 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -199,7 +199,7 @@ display manager which supports different greeters.") (define-public lightdm-gtk-greeter (package (name "lightdm-gtk-greeter") - (version "2.0.2") + (version "2.0.7") (source (origin (method url-fetch) (uri (string-append @@ -208,7 +208,7 @@ display manager which supports different greeters.") "/+download/lightdm-gtk-greeter-" version ".tar.gz")) (sha256 (base32 - "1436sdm83xqhxyr1rzqxhsl8if2xmidlvb341xcv6dv83lyxkrlf")))) + "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms")))) (build-system gnu-build-system) (native-inputs `(("exo" ,exo) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index bccc971109..869be47ad1 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,7 +76,7 @@ (define-public dnsmasq (package (name "dnsmasq") - (version "2.80") + (version "2.81") (source (origin (method url-fetch) (uri (string-append @@ -83,17 +84,7 @@ version ".tar.xz")) (sha256 (base32 - "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd")) - (modules '((guix build utils))) - (snippet - '(begin - ;; The SIOCGSTAMP ioctl is defined in <linux/sockios.h> instead - ;; of <asm/sockios.h> starting with linux-libre-headers 5.2. - ;; Remove this for dnsmasq versions > 2.80. - (substitute* "src/dnsmasq.h" - (("#if defined\\(HAVE_LINUX_NETWORK\\)" all) - (string-append all "\n#include <linux/sockios.h>"))) - #t)))) + "1yzq6anwgr5rlnwydpszb51cyhp2vjq29b24ck19flbwac1sk73l")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -315,7 +306,7 @@ the two.") (synopsis "Asynchronous resolver library by the OpenBSD project") (description "libasr is a free, simple and portable asynchronous resolver library. -It allows to run DNS queries and perform hostname resolutions in a fully +It runs DNS queries and performs hostname resolution in a fully asynchronous fashion.") (license (list license:isc license:bsd-2 ; last part of getrrsetbyname_async.c diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1d530573a5..d8bf2c129f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1565,7 +1565,7 @@ configuration language. It features: @itemize @item Syntax highlighting @item Multiline support for String -@item Basic indendation, commenting +@item Basic indentation, commenting @item Automatic formatting on save using dhall-format. @item Error highlighting. @end itemize") @@ -2019,7 +2019,7 @@ written in the Go programming language.") (build-system emacs-build-system) (home-page "https://github.com/jd/google-maps.el") (synopsis "Access Google Maps from Emacs") - (description "The @code{google-maps} package allows to display Google + (description "The @code{google-maps} package displays Google Maps directly inside Emacs.") (license license:gpl3+))) @@ -6912,7 +6912,7 @@ maximizes flexibility (at the expense of conciseness).") `(("ert-runner" ,emacs-ert-runner))) (home-page "https://github.com/technomancy/find-file-in-project") (synopsis "File/directory finder for Emacs") - (description "@code{find-file-in-project} allows to find files or + (description "@code{find-file-in-project} finds files or directories quickly in the current project. The project root is detected automatically when Git, Subversion or Mercurial are used. It also provides functions to assist in reviewing changes on files.") @@ -7896,17 +7896,29 @@ Lua programming language}.") (define-public emacs-ebuild-mode (package (name "emacs-ebuild-mode") - (version "1.37") - (source (origin - (method url-fetch) - (uri (string-append - "https://dev.gentoo.org/~ulm/emacs/ebuild-mode" - "-" version ".tar.xz")) - (file-name (string-append name "-" version ".tar.xz")) - (sha256 - (base32 - "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp")))) + (version "1.50") + (source + (origin + (method url-fetch) + (uri (string-append + "https://dev.gentoo.org/~ulm/emacs/" + "ebuild-mode-" version ".tar.xz")) + (file-name (string-append name "-" version ".tar.xz")) + (sha256 + (base32 "0bgi98vx6ahxijw69kfdiy3rkjdg7yi6k3bkjyasak5920m6fj1d")))) (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "ebuild-mode.info") + (install-file "ebuild-mode.info" + (string-append (assoc-ref outputs "out") + "/share/info")) + #t))))) + (native-inputs + `(("texinfo" ,texinfo))) (home-page "https://devmanual.gentoo.org") (synopsis "Major modes for Gentoo package files") (description @@ -8476,6 +8488,17 @@ passive voice.") (sha256 (base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (info-dir (string-append share "/info")) + (doc-dir (string-append share "/doc/" ,name "-" ,version))) + (install-file "org" info-dir) + (install-file "orgcard.pdf" doc-dir)) + #t))))) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") (description "Org is an Emacs mode for keeping notes, maintaining TODO @@ -12331,6 +12354,49 @@ keychains. The keychain entries are displayed in a directory-like structure and can be consulted and modified.") (license license:gpl3+))) +(define-public emacs-psc-ide + ;; There is no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe") + (revision "1")) + (package + (name "emacs-psc-ide") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/purescript-emacs/psc-ide-emacs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-dash" ,emacs-dash) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-let-alist" ,emacs-let-alist) + ("emacs-s" ,emacs-s) + ("emacs-seq" ,emacs-seq))) + (home-page "https://github.com/purescript-emacs/psc-ide-emacs") + (synopsis "Emacs integration for PureScript's psc-ide tool") + (description + "This package provices Emacs integration for @code{psc-ide}, an IDE +protocol for PureScript programming language. It features: + +@itemize +@item Completions +@item Type at point +@item Go to definition +@item Automatic imports +@item Case split +@item Build system integration, and +@item Flycheck support +@end itemize") + (license license:gpl3+)))) + (define-public emacs-evil-anzu (package (name "emacs-evil-anzu") @@ -12418,8 +12484,8 @@ match and total match information in the mode-line in various search modes.") (home-page "https://github.com/skeeto/elisp-finalize") (synopsis "Finalizers for Emacs Lisp") (description - "This package will allows to immediately run a callback (a finalizer) -after its registered lisp object has been garbage collected. This allows for + "This package runs a callback (a finalizer) +after its registered lisp object has been garbage collected. This allows extra resources, such as buffers and processes, to be cleaned up after the object has been freed.") (license license:unlicense))) @@ -12525,7 +12591,7 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.") (home-page "https://github.com/emacscollective/closql") (synopsis "Store EIEIO objects using EmacSQL") (description - "This package allows to store uniform EIEIO objects in an EmacSQL + "This package stores uniform EIEIO objects in an EmacSQL database. SQLite is used as backend. This library imposes some restrictions on what kind of objects can be stored; it isn't intended to store arbitrary objects. All objects have to share a common superclass and subclasses cannot @@ -13334,7 +13400,7 @@ navigate and display hierarchy structures.") (home-page "https://github.com/ahungry/md4rd") (synopsis "Emacs Mode for Reddit") (description - "This package allows to read Reddit from within Emacs interactively.") + "This package allows reading Reddit from within Emacs interactively.") (license license:gpl3+))) (define-public emacs-pulseaudio-control @@ -13368,7 +13434,7 @@ navigate and display hierarchy structures.") (home-page "https://github.com/flexibeast/pulseaudio-control") (synopsis "Control @code{pulseaudio} from Emacs") (description - "This package allows to control @code{pulseaudio} from Emacs.") + "This package allows controlling @code{pulseaudio} from Emacs.") (license license:gpl3+)))) (define-public emacs-datetime @@ -13891,7 +13957,7 @@ key again.") (build-system emacs-build-system) (home-page "https://github.com/dimitri/mbsync-el") (synopsis "Interface to mbsync for Emacs") - (description "This package allows to call the @code{mbsync} from + (description "This package calls @code{mbsync} from within Emacs.") (license license:gpl3+)))) @@ -14087,7 +14153,7 @@ throw a shell history.") `(("emacs-makey" ,emacs-makey))) (home-page "https://framagit.org/steckerhalter/discover-my-major/") (synopsis "Discover key bindings for the current Emacs major mode") - (description "This package provides allows to discover key bindings and + (description "This package discovers key bindings and their meaning for the current Emacs major-mode.") (license license:gpl3+))) @@ -17494,7 +17560,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (home-page "https://github.com/jorgenschaefer/emacs-buttercup") (synopsis "Behavior driven emacs lisp testing framework") (description "Buttercup is a behavior-driven development framework for -testing Emacs Lisp code. It allows to group related tests so they can share +testing Emacs Lisp code. It groups related tests so they can share common set-up and tear-down code, and allows the programmer to \"spy\" on functions to ensure they are called with the right arguments during testing.") (license license:gpl3+))) @@ -22299,7 +22365,7 @@ conversion program}, a Japanese input method on Emacs.") (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 + "@code{emacs-objed} allows navigating and editing 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.") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 827a7651d2..aa71335040 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -390,11 +390,11 @@ This package provides the Emacs mode.") (synopsis "Free Elster client, for sending Germany VAT declarations") (description "Geierlein is a free Elster client, i.e. an application that -allows to send VAT declarations to Germany's fiscal authorities. +sends VAT declarations to Germany's fiscal authorities. Currently it is *not* possible to send returns that are due annually (especially the income tax return) since the fiscal authority doesn't -allow to do that off the ERiC library (which is proprietary however). +allow doing that off the ERiC library (which is proprietary however). It's not clear at the moment whether one day it will be possible to do so.") (license license:agpl3+))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 855414a211..8a0bb941de 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1671,8 +1671,8 @@ encoding names are iconv-compatible.") (home-page "https://github.com/coldfix/udiskie") (synopsis "Automounter for removable media") (description - "The @command{udiskie} program is a udisks2 front-end that allows to -manage removable media such as CDs or flash drives from userspace. + "The @command{udiskie} program is a udisks2 front-end that +manages removable media such as CDs or flash drives from userspace. Its features include: diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2f1fcd1879..8db9a7c529 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2961,20 +2961,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "1.9.3") + (version "1.10.0") (source (origin (method url-fetch) - (uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/" + (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r")) - (modules '((guix build utils))) - (snippet - ;; The DOS port contains proprietary software. - '(begin - (delete-file-recursively "os/dos") - #t)))) + "0lz2y2rjc23k0d97y65cqhy2splw9cmrbvhgz0iqps8xkan1m8hv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -3024,15 +3018,15 @@ engine. When you start it you will be prompted to download a graphics set.") (define openttd-opengfx (package (name "openttd-opengfx") - (version "0.5.5") + (version "0.6.0") (source (origin (method url-fetch) - (uri (string-append "http://binaries.openttd.org/extra/opengfx/" + (uri (string-append "https://cdn.openttd.org/opengfx-releases/" version "/opengfx-" version "-source.tar.xz")) (sha256 (base32 - "009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49")))) + "0qxc6gl2gxcrn1np88dnjgbaaakkkx96b13rcmy1spryc8c09hyr")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" @@ -3062,6 +3056,7 @@ engine. When you start it you will be prompted to download a graphics set.") ("gimp" ,gimp) ("grfcodec" ,grfcodec) ("nml" ,nml) + ("which" ,which) ("python" ,python-2))) (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index aa6d25a51b..f11eaeb7b2 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1153,8 +1153,8 @@ persisted. (copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar")))))))) (home-page "https://wiki.openstreetmap.org/wiki/JMapViewer") (synopsis "OSM map integration in Java") - (description "JMapViewer is a Java component which allows to easily -integrate an OSM map view into your Java application. It is maintained as + (description "JMapViewer is a Java component which easily +integrates an OSM map view into your Java application. It is maintained as an independent project by the JOSM team.") (license license:gpl2))) @@ -1292,7 +1292,7 @@ an independent project by the JOSM team.") (synopsis "OSM editor") (description "JOSM is an extensible editor for OpenStreetMap (OSM). It supports loading GPX tracks, background imagery and OSM data from local -sources as well as from online sources and allows to edit the OSM data (nodes, +sources as well as from online sources and allows editing the OSM data (nodes, ways, and relations) and their metadata tags.") (license license:gpl2+))) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 5966906954..2a0ca3ac25 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> @@ -191,7 +191,7 @@ buffers.") ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) ("libmypaint" ,libmypaint) - ("mypaint-brushes" ,mypaint-brushes) + ("mypaint-brushes" ,mypaint-brushes-1.3) ("exif" ,libexif) ; optional, EXIF + XMP support ("lcms" ,lcms) ; optional, color management ("librsvg" ,librsvg) ; optional, SVG support @@ -278,7 +278,7 @@ inverse fourier transform.") (define-public libmypaint (package (name "libmypaint") - (version "1.3.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mypaint/libmypaint/" @@ -286,7 +286,7 @@ inverse fourier transform.") version ".tar.xz")) (sha256 (base32 - "0wd6jk69vmhsq1mdw96v0fh7b28n3glkr5ca466zcq7agzaxj1va")))) + "0aqcv4fyscpfhknxgfpq0v84aj2nzigqvpi4zgv2zkl41h51by5f")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -306,34 +306,42 @@ brushstrokes which is used by MyPaint and GIMP.") (define-public mypaint-brushes (package (name "mypaint-brushes") - (version "1.3.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Jehan/mypaint-brushes.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1iz89z6v2mp8j1lrf942k561s8311i3s34ap36wh4rybb2lq15m0")))) + (version "2.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mypaint/mypaint-brushes.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kcqz13vzpy24dhmrx9hbs6s7hqb8y305vciznm15h277sabpmw9")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-dependency-version - (lambda _ - (substitute* "autogen.sh" - (("automake-1.13") "automake") - (("aclocal-1.13") "aclocal")) - #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) (synopsis "Default brushes for MyPaint") (description "This package provides the default set of brushes for MyPaint.") - (home-page "https://github.com/Jehan/mypaint-brushes") - (license license:cc0))) + (home-page "https://github.com/mypaint/mypaint-brushes/") + ;; Scripts are distributed under GPL2+ terms, brushes are provided as + ;; public domain or under CC0 terms. + (license (list license:gpl2+ license:cc0 license:public-domain)))) + +(define-public mypaint-brushes-1.3 + (package + (inherit mypaint-brushes) + (name "mypaint-brushes") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mypaint/mypaint-brushes.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c95l1vfz7sbrdlzrbz7h1p6s1k113kyjfd9wfnxlm0p6562cz3j")))))) (define-public gimp-resynthesizer ;; GIMP does not respect any plugin search path environment variable, so after @@ -345,13 +353,14 @@ MyPaint.") (version "2.0.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bootchk/resynthesizer/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/bootchk/resynthesizer") + (commit (string-append "v" version)))) (sha256 (base32 - "0l3404w6rqny7h3djskxf149gzx6x4qhndgbh3403c9lbh4pi1kr")) - (file-name (string-append name "-" version ".tar.gz")))) + "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `( ;; Turn off tests to avoid: @@ -359,11 +368,11 @@ MyPaint.") #:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'set-env - (lambda _ - (setenv "CONFIG_SHELL" (which "sh")) - #t)) - (add-after 'configure 'set-prefix + (add-after 'unpack 'set-env + (lambda _ + (setenv "CONFIG_SHELL" (which "sh")) + #t)) + (add-after 'configure 'set-prefix ;; Install plugin under $prefix, not under GIMP's libdir. (lambda* (#:key outputs #:allow-other-keys) (let ((target (string-append (assoc-ref outputs "out") @@ -372,8 +381,8 @@ MyPaint.") (package-version gimp)) ".0"))) (substitute* (list "src/resynthesizer/Makefile" - "src/resynthesizer-gui/Makefile") - (("GIMP_LIBDIR = .*") + "src/resynthesizer-gui/Makefile") + (("GIMP_LIBDIR = .*") (string-append "GIMP_LIBDIR = " target "\n"))) (mkdir-p target) #t)))))) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index ad4593bcd5..625248a25a 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -359,7 +359,7 @@ control.") (propagated-inputs `(("glib" ,glib))) (synopsis "Hide app icon from GNOME's panel") - (description "This extension allows to hide the icon and/or title of the + (description "This extension hides the icon and/or title of the currently focused application in the top panel of the GNOME shell.") (home-page "https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8d01c12cb9..fe511bc075 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9162,7 +9162,7 @@ configurable file renaming. ") (define-public workrave (package (name "workrave") - (version "1.10.37") + (version "1.10.42") (source (origin (method git-fetch) @@ -9173,7 +9173,7 @@ configurable file renaming. ") version))))) (file-name (git-file-name name version)) (sha256 - (base32 "01cxy7606hx9wgxl550l4p2xa9hsy0rk7swsp58hyi842z2z0y13")))) + (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95")))) (build-system glib-or-gtk-build-system) (arguments ;; The only tests are maintainer tests (in po/), which fail. @@ -9640,7 +9640,7 @@ repository and commit your work.") (description "Gamin is a file and directory monitoring system defined to be a subset of the FAM (File Alteration Monitor) system. This is a service provided by a -library which allows to detect when a file or a directory has been modified.") +library which detects when a file or a directory has been modified.") (license license:gpl2+))) (define-public gnome-mahjongg diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6fc5181d6c..69f46df743 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3281,7 +3281,7 @@ are semantically equal in Go (for writing tests).") (synopsis "Synchronization, error propagation, and Context cancellation for groups of goroutines working on subtasks of a common task.") (description "This package provides synchronization, error propagation, -and Context cancelation for groups of goroutines working on subtasks of a +and Context cancellation for groups of goroutines working on subtasks of a common task.") (home-page "https://godoc.org/golang.org/x/sync/errgroup") (license license:bsd-3)))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index f5aa4c11b4..dc83cf7c65 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -5,14 +5,14 @@ ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> -;;; Copyright © 2016, 2019 Eraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016 Amirouche <amirouche@hypermove.net> ;;; Copyright © 2016, 2019 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 David Thompson <davet@gnu.org> -;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -1140,7 +1140,7 @@ microblogging service.") (define-public guile-parted (package (name "guile-parted") - (version "0.0.2") + (version "0.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -1149,20 +1149,8 @@ microblogging service.") (file-name (git-file-name name version)) (sha256 (base32 - "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2 2.0])\n")) - - ;; Remove "guile.m4" since it contains an obsolete version - ;; of 'GUILE_PKG' that doesn't work with development - ;; versions such as 2.9. - (delete-file "m4/guile.m4") - #t)))) + "0kwi777fhfb4rq6fik9bwqzr63k82qjl94dm5lyyyal4rh724xrc")) + (modules '((guix build utils))))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -2186,14 +2174,14 @@ is no support for parsing block and inline level HTML.") (define-public mcron (package (name "mcron") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mcron/mcron-" version ".tar.gz")) (sha256 (base32 - "00kv7fgllzjpis0g1m9csycp4f6l11774m09dqy255cvmim2g743")))) + "1521w3h33bhdlg6qc66sq4dwv3qsx8r8x6srq4ca6kaahy6dszw8")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index d22a08e7fb..c9119efd69 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -10780,7 +10780,7 @@ provided. Skylighting is intended to be the successor to highlighting-kate.") (home-page "https://github.com/feuerbach/smallcheck") (synopsis "Property-based testing library") - (description "SmallCheck is a testing library that allows to verify + (description "SmallCheck is a testing library that verifies properties for all test cases up to some depth. The test cases are generated automatically by SmallCheck.") (license license:bsd-3))) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 046e35e414..d8a898263a 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -114,6 +114,24 @@ C/C++ part.") #t))))))) (native-inputs '()))) +(define-public icu4c-66.1 + (package + (inherit icu4c) + (version "66.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/unicode-org/icu/releases/download/release-" + (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) + "/icu4c-" + (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) + "-src.tgz")) + (patch-flags '("-p2")) + (patches (search-patches "icu4c-CVE-2020-10531.patch")) + (sha256 + (base32 + "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj")))))) + (define-public java-icu4j (package (name "java-icu4j") diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index acaf25f745..95b8123b8e 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -170,14 +170,14 @@ SILC and ICB protocols via plugins.") (define-public weechat (package (name "weechat") - (version "2.7.1") + (version "2.8") (source (origin (method url-fetch) (uri (string-append "https://weechat.org/files/src/weechat-" version ".tar.xz")) (sha256 (base32 - "0haw0c35mf4r47j24issc9caq0da3fy7gjfq3454fm3ap3n2yxcx")))) + "1301lrb3xnm9dcw3av82rkqjzqxxwwhrq0p6i37h6fxdxnas4gjm")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -193,7 +193,7 @@ SILC and ICB protocols via plugins.") ("zlib" ,zlib) ;; Scripting language plug-ins. - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("lua" ,lua-5.1) ("perl" ,perl) ("python" ,python) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c52140ba9e..e5e9d1bb9b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4422,7 +4422,7 @@ on the XPP3 API (XML Pull Parser)."))) (description "ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. The provided common -transformations and analysis algorithms allow to easily assemble custom +transformations and analysis algorithms allow easily assembling custom complex transformations and code analysis tools.") (license license:bsd-3))) @@ -7426,7 +7426,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (home-page "https://github.com/barteo/microemu") (synopsis "J2ME CLDC emulator") (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP -Emulator. It allows to demonstrate MIDlet based applications in web browser +Emulator. It demonstrates MIDlet based applications in web browser applet and can be run as a standalone java application.") (license (list license:asl2.0 ;; or altenatively: @@ -8821,7 +8821,7 @@ make data-binding work.") ("hamcrest" ,java-hamcrest-core))) (home-page "https://hdrhistogram.github.io/HdrHistogram") (synopsis "High dynamic range histogram") - (description "Hdrhistogram allows to create histograms that support + (description "Hdrhistogram creates histograms that support recording and analyzing sampled data value counts across a configurable integer value range with configurable value precision within the range. Value precision is expressed as the number of significant digits in the value recording, and @@ -11651,7 +11651,7 @@ the application using Java to Lisp integration APIs.") (description "JSON Processing (JSON-P) is a Java API to process (e.g. parse, generate, transform and query) JSON messages. It produces and consumes JSON text in a streaming fashion (similar to StAX API for XML) -and allows to build a Java object model for JSON text using API classes +and allows building a Java object model for JSON text using API classes (similar to DOM API for XML).") ;; either gpl2 only with classpath exception, or epl2.0. (license (list license:gpl2 diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 6dd53b9283..16a4705a07 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -409,7 +409,7 @@ ("openlibm" ,openlibm) ("mbedtls" ,mbedtls-apache) ("curl" ,curl) - ("libgit2" ,libgit2) + ("libgit2" ,libgit2-0.28) ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index 666959ea15..5eb90cfb7c 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -452,7 +452,7 @@ a full-featured client for BitTorrent.") `(#:tests? #f)) ;; 2/7 tests fail (due to network issues?) (home-page "https://cgit.kde.org/libgravatar.git") (synopsis "Online avatar lookup library") - (description "This library allows to retrieve avatar images based on a + (description "This library retrieves avatar images based on a hash from a person's email address, as well as local caching to avoid unnecessary network operations.") (license ;; GPL for programs, LGPL for libraries diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 4c1d5e7244..639d74d894 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -191,7 +191,7 @@ This package is part of the KDE multimedia module.") (home-page "https://kde.org/applications/multimedia/org.kde.elisa") (synopsis "Powerful music player for Plasma 5") (description "Elisa is a simple music player aiming to provide a nice -experience for its users. Elisa allows to browse music by album, artist or +experience for its users. Elisa browses music by album, artist or all tracks. The music is indexed using either a private indexer or an indexer using Baloo. The private one can be configured to scan music on chosen paths. The Baloo one is much faster because Baloo is providing all needed data from diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index fea6dd3068..cb24f0efbf 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -623,7 +623,7 @@ functions for accessing calendar data using the kcalcore API.") ("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 + (description "This is a DAV protocol implementation 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 @@ -670,7 +670,7 @@ supported using GroupDAV or CardDAV.") ("qtbase" ,qtbase))) (home-page "https://cgit.kde.org/kdepim-apps-libs.git") (synopsis "KDE PIM mail related libraries and data files") - (description "This packages provides mail related libraries and data files + (description "This package provides mail related libraries and data files for KDE PIM.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) @@ -1095,7 +1095,7 @@ and retrieving certificates from LDAP servers.") (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. +Environments. KMail is the email component of Kontact, the integrated personal information manager from KDE.") @@ -1346,7 +1346,7 @@ using a Qt/KMime C++ API.") `(#: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, + (description "This package 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 diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm index cd1b442169..d51566341d 100644 --- a/gnu/packages/kde-systemtools.scm +++ b/gnu/packages/kde-systemtools.scm @@ -83,7 +83,7 @@ (description "Dolphin is a file manager for KDE focusing on usability. The main features of Dolphin are: @itemize -@item Navigation bar for URLs, which allows to navigate quickly +@item Navigation bar for URLs, which navigates quickly through the file hierarchy. @item View properties are remembered for each folder. @item Split of views is supported. diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index fb9a6fd421..6278dcaba7 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -101,7 +101,7 @@ framework for writing, administering, and running unit tests in C.") ("mbedtls" ,mbedtls-apache))) (synopsis "Belledonne Communications Tool Box") (description "BcToolBox is an utilities library used by Belledonne -Communications softwares like belle-sip, mediastreamer2 and linphone.") +Communications software like belle-sip, mediastreamer2 and linphone.") (home-page "https://gitlab.linphone.org/BC/public/bctoolbox") (license license:gpl2+))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 886b67d580..8793e55e46 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1534,16 +1534,16 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.45.5") + (version "1.45.6") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/people/tytso/" - name "/v" version "/" - name "-" version ".tar.xz")) + "e2fsprogs/v" version "/" + "e2fsprogs-" version ".tar.xz")) (sha256 (base32 - "1pmf8inp736l587rqq7qsd8bv0mmg5cwrivxg5p5awqgv70crypr")))) + "0mj2yizwygs7xww8jfy5mxjn8ww4pvc0b1hg1p2vsnirailsx9zz")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux "lib"))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm index 5e77f1ddc2..510bc032f8 100644 --- a/gnu/packages/lirc.scm +++ b/gnu/packages/lirc.scm @@ -98,7 +98,7 @@ "LIRC allows computers to send and receive IR signals of many commonly used remote controls. The most important part of LIRC is the @code{lircd} daemon that decodes IR signals received by the device drivers. The second -daemon program @code{lircmd} allows to translate IR signals to mouse movements. +daemon program @code{lircmd} translates IR signals to mouse movements. The user space applications allow you to control your computer with a remote control: you can send X events to applications, start programs and much more on just one button press.") diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 4308add8f5..1e32624c51 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2018, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> @@ -53,6 +53,7 @@ #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages databases) + #:use-module (gnu packages enchant) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages imagemagick) @@ -2785,8 +2786,8 @@ advantage of the library is the ability to concisely define command line options once and then use this definition for parsing and extraction of command line arguments, as well as printing description of command line options (you get --help for free). This way you don't need to repeat -yourself. Also, @command{unix-opts} doesn't depend on anything and allows to -precisely control behavior of the parser via Common Lisp restarts.") +yourself. Also, @command{unix-opts} doesn't depend on anything and +precisely controls the behavior of the parser via Common Lisp restarts.") (license license:expat))) (define-public cl-unix-opts @@ -3046,10 +3047,10 @@ is a library for creating graphical user interfaces.") (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) (define-public sbcl-cl-webkit - (let ((commit "4832c99c31e0eb1fcce3779d119343ae8a423952")) + (let ((commit "d97115ca601838dfa60ea7afbb88641d7a526dba")) (package (name "sbcl-cl-webkit") - (version (git-version "2.4" "1" commit)) + (version (git-version "2.4" "2" commit)) (source (origin (method git-fetch) @@ -3059,7 +3060,7 @@ is a library for creating graphical user interfaces.") (file-name (git-file-name "cl-webkit" version)) (sha256 (base32 - "0sn7m181wfg1q49q45dlsry8c38x7pziqcs0frnymk6yvgndybxd")))) + "0sdb2l2h5xv5c1m2mfq31i9yl6zjf512fvwwzlvk9nvisyhc4xi3")))) (build-system asdf-build-system/sbcl) (inputs `(("cffi" ,sbcl-cffi) @@ -5508,7 +5509,7 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (synopsis "IEEE 754 binary representation for floats in Common Lisp") - (description "This is a Common Lisp library that allows to convert + (description "This is a Common Lisp library that converts floating point values to IEEE 754 binary representation.") (license license:bsd-3)))) @@ -6422,7 +6423,7 @@ power of CXML is available when necessary.") ("cl-xmlspam" ,sbcl-cl-xmlspam) ("ironclad" ,sbcl-ironclad))) (synopsis "D-Bus client library for Common Lisp") - (description "This is a Common Lisp library that allows to publish D-Bus + (description "This is a Common Lisp library that publishes D-Bus objects as well as send and notify other objects connected to a bus.") (license license:bsd-2)))) @@ -11318,3 +11319,42 @@ in DEFPACKAGE.") (define-public cl-trivial-package-local-nicknames (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames)) + +(define-public sbcl-enchant + (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa")) + (package + (name "sbcl-enchant") + (version (git-version "0.0.0" "1" commit)) + (home-page "https://github.com/tlikonen/cl-enchant") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("enchant" ,enchant) + ("cffi" ,sbcl-cffi))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "load-enchant.lisp" + (("libenchant") + (string-append + (assoc-ref inputs "enchant") "/lib/libenchant-2")))))))) + (synopsis "Common Lisp interface for the Enchant spell-checker library") + (description + "Enchant is a Common Lisp interface for the Enchant spell-checker +library. The Enchant library is a generic spell-checker library which uses +other spell-checkers transparently as back-end. The library supports the +multiple checkers, including Aspell and Hunspell.") + (license license:public-domain)))) + +(define-public cl-enchant + (sbcl-package->cl-source-package sbcl-enchant)) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index e7346ac9ea..9ffb31cb9a 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -883,7 +883,7 @@ SOURCE-FILES found in SOURCE-PACKAGE." (string-append clang "/bin/clang-format")))) #t))))) (synopsis "Format code using clang-format") - (description "This package allows to filter code through @code{clang-format} + (description "This package filters code through @code{clang-format} to fix its formatting. @code{clang-format} is a tool that formats C/C++/Obj-C code according to a set of style options, see @url{https://clang.llvm.org/docs/ClangFormatStyleOptions.html}."))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 4fb129246b..82767bb84b 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -570,8 +570,8 @@ optimizing, and searching weighted finite-state transducers (FSTs).") (synopsis "Machine learning toolbox") (description "The Shogun Machine learning toolbox provides a wide range of unified and -efficient Machine Learning (ML) methods. The toolbox seamlessly allows to -combine multiple data representations, algorithm classes, and general purpose +efficient Machine Learning (ML) methods. The toolbox seamlessly +combines multiple data representations, algorithm classes, and general purpose tools. This enables both rapid prototyping of data pipelines and extensibility in terms of new algorithms.") (license license:gpl3+))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4d902d8935..e3d3216eab 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5018,7 +5018,7 @@ cubes.") ("pkg-config" ,pkg-config))) (home-page "http://numerik.mi.fu-berlin.de/dune-subgrid/index.php") (synopsis "Distributed and Unified Numerics Environment") - (description "The dune-subgrid module allows to mark elements of + (description "The dune-subgrid module marks elements of another hierarchical dune grid. The set of marked elements can then be accessed as a hierarchical dune grid in its own right. Dune-Subgrid provides the full grid interface including adaptive mesh refinement.") @@ -5485,7 +5485,7 @@ researchers and developers alike to get started on SAT.") It provides basic and advanced functionality. Features include customizable functions, unit calculations, and conversions, physical constants, symbolic calculations (including integrals and equations), arbitrary precision, -uncertainity propagation, interval arithmetic, plotting and a user-friendly +uncertainty propagation, interval arithmetic, plotting and a user-friendly cli.") (license license:gpl2+))) diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm index 0aba774a91..7bbdc09688 100644 --- a/gnu/packages/matrix.scm +++ b/gnu/packages/matrix.scm @@ -20,6 +20,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages check) #:use-module (gnu packages databases) + #:use-module (gnu packages monitoring) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index e37585c21c..da2c76b275 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> -;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> @@ -728,68 +728,52 @@ on Axolotl and PEP.") (license license:gpl3+))) (define-public dino - ;; The only release tarball is for version 0.0, but it is very old and fails - ;; to build. - (let ((commit "8e14ac6d714b7f88e16de31a6c795e811dc27417") - (revision "4")) - (package - (name "dino") - (version (git-version "0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dino/dino.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xfmwnc2f8lsvmp7m8ggikzqjaw5z6wmxrv6j5ljha5ckffrdd9m")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; there are no tests - #:parallel-build? #f ; not supported - ; Use our libsignal-protocol-c instead of the git submodule. - #:configure-flags '("-DSHARED_SIGNAL_PROTOCOL=yes") - #:modules ((guix build cmake-build-system) - ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) - (guix build utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build cmake-build-system) - (guix build glib-or-gtk-build-system)) - #:phases - (modify-phases %standard-phases - ;; The signal-protocol plugin accesses internal headers of - ;; libsignal-protocol-c, so we need to put the sources there. - (add-after 'unpack 'unpack-sources - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "plugins/signal-protocol/libsignal-protocol-c" - (invoke "tar" "xvf" - (assoc-ref inputs "libsignal-protocol-c-source") - "--strip-components=1")))) - (add-after 'install 'glib-or-gtk-wrap - (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) - (inputs - `(("libgee" ,libgee) - ("libsignal-protocol-c" ,libsignal-protocol-c) - ("libgcrypt" ,libgcrypt) - ("libsoup" ,libsoup) - ("qrencode" ,qrencode) - ("sqlite" ,sqlite) - ("gpgme" ,gpgme) - ("gtk+" ,gtk+) - ("glib-networking" ,glib-networking) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("libsignal-protocol-c-source" ,(package-source libsignal-protocol-c)) - ("glib" ,glib "bin") - ("vala" ,vala) - ("gettext" ,gettext-minimal))) - (home-page "https://dino.im") - (synopsis "Graphical Jabber (XMPP) client") - (description "Dino is a Jabber (XMPP) client which aims to fit well into + (package + (name "dino") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dino/dino/releases/download/v" + version "/dino-" version ".tar.gz")) + (sha256 + (base32 + "0dcq2jhpywgxrp9x1qqmrl2z50hazspqj547b9zz70apy3y4418h")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:parallel-build? #f ; not supported + #:modules ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build cmake-build-system) + (guix build glib-or-gtk-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (inputs + `(("libgee" ,libgee) + ("libsignal-protocol-c" ,libsignal-protocol-c) + ("libgcrypt" ,libgcrypt) + ("libsoup" ,libsoup) + ("qrencode" ,qrencode) + ("sqlite" ,sqlite) + ("gpgme" ,gpgme) + ("gtk+" ,gtk+) + ("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin") + ("vala" ,vala) + ("gettext" ,gettext-minimal))) + (home-page "https://dino.im") + (synopsis "Graphical Jabber (XMPP) client") + (description "Dino is a Jabber (XMPP) client which aims to fit well into a graphical desktop environment like GNOME.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public prosody (package diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index bcb8df24d0..8da31d6a84 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -371,14 +372,13 @@ demand.") (define-public python-prometheus-client (package (name "python-prometheus-client") - (version "0.5.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (pypi-uri "prometheus_client" version)) (sha256 - (base32 - "0g7rpv1pq2lab1nfqdx98z9d3bqwc400alg1j4ynrpjkrbsizhg8")))) + (base32 "1ni2yv4ixwz32nz39ckia76lvggi7m19y5f702w5qczbnfi29kbi")))) (build-system python-build-system) (arguments '(;; No included tests. diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 84efe2c1de..525854676f 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1179,7 +1179,7 @@ GNU CC attributes. It provides also a C pretty printer as an example of use.") (home-page "https://github.com/c-cube/qcheck") (synopsis "QuickCheck inspired property-based testing for OCaml") (description "QuickCheck inspired property-based testing for OCaml. This -module allows to check invariants (properties of some types) over randomly +module checks invariants (properties of some types) over randomly generated instances of the type. It provides combinators for generating instances and printing them.") (license license:lgpl3+))) @@ -1534,7 +1534,7 @@ manipulate such data.") (delete 'configure)))) (home-page "http://erratique.ch/software/mtime") (synopsis "Monotonic wall-clock time for OCaml") - (description "Access monotonic wall-clock time. It allows to measure time + (description "Access monotonic wall-clock time. It measures time spans without being subject to operating system calendar time adjustments.") (license license:isc))) @@ -2266,7 +2266,7 @@ radix-64 representation. It is specified in RFC 4648.") `(("ocamlbuild" ,ocamlbuild))) (home-page "https://forge.ocamlcore.org/projects/ocamlify") (synopsis "Include files in OCaml code") - (description "OCamlify allows to create OCaml source code by including + (description "OCamlify creates OCaml source code by including whole files into OCaml string or string list. The code generated can be compiled as a standard OCaml file. It allows embedding external resources as OCaml code.") diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index e585848405..5bcdfa06ba 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> @@ -119,7 +119,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.5.3") + (version "2.5.4") (source (origin (method url-fetch) @@ -127,7 +127,7 @@ human.") "/releases/download/" version "/keepassxc-" version "-src.tar.xz")) (sha256 - (base32 "1sx647mp1xikig50p9bb6vxv18ymdfj3wkxj6qfdr1zfcv7gn005")))) + (base32 "0jndssyvpl8bc5i2q3d6kq1ppynchxx9nvp1qhd2pc0qqc0hhpm5")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DWITH_XC_ALL=YES" @@ -846,8 +846,8 @@ winner of the 2015 Password Hashing Competition.") ("python-pytest-mock" ,python-pytest-mock))) (home-page "https://github.com/languitar/pass-git-helper") (synopsis "Git credential helper interfacing with pass") - (description "pass-git-helper is a git credential helper which allows to -use pass, the standard unix password manager, as the credential backend for + (description "pass-git-helper is a git credential helper which +uses pass, the standard unix password manager, as the credential backend for your git repositories. This is achieved by explicitly defining mappings between hosts and entries in the password store.") (license license:lgpl3+))) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index d565f0dd46..bb3a26525f 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -135,7 +135,7 @@ where Flyer Composer steps in, creating a PDF which holds your flyer four times. If you have a second page, Flyer Composer can arrange it the same way - even if the second page is in a separate PDF file. -This package contains both the commnd line tool and the gui too.") +This package contains both the command line tool and the gui too.") (license license:agpl3+))) (define-public flyer-composer-cli @@ -162,7 +162,7 @@ where Flyer Composer steps in, creating a PDF which holds your flyer four times. If you have a second page, Flyer Composer can arrange it the same way - even if the second page is in a separate PDF file. -This package contains only the commnd line tool. If you like to use the gui, +This package contains only the command line tool. If you like to use the gui, please install the @code{flyer-composer-gui} package."))) (define-public poppler @@ -885,7 +885,7 @@ Xournal++ features: @item Fill shape functionality @item PDF Export (with and without paper style) @item PNG Export (with and without transparent background) -@item Allow to map different tools / colors etc. to stylus buttons / +@item Map different tools / colors etc. to stylus buttons / mouse buttons @item Sidebar with Page Previews with advanced page sorting, PDF Bookmarks and Layers (can be individually hidden, editing layer can be diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1d1b73f897..4b3ce036e2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -343,7 +343,7 @@ sometimes even without using a single syscall.") (build-system perl-build-system) (home-page "https://metacpan.org/pod/Attribute::Util") (synopsis "Assorted general utility attributes") - (description "This packages provides various utility functions. When used + (description "This package provides various utility functions. When used without argument, this module provides four universally accessible attributes of general interest as follows: @itemize diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e5f7808baf..e6540a0a36 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2832,8 +2832,7 @@ environments and back.") "PyYAML is a YAML parser and emitter for Python. PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages. PyYAML supports standard YAML tags and -provides Python-specific tags that allow to represent an arbitrary Python -object.") +provides Python-specific tags that represent an arbitrary Python object.") (license license:expat))) (define-public python2-pyyaml @@ -3562,7 +3561,7 @@ receive files via the SCP1 protocol, as implemented by the OpenSSH ;; Note: As of version 1.7 the documentation is not worth building. (home-page "https://github.com/jaraco/rst.linker") (synopsis "Sphinx plugin to add links and timestamps") - (description "rst.linker allows to automatically replace text by a + (description "rst.linker automatically replaces text by a reStructuredText external reference or timestamps. It's primary purpose is to augment the changelog, but it can be used for other documents, too.") (license license:expat))) @@ -12738,7 +12737,7 @@ by system tools such as ps and top). Changing the title is mostly useful in multi-process systems, for example when a master process is forked: changing the children's title -allows to identify the task each process is busy with. The technique +allows identifying the task each process is busy with. The technique is used by PostgreSQL and the OpenSSH Server for example.") (license license:bsd-3) (properties `((python2-variant . ,(delay python2-setproctitle)))))) @@ -19141,7 +19140,7 @@ logging in Python. It also provides some custom formatters and handlers.") (home-page "https://github.com/jd/pifpaf") (synopsis "Tools and fixtures to manage daemons for testing in Python") (description "Pifpaf is a suite of fixtures and a command-line tool that -allows to start and stop daemons for a quick throw-away usage. This is typically +starts and stops daemons for a quick throw-away usage. This is typically useful when needing these daemons to run integration testing. It originally evolved from its precursor @code{overtest}.") (license license:asl2.0))) @@ -19349,28 +19348,6 @@ simple and fast to verify, and decouple authorization policy from the enforcement of that policy.") (license license:expat))) -(define-public python-prometheus-client - (package - (name "python-prometheus-client") - (version "0.7.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "prometheus_client" version)) - (sha256 - (base32 "1ni2yv4ixwz32nz39ckia76lvggi7m19y5f702w5qczbnfi29kbi")))) - (build-system python-build-system) - (arguments - ;; TODO: No tests in the PyPI distribution. - `(#:tests? #f)) - (propagated-inputs - `(("python-twisted" ,python-twisted))) - (home-page "https://github.com/prometheus/client_python") - (synopsis "Prometheus instrumentation library") - (description - "This is the official Python client for the Prometheus monitoring server.") - (license license:asl2.0))) - (define-public python-ldap3 (package (name "python-ldap3") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7e6df38ad1..b1adf80693 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1810,8 +1810,8 @@ the output produced by running shell commands.") ("ruby-nenv" ,ruby-nenv))) (native-inputs `(("bundler" ,bundler))) - (synopsis "Wrapper libray for notification libraries") - (description "Notiffany is a Ruby wrapper libray for notification + (synopsis "Wrapper library for notification libraries") + (description "Notiffany is a Ruby wrapper library for notification libraries such as Libnotify.") (home-page "https://github.com/guard/notiffany") (license license:expat))) diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 47bf9a9c88..b96cb6b96e 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -331,7 +331,7 @@ coefficients of which are modular integers.") (define-public brial (package (name "brial") - (version "1.2.7") + (version "1.2.8") (source (origin (method git-fetch) @@ -340,7 +340,7 @@ coefficients of which are modular integers.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1s0wmbb42sq6a5kxgzsz5srphclmfa4cvxdx2h9kzp0da2zcp3cm")))) + (base32 "0qhgckd4fvbs40jw14mvw89rccv94d3df27kipd27hxd4cx7y80y")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 1c372554f7..c5ad6c72a1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1505,7 +1505,7 @@ understand the language at a deeper level.") (home-page "https://github.com/hadley/memoise") (synopsis "Memoise functions for R") (description - "This R package allows to cache the results of a function so that when + "This R package caches the results of a function so that when you call it again with the same arguments it returns the pre-computed value.") (license license:expat))) @@ -4781,7 +4781,7 @@ can be efficiently implemented directly in the R language.") (home-page "http://robustbase.r-forge.r-project.org/") (synopsis "Basic robust statistics") (description - "This package allows to analyze data with robust methods such as + "This package analyzes data with robust methods such as regression methodology including model selections and multivariate statistics.") (license license:gpl2+))) @@ -5257,7 +5257,7 @@ to Applied regression, Second Edition, Sage, 2011.") (home-page "https://github.com/kforner/rcpp_progress") (synopsis "Interruptible progress bar for C++ in R packages") (description - "This package allows to display a progress bar in the R console for long running + "This package displays a progress bar in the R console for long running computations taking place in C++ code, and support for interrupting those computations even in multithreaded code, typically using OpenMP.") (license license:gpl3+))) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index ae344541ea..ad4c30d064 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Petter <petter@mykolab.ch> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1022,29 +1023,27 @@ quoting, commenting, and escaping.") (license asl2.0)))) (define-public go-github-com-audriusbutkevicius-pfilter - (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d") - (revision "3")) - (package - (name "go-github-com-audriusbutkevicius-pfilter") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/AudriusButkevicius/pfilter.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/AudriusButkevicius/pfilter")) - (synopsis "Filter packets into multiple virtual connections") - (description "Pfilter is a Go package for filtering packets into multiple + (package + (name "go-github-com-audriusbutkevicius-pfilter") + (version "0.0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AudriusButkevicius/pfilter.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/AudriusButkevicius/pfilter")) + (synopsis "Filter packets into multiple virtual connections") + (description "Pfilter is a Go package for filtering packets into multiple virtual connections from a single physical connection.") - (home-page "https://github.com/AudriusButkevicius/pfilter") - (license expat)))) + (home-page "https://github.com/AudriusButkevicius/pfilter") + (license expat))) (define-public go-github-com-ccding-go-stun (let ((commit "be486d185f3dfcb2dbf8429332da50a0da7f95a6") diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index b7758f106d..36571e7846 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,12 +31,14 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) + #:use-module (gnu packages aspell) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) @@ -49,6 +52,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages libbsd) #:use-module (gnu packages libreoffice) + #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) @@ -61,6 +65,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) + #:use-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -187,6 +192,97 @@ interface similar to many user-friendly editors. JOE has some of the key bindings and many of the powerful features of GNU Emacs.") (license license:gpl3+))) +(define-public jucipp + (package + (name "jucipp") + (version "1.5.1") + (home-page "https://gitlab.com/cppit/jucipp") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)) + ;; Two submodules are required which are + ;; developed alongside JuCi++ and difficult + ;; to package separately. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v7fmsya2zn1xx59bkv4cbyinmcnv52hm4j40nbfwalcks631xrr")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DBUILD_TESTING=ON" + + ;; These arguments are here to facilitate an "in-source" + ;; build using "./build" instead of the default "../build". + ;; The test suite expects that to be the case. + "..") + #:out-of-source? #f + #:phases (modify-phases %standard-phases + (add-before 'configure 'enter-build-directory + (lambda _ + (mkdir "build") + (chdir "build") + #t)) + + ;; This phase is necessary to fix a test failure, see + ;; <https://gitlab.com/cppit/jucipp/-/issues/423>. + (add-after 'unpack 'add-reference-to-clang-internal-header + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/compile_commands.cc" + ((".*-I/usr/lib/clang.*" all) + (string-append "arguments.emplace_back(\"-I" + (assoc-ref inputs "libclang") + "/lib/clang/" + ,@(list (package-version clang)) + "/include\");\n" + all))) + #t)) + (add-after 'unpack 'patch-tiny-process-library + (lambda _ + (with-directory-excursion "lib/tiny-process-library" + (substitute* '("process_unix.cpp" + "tests/io_test.cpp") + (("/bin/sh") (which "sh")))) + #t)) + (add-after 'unpack 'disable-git-test + (lambda _ + (substitute* "tests/CMakeLists.txt" + ;; Disable the git test, as it requires the full checkout. + (("add_test\\(git_test.*\\)") "")) + #t)) + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Tests do not expect HOME to be empty. + (setenv "HOME" "/etc") + + ;; Most tests require an X server. + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + (system (string-append xorg-server "/bin/Xvfb " + display " &"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("aspell" ,aspell) + ("boost" ,boost) + ("gtkmm" ,gtkmm) + ("gtksourceviewmm" ,gtksourceviewmm) + ("libclang" ,clang) + ("libgit2" ,libgit2))) + (synopsis "Lightweight C++ IDE") + (description + "juCi++ is a small @dfn{IDE} (Integrated Development Environment) +designed especially towards libclang with speed, stability, and ease of use +in mind. + +It supports autocompletion, on-the-fly warnings and errors, syntax +highlighting, and integrates with Git as well as the CMake and Meson build +systems.") + (license license:expat))) + (define-public leafpad (package (name "leafpad") @@ -812,7 +908,7 @@ The basic features of Geany are: `(("ncurses" ,ncurses))) (home-page "http://www.moria.de/~michael/fe/") (synopsis "Small folding editor") - (description "Fe is a small folding editor. It allows to fold + (description "Fe is a small folding editor. It folds arbitrary text regions; it is not bound to syntactic units. Fe has no configuration or extension language and requires no setup. diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 5342f6e9ca..694f37cadd 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -684,6 +684,24 @@ write native speed custom Git applications in any language with bindings.") ;; GPLv2 with linking exception (license license:gpl2))) +(define-public libgit2-0.28 + (package + (inherit libgit2) + (version "0.28.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/libgit2/libgit2/releases/" + "download/v" version + "/libgit2-" version ".tar.gz")) + (sha256 + (base32 + "0hjgpqjjmkciw1i8jqkx9q2vhdc4fc99qajhrj2bq8ziwsp6hyrb")) + (patches (search-patches "libgit2-mtime-0.patch")) + (modules '((guix build utils))) + (snippet '(begin + (delete-file-recursively "deps") #t)))))) + (define-public git-crypt (package (name "git-crypt") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e6883b7365..1a70a2b7a1 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1273,7 +1273,7 @@ Browsers and other web clients can use it to avoid privacy-leaking highlighting parts of the domain in a user interface, and sorting domain lists by site. -Libpsl has built-in PSL data for fast access, allows to load PSL data from +Libpsl has built-in PSL data for fast access, allowing to load PSL data from files, checks if a given domain is a public suffix, provides immediate cookie domain verification, finds the longest public part of a given domain, finds the shortest private part of a given domain, works with international diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 4a6a88f471..86e0337884 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. @@ -328,7 +328,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "5.3") + (version "5.6") (source (origin (method git-fetch) @@ -337,7 +337,7 @@ integrate Windows applications into your desktop.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mvhrvshyrj7lgjgka735z6j8idwd6j58bpg5nz1slgmlh1llrs6")))) + (base32 "1i9yiwbyxl0vshc4gbgnhp53m1ray8pkiii876gbiaf93k1irk0d")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -387,7 +387,7 @@ integrate Windows applications into your desktop.") "/wine-" version ".tar.xz"))) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1pkzj3656ad0vmc7ciwfzn45lb2kxwbyymfwnqaa105dicicf6wv")))) + (base32 "1rh0pk8mbi3bb0di13swzxn7nwnrbfsfizdv472vv3ymf5z8l6ah")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("ffmpeg" ,ffmpeg) ("gtk+" ,gtk+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 9275e3cd38..424eb91827 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -604,7 +604,7 @@ System style license, and has no special dependencies.") (home-page "http://tomas.styblo.name/wmctrl/") (synopsis "Command-line tool to control X window managers") (description - "Wmctrl allows to interact with an X window manager that is compatible + "Wmctrl interacts with an X window manager that is compatible with the EWMH/NetWM specification. It can query the window manager for information, and request for certain window management actions (resize and move windows, switch between desktops, etc.).") @@ -637,7 +637,7 @@ move windows, switch between desktops, etc.).") (home-page "https://github.com/resurrecting-open-source-projects/scrot") (synopsis "Command-line screen capture utility for X Window System") (description - "Scrot allows to save a screenshot of a full screen, a window or a part + "Scrot saves a screenshot of a full screen, a window or a part of the screen selected by mouse.") ;; This license removes a clause about X Consortium from the original ;; X11 license. @@ -1057,7 +1057,7 @@ within a single process.") (home-page "https://github.com/alols/xcape") (synopsis "Use a modifier key in X.org as another key") (description - "This utility for X.org allows to use modifier key as another key when + "This utility for X.org uses a modifier key as another key when pressed and released on its own. The default behaviour is to generate the Escape key when Left Control is pressed and released on its own.") (license license:gpl3+))) @@ -1733,7 +1733,7 @@ commandline).") `(#:tests? #f)) (synopsis "Use external screen locker on events") (description "@code{xss-lock} listens to X signals to fire up a -user-defined screensaver. In effect this allows to automatically lock the +user-defined screensaver. In effect this automatically locks the screen when closing a laptop lid or after a period of user inactivity (as set with @code{xset s TIMEOUT}). The notifier command, if specified, is executed first. Additionally, xss-lock uses the inhibition logic to lock the screen diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 09a0ebc7a4..c17cd8ed40 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -204,7 +204,7 @@ to share commonly used Xfce widgets among the Xfce applications.") (define-public exo (package (name "exo") - (version "0.12.10") + (version "0.12.11") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -212,7 +212,7 @@ to share commonly used Xfce widgets among the Xfce applications.") "exo-" version ".tar.bz2")) (sha256 (base32 - "1b3w4pf9gkcp13h63nf93k95hkw0ij7v5y7wjklqd1qifm8xd3w4")))) + "1dp5s64g6572h9zvx9js7qc72s728qsd9y7hl7hg6rwaq0cjb2gc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -222,7 +222,7 @@ to share commonly used Xfce widgets among the Xfce applications.") `(("gtk+-3" ,gtk+) ("libxfce4util" ,libxfce4util))) (inputs - `(;; FIXME Refered to in exo-1.pc but conflict with gtk+-3 + `(;; FIXME Referred to in exo-1.pc but conflict with gtk+-3. ("gtk+-2" ,gtk+-2) ("libxfce4ui" ,libxfce4ui) ("perl-uri" ,perl-uri))) @@ -238,7 +238,7 @@ development.") (define-public garcon (package (name "garcon") - (version "0.6.4") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -246,17 +246,17 @@ development.") "garcon-" version ".tar.bz2")) (sha256 (base32 - "0bbngb4bn1m325j7y40gky36kn2nlsvqs6xp0wy76x3s0d9lfpnp")))) + "08r4dfvdvl178cjajm7ww16lwb7jsfqh3yz614mn84c0a0dvdhw2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("glib:bin" ,glib "bin"))) (inputs - `(("gtk+-2" ,gtk+-2))); required by garcon-gtk2-1.pc + `(("gtk+-2" ,gtk+-2))) ; required by garcon-gtk2-1.pc (propagated-inputs `(("gtk+-3" ,gtk+) ; required by garcon-gtk3-1.pc - ("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk3-1.pc + ("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk3-1.pc (home-page "https://www.xfce.org/") (synopsis "Implementation of the freedesktop.org menu specification") (description @@ -387,7 +387,7 @@ applications menu, workspace switcher and more.") (define-public xfce4-clipman-plugin (package (name "xfce4-clipman-plugin") - (version "1.4.4") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -395,7 +395,7 @@ applications menu, workspace switcher and more.") "xfce4-clipman-plugin-" version ".tar.bz2")) (sha256 (base32 - "1819kjn7gs30zhhj2ppfw4zjpcgj9amw1vvppjsavsff1xflrq88")))) + "1d6fxdzy9b511hqcyj7825fx67q6zqk6cln4g3x9d498jrvk3s5k")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -418,19 +418,20 @@ matching them against regular expressions.") (define-public xfce4-pulseaudio-plugin (package (name "xfce4-pulseaudio-plugin") - (version "0.4.2") - (source (origin - (method url-fetch) - (uri (string-append "https://archive.xfce.org/src/panel-plugins/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "0851b0vs5xmy3cq899khcghmkqwvh9rnzwavi17msrsq4jyaxs2a")))) + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" + "xfce4-pulseaudio-plugin/" + (version-major+minor version) "/" + "xfce4-pulseaudio-plugin-" version ".tar.bz2")) + (sha256 + (base32 "0nv1lbkshfzar87f6xq1ib120pjja24r7135rbc42wqkw8vq4las")))) (build-system gnu-build-system) (arguments `(#:phases - ;; For dbus/dbus-glib.h in pulseaudio-config.h + ;; For dbus/dbus-glib.h in pulseaudio-config.h. (modify-phases %standard-phases (add-after 'set-paths 'augment-cflags (lambda* (#:key inputs #:allow-other-keys) @@ -464,7 +465,7 @@ keys for controlling the audio volume.") (define-public xfce4-whiskermenu-plugin (package (name "xfce4-whiskermenu-plugin") - (version "2.3.4") + (version "2.4.3") (source (origin (method url-fetch) @@ -472,7 +473,7 @@ keys for controlling the audio volume.") "xfce4-whiskermenu-plugin/" (version-major+minor version) "/" "xfce4-whiskermenu-plugin-" version ".tar.bz2")) (sha256 - (base32 "03jpcbdpkgg825g7mr630wxynachymsrnyhz32mkl0jsd4sxxlw4")))) + (base32 "1w2zvqr0g6miliv3nb0shljfawwc1brdn2fyz4kvfg7b3klyxyir")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -563,15 +564,15 @@ your system in categories, so you can quickly find and launch them.") (define-public xfce4-session (package (name "xfce4-session") - (version "4.14.0") + (version "4.14.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfce4-session/" (version-major+minor version) "/" + "xfce4-session-" version ".tar.bz2")) (sha256 (base32 - "0gq4a8yiw58hb4d5dhvprxvzamqfg8qblmiqcw0b97mn9svnvyql")) + "1bwpylcn7x9i301yz45wvkzah9bncv9b44nf4hh9ln4i1jka9qzv")) (modules '((guix build utils))) (snippet '(begin @@ -602,7 +603,7 @@ your system in categories, so you can quickly find and launch them.") (synopsis "Xfce session manager") (description "Session manager for Xfce, it will restore your session on startup and -allows you to shutdown the computer from Xfce.") +allows you to shut down the computer from Xfce.") (license gpl2+))) (define-public xfce4-settings @@ -1160,7 +1161,7 @@ A plugin for the Xfce panel is also available.") (define-public xfce4-screensaver (package (name "xfce4-screensaver") - (version "0.1.9") + (version "0.1.10") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -1170,7 +1171,7 @@ A plugin for the Xfce panel is also available.") version ".tar.bz2")) (sha256 (base32 - "11p48yyjgy6crwfbyvm16yg0rkzn90ssd2wygzmwvwrx3wkzyhsp")))) + "0mqxbyq9np6jzky8y35dlxxmk78q2w0jvwg9kh7a4ib7vmw1qvsq")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 794dad517e..7c71bf0a28 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -74,7 +74,7 @@ '(#:configure-flags '("--disable-static"))) (synopsis "Library for manipulating the ogg multimedia format") (description - "The libogg library allows to manipulate the ogg multimedia container + "The libogg library manipulates the ogg multimedia container format, which encapsulates raw compressed data and allows the interleaving of audio and video data. In addition to encapsulation and interleaving of multiple data streams, ogg provides packet framing, error detection, and diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index d473c5342e..989e439d5d 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -285,7 +285,7 @@ and max_workers parameter.") (string "3:remote 4:event") "Logging filters. -A filter allows to select a different logging level for a given category +A filter allows selecting a different logging level for a given category of logs The format for a filter is one of: @itemize diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scm index ff6fcf5fe3..e8ebcf8ba0 100644 --- a/guix/build/julia-build-system.scm +++ b/guix/build/julia-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2019, 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,53 +37,46 @@ ;; subpath where we store the package content (define %package-path "/share/julia/packages/") -(define (generate-load-path inputs outputs) - (string-append - (string-join (map (match-lambda - ((_ . path) - (string-append path %package-path))) - ;; Restrict to inputs beginning with "julia-". - (filter (match-lambda - ((name . _) - (string-prefix? "julia-" name))) - inputs)) - ":") - (string-append ":" (assoc-ref outputs "out") %package-path) - ;; stdlib is always required to find Julia's standard libraries. - ;; usually there are other two paths in this variable: - ;; "@" and "@v#.#" - ":@stdlib")) - (define* (install #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package-dir (string-append out %package-path - (string-append - (strip-store-file-name source))))) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (strip-store-file-name source)))) (mkdir-p package-dir) - (copy-recursively source package-dir)) + (copy-recursively (getcwd) package-dir)) #t) -;; TODO: Precompilation is working, but I don't know how to tell -;; julia to use use it. If (on rantime) we set HOME to -;; store path, julia tries to write files there (failing) (define* (precompile #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (builddir (string-append out "/share/julia/")) (package (strip-store-file-name source))) (mkdir-p builddir) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) - ;; Actual precompilation - (invoke-julia (string-append "using " package))) + ;; Add new package dir to the load path. + (setenv "JULIA_LOAD_PATH" + (string-append builddir "packages/" ":" + (or (getenv "JULIA_LOAD_PATH") + ""))) + ;; Actual precompilation: + (invoke-julia + ;; When using Julia as a user, Julia writes precompile cache to the first + ;; entry of the DEPOT_PATH list (by default, the home dir). We want to + ;; write it to the store, so let's push the store path as the first + ;; element of DEPOT_PATH. Once the cache file exists, this hack is not + ;; needed anymore (like in the check phase). If the user install new + ;; packages, those will be installed and precompiled in the home dir. + (string-append "pushfirst!(DEPOT_PATH, pop!(DEPOT_PATH)); using " package))) #t) (define* (check #:key source inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (package (strip-store-file-name source)) (builddir (string-append out "/share/julia/"))) + ;; With a patch, SOURCE_DATE_EPOCH is honored + (setenv "SOURCE_DATE_EPOCH" "1") (setenv "JULIA_DEPOT_PATH" builddir) - (setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs)) + (setenv "JULIA_LOAD_PATH" (string-append builddir "packages/")) (invoke-julia (string-append "using Pkg;Pkg.test(\"" package "\")"))) #t) diff --git a/guix/self.scm b/guix/self.scm index e3b36b9407..842161400e 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -489,6 +489,13 @@ TRANSLATIONS, an alist of msgid and msgstr." (computed-file "guix-manual" build)) +(define-syntax-rule (prevent-inlining! identifier ...) + (begin (set! identifier identifier) ...)) + +;; XXX: These procedures are actually used by 'doc/build.scm'. Protect them +;; from inlining on Guile 3. +(prevent-inlining! file-append* translate-texi-manuals info-manual) + (define* (guile-module-union things #:key (name "guix-module-union")) "Return the union of the subset of THINGS (packages, computed files, etc.) that provide Guile modules." |