diff options
author | Leo Famulari <leo@famulari.name> | 2016-10-26 18:59:28 -0400 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2016-10-26 19:00:06 -0400 |
commit | 02c73adcdf0f29dbecd9a1bb3c9be3626cd5dea9 (patch) | |
tree | fb8fadc87f5b82dc35f44831af8b79eec37887b3 /gnu | |
parent | a19da40630138acea7169491a6926e00cf7d301b (diff) | |
parent | 5d73e3000030006b00e7e6644f3ced5d6176376e (diff) | |
download | guix-02c73adcdf0f29dbecd9a1bb3c9be3626cd5dea9.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
38 files changed, 1583 insertions, 416 deletions
diff --git a/gnu/build/svg.scm b/gnu/build/svg.scm new file mode 100644 index 0000000000..f7e92a1a19 --- /dev/null +++ b/gnu/build/svg.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu build svg) + #:use-module (srfi srfi-11) + #:export (svg->png)) + +;; We need Guile-RSVG and Guile-Cairo. Load them lazily, at run time, to +;; allow compilation to proceed. See also <http://bugs.gnu.org/12202>. +(module-autoload! (current-module) + '(rsvg) '(rsvg-handle-new-from-file)) +(module-autoload! (current-module) + '(cairo) '(cairo-image-surface-create)) + +(define* (downscaled-surface surface + #:key + source-width source-height + width height) + "Return a new rendering context where SURFACE is scaled to WIDTH x HEIGHT." + (let ((cr (cairo-create (cairo-image-surface-create 'argb32 + width height)))) + (cairo-scale cr (/ width source-width) (/ height source-height)) + (cairo-set-source-surface cr surface 0 0) + (cairo-pattern-set-filter (cairo-get-source cr) 'best) + (cairo-rectangle cr 0 0 source-width source-height) + (cairo-fill cr) + cr)) + +(define* (svg->png in-svg out-png + #:key width height) + "Render the file at IN-SVG as a PNG file in OUT-PNG. When WIDTH and HEIGHT +are provided, use them as the dimensions of OUT-PNG; otherwise preserve the +dimensions of IN-SVG." + (define svg + (rsvg-handle-new-from-file in-svg)) + + (let-values (((origin-width origin-height) + (rsvg-handle-get-dimensions svg))) + (let* ((surf (cairo-image-surface-create 'argb32 + origin-width origin-height)) + (cr (cairo-create surf))) + (rsvg-handle-render-cairo svg cr) + (cairo-surface-flush surf) + (let ((cr (if (and width height + (not (= width origin-width)) + (not (= height origin-height))) + (downscaled-surface surf + #:source-width origin-width + #:source-height origin-height + #:width width + #:height height) + cr))) + (cairo-surface-write-to-png (cairo-get-target cr) out-png))))) + +;;; svg.scm ends here diff --git a/gnu/local.mk b/gnu/local.mk index 446c5e1172..083067c879 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -229,6 +229,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/llvm.scm \ %D%/packages/lout.scm \ %D%/packages/logging.scm \ + %D%/packages/lolcode.scm \ %D%/packages/lsof.scm \ %D%/packages/lua.scm \ %D%/packages/lxde.scm \ @@ -327,6 +328,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/sdcc.scm \ %D%/packages/sdl.scm \ %D%/packages/search.scm \ + %D%/packages/security-token.scm \ %D%/packages/serialization.scm \ %D%/packages/serveez.scm \ %D%/packages/shells.scm \ @@ -386,7 +388,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/xdisorg.scm \ %D%/packages/xorg.scm \ %D%/packages/xfce.scm \ - %D%/packages/yubico.scm \ %D%/packages/zile.scm \ %D%/packages/zip.scm \ \ @@ -433,6 +434,7 @@ GNU_SYSTEM_MODULES = \ %D%/build/linux-initrd.scm \ %D%/build/linux-modules.scm \ %D%/build/marionette.scm \ + %D%/build/svg.scm \ %D%/build/vm.scm \ \ %D%/tests.scm \ @@ -486,6 +488,7 @@ dist_patch_DATA = \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/clx-remove-demo.patch \ %D%/packages/patches/cmake-fix-tests.patch \ + %D%/packages/patches/coda-use-system-libs.patch \ %D%/packages/patches/cpio-CVE-2016-2037.patch \ %D%/packages/patches/cpufrequtils-fix-aclocal.patch \ %D%/packages/patches/cracklib-CVE-2016-6318.patch \ @@ -589,6 +592,9 @@ dist_patch_DATA = \ %D%/packages/patches/hdf4-reproducibility.patch \ %D%/packages/patches/hdf4-shared-fortran.patch \ %D%/packages/patches/hdf5-config-date.patch \ + %D%/packages/patches/hdf-eos2-build-shared.patch \ + %D%/packages/patches/hdf-eos2-remove-gctp.patch \ + %D%/packages/patches/hdf-eos2-fortrantests.patch \ %D%/packages/patches/hdf-eos5-build-shared.patch \ %D%/packages/patches/hdf-eos5-remove-gctp.patch \ %D%/packages/patches/hdf-eos5-fix-szip.patch \ @@ -671,7 +677,6 @@ dist_patch_DATA = \ %D%/packages/patches/libwmf-CVE-2015-4696.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ - %D%/packages/patches/linux-libre-4.1-CVE-2016-5195.patch \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ @@ -703,7 +708,9 @@ dist_patch_DATA = \ %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ %D%/packages/patches/mupdf-CVE-2016-6265.patch \ %D%/packages/patches/mupdf-CVE-2016-6525.patch \ + %D%/packages/patches/mupdf-CVE-2016-8674.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ + %D%/packages/patches/musl-CVE-2016-8859.patch \ %D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/nasm-no-ps-pdf.patch \ %D%/packages/patches/net-tools-bitrot.patch \ @@ -714,7 +721,6 @@ dist_patch_DATA = \ %D%/packages/patches/ninja-tests.patch \ %D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/node-9077.patch \ - %D%/packages/patches/notmuch-emacs-25-compatibility-fix.patch \ %D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d0b8056179..fa35531868 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -602,15 +602,19 @@ e.g. microbiome samples, genomes, metagenomes.") (map (compose package-transitive-target-inputs cadr) inputs)))))) (package (name "bioperl-minimal") - (version "1.6.924") + (version "1.7.0") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-" - version ".tar.gz")) + (uri (string-append "https://github.com/bioperl/bioperl-live/" + "archive/release-" + (string-map (lambda (c) + (if (char=? c #\.) + #\- c)) version) + ".tar.gz")) (sha256 (base32 - "1l3npcvvvwjlhkna9dndpfv1hklhrgva013kw96m0n1wpd37ask1")))) + "12phgpxwgkqflkwfb9dcqg7a31dpjlfhar8wcgv0aj5ln4akfz06")))) (build-system perl-build-system) (arguments `(#:phases @@ -5190,14 +5194,14 @@ data types as well.") (define-public r-annotate (package (name "r-annotate") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "annotate" version)) (sha256 (base32 - "00wnhbjp5i6a5vyvlq4f5hs8qngjxz7fm869kla1spmd0dp2ynsy")))) + "1fd2csq7dcs2gwndgwdx2nwkymz8gsmlnqqzv3p0vjjsvvq5n2a8")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -5216,14 +5220,14 @@ microarrays.") (define-public r-geneplotter (package (name "r-geneplotter") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "geneplotter" version)) (sha256 (base32 - "0lvrywl0251g4y0h0qlgkbg4l83ja5544c85z1wj30qxiy77iqc2")))) + "1p6yvxi243irhjxwm97hp73abhwampj0myyf8z00ij166674pc7h")))) (build-system r-build-system) (propagated-inputs `(("r-annotate" ,r-annotate) @@ -5241,14 +5245,14 @@ microarrays.") (define-public r-genefilter (package (name "r-genefilter") - (version "1.54.2") + (version "1.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "genefilter" version)) (sha256 (base32 - "1hmz6as0njvrsrdbgmk72jyclnnqvfdvp6kqv456h43ldq2ajfv5")))) + "1vzgciqd09csqcw9qync8blsv51ylrd86a65iadgyy6j26g01fwd")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5267,14 +5271,14 @@ high-throughput sequencing experiments.") (define-public r-deseq2 (package (name "r-deseq2") - (version "1.12.4") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq2" version)) (sha256 (base32 - "12h77f0dpi5xaj7aqf50kkyn6lq9j7bcsly1r0ffmyfcszrp1sfx")))) + "0kq06jy4xg5ii3a9l62f17kirsfx0gsiwq6mhiy985cqzpdn893g")))) (properties `((upstream-name . "DESeq2"))) (build-system r-build-system) (arguments @@ -5312,14 +5316,14 @@ distribution.") (define-public r-annotationforge (package (name "r-annotationforge") - (version "1.14.2") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationForge" version)) (sha256 (base32 - "1vkdd1qdv5g680ipw4vwjvn52xn66xpg6ngmwyknz77ckxnnpf4q")))) + "02msyb9p3hywrryx00zpjkjl126mrv827i1ah1092s0cplm6xxvf")))) (properties `((upstream-name . "AnnotationForge"))) (build-system r-build-system) @@ -5328,6 +5332,7 @@ distribution.") ("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) ("r-dbi" ,r-dbi) + ("r-rcurl" ,r-rcurl) ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors) ("r-xml" ,r-xml))) @@ -5341,14 +5346,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.") (define-public r-rbgl (package (name "r-rbgl") - (version "1.48.1") + (version "1.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RBGL" version)) (sha256 (base32 - "1k82zcbyfx3p9hc8r0hwq73krbhakjan8fgbfr6w8z2crfkv3zmz")))) + "1q14m8w6ih56v680kf3d9wh1qbgp7af33kz3cxafdf1vvzx9km08")))) (properties `((upstream-name . "RBGL"))) (build-system r-build-system) (propagated-inputs `(("r-graph" ,r-graph))) @@ -5362,14 +5367,14 @@ the graph algorithms contained in the Boost library.") (define-public r-gseabase (package (name "r-gseabase") - (version "1.34.1") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GSEABase" version)) (sha256 (base32 - "1mvgja8malrnbzfakzjl5mmi7g080kj8zgxwc5964hcmn33i937j")))) + "0l2x7yj7lfb0m2dmsav5ib026dikpgl4crdckrnj776yy08lgxpj")))) (properties `((upstream-name . "GSEABase"))) (build-system r-build-system) (propagated-inputs @@ -5389,14 +5394,14 @@ Enrichment Analysis} (GSEA).") (define-public r-category (package (name "r-category") - (version "2.38.0") + (version "2.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Category" version)) (sha256 (base32 - "0c8px9ar589f3iqkbk9vfhwj30dpnxj81h8sfq20cl1cbmcx2a04")))) + "16ncwz7b4y48k0p3fvbrbmvf7nfz63li9ysgcl8kp9kl4hg7llng")))) (properties `((upstream-name . "Category"))) (build-system r-build-system) (propagated-inputs @@ -5420,14 +5425,14 @@ analysis.") (define-public r-gostats (package (name "r-gostats") - (version "2.38.1") + (version "2.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GOstats" version)) (sha256 (base32 - "1hhw6vqr8f3g4jzq0v8f2za0r1h117j5s6av87zxs41cv7dq1wb3")))) + "0g2czm94zhzx92z7y2r4mjfxhwml7bhab2db6820ks8nkw1zvr9n")))) (properties `((upstream-name . "GOstats"))) (build-system r-build-system) (propagated-inputs @@ -5450,14 +5455,14 @@ testing and other simple calculations.") (define-public r-shortread (package (name "r-shortread") - (version "1.30.0") + (version "1.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ShortRead" version)) (sha256 (base32 - "0qlxns4bhwfpafx3km2lnivgl2qyp7n4g1ardm6vrinpq8paxbjg")))) + "0mjdlg92x5qw4x2djc4dv5lxwl7ai6ix56nnf86zr07jk8vc7yls")))) (properties `((upstream-name . "ShortRead"))) (build-system r-build-system) (inputs @@ -5492,14 +5497,14 @@ ungapped alignment formats.") (define-public r-systempiper (package (name "r-systempiper") - (version "1.6.4") + (version "1.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "systemPipeR" version)) (sha256 (base32 - "0s2g46a5d5bvx45i3cgmib48wf8hrniyladhm0f7kgcbfx57248m")))) + "0hyi841w8fm2yzpm6lwqi3jz5kc8ny8dy5p29dxynzaw5bpjw56d")))) (properties `((upstream-name . "systemPipeR"))) (build-system r-build-system) (propagated-inputs @@ -5538,14 +5543,14 @@ annotation infrastructure.") (define-public r-grohmm (package (name "r-grohmm") - (version "1.6.0") + (version "1.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "groHMM" version)) (sha256 (base32 - "1l9mcyzyc548114ysb9r0q7hgzw3yy7gpiahrzkzj6hblc4f1jyp")))) + "0d91nyhqbi5hv3mgmr2z0g29wg2md26g0hyv5mgapmz20cd9zi4y")))) (properties `((upstream-name . "groHMM"))) (build-system r-build-system) (propagated-inputs @@ -5852,13 +5857,13 @@ barplots or heatmaps.") (define-public r-biocgenerics (package (name "r-biocgenerics") - (version "0.18.0") + (version "0.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocGenerics" version)) (sha256 (base32 - "1jjp48vbph09w5bmc7368gjjywsa1lmzfybpiwlypr60b51vlkp6")))) + "06szdz7dfs1iyv5zdl4fjzad18nnf1zf3wvglc6c6yd9mrqlf7vk")))) (properties `((upstream-name . "BiocGenerics"))) (build-system r-build-system) @@ -5872,13 +5877,13 @@ packages.") (define-public r-biocinstaller (package (name "r-biocinstaller") - (version "1.22.3") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocInstaller" version)) (sha256 (base32 - "02qkfq6f2b7v9klri6d1nv21r54bywv1zd5x47ka0jhhp946cqpr")))) + "0y1y5wmy6lzjqx3hdg15n91d417ccjj8dbvdkhmp99bs5aijwcpn")))) (properties `((upstream-name . "BiocInstaller"))) (build-system r-build-system) @@ -6032,13 +6037,13 @@ that accept short and long options.") (define-public r-dnacopy (package (name "r-dnacopy") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DNAcopy" version)) (sha256 (base32 - "0vwv2mndfjpcjp4sybg75abc7xnx8zyw8zjk717k6xh8c33ymcip")))) + "1idyvfvy7xx8k9vk00y4k3819qmip8iqm809j3vpxabmsn7r9zyh")))) (properties `((upstream-name . "DNAcopy"))) (build-system r-build-system) @@ -6054,13 +6059,13 @@ abnormal copy number.") (define-public r-s4vectors (package (name "r-s4vectors") - (version "0.10.3") + (version "0.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "S4Vectors" version)) (sha256 (base32 - "09lrvy3d5q58hsgw9as4hyyx07k1vyy2zjn3xsvhyfd97yk6w6lv")))) + "0m0npc0vhmcwcxws7v2f8k4hvvrjvnlrsr94klxf4a8m4xw2xzzk")))) (properties `((upstream-name . "S4Vectors"))) (build-system r-build-system) @@ -6081,14 +6086,14 @@ S4Vectors package itself.") (define-public r-seqinr (package (name "r-seqinr") - (version "3.3-1") + (version "3.3-3") (source (origin (method url-fetch) (uri (cran-uri "seqinr" version)) (sha256 (base32 - "1al83y6m7739dz2j895yihksm0s5l45ialid4yw911ylbg3w6cm1")))) + "0rk4yba8km26c0rh1f4h474zsb5n6kjmqsi55bnzr6p8pymp18hj")))) (build-system r-build-system) (propagated-inputs `(("r-ade4" ,r-ade4) @@ -6106,13 +6111,13 @@ utilities for sequence data management under the ACNUC system.") (define-public r-iranges (package (name "r-iranges") - (version "2.6.1") + (version "2.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "IRanges" version)) (sha256 (base32 - "06pyam3bjjfw2m3l86rda503lsz2jcg645lcnhvrz6qi0nv359yg")))) + "0cdl1sfd3cvf93lnz91fdk64fbg1mnd5g958dwh1il8r358hqq3f")))) (properties `((upstream-name . "IRanges"))) (build-system r-build-system) @@ -6135,13 +6140,13 @@ possible.") (define-public r-genomeinfodb (package (name "r-genomeinfodb") - (version "1.8.7") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomeInfoDb" version)) (sha256 (base32 - "1x96468bbjx7z3ikp1dgr2krnz9pwx86vmssfbfrsikaxfs4q829")))) + "0nhg4bk38gzvf3mvnbqgisbbhfv1kzjld27z1z9knnlkplkiyyyv")))) (properties `((upstream-name . "GenomeInfoDb"))) (build-system r-build-system) @@ -6161,17 +6166,18 @@ names in their natural, rather than lexicographic, order.") (define-public r-edger (package (name "r-edger") - (version "3.14.0") + (version "3.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "edgeR" version)) (sha256 (base32 - "14vrygy7rz5ngaap4kgkvr3j18y5l6m742n79h68plk6iqgmsskn")))) + "1qr20j55m35dwzqyzzmla69gk5bzff8v1v2qjh7yd3362wq1ch49")))) (properties `((upstream-name . "edgeR"))) (build-system r-build-system) (propagated-inputs - `(("r-limma" ,r-limma))) + `(("r-limma" ,r-limma) + ("r-locfit" ,r-locfit))) (home-page "http://bioinf.wehi.edu.au/edgeR") (synopsis "EdgeR does empirical analysis of digital gene expression data") (description "This package can do differential expression analysis of @@ -6186,27 +6192,33 @@ CAGE.") (define-public r-variantannotation (package (name "r-variantannotation") - (version "1.18.7") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantAnnotation" version)) (sha256 (base32 - "002kif2c66wbcng953m3g1jys7w1lgz7hh3zsk4jlnhc20jdv1vj")))) + "1lwzfgahz8ipwli73kcfqb18y6adi129hap1gnycnj3980m54i8q")))) (properties `((upstream-name . "VariantAnnotation"))) (inputs `(("zlib" ,zlib))) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) + ("r-biostrings" ,r-biostrings) ("r-bsgenome" ,r-bsgenome) ("r-dbi" ,r-dbi) ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector) ("r-zlibbioc" ,r-zlibbioc))) (build-system r-build-system) (home-page "https://bioconductor.org/packages/VariantAnnotation") @@ -6218,13 +6230,13 @@ coding changes and predict coding outcomes.") (define-public r-limma (package (name "r-limma") - (version "3.28.21") + (version "3.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "1dvisifd2rr7s1rrsqj5vrv2qcg4la4yi2ajbn0zkk5z81ffxv9f")))) + "0d8wp7b7nymawf4czwsg27k4c61i4ij2lhv7phi6cb3hdd8c76yf")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -6237,13 +6249,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") (define-public r-xvector (package (name "r-xvector") - (version "0.12.1") + (version "0.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "XVector" version)) (sha256 (base32 - "1kydy9f5y0ihn2mbkamr1kh0g1d3g1k9d7s4i09qgw9ysr6j414v")))) + "09lbqxpqr80g0kw77mpz0p1a8cq706j33kz8194wp71il67cdzi7")))) (properties `((upstream-name . "XVector"))) (build-system r-build-system) @@ -6273,19 +6285,21 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") (define-public r-genomicranges (package (name "r-genomicranges") - (version "1.24.3") + (version "1.26.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicRanges" version)) (sha256 (base32 - "098a34hfgb5z120v6wpl5nv8v61nm65yg6xq0j7i9bigvxr7apg2")))) + "039nxccg9i2an8q2wni79x8dr9p1fcfcqvih9hg9w243pczg2g3c")))) (properties `((upstream-name . "GenomicRanges"))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) ("r-genomeinfodb" ,r-genomeinfodb) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) (home-page "http://bioconductor.org/packages/GenomicRanges") (synopsis "Representation and manipulation of genomic intervals") @@ -6300,13 +6314,13 @@ manipulating genomic intervals and variables defined along a genome.") (define-public r-biobase (package (name "r-biobase") - (version "2.32.0") + (version "2.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Biobase" version)) (sha256 (base32 - "0q4icv9n5rc2qfkv6k1wjhmfcpzcyr8f45m2z3xharbdv912kl1i")))) + "0js9j9wqls8f571ifl9ylllbb9a9hwf7b7drf2grwb1fl31ldazl")))) (properties `((upstream-name . "Biobase"))) (build-system r-build-system) @@ -6322,13 +6336,13 @@ on Bioconductor or which replace R functions.") (define-public r-annotationdbi (package (name "r-annotationdbi") - (version "1.34.4") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationDbi" version)) (sha256 (base32 - "1k3gfsjrivc7467vg0h705hh4dvzgdhknz62j7zmfxm67qk9r8rq")))) + "0ydrqw1k1j5p6w76bwc753cx545c055x88q87wzya93858synj6r")))) (properties `((upstream-name . "AnnotationDbi"))) (build-system r-build-system) @@ -6349,13 +6363,13 @@ annotation data packages using SQLite data storage.") (define-public r-biomart (package (name "r-biomart") - (version "2.28.0") + (version "2.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biomaRt" version)) (sha256 (base32 - "1g0w6an9hkflgyhvq6pmrs92s93qarv23v636b9a4bz771wjvm5v")))) + "1x0flcghq71784q2l02j0g4f9jkmyb14f6i307n6c59d6ji7h7x6")))) (properties `((upstream-name . "biomaRt"))) (build-system r-build-system) @@ -6379,13 +6393,13 @@ powerful online queries from gene annotation to database mining.") (define-public r-biocparallel (package (name "r-biocparallel") - (version "1.6.6") + (version "1.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocParallel" version)) (sha256 (base32 - "1l39zmvhjlvlczrk5wal4y2s4g0b2kmaczgq5biah9qn45y474mw")))) + "0vz23i14f7wjygr5d4y1hp8ki6l6igwcsjscfpr6dcigmknyi55c")))) (properties `((upstream-name . "BiocParallel"))) (build-system r-build-system) @@ -6403,13 +6417,13 @@ objects.") (define-public r-biostrings (package (name "r-biostrings") - (version "2.40.2") + (version "2.42.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Biostrings" version)) (sha256 (base32 - "153rfws5sdha324p1nv7jp75ip6ny0f62jzhqcvs46l85h3i8zgh")))) + "08z8lkz3axa94wkf144a931ry6vf6cc25avi1ywr84ln2k5czz9f")))) (properties `((upstream-name . "Biostrings"))) (build-system r-build-system) @@ -6429,13 +6443,13 @@ biological sequences or sets of sequences.") (define-public r-rsamtools (package (name "r-rsamtools") - (version "1.24.0") + (version "1.26.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsamtools" version)) (sha256 (base32 - "0w0drs8cpk8nlazq64ag7nm1w5jd1m8riialivm01hz5zcra7scb")))) + "0pf4f6brf4bl5zgjrah0f38qslazrs49ayqgyh0xfqgrh63yx4ck")))) (properties `((upstream-name . "Rsamtools"))) (build-system r-build-system) @@ -6473,13 +6487,13 @@ files.") (define-public r-summarizedexperiment (package (name "r-summarizedexperiment") - (version "1.2.3") + (version "1.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "SummarizedExperiment" version)) (sha256 (base32 - "0c43fsrha886sd0diislnlf8r5h5x7fbhphkzcm0rw3k2jz8wlyk")))) + "1kbj8sg2ik9f8d6g95wz0py62jldg01qy5rsdpg1cxw95nf7dzi3")))) (properties `((upstream-name . "SummarizedExperiment"))) (build-system r-build-system) @@ -6502,13 +6516,13 @@ samples.") (define-public r-genomicalignments (package (name "r-genomicalignments") - (version "1.8.4") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicAlignments" version)) (sha256 (base32 - "1cccvalmm83ilk1kpq31ll8kdy9xclsr4pm4mlcc7bmp0rwkd2p2")))) + "11vb0a0zd36i4yhg4mfijv787v0nihn6pkjj6q7rfy19gwy61xlc")))) (properties `((upstream-name . "GenomicAlignments"))) (build-system r-build-system) @@ -6535,13 +6549,13 @@ alignments.") (define-public r-rtracklayer (package (name "r-rtracklayer") - (version "1.32.2") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "rtracklayer" version)) (sha256 (base32 - "190767zpwc7maqjpy0x5bpkm0jp1vfawy9991fifw0mc634cjkga")))) + "0mix5k75j70mwplbdipqw71n8qic75ny6y8w2f5jj0pqg1k0327d")))) (build-system r-build-system) (arguments `(#:phases @@ -6580,13 +6594,13 @@ as well as query and modify the browser state, such as the current viewport.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.24.5") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "17qpisdgqyjz2mnaiwc4dx7dg11pwq3mkvmkah9zn07g9rhh8f7p")))) + "0z8spi2knwzwi10c38vr7xlvi3ah9faj7m1lka880mmxkl9cai4k")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -6621,7 +6635,7 @@ extracting the desired features in a convenient format.") (define-public r-go-db (package (name "r-go-db") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (string-append "http://www.bioconductor.org/packages/" @@ -6629,7 +6643,7 @@ extracting the desired features in a convenient format.") version ".tar.gz")) (sha256 (base32 - "0x2hkbhg9d8waw32hdn05887vv3zbs5aqff3mf5vfyzvl7xhgxy0")))) + "02cj8kqi5w39jwcs8gp1dgj08sah262ppxnkz4h3qd0w191y8yyl")))) (properties `((upstream-name . "GO.db"))) (build-system r-build-system) @@ -6645,13 +6659,13 @@ information about the latest version of the Gene Ontologies.") (define-public r-graph (package (name "r-graph") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "graph" version)) (sha256 (base32 - "0ys5s19m5r30rlr0fnx2h0z2qw7n2xrad4l2yfb1bbrk8dwyf4pi")))) + "0g3dk5vsdp489fmyg8mifczmzgqrjlakkkr8i96dj15gghp3l135")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics))) @@ -6664,18 +6678,19 @@ information about the latest version of the Gene Ontologies.") (define-public r-topgo (package (name "r-topgo") - (version "2.24.0") + (version "2.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "topGO" version)) (sha256 (base32 - "1p4vsl32qhjw15yv9ym01ni63gjg73jaghlf17wc4zfn3iaz2zar")))) + "0j6sgvam4lk9348ag6pypcbkv93x4fk0di8ivhr23mz2s2yqzwrx")))) (properties `((upstream-name . "topGO"))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) + ("r-dbi" ,r-dbi) ("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) ("r-go-db" ,r-go-db) @@ -6695,13 +6710,13 @@ dependencies between GO terms can be implemented and applied.") (define-public r-bsgenome (package (name "r-bsgenome") - (version "1.40.1") + (version "1.42.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BSgenome" version)) (sha256 (base32 - "0zmlzlcwairka59is5wmkh6knh6j4d328z9fsw3v91fx6gavjl2n")))) + "0hxwc02h5mzhkrk60d1jmlsfjf0ai9jxdc0128kj1sg4r2k1q94y")))) (properties `((upstream-name . "BSgenome"))) (build-system r-build-system) @@ -6725,13 +6740,13 @@ genome data packages and support for efficient SNP representation.") (define-public r-impute (package (name "r-impute") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "impute" version)) (sha256 (base32 - "0v9ibgv8kp8il52miz7b7z65mv6irqxylx6lfzkxgvxd970dgrz0")))) + "1164zvnikbjd0ybdn9xwn520rlmdjd824vmhnl83zgv3v9lzp9bm")))) (inputs `(("gfortran" ,gfortran))) (build-system r-build-system) @@ -6745,13 +6760,13 @@ microarray data, using nearest neighbor averaging.") (define-public r-seqpattern (package (name "r-seqpattern") - (version "1.4.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "seqPattern" version)) (sha256 (base32 - "1dj9hfnbdj11yjxwd8jmxrdkj7n6gmaaj6244g2psgarhjcp4wfb")))) + "0lsa5pz36xapi3yiv78k3z286a5md5sm5g21pgfyg8zmhmkxr7y8")))) (properties `((upstream-name . "seqPattern"))) (build-system r-build-system) @@ -6759,6 +6774,7 @@ microarray data, using nearest neighbor averaging.") `(("r-biostrings" ,r-biostrings) ("r-genomicranges" ,r-genomicranges) ("r-iranges" ,r-iranges) + ("r-kernsmooth" ,r-kernsmooth) ("r-plotrix" ,r-plotrix))) (home-page "http://bioconductor.org/packages/seqPattern") (synopsis "Visualising oligonucleotide patterns and motif occurrences") @@ -6771,13 +6787,13 @@ reference point and sorted by a user defined feature.") (define-public r-genomation (package (name "r-genomation") - (version "1.4.2") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "genomation" version)) (sha256 (base32 - "017hxh3yhizlsswd2vw8504arkckrcgq5zraiw67lldq9wzs5qzg")))) + "1m4mz7wihj8yqivwkzw68div8ybk4rjsai3ffki7xp7sh21ax03y")))) (build-system r-build-system) (propagated-inputs `(("r-biostrings" ,r-biostrings) @@ -6793,11 +6809,17 @@ reference point and sorted by a user defined feature.") ("r-matrixstats" ,r-matrixstats) ("r-plotrix" ,r-plotrix) ("r-plyr" ,r-plyr) + ("r-rcpp" ,r-rcpp) ("r-readr" ,r-readr) ("r-reshape2" ,r-reshape2) + ("r-rhtslib" ,r-rhtslib) ("r-rsamtools" ,r-rsamtools) ("r-rtracklayer" ,r-rtracklayer) + ("r-runit" ,r-runit) + ("r-s4vectors" ,r-s4vectors) ("r-seqpattern" ,r-seqpattern))) + (inputs + `(("zlib" ,zlib))) (home-page "http://bioinformatics.mdc-berlin.de/genomation/") (synopsis "Summary, annotation and visualization of genomic data") (description @@ -6814,7 +6836,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.") (define-public r-genomationdata (package (name "r-genomationdata") - (version "1.4.2") + (version "1.6.0") (source (origin (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is @@ -6824,7 +6846,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.") "genomationData_" version ".tar.gz")) (sha256 (base32 - "1zl7gg144fs7zfycsmq5492sm1bqy7l527xbc2zj04schd9wsan2")))) + "16dqwb7wx1igx77zdbcskx5m1hs4g4gp2hl56zzm70hcagnlkz8y")))) (build-system r-build-system) ;; As this package provides little more than large data files, it doesn't ;; make sense to build substitutes. @@ -6946,14 +6968,14 @@ annotations for the genome of the model mouse Mus musculus.") (define-public r-seqlogo (package (name "r-seqlogo") - (version "1.38.0") + (version "1.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "seqLogo" version)) (sha256 (base32 - "01jddx62nhi3r7czbh9hxy0wwpazbc9ax1fgagfxl6p4kx9xz9rb")))) + "18bajdl75h3039559d81rgllqqvnq8ygsfxfx081xphxs0v6xggy")))) (properties `((upstream-name . "seqLogo"))) (build-system r-build-system) (home-page "http://bioconductor.org/packages/seqLogo") @@ -7157,14 +7179,14 @@ Biostrings objects.") (define-public r-motifrg (package (name "r-motifrg") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "motifRG" version)) (sha256 (base32 - "1ds22paqc0923y6z1fy0arw0wxvvmglfvfgarhywv1qywhq68mbq")))) + "1pa97aj6c5f3gx4bgriw110764dj3m9h104ddi8rv2bpy41yd98d")))) (properties `((upstream-name . "motifRG"))) (build-system r-build-system) (propagated-inputs @@ -7209,13 +7231,13 @@ two-dimensional genome scans.") (define-public r-zlibbioc (package (name "r-zlibbioc") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "zlibbioc" version)) (sha256 (base32 - "0m8l7zpx1l3qsk73k3ibkxxzzff938x3qhnwki1ymf3cnsg8cb36")))) + "0hbk90q5hl0fycfvy5nxxa4hxgglag9lzp7i0fg849bqygg5nbyq")))) (properties `((upstream-name . "zlibbioc"))) (build-system r-build-system) @@ -7228,20 +7250,22 @@ libraries for systems that do not have these available via other means.") (define-public r-rhtslib (package (name "r-rhtslib") - (version "1.4.3") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhtslib" version)) (sha256 (base32 - "1wgpn9x8abjj7fc087pdavqc3fz0pl5xdh231mgjila18irwlhb3")))) + "1vk3ng61dhi3pbia1lp3gl3mlr3i1vb2lkq83qb53i9dzz128wh9")))) (properties `((upstream-name . "Rhtslib"))) (build-system r-build-system) (propagated-inputs `(("r-zlibbioc" ,r-zlibbioc))) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf))) (home-page "https://github.com/nhayden/Rhtslib") (synopsis "High-throughput sequencing library as an R package") (description @@ -7253,14 +7277,14 @@ of other R packages who wish to make use of HTSlib.") (define-public r-bamsignals (package (name "r-bamsignals") - (version "1.4.3") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bamsignals" version)) (sha256 (base32 - "1xqiqvg52p6fcvhr4146djbz79r3j1kmh75mq7rndwglmiybpwmy")))) + "1k42gvk5mgq4la1fp0in3an2zfdz69h6522jsqhmk0f6i75kg4mb")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 674b8ac7a1..35b644906b 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -30,7 +30,7 @@ (define-public elfutils (package (name "elfutils") - (version "0.166") + (version "0.167") (source (origin (method url-fetch) (uri (string-append @@ -38,7 +38,7 @@ version "/elfutils-" version ".tar.bz2")) (sha256 (base32 - "0c5s9klq1zyb0zkmrw636k97kz30p5ih8y8dpq8b4f54r0a6j19w")) + "0lv5fz2h7j9362l5apbg9jff7309ni385d3325ckavrbqj3h0c1z")) (patches (search-patches "elfutils-tests-ptrace.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 10be825e68..2a275d0672 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -955,7 +955,7 @@ light user interface.") (define-public emacs-emms-player-mpv (package (name "emacs-emms-player-mpv") - (version "0.0.8") + (version "0.0.10") (source (origin (method url-fetch) @@ -964,7 +964,7 @@ light user interface.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "01wj410dpx25b3i8781i2j9c6nlvzvvphy9qgh7zfpmyz6a3wsm4")))) + "1q81fpmwr8hpdgq71vbdai2nml4yyqbmk4ffdyl4irlwph8gfjyq")))) (build-system emacs-build-system) (propagated-inputs `(("emms" ,emms))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index e0e61cbeb5..25b8caf306 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -56,7 +56,7 @@ (define-public efl (package (name "efl") - (version "1.18.1") + (version "1.18.2") (source (origin (method url-fetch) (uri (string-append @@ -64,7 +64,7 @@ version ".tar.xz")) (sha256 (base32 - "08njx6wd505as1vn0yp4mnmf6mb2v28jsipxxx4zhf78v18d2sqc")))) + "1vbvsrrpkvvrmvjavwnp5q77kw5i7vmbaj2vq5mnmrbzamvaybr9")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index bffbe14647..39a49f3276 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2158,42 +2158,42 @@ http://lavachat.symlynx.com/unix/") (define-public red-eclipse (let ((data-sources - '(("acerspyro" "0s6q56i5marpm67lx70g5109lir5d6r45y45i8kbz6arc1spa7pp") - ("actors" "0jclmciz64i81ngxwbag8x5m8wvxkhraa9c7plix566y6rh28fv1") - ("appleflap" "1iz5igzdksamldhy0zh4vdjkxqhmg5c0n5g64pd3kan6h8vlbkq4") - ("blendbrush" "1hz3x5npp25dixcadp020xyahmd1i3ihs4cdf77iy84i9njbp7bv") - ("caustics" "05sbj46lrc6lkf7j6ls6jwc21n0qzxvfhfy9j7hdw482p9gvz54h") - ("crosshairs" "05vfxc6vm91dyf1kzig550fglgydp9szl9135q677lk4g60w5dfh") - ("elyvisions" "0fzdbxc40ggqmv4v1llx6sys2gjc6l1nxsbi5scpxqvm86dbddi9") - ("fonts" "0sbvnd96aip49dy1ja01s36p8fwwczibpic7myfw1frs110m0zgr") - ("freezurbern" "0k60dzzq42mfq360qf7bsf4alhy6k5gjfaidg2i1wsz5zssgmqwn") - ("john" "1ln9v8vfm0ggavvdyl438cy4mizzm1i87r9msx1sbja30q8f57c1") - ("jojo" "0cdgl82s4bm6qlv07fsq5l7anbywvvw13d0mng831yn6scf0hxb1") - ("jwin" "0yg5vriffyckgfjmi4487sw07hsp44b3gfw90f0v4jsgbjjm2v20") - ("luckystrike" "0f82caq09znsr9m08qnlbh3jl9j5w0ysga0b7d5ayqr5lpqxfk9k") - ("maps" "14m23h3mip12anhx7i9k5xlapwkjbw4n0l7lj1b7dfcimf71gjll") - ("mayhem" "0dxrr6craqi7ag724qfj9y0lb0pmwyrfpap02cndmjbbacdya0ra") - ("mikeplus64" "040giyrk3hdd26sxhdx37q4mk923g5v3jbrinq1fw2yfvsl6n1cs") - ("misc" "07xfs9hngshg27rl2vf65nyxilgnak3534h8msaan0fjgmzvlk0q") - ("nobiax" "1n3nghi5426r2zav4rsfih8gn37sfa85absvhdwhir8wycsvbkh6") - ("particles" "0yj0nykal3fgxx50278xl2zn2bfz09wbrjcvng56aa6hhfiwp8gd") - ("philipk" "1m3krkxq9hsknbmxg1g5sgnpcv7c8c2q7zpbizw2wb3dir8snvcj") - ("projectiles" "05swvalja7vzqc3dlk136n5b5kdzn3a8il6bg1h12alcaa0k9rba") - ("props" "1cqi6gw5s4z5pj06x6kiiilh4if0hm1yrbqys5dln23mcvw8f0ny") - ("skyboxes" "1mm6xl89b0l98l2h3qn99id7svmpwr940bydgjbcrvlx21yqdric") - ("sounds" "03q7jazf0chszyiaa9cxirbwdnckcp5fl812sj42lv0z4sqz222l") - ("textures" "1caqyxa9xkrwpyhac65akdv1l7nqychgz7zfivasnskk2yy6jani") - ("torley" "1hp8lkzqmdqyq3jn9rains32diw11gg1w3dxxlln5pc041cd7vil") - ("trak" "0wlczjax33q0hz75lgc4qnxlm592pcxgnbkin5qrglv59nrxzxyr") - ("ulukai" "0dkn7qxf92sidhsy4sm4v5z54n449a2z2w9qax5cfgzs78kb5c34") - ("unnamed" "0p9mmfp0vplmswyxh8qab33phcl8lzmzh3mms4f7i587hppdg6db") - ("vanities" "1w23853lmvj4kx5cbxvb5dk598jiqz7ml2bm0qiy7idkf5mcd2lv") - ("vegetation" "0jw1ljhmv62fzvklid6i8syiacmrs075cp7r3gc069bg4fg47cpn") - ("weapons" "1p64ry1s4y7hkgm6i2rdk2x78368359wvx8v81gg179p3sjnjkww") - ("wicked" "1kmpy2n15lyh50rqjspyfg3qrc72jf0n3dx2y3ian7pjfp6ldxd9")))) + '(("acerspyro" "0hqwa3b65l8mz73mcdsvrwbc14mrx1qn52073p5zh69pqd0mlfi0") + ("actors" "0v87wifqwam5j6vsiidmcvw22i51h9h4skgwhi511mxkwryrp26h") + ("appleflap" "0bkh1v125dwd5jhb4rrc1sl0jdlbb2ib53ihbxa66x1p8l27aklw") + ("blendbrush" "1wh88fshsy492kjvadql2ik1q5pqgcj84jz0hc93ngag8xibxhfi") + ("caustics" "0pc5bnd4fmxh06cm3h8045wgiy894f9x5a943n28gymdyql7q4f6") + ("crosshairs" "1w9acqhxw5nm690862msl5jjbk8qlizxm1vv7p95lgm7q7pg0yxx") + ("elyvisions" "04q31lp5jm8b9crf81s6k1jvrn90i1ay3s6vk103iv8g4amsfhdx") + ("fonts" "1rsfk2d9xk0aaazvrcxk4z5n2cnys7pixadh521mv7zrxbx2d95x") + ("freezurbern" "0b2xg5x79yxanr30dhw3zr6dsc6x9w7v7aghbh9kp292j31l280m") + ("john" "07pgjg1rxl3bmwriy2yl3g63nnryjws8jl0ry1cza3p9wd59f8rz") + ("jojo" "0lkzd5pwfqan1gaaz22r5iz4z2nq8dkzycddwa0cxavmq8qmj281") + ("jwin" "0mnyp1inhabw56mw5wkhfd4k6z0lvyhr6cjj6hnj3bz2dip2y2zm") + ("luckystrike" "1d89xnvahmzlgm0bjh3zhf02vxx1q16b70x2cihbl05dic1v75pr") + ("maps" "19gy8kl7w2llsklym32hnlnd05z2dhq5dhdxhq5ss5na67skv5by") + ("mayhem" "1si2gnsf732ml8ygkhg27ckvic9wafqmkgq0ab1ifpfpy606sa8d") + ("mikeplus64" "0l48czyglbc0d4ack8xz9imarb6r4l29krq0mf3ld7yrxbc296vr") + ("misc" "0fri1l3i1s1pzvr7aah4a7d9h2i877c21x184z80v4jpqv4228f3") + ("nobiax" "1jv2yv2qj9qbxhaj1nd70v5142dpg074gkkh3bw2anchi8pzyhs8") + ("particles" "0gwj6m5197gpwddqb3pwlkaiafgfszqysaz2h1bx60qzh5crgsf9") + ("philipk" "0ngccscmvlgc2z96vira7phr87f65l4v7immbl697zmc5fda6k68") + ("projectiles" "1ig6dag5989rgwrhvmz7xz5q8gf5slgnda8h8zmiyhvrnal09hbp") + ("props" "0g3sgrlgmk9zrl67d9pa93hzb4xx3wwznfxa1h3wwilld0m7gzhx") + ("skyboxes" "0lvpzc741vkmy2rnra41ij91wq3pdl28xamy6vapq61mf44xmmvj") + ("sounds" "0jmvvixcx7kv34sxjs4x7vqsyhir6l5av6b3lm8m8rsfi0sdvqml") + ("textures" "1yx01k9yn2v1k79sa68wa51qw1zk03b8irkvxyd14ygibkicvgnb") + ("torley" "1286srp05nfjban6ca124njyil70gr7bm6aqn5p0vz0xr00l4dw5") + ("trak" "1079fg2cbm95psxic3r63i94z3cnbf04wlid2hqnw308s9l9q36c") + ("ulukai" "0yd80ivn51ya60m4cg4bw13wxgijkjagfgskdphy9adgsaqq9n7b") + ("unnamed" "0l21dhw7kbav59p7ysn6dr2sqzjivwxafml4023yznlhxx5fic4m") + ("vanities" "1aqi32lf7y64fv1y00mpixckjr9wj8p1prgyxjiv7s3hf5q7n2b3") + ("vegetation" "0253fdn5sxywrjb79krhvq2884almxpysn6dn0hi6ylpjzl78zrn") + ("weapons" "0y2zsx6g6k9izshgix9id3y01hsisd88mp5zrlm5x9v8y0sf6kf8") + ("wicked" "0ib0325dn6vzpx3p4cr6bhg9qhj8c5s20xyzy88xjc3y2pazbdvx")))) (package (name "red-eclipse") - (version "1.5.5") + (version "1.5.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/red-eclipse/base" @@ -2201,7 +2201,7 @@ http://lavachat.symlynx.com/unix/") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xl3655876i8j5nixy0yp73s0yw9nwysj68fyhqs2agmvshryy96")))) + "1sv3xhng18sl655sd46lpmqbqz32h32s7nwz68bdr9z9w3iwkf66")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 10a77f001d..a4ae777383 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1614,7 +1614,7 @@ Hints specification (EWMH).") (sha256 (base32 "1s3dxvdwzmppsp2dfg90rccilf4hknhwjdy7lazr9sys58zchyx0")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments `(;; The gnumeric developers don't worry much about failing tests. ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387 diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index 6c522866c9..f49b25492e 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -35,7 +35,7 @@ (define-public windowmaker (package (name "windowmaker") - (version "0.95.6") + (version "0.95.7") (source (origin (method url-fetch) (uri (string-append @@ -43,7 +43,7 @@ version ".tar.gz")) (sha256 (base32 - "1i3dw1yagsa3rs9x2na2ynqlgmbahayws0kz4vl00fla6550nns3")))) + "1acph0nq6fsb452sl7j7a7kcc87zqqaw7qms1p8ijar19dn4hbc4")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-before diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index b1785e95c9..4aea514411 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -292,7 +292,7 @@ developers consider to have good quality code and correct functionality.") ;; vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts, ;; faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools, ;; mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi, - ;; openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp, x265 + ;; openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp `(("bluez" ,bluez) ("curl" ,curl) ("faad2" ,faad2) @@ -328,6 +328,7 @@ developers consider to have good quality code and correct functionality.") ;("qtdeclarative" ,qtdeclarative) ;("qtx11extras" ,qtx11extras) ("soundtouch" ,soundtouch) + ("x265" ,x265) ("wayland" ,wayland))) (home-page "http://gstreamer.freedesktop.org/") (synopsis "Plugins for the GStreamer multimedia library") diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 0de1409406..7fa7e12b1b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -566,7 +566,7 @@ is part of the GNOME accessibility project.") (define-public gtk+-2 (package (name "gtk+") - (version "2.24.30") + (version "2.24.31") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -574,7 +574,7 @@ is part of the GNOME accessibility project.") name "-" version ".tar.xz")) (sha256 (base32 - "0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d")) + "0n26jm09n03nqbd00d2ij63xrby3vik56sk5yj6w1vy768kr5hb8")) (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch" "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch" "gtk2-theme-paths.patch")))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 21f37a10ff..b246d3a6ad 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> +;;; Copyright © 2016 Amirouche <amirouche@hypermove.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1292,4 +1293,84 @@ is no support for parsing block and inline level HTML.") (define-public guile2.2-commonmark (package-for-guile-2.2 guile-commonmark)) +(define-public guile-bytestructures + (package + (name "guile-bytestructures") + (version "20160726.53127f6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TaylanUB/scheme-bytestructures") + (commit "53127f608caf64b34fa41c389b2743b546fbe9da"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0l4nx1vp9fkrgrgwjiycj7nx6wfjfd39rqamv4pmq7issi8mrywq")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils) + (ice-9 match) + (ice-9 popen) + (ice-9 rdelim)) + (let* ((out (assoc-ref %outputs "out")) + (guile (assoc-ref %build-inputs "guile")) + (effective (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (module-dir (string-append out "/share/guile/site/" + effective)) + (source (assoc-ref %build-inputs "source")) + (doc (string-append out "/share/doc/scheme-bytestructures")) + (scm-files (filter (lambda (path) + (not (string-prefix? "bytestructures/r7" path))) + (with-directory-excursion source + (find-files "bytestructures" "\\.scm$")))) + (guild (string-append (assoc-ref %build-inputs "guile") + "/bin/guild"))) + ;; Make installation directories. + (mkdir-p doc) + + ;; Compile .scm files and install. + (chdir source) + (setenv "GUILE_AUTO_COMPILE" "0") + (for-each (lambda (file) + (let* ((dest-file (string-append module-dir "/" + file)) + (go-file (string-append module-dir "/" + (substring file 0 + (string-rindex file #\.)) + ".go"))) + ;; Install source module. + (mkdir-p (dirname dest-file)) + (copy-file file dest-file) + + ;; Install compiled module. + (mkdir-p (dirname go-file)) + (unless (zero? (system* guild "compile" + "-L" source + "-o" go-file + file)) + (error (format #f "Failed to compile ~s to ~s!" + file go-file))))) + scm-files) + + ;; Also copy over the README. + (install-file "README.md" doc) + #t)))) + (inputs + `(("guile" ,guile-2.0))) + (home-page "https://github.com/TaylanUB/scheme-bytestructures") + (synopsis "Structured access to bytevector contents for Guile") + (description + "Guile bytestructures offers a system imitating the type system +of the C programming language, to be used on bytevectors. C's type +system works on raw memory, and Guile works on bytevectors which are +an abstraction over raw memory. It's also more powerful than the C +type system, elevating types to first-class status.") + (license gpl3+))) + ;;; guile.scm ends here diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index a516629dbf..3b63c899eb 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016 ng0 <ngillmann@runbox.com> +;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,14 +139,14 @@ SILC and ICB protocols via plugins.") (define-public weechat (package (name "weechat") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (string-append "http://weechat.org/files/src/weechat-" version ".tar.gz")) (sha256 (base32 - "0w87w4wy61x705ama8h36z9mgdj2gmmzdfrsxvwyh2m2as2max1i")) + "0lyqrymdjdvkzg8510l46c4zw8mjagnmri2i6m9y9qz0c1sfaq9h")) (patches (search-patches "weechat-python.patch")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0279e91464..5c0613f68e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -335,13 +335,10 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.34" - "0dajsb363p9lgga22ml8gp9k9lxd8mvrzxk9y3h9c6hpzfcmqdqr" + (make-linux-libre "4.1.35" + "05zvrld1digqwf9kqf5pxx0mxqmwpr5kamhnks6y4yfy7x7jynyk" %intel-compatible-systems - #:configuration-file kernel-config - #:patches (list %boot-logo-patch - (search-patch - "linux-libre-4.1-CVE-2016-5195.patch")))) + #:configuration-file kernel-config)) ;; Avoid rebuilding kernel variants when there is a minor version bump. (define %linux-libre-version "4.8.4") diff --git a/gnu/packages/lolcode.scm b/gnu/packages/lolcode.scm new file mode 100644 index 0000000000..4c7d18217d --- /dev/null +++ b/gnu/packages/lolcode.scm @@ -0,0 +1,58 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages lolcode) + #:use-module (gnu packages) + #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (guix build-system cmake) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public lci + (package + (name "lci") + (version "0.11.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/justinmeza/lci/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1li7ikcrs7wqah7gqkirg0k61n6pm12w7pydin966x1sdn9na46b")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system cmake-build-system) + (inputs + `(("readline" ,readline))) + (native-inputs + `(("python-2" ,python-2))) ; for the tests + (synopsis "LOLCODE interpreter written in C") + (description + "@code{lci} is a LOLCODE interpreter written in C and is designed to be +correct, portable, fast, and precisely documented. +@enumerate +@item correct: Every effort has been made to test lci's conformance to the +LOLCODE language specification. Unit tests come packaged with the lci source code. +@item portable: lci follows the widely ported ANSI C specification allowing it +to compile on a broad range of systems. +@item fast: Much effort has gone into producing simple and efficient code +whenever possible to the extent that the above points are not compromized. +@end enumerate") + (home-page "http://lolcode.org/") + (license license:gpl3+))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index eee7d1831f..e1b490e51d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> +;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +48,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dns) + #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) #:use-module (gnu packages enchant) #:use-module (gnu packages ghostscript) @@ -319,6 +321,9 @@ and corrections. It is based on a Bayesian filter.") (base32 "0smxh5ag3cbn92kp49jq950j5m2pivs9kr04prpd1lw62hy7gnhr")))) (build-system python-build-system) + (native-inputs + `(("asciidoc" ,asciidoc) + ("libxslt" ,libxslt))) ; for xsltproc (inputs `(("python2-pysqlite" ,python2-pysqlite) ("python2-six" ,python2-six))) (arguments @@ -328,8 +333,21 @@ and corrections. It is based on a Bayesian filter.") #:tests? #f #:phases (modify-phases %standard-phases - (add-after 'install 'wrap-binary - (lambda* (#:key inputs outputs #:allow-other-keys) + (add-after 'build 'build-documentation + (lambda _ + (substitute* "docs/Makefile" + ;; Prevent xmllint and xsltproc from downloading a DTD file. + (("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v")) + (zero? (system* "make" "-C" "docs" "man")))) + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man"))) + (install-file "docs/offlineimap.1" (string-append man "/man1")) + (install-file "docs/offlineimapui.7" (string-append man "/man7")) + #t))) + (add-after 'install-documentation 'wrap-binary + (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin/offlineimap"))) (wrap-program bin @@ -501,18 +519,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.23") + (version "0.23.1") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "1f51l34rdhjf8lvafrwybkxdsdwx8k9397m7qxd8rdg2irjmpry5")) - (patches - ;; Remove this for the next release. See this thread for context: - ;; https://notmuchmail.org/pipermail/notmuch/2016/023227.html - (search-patches "notmuch-emacs-25-compatibility-fix.patch")))) + "106ijsnilqf8760z4cq99rqzjsvyaw86d0lgnzz7v95gm4d2l0g8")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "V=1") ; Verbose test output. @@ -1618,7 +1632,7 @@ some additional standard extensions. It allows ordinary machines to exchange e-mails with other systems speaking the SMTP protocol.") (home-page "https://www.opensmtpd.org") (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING") - public-domain isc openssl)))) + public-domain isc license:openssl)))) (define-public opensmtpd-extras (package @@ -1681,8 +1695,8 @@ e-mails with other systems speaking the SMTP protocol.") (assoc-ref %build-inputs "python-2")) (string-append "--with-lua=" (assoc-ref %build-inputs "lua"))))) - (license (list bsd-2 bsd-3 bsd-4 non-copyleft - public-domain isc openssl)) + (license (list bsd-2 bsd-3 bsd-4 + public-domain isc license:openssl)) (synopsis "Extra tables, filters, and various other addons for OpenSMTPD") (description "This package provides extra tables, filters, and various other addons diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 274f77099e..84b8395a4c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -113,6 +113,47 @@ interactive dialogs to guide them.") (license license:gpl3+) (home-page "http://www.gnu.org/software/c-graph/"))) +(define-public coda + (package + (name "coda") + (version "2.17.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/stcorp/coda/releases/download/" + version "/coda-" version ".tar.gz")) + (sha256 + (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h")) + (patches (search-patches "coda-use-system-libs.patch")) + (modules '((guix build utils))) + (snippet + ;; Make sure we don't use the bundled software. + '(for-each (lambda (d) + (delete-file-recursively (string-append "libcoda/" d))) + '("zlib" "pcre" "expat"))))) + (native-inputs + `(("fortran" ,gfortran) + ("python" ,python) + ("python-numpy" ,python-numpy))) + (inputs + `(("zlib" ,zlib) + ("pcre" ,pcre) + ("expat" ,expat) + ("hdf4" ,hdf4-alt) + ("hdf5" ,hdf5))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--with-hdf4" "--with-hdf5" "--enable-python" + "LIBS= -lz -lpcre -lexpat"))) + (synopsis "A common interface to various earth observation data formats") + (description + "The Common Data Access toolbox (CODA) provides a set of interfaces for +reading remote sensing data from earth observation data files. It consists of +command line applications and interfaces to the C, Fortran, Python, and Java +programming languages.") + (home-page "https://stcorp.nl/coda") + (license license:gpl2+))) + (define-public units (package (name "units") @@ -544,6 +585,41 @@ extremely large and complex data collections.") (license (license:x11-style "http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING")))) +(define-public hdf-eos2 + (package + (name "hdf-eos2") + (version "19.1.0") + (source + (origin + (method url-fetch) + (uri "ftp://edhs1.gsfc.nasa.gov\ +/edhs/hdfeos/latest_release/HDF-EOS2.19v1.00.tar.Z") + (sha256 + (base32 "0c9fcz25s292ldap12wxmlrvnyz99z24p63d8fwx51bf8s0s1zrz")) + (patches (search-patches "hdf-eos2-remove-gctp.patch" + "hdf-eos2-build-shared.patch" + "hdf-eos2-fortrantests.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (inputs + `(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API + ("zlib" ,zlib) + ("libjpeg" ,libjpeg) + ("gctp" ,gctp))) + (arguments + `( #:configure-flags '("--enable-install-include" "--enable-shared" + "CC=h4cc -Df2cFortran" "LIBS=-lgctp") + #:parallel-tests? #f)) + (home-page "http://hdfeos.org/software/library.php#HDF-EOS2") + (synopsis "HDF4-based data format for NASA's Earth Observing System") + (description "HDF-EOS2 is a software library built on HDF4 which supports +the construction of data structures used in NASA's Earth Observing +System (Grid, Point and Swath).") + + ;; Source files carry a permissive license header. + (license (license:non-copyleft home-page)))) + (define-public hdf-eos5 (package (name "hdf-eos5") @@ -1911,14 +1987,14 @@ full text searching.") (define-public armadillo (package (name "armadillo") - (version "6.700.7") + (version "7.500.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/arma/armadillo-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "0xbidcxrvbq33xf7iysg2nic2ai9a043psl33kiv6ifkk7p8hcra")))) + "1x98d32cgxbzbbma2ak6c37wnbpq13xxyxyd6jjvflv748mzi9ks")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no test target (inputs @@ -1939,14 +2015,14 @@ associated functions (eg. contiguous and non-contiguous submatrix views).") (define-public armadillo-for-rcpparmadillo (package (inherit armadillo) - (version "7.400.2") + (version "7.500.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/arma/armadillo-" version ".tar.xz")) (sha256 (base32 - "0xmpnqhm9mwr1lssjyarj0cl8b4svbqv6z1xa1dxlwd2ly1srkg4")))))) + "1x98d32cgxbzbbma2ak6c37wnbpq13xxyxyd6jjvflv748mzi9ks")))))) (define-public muparser ;; When switching download sites, muparser re-issued a 2.2.5 release with a diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 0089da1112..66cf231cfb 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -452,7 +452,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.") (define-public gajim (package (name "gajim") - (version "0.16.5") + (version "0.16.6") (source (origin (method url-fetch) (uri (string-append "https://gajim.org/downloads/" @@ -460,34 +460,27 @@ was initially a fork of xmpppy, but is using non-blocking sockets.") "/gajim-" version ".tar.bz2")) (sha256 (base32 - "14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55")))) + "1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk")))) (build-system gnu-build-system) (arguments - `(;; The only check done by gajim-0.16.x is to check that the - ;; translations are up-to-date, and in 0.16.5 they are not, so - ;; "make check" fails. Therefore, we disable tests for now. - ;; - ;; XXX TODO Try re-enabling tests in gajim-0.16.6 or later. - ;; - #:tests? #f - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) - ;; Make sure all Python scripts run with the correct PYTHONPATH. - (let ((out (assoc-ref outputs "out")) - (path (getenv "PYTHONPATH"))) - (for-each (lambda (name) - (let ((file (string-append out "/bin/" name))) - ;; Wrapping destroys identification of intended - ;; application, so we need to override "APP". - (substitute* file - (("APP=`basename \\$0`") - (string-append "APP=" name))) - (wrap-program file - `("PYTHONPATH" ":" prefix (,path))))) - '("gajim" "gajim-remote" "gajim-history-manager"))) - #t))))) + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure all Python scripts run with the correct PYTHONPATH. + (let ((out (assoc-ref outputs "out")) + (path (getenv "PYTHONPATH"))) + (for-each (lambda (name) + (let ((file (string-append out "/bin/" name))) + ;; Wrapping destroys identification of intended + ;; application, so we need to override "APP". + (substitute* file + (("APP=`basename \\$0`") + (string-append "APP=" name))) + (wrap-program file + `("PYTHONPATH" ":" prefix (,path))))) + '("gajim" "gajim-remote" "gajim-history-manager"))) + #t))))) (native-inputs `(("intltool" ,intltool))) (propagated-inputs @@ -504,7 +497,7 @@ Among its features are: a tabbed chat window and single window modes; support for group chat (with Multi-User Chat protocol), invitation, chat to group chat transformation; audio and video conferences; file transfer; TLS, GPG and end-to-end encryption support; XML console.") - (license license:gpl3+))) + (license license:gpl3))) (define-public prosody (package diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index a96185a561..321290872e 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -32,6 +32,7 @@ (method url-fetch) (uri (string-append "http://www.musl-libc.org/releases/" name "-" version ".tar.gz")) + (patches (search-patches "musl-CVE-2016-8859.patch")) (sha256 (base32 "1ymhxkskivzph0q34zadwfglc5gyahqajm7chqqn2zraxv3lgr4p")))) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index b79f4c2582..a348d07609 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) + #:use-module (gnu packages libidn) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages mit-krb5) @@ -424,6 +425,44 @@ and up to 1 Mbit/s downstream.") ;; src/md5.[ch] is released under the zlib license (license (list license:isc license:zlib)))) +(define-public whois + (package + (name "whois") + (version "5.2.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://debian/pool/main/w/whois/" + name "_" version ".tar.xz")) + (sha256 + (base32 + "1wfdyqi64l5x56j259jrrlbh19b7q7i6r83a8q8rjzcqp0kl0vdj")))) + (build-system gnu-build-system) + ;; TODO: unbundle mkpasswd binary + its po files. + (arguments + `(#:tests? #f ; Does not exist + #:make-flags (list "CC=gcc" + (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No configure + (add-before 'build 'setenv + (lambda _ + (setenv "HAVE_ICONV" "1") + (setenv "HAVE_LIBIDN" "1")))))) + (inputs + `(("libidn" ,libidn))) + (native-inputs + `(("gettext" ,gnu-gettext) + ("perl" ,perl))) + (synopsis "Improved whois client") + (description "This whois client is intelligent and can +automatically select the appropriate whois server for most queries. +Because of historical reasons this also includes a tool called mkpasswd +which can be used to encrypt a password with @code{crypt(3)}.") + (home-page "https://github.com/rfc1036/whois") + (license license:gpl2+))) + (define-public wireshark (package (name "wireshark") diff --git a/gnu/packages/patches/coda-use-system-libs.patch b/gnu/packages/patches/coda-use-system-libs.patch new file mode 100644 index 0000000000..fbf8441958 --- /dev/null +++ b/gnu/packages/patches/coda-use-system-libs.patch @@ -0,0 +1,46 @@ +Remove dependencies on bundled zlib, pcre and expat. + +diff --git a/Makefile.in b/Makefile.in +index 4360a26..80f9f59 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -210,8 +210,7 @@ coda_matlab_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + @BUILD_MATLAB_TRUE@@SUBPACKAGE_MODE_FALSE@ -rpath \ + @BUILD_MATLAB_TRUE@@SUBPACKAGE_MODE_FALSE@ $(matlabmexexecdir) + am__DEPENDENCIES_1 = +-libcoda_la_DEPENDENCIES = @LTLIBOBJS@ libexpat_internal.la \ +- libpcre_internal.la libz_internal.la $(am__DEPENDENCIES_1) \ ++libcoda_la_DEPENDENCIES = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) + am__libcoda_la_SOURCES_DIST = libcoda/coda-ascbin-cursor.c \ + libcoda/coda-ascbin.h libcoda/coda-ascii-cursor.c \ +@@ -306,8 +305,7 @@ libcoda_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libcoda_la_LDFLAGS) $(LDFLAGS) -o $@ + @SUBPACKAGE_MODE_FALSE@am_libcoda_la_rpath = -rpath $(libdir) +-am__DEPENDENCIES_2 = @LTLIBOBJS@ libexpat_internal.la \ +- libpcre_internal.la libz_internal.la $(am__DEPENDENCIES_1) \ ++am__DEPENDENCIES_2 = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) + libcoda_internal_la_DEPENDENCIES = $(am__DEPENDENCIES_2) + am__libcoda_internal_la_SOURCES_DIST = libcoda/coda-ascbin-cursor.c \ +@@ -898,8 +896,8 @@ INSTALL_DATA_HOOK_TARGETS = $(am__append_1) + UNINSTALL_HOOK_TARGETS = + CLEAN_LOCAL_TARGETS = $(am__append_11) + ALL_LOCAL_TARGETS = +-@SUBPACKAGE_MODE_FALSE@noinst_LTLIBRARIES = libcoda_internal.la libexpat_internal.la libpcre_internal.la libz_internal.la +-@SUBPACKAGE_MODE_TRUE@noinst_LTLIBRARIES = libcoda_internal.la libexpat_internal.la libpcre_internal.la libz_internal.la ++@SUBPACKAGE_MODE_FALSE@noinst_LTLIBRARIES = libcoda_internal.la ++@SUBPACKAGE_MODE_TRUE@noinst_LTLIBRARIES = libcoda_internal.la + + # libraries (+ related files) + @SUBPACKAGE_MODE_FALSE@lib_LTLIBRARIES = libcoda.la +@@ -1048,7 +1046,7 @@ libcoda_hdf5_files = \ + + libcoda_la_CPPFLAGS = -Ilibcoda/expat -I$(srcdir)/libcoda/expat -Ilibcoda/pcre -I$(srcdir)/libcoda/pcre -Ilibcoda/zlib -I$(srcdir)/libcoda/zlib $(AM_CPPFLAGS) + libcoda_la_LDFLAGS = -no-undefined -version-info $(LIBCODA_CURRENT):$(LIBCODA_REVISION):$(LIBCODA_AGE) +-libcoda_la_LIBADD = @LTLIBOBJS@ libexpat_internal.la libpcre_internal.la libz_internal.la $(HDF4LIBS) $(HDF5LIBS) ++libcoda_la_LIBADD = @LTLIBOBJS@ $(HDF4LIBS) $(HDF5LIBS) + libcoda_internal_la_SOURCES = libcoda/coda-ascbin-cursor.c \ + libcoda/coda-ascbin.h libcoda/coda-ascii-cursor.c \ + libcoda/coda-ascii-internal.h libcoda/coda-ascii.c \ diff --git a/gnu/packages/patches/hdf-eos2-build-shared.patch b/gnu/packages/patches/hdf-eos2-build-shared.patch new file mode 100644 index 0000000000..71112e38c2 --- /dev/null +++ b/gnu/packages/patches/hdf-eos2-build-shared.patch @@ -0,0 +1,25 @@ +Changes necessary for shared library linking to succeed. + +diff --git a/src/Makefile.in b/src/Makefile.in +index 9534473..12411bf 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -73,7 +73,7 @@ LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +-LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++LINK = HDF4_USE_SHLIB=yes $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ + SOURCES = $(libhdfeos_la_SOURCES) + DIST_SOURCES = $(libhdfeos_la_SOURCES) +@@ -125,8 +125,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + +-# Set LDFLAGS to alow the HDF-EOS library to use extern variables from HDF4 +-LDFLAGS = -Wl,-single_module + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ + LIBTOOL = @LIBTOOL@ + diff --git a/gnu/packages/patches/hdf-eos2-fortrantests.patch b/gnu/packages/patches/hdf-eos2-fortrantests.patch new file mode 100644 index 0000000000..adecc184cb --- /dev/null +++ b/gnu/packages/patches/hdf-eos2-fortrantests.patch @@ -0,0 +1,329 @@ +Fix multi-line string formatting in fortran test programs (reported upstream). + +diff --git a/samples/appendfield.f b/samples/appendfield.f +index 42c4b6b..58257f7 100644 +--- a/samples/appendfield.f ++++ b/samples/appendfield.f +@@ -22,8 +22,8 @@ c + inarray(i) = i + enddo + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer_o +- 1f_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + swid = swattach(swfid, "Swath1") + + +diff --git a/samples/definefields.f b/samples/definefields.f +index 89859e4..f3b3497 100644 +--- a/samples/definefields.f ++++ b/samples/definefields.f +@@ -24,8 +24,8 @@ c DFACC_RDWR accesscode in the open statement. The SWopen + c routine returns the swath fileid, swfid, which is used to + c identify the file in subsequent routines. + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + + c +diff --git a/samples/definegdflds.f b/samples/definegdflds.f +index 177422e..1b7fcf6 100644 +--- a/samples/definegdflds.f ++++ b/samples/definegdflds.f +@@ -21,8 +21,8 @@ + fillval1=-7.0 + fillval2=-9999.0 + +- gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + + gdid1 = gdattach(gdfid, "UTMGrid") +diff --git a/samples/definelevels.f b/samples/definelevels.f +index 2496d5f..64b2842 100644 +--- a/samples/definelevels.f ++++ b/samples/definelevels.f +@@ -32,8 +32,8 @@ c DFACC_RDWR access code in the open statement. The ptopen + c routine returns the point fileid, ptfid, which is used to + c identify the file in subsequent routines. + +- ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"// ++ 1 "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + + c +diff --git a/samples/inquiregrid.f b/samples/inquiregrid.f +index 8110461..8ce71e4 100644 +--- a/samples/inquiregrid.f ++++ b/samples/inquiregrid.f +@@ -18,8 +18,8 @@ + + + +- gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf', DFACC_READ) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + + if (gdfid .ne. -1) then +diff --git a/samples/inquireswath.f b/samples/inquireswath.f +index 899ee59..78c292b 100644 +--- a/samples/inquireswath.f ++++ b/samples/inquireswath.f +@@ -24,8 +24,8 @@ c + c Open the Swath File for read only access + c + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + + if (swfid .NE. -1) then +diff --git a/samples/readdimscalegrid.f b/samples/readdimscalegrid.f +index fed5540..a0bb48a 100644 +--- a/samples/readdimscalegrid.f ++++ b/samples/readdimscalegrid.f +@@ -34,8 +34,8 @@ + ! * id, gdfid, which is used to identify the file in subsequent routines. + ! */ + +- gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + ! /* + ! * If the grid file cannot be found, gdopen will return -1 for the file +diff --git a/samples/readdimscaleswath.f b/samples/readdimscaleswath.f +index 97b6264..1b61624 100644 +--- a/samples/readdimscaleswath.f ++++ b/samples/readdimscaleswath.f +@@ -33,8 +33,8 @@ + ! * id, swfid, which is used to identify the file in subsequent routines. + ! */ + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + ! /* + ! * If the swath file cannot be found, swopen will return -1 for the file +diff --git a/samples/readfields.f b/samples/readfields.f +index 873b30a..29d42f0 100644 +--- a/samples/readfields.f ++++ b/samples/readfields.f +@@ -21,8 +21,8 @@ c + c Open the HDF swath file, "SwathFile.hdf" + c + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + + if (swfid .NE. -1) then +diff --git a/samples/readgdflds.f b/samples/readgdflds.f +index e5fe85f..ff2bd86 100644 +--- a/samples/readgdflds.f ++++ b/samples/readgdflds.f +@@ -9,8 +9,8 @@ + integer DFNT_FLOAT32 + parameter (DFNT_FLOAT32=5) + +- gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + if (gdfid .ne. -1) then + +diff --git a/samples/readlevels.f b/samples/readlevels.f +index a7fd033..f349398 100644 +--- a/samples/readlevels.f ++++ b/samples/readlevels.f +@@ -36,8 +36,8 @@ c + c Open the HDF swath file, "PointFile.hdf". + c + +- ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) ++ ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"// ++ + "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + c + c Read Simple Point +@@ -47,6 +47,8 @@ c + status = ptlevinfo(ptid, 0, fldlist, fldtype, fldorder) + n = ptnrecs(ptid, 0) + ++ write(*,*) n ++ + do 5 i=1,n + recs(i) = i - 1 + 5 continue +diff --git a/samples/setupgrid.f b/samples/setupgrid.f +index be5408c..cf4bd04 100644 +--- a/samples/setupgrid.f ++++ b/samples/setupgrid.f +@@ -34,8 +34,8 @@ c code in the open statement. The GDopen routine returns the grid + c file id, gdfid, which is used to identify the file in subsequent + c routines in the library. + c +- gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_of +- 1_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE) ++ gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_"// ++ 1"of_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE) + + c + c Create UTM Grid +diff --git a/samples/setupswath.f b/samples/setupswath.f +index d0289d6..fbaa0bb 100644 +--- a/samples/setupswath.f ++++ b/samples/setupswath.f +@@ -22,8 +22,8 @@ c code in the open statement. The SWopen routine returns the swath + c file id, swfid, which is used to identify the file in subsequent + c routines in the library. + c +- swfid = swopen('SwathFile_created_with_hadeos_sample_file_writer_o +- 1f_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf",DFACC_CREATE) + + c + c The first of these, SWcreate, creates the swath, "Swath1", within the +diff --git a/samples/subsetgrid.f b/samples/subsetgrid.f +index c57e541..087e5b1 100644 +--- a/samples/subsetgrid.f ++++ b/samples/subsetgrid.f +@@ -22,8 +22,8 @@ c + c Open the HDF grid file, "GridFile.hdf" + c + +- gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + if (gdfid .NE. -1) then + +diff --git a/samples/subsetpoint.f b/samples/subsetpoint.f +index 9e72c5f..2e76d7d 100644 +--- a/samples/subsetpoint.f ++++ b/samples/subsetpoint.f +@@ -21,8 +21,8 @@ c + c Open the HDF point file, "PointFile.hdf" + c + +- ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) ++ ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"// ++ 1 "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + if (ptfid .NE. -1) then + +diff --git a/samples/subsetswath.f b/samples/subsetswath.f +index dcee609..9af8a46 100644 +--- a/samples/subsetswath.f ++++ b/samples/subsetswath.f +@@ -28,8 +28,8 @@ c + c Open the HDF swath file, "SwathFile.hdf" + c + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ) + + if (swfid .NE. -1) then + +diff --git a/samples/writedimscalegrid.f b/samples/writedimscalegrid.f +index 09688d8..42013fe 100644 +--- a/samples/writedimscalegrid.f ++++ b/samples/writedimscalegrid.f +@@ -29,8 +29,8 @@ + ! * id, gdfid, which is used to identify the file in subsequent routines. + ! */ + +- gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + ! /* + ! * If the grid file cannot be found, gdopen will return -1 for the file +diff --git a/samples/writedimscaleswath.f b/samples/writedimscaleswath.f +index 1151671..1a911a6 100644 +--- a/samples/writedimscaleswath.f ++++ b/samples/writedimscaleswath.f +@@ -31,8 +31,8 @@ + ! * id, swfid, which is used to identify the file in subsequent routines. + ! */ + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_write +- 1r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + ! /* + ! * If the swath file cannot be found, swopen will return -1 for the file +diff --git a/samples/writefields.f b/samples/writefields.f +index a743661..862b96c 100644 +--- a/samples/writefields.f ++++ b/samples/writefields.f +@@ -31,8 +31,8 @@ c + c Open the HDF swath file, "SwathFile.hdf" + c + +- swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + + if (swfid .NE. -1) then +diff --git a/samples/writegdflds.f b/samples/writegdflds.f +index d1540b3..81aef75 100644 +--- a/samples/writegdflds.f ++++ b/samples/writegdflds.f +@@ -23,8 +23,8 @@ + enddo + + +- gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_ +- 1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"// ++ 1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + if (gdfid .ne. -1) then + +diff --git a/samples/writelevels.f b/samples/writelevels.f +index 88e7780..cb40c9e 100644 +--- a/samples/writelevels.f ++++ b/samples/writelevels.f +@@ -32,8 +32,8 @@ c + c Open the HDF point file, "PointFile.hdf". + c + +- ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer +- 1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) ++ ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"// ++ + "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR) + + + c +-- +2.10.0 + diff --git a/gnu/packages/patches/hdf-eos2-remove-gctp.patch b/gnu/packages/patches/hdf-eos2-remove-gctp.patch new file mode 100644 index 0000000000..0776c0685e --- /dev/null +++ b/gnu/packages/patches/hdf-eos2-remove-gctp.patch @@ -0,0 +1,55 @@ +Don't build the GCTP bundled with the source and link with the +system's -lgctp instead. We also remove references to the +"testdrivers" directory, which is not distributed together with the +source, causing autoreconf to fail. + +diff --git a/Makefile.in b/Makefile.in +index d468af2..90428a7 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -206,7 +206,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la + @TESTDRIVERS_CONDITIONAL_TRUE@TESTDRIVERS = testdrivers + @INSTALL_INCLUDE_CONDITIONAL_FALSE@INCLUDE = + @INSTALL_INCLUDE_CONDITIONAL_TRUE@INCLUDE = include +-SUBDIRS = gctp src $(INCLUDE) samples $(TESTDRIVERS) ++SUBDIRS = src $(INCLUDE) samples $(TESTDRIVERS) + all: all-recursive + + .SUFFIXES: +diff --git a/include/Makefile.in b/include/Makefile.in +index 9938b23..afb7f40 100644 +--- a/include/Makefile.in ++++ b/include/Makefile.in +@@ -190,7 +190,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la + # Boilerplate include + + # Headers to install +-include_HEADERS = HE2_config.h HdfEosDef.h HDFEOSVersion.h cfortHdf.h ease.h ++include_HEADERS = HdfEosDef.h HDFEOSVersion.h cfortHdf.h ease.h + all: HE2_config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +diff --git a/samples/Makefile.in b/samples/Makefile.in +index 9da6e28..6a6186c 100644 +--- a/samples/Makefile.in ++++ b/samples/Makefile.in +@@ -108,7 +108,6 @@ AppendField_SOURCES = AppendField.c + AppendField_OBJECTS = AppendField.$(OBJEXT) + AppendField_LDADD = $(LDADD) + am__DEPENDENCIES_1 = $(top_builddir)/src/libhdfeos.la +-am__DEPENDENCIES_2 = $(top_builddir)/gctp/src/libGctp.la + AppendField_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) + DefineFields_SOURCES = DefineFields.c + DefineFields_OBJECTS = DefineFields.$(OBJEXT) +@@ -481,7 +480,7 @@ sharedstatedir = @sharedstatedir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + LIBHDFEOS2 = $(top_builddir)/src/libhdfeos.la +-LIBGCTP = $(top_builddir)/gctp/src/libGctp.la ++LIBGCTP = + + # Boilerplate definitions file + +-- +2.10.0 + diff --git a/gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch b/gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch deleted file mode 100644 index 37a41f61e4..0000000000 --- a/gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch +++ /dev/null @@ -1,99 +0,0 @@ -Fix CVE-2016-5195, a.k.a. Dirty COW. -Backported to linux-libre-4.1.x by Mark H Weaver <mhw@netris.org>. - -From 18652320ea99913c95e7130d654be7f1da6b694f Mon Sep 17 00:00:00 2001 -From: Linus Torvalds <torvalds@linux-foundation.org> -Date: Thu, 13 Oct 2016 13:07:36 -0700 -Subject: [PATCH] mm: remove gup_flags FOLL_WRITE games from __get_user_pages() - -commit 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619 upstream. - -This is an ancient bug that was actually attempted to be fixed once -(badly) by me eleven years ago in commit 4ceb5db9757a ("Fix -get_user_pages() race for write access") but that was then undone due to -problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug"). - -In the meantime, the s390 situation has long been fixed, and we can now -fix it by checking the pte_dirty() bit properly (and do it better). The -s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement -software dirty bits") which made it into v3.9. Earlier kernels will -have to look at the page state itself. - -Also, the VM has become more scalable, and what used a purely -theoretical race back then has become easier to trigger. - -To fix it, we introduce a new internal FOLL_COW flag to mark the "yes, -we already did a COW" rather than play racy games with FOLL_WRITE that -is very fundamental, and then use the pte dirty flag to validate that -the FOLL_COW flag is still valid. - -Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com> -Acked-by: Hugh Dickins <hughd@google.com> -Reviewed-by: Michal Hocko <mhocko@suse.com> -Cc: Andy Lutomirski <luto@kernel.org> -Cc: Kees Cook <keescook@chromium.org> -Cc: Oleg Nesterov <oleg@redhat.com> -Cc: Willy Tarreau <w@1wt.eu> -Cc: Nick Piggin <npiggin@gmail.com> -Cc: Greg Thelen <gthelen@google.com> -Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - include/linux/mm.h | 1 + - mm/gup.c | 14 ++++++++++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/include/linux/mm.h b/include/linux/mm.h -index 6b85ec6..7cadf0a 100644 ---- a/include/linux/mm.h -+++ b/include/linux/mm.h -@@ -2064,6 +2064,7 @@ static inline struct page *follow_page(struct vm_area_struct *vma, - #define FOLL_NUMA 0x200 /* force NUMA hinting page fault */ - #define FOLL_MIGRATION 0x400 /* wait for page to replace migration entry */ - #define FOLL_TRIED 0x800 /* a retry, previous pass started an IO */ -+#define FOLL_COW 0x4000 /* internal GUP flag */ - - typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, - void *data); -diff --git a/mm/gup.c b/mm/gup.c -index 6297f6b..e6de9e7 100644 ---- a/mm/gup.c -+++ b/mm/gup.c -@@ -32,6 +32,16 @@ static struct page *no_page_table(struct vm_area_struct *vma, - return NULL; - } - -+/* -+ * FOLL_FORCE can write to even unwritable pte's, but only -+ * after we've gone through a COW cycle and they are dirty. -+ */ -+static inline bool can_follow_write_pte(pte_t pte, unsigned int flags) -+{ -+ return pte_write(pte) || -+ ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte)); -+} -+ - static struct page *follow_page_pte(struct vm_area_struct *vma, - unsigned long address, pmd_t *pmd, unsigned int flags) - { -@@ -66,7 +76,7 @@ retry: - } - if ((flags & FOLL_NUMA) && pte_protnone(pte)) - goto no_page; -- if ((flags & FOLL_WRITE) && !pte_write(pte)) { -+ if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) { - pte_unmap_unlock(ptep, ptl); - return NULL; - } -@@ -315,7 +325,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma, - * reCOWed by userspace write). - */ - if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE)) -- *flags &= ~FOLL_WRITE; -+ *flags |= FOLL_COW; - return 0; - } - --- -2.10.1 - diff --git a/gnu/packages/patches/mupdf-CVE-2016-8674.patch b/gnu/packages/patches/mupdf-CVE-2016-8674.patch new file mode 100644 index 0000000000..2a35619761 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2016-8674.patch @@ -0,0 +1,165 @@ +Fix CVE-2016-8674 (use-after-free in pdf_to_num()). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8674 +https://security-tracker.debian.org/tracker/CVE-2016-8674 + +Patch adapted from upstream source repository: +http://git.ghostscript.com/?p=mupdf.git;h=1e03c06456d997435019fb3526fa2d4be7dbc6ec + +diff --git a/include/mupdf/pdf/document.h b/include/mupdf/pdf/document.h +index f8ef0cd..e8345b7 100644 +--- a/include/mupdf/pdf/document.h ++++ b/include/mupdf/pdf/document.h +@@ -258,6 +258,10 @@ struct pdf_document_s + fz_font **type3_fonts; + + pdf_resource_tables *resources; ++ ++ int orphans_max; ++ int orphans_count; ++ pdf_obj **orphans; + }; + + /* +diff --git a/include/mupdf/pdf/object.h b/include/mupdf/pdf/object.h +index 346a2f1..02d4119 100644 +--- a/include/mupdf/pdf/object.h ++++ b/include/mupdf/pdf/object.h +@@ -109,6 +109,7 @@ pdf_obj *pdf_dict_gets(fz_context *ctx, pdf_obj *dict, const char *key); + pdf_obj *pdf_dict_getsa(fz_context *ctx, pdf_obj *dict, const char *key, const char *abbrev); + void pdf_dict_put(fz_context *ctx, pdf_obj *dict, pdf_obj *key, pdf_obj *val); + void pdf_dict_put_drop(fz_context *ctx, pdf_obj *dict, pdf_obj *key, pdf_obj *val); ++void pdf_dict_get_put_drop(fz_context *ctx, pdf_obj *dict, pdf_obj *key, pdf_obj *val, pdf_obj **old_val); + void pdf_dict_puts(fz_context *ctx, pdf_obj *dict, const char *key, pdf_obj *val); + void pdf_dict_puts_drop(fz_context *ctx, pdf_obj *dict, const char *key, pdf_obj *val); + void pdf_dict_putp(fz_context *ctx, pdf_obj *dict, const char *path, pdf_obj *val); +diff --git a/source/pdf/pdf-object.c b/source/pdf/pdf-object.c +index f2e4551..a0d0d8e 100644 +--- a/source/pdf/pdf-object.c ++++ b/source/pdf/pdf-object.c +@@ -1240,9 +1240,13 @@ pdf_dict_geta(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *abbrev) + return pdf_dict_get(ctx, obj, abbrev); + } + +-void +-pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val) ++static void ++pdf_dict_get_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val, pdf_obj **old_val) + { ++ ++ if (old_val) ++ *old_val = NULL; ++ + RESOLVE(obj); + if (obj >= PDF_OBJ__LIMIT) + { +@@ -1282,7 +1286,10 @@ pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val) + { + pdf_obj *d = DICT(obj)->items[i].v; + DICT(obj)->items[i].v = pdf_keep_obj(ctx, val); +- pdf_drop_obj(ctx, d); ++ if (old_val) ++ *old_val = d; ++ else ++ pdf_drop_obj(ctx, d); + } + } + else +@@ -1305,10 +1312,27 @@ pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val) + } + + void ++pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val) ++{ ++ pdf_dict_get_put(ctx, obj, key, val, NULL); ++} ++ ++void + pdf_dict_put_drop(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val) + { + fz_try(ctx) +- pdf_dict_put(ctx, obj, key, val); ++ pdf_dict_get_put(ctx, obj, key, val, NULL); ++ fz_always(ctx) ++ pdf_drop_obj(ctx, val); ++ fz_catch(ctx) ++ fz_rethrow(ctx); ++} ++ ++void ++pdf_dict_get_put_drop(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val, pdf_obj **old_val) ++{ ++ fz_try(ctx) ++ pdf_dict_get_put(ctx, obj, key, val, old_val); + fz_always(ctx) + pdf_drop_obj(ctx, val); + fz_catch(ctx) +diff --git a/source/pdf/pdf-repair.c b/source/pdf/pdf-repair.c +index fdd4648..212c8b7 100644 +--- a/source/pdf/pdf-repair.c ++++ b/source/pdf/pdf-repair.c +@@ -259,6 +259,27 @@ pdf_repair_obj_stm(fz_context *ctx, pdf_document *doc, int num, int gen) + } + } + ++static void ++orphan_object(fz_context *ctx, pdf_document *doc, pdf_obj *obj) ++{ ++ if (doc->orphans_count == doc->orphans_max) ++ { ++ int new_max = (doc->orphans_max ? doc->orphans_max*2 : 32); ++ ++ fz_try(ctx) ++ { ++ doc->orphans = fz_resize_array(ctx, doc->orphans, new_max, sizeof(*doc->orphans)); ++ doc->orphans_max = new_max; ++ } ++ fz_catch(ctx) ++ { ++ pdf_drop_obj(ctx, obj); ++ fz_rethrow(ctx); ++ } ++ } ++ doc->orphans[doc->orphans_count++] = obj; ++} ++ + void + pdf_repair_xref(fz_context *ctx, pdf_document *doc) + { +@@ -520,12 +541,13 @@ pdf_repair_xref(fz_context *ctx, pdf_document *doc) + /* correct stream length for unencrypted documents */ + if (!encrypt && list[i].stm_len >= 0) + { ++ pdf_obj *old_obj = NULL; + dict = pdf_load_object(ctx, doc, list[i].num, list[i].gen); + + length = pdf_new_int(ctx, doc, list[i].stm_len); +- pdf_dict_put(ctx, dict, PDF_NAME_Length, length); +- pdf_drop_obj(ctx, length); +- ++ pdf_dict_get_put_drop(ctx, dict, PDF_NAME_Length, length, &old_obj); ++ if (old_obj) ++ orphan_object(ctx, doc, old_obj); + pdf_drop_obj(ctx, dict); + } + } +diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c +index 3de1cd2..6682741 100644 +--- a/source/pdf/pdf-xref.c ++++ b/source/pdf/pdf-xref.c +@@ -1626,6 +1626,12 @@ pdf_close_document(fz_context *ctx, pdf_document *doc) + + pdf_drop_resource_tables(ctx, doc); + ++ for (i = 0; i < doc->orphans_count; i++) ++ { ++ pdf_drop_obj(ctx, doc->orphans[i]); ++ } ++ fz_free(ctx, doc->orphans); ++ + fz_free(ctx, doc); + } + +-- +2.10.1 + diff --git a/gnu/packages/patches/musl-CVE-2016-8859.patch b/gnu/packages/patches/musl-CVE-2016-8859.patch new file mode 100644 index 0000000000..7bb5b892dd --- /dev/null +++ b/gnu/packages/patches/musl-CVE-2016-8859.patch @@ -0,0 +1,81 @@ +Fix CVE-2016-8859: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8859 + +Patch copied from upstream source repository: + +http://git.musl-libc.org/cgit/musl/commit/?id=c3edc06d1e1360f3570db9155d6b318ae0d0f0f7 + +From c3edc06d1e1360f3570db9155d6b318ae0d0f0f7 Mon Sep 17 00:00:00 2001 +From: Rich Felker <dalias@aerifal.cx> +Date: Thu, 6 Oct 2016 18:34:58 -0400 +Subject: [PATCH] fix missing integer overflow checks in regexec buffer size + computations + +most of the possible overflows were already ruled out in practice by +regcomp having already succeeded performing larger allocations. +however at least the num_states*num_tags multiplication can clearly +overflow in practice. for safety, check them all, and use the proper +type, size_t, rather than int. + +also improve comments, use calloc in place of malloc+memset, and +remove bogus casts. +--- + src/regex/regexec.c | 23 ++++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) + +diff --git a/src/regex/regexec.c b/src/regex/regexec.c +index 16c5d0a..dd52319 100644 +--- a/src/regex/regexec.c ++++ b/src/regex/regexec.c +@@ -34,6 +34,7 @@ + #include <wchar.h> + #include <wctype.h> + #include <limits.h> ++#include <stdint.h> + + #include <regex.h> + +@@ -206,11 +207,24 @@ tre_tnfa_run_parallel(const tre_tnfa_t *tnfa, const void *string, + + /* Allocate memory for temporary data required for matching. This needs to + be done for every matching operation to be thread safe. This allocates +- everything in a single large block from the stack frame using alloca() +- or with malloc() if alloca is unavailable. */ ++ everything in a single large block with calloc(). */ + { +- int tbytes, rbytes, pbytes, xbytes, total_bytes; ++ size_t tbytes, rbytes, pbytes, xbytes, total_bytes; + char *tmp_buf; ++ ++ /* Ensure that tbytes and xbytes*num_states cannot overflow, and that ++ * they don't contribute more than 1/8 of SIZE_MAX to total_bytes. */ ++ if (num_tags > SIZE_MAX/(8 * sizeof(int) * tnfa->num_states)) ++ goto error_exit; ++ ++ /* Likewise check rbytes. */ ++ if (tnfa->num_states+1 > SIZE_MAX/(8 * sizeof(*reach_next))) ++ goto error_exit; ++ ++ /* Likewise check pbytes. */ ++ if (tnfa->num_states > SIZE_MAX/(8 * sizeof(*reach_pos))) ++ goto error_exit; ++ + /* Compute the length of the block we need. */ + tbytes = sizeof(*tmp_tags) * num_tags; + rbytes = sizeof(*reach_next) * (tnfa->num_states + 1); +@@ -221,10 +235,9 @@ tre_tnfa_run_parallel(const tre_tnfa_t *tnfa, const void *string, + + (rbytes + xbytes * tnfa->num_states) * 2 + tbytes + pbytes; + + /* Allocate the memory. */ +- buf = xmalloc((unsigned)total_bytes); ++ buf = calloc(total_bytes, 1); + if (buf == NULL) + return REG_ESPACE; +- memset(buf, 0, (size_t)total_bytes); + + /* Get the various pointers within tmp_buf (properly aligned). */ + tmp_tags = (void *)buf; +-- +2.10.1 + diff --git a/gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch b/gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch deleted file mode 100644 index 9ddfd4fe10..0000000000 --- a/gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch +++ /dev/null @@ -1,46 +0,0 @@ -This fixes a test failure with emacs-25. Picked from -https://git.notmuchmail.org/git?p=notmuch;a=commit;h=f575a346df09c82691bb9e7c462836d982fe31f7 - -From f575a346df09c82691bb9e7c462836d982fe31f7 Mon Sep 17 00:00:00 2001 -From: David Bremner <david@tethera.net> -Date: Sun, 9 Oct 2016 19:30:44 -0300 -Subject: [PATCH] emacs/show: force notmuch-show-buttonise-links to act on - lines - -This seems to fix a problem with emacs 25 creating partial buttons by -calling n-s-b-l with a region that does not include the whole button. -I'm not 100% sure it's legit to act outside the region passed by -jit-lock, but goto-address-fontify-region (where I borrowed the code -from) already does this, so this patch to not make things worse. ---- - emacs/notmuch-show.el | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el -index 641398d..e7d16f8 100644 ---- a/emacs/notmuch-show.el -+++ b/emacs/notmuch-show.el -@@ -1174,13 +1174,15 @@ This also turns id:\"<message id>\"-parts and mid: links into - buttons for a corresponding notmuch search." - (goto-address-fontify-region start end) - (save-excursion -- (let (links) -- (goto-char start) -- (while (re-search-forward notmuch-id-regexp end t) -+ (let (links -+ (beg-line (progn (goto-char start) (line-beginning-position))) -+ (end-line (progn (goto-char end) (line-end-position)))) -+ (goto-char beg-line) -+ (while (re-search-forward notmuch-id-regexp end-line t) - (push (list (match-beginning 0) (match-end 0) - (match-string-no-properties 0)) links)) -- (goto-char start) -- (while (re-search-forward notmuch-mid-regexp end t) -+ (goto-char beg-line) -+ (while (re-search-forward notmuch-mid-regexp end-line t) - (let* ((mid-cid (match-string-no-properties 1)) - (mid (save-match-data - (string-match "^[^/]*" mid-cid) --- -2.10.1 - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 8bfe2c1a89..af153a05a3 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -489,7 +489,8 @@ extracting content or merging files.") "1k64pdapyj8a336jw3j61fhn0rp4q6az7d0dqp9r5n3d9rgwa5c0")) (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch" "mupdf-CVE-2016-6265.patch" - "mupdf-CVE-2016-6525.patch")) + "mupdf-CVE-2016-6525.patch" + "mupdf-CVE-2016-8674.patch")) (modules '((guix build utils))) (snippet ;; Delete all the bundled libraries except for mujs, which is diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm index 57042946d5..a55f78e4c0 100644 --- a/gnu/packages/psyc.scm +++ b/gnu/packages/psyc.scm @@ -18,15 +18,24 @@ (define-module (gnu packages psyc) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix build-system perl) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages autotools) + #:use-module (gnu packages bison) + #:use-module (gnu packages compression) + #:use-module (gnu packages gettext) #:use-module (gnu packages linux) + #:use-module (gnu packages man) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) #:use-module (gnu packages web)) (define-public perl-net-psyc @@ -143,3 +152,76 @@ core aspects of PSYC, useful for all kinds of clients and servers including psyced.") (synopsis "PSYC library in C") (license license:agpl3+))) + +;; This commit removes the historic bundled pcre, not released as a tarball so far. +(define-public psyclpc + (let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e") + (revision "1")) + (package + (name "psyclpc") + (version (string-append "20160821-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.psyced.org/git/psyclpc") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "10w4kx9ygcv1lcmd7j4knvjiy8dac1y3hjfv3lhp67jpv6w3iagz")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests/checks. + #:configure-flags + ;; If you have questions about this part, look at + ;; "src/settings/psyced" and the ebuild. + (list + "--enable-use-tls=yes" + "--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled. + (string-append "--prefix=" + (assoc-ref %outputs "out")) + ;; src/Makefile: Set MUD_LIB to the directory which contains + ;; the mud data. defaults to MUD_LIB = @libdir@ + (string-append "--libdir=" + (assoc-ref %outputs "out") + "/opt/psyced/world") + (string-append "--bindir=" + (assoc-ref %outputs "out") + "/opt/psyced/bin") + ;; src/Makefile: Set ERQ_DIR to directory which contains the + ;; stuff which ERQ can execute (hopefully) savely. Was formerly + ;; defined in config.h. defaults to ERQ_DIR= @libexecdir@ + (string-append "--libexecdir=" + (assoc-ref %outputs "out") + "/opt/psyced/run")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir-to-src + ;; We need to pass this as env variables + ;; and manually change the directory. + (lambda _ + (chdir "src") + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "SHELL" (which "sh")) + #t))) + #:make-flags (list "install-all"))) + (inputs + `(("zlib" ,zlib) + ("openssl" ,openssl) + ("pcre" ,pcre))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("bison" ,bison) + ("gnu-gettext" ,gnu-gettext) + ("help2man" ,help2man) + ("autoconf" ,autoconf) + ("automake" ,automake))) + (home-page "http://lpc.psyc.eu/") + (synopsis "psycLPC is a multi-user network server programming language") + (description + "LPC is a bytecode language, invented to specifically implement +multi user virtual environments on the internet. This technology is used for +MUDs and also the psyced implementation of the Protocol for SYnchronous +Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and +many bug fixes.") + (license license:gpl2)))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 929ea208f2..ba1e0c424d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2298,13 +2298,13 @@ files.") (define-public python-certifi (package (name "python-certifi") - (version "2015.11.20.1") + (version "2016.8.31") (source (origin (method url-fetch) (uri (pypi-uri "certifi" version)) (sha256 (base32 - "05lgwf9rz1kn465azy2bpb3zmpnsn9gkypbhnjlclchv98ssgc1h")))) + "06c9dcyv8ss050gkv5xjivbxhm6qm0s9vzy4r33wqabgv118lw7p")))) (build-system python-build-system) (inputs `(("python-setuptools" ,python-setuptools))) diff --git a/gnu/packages/yubico.scm b/gnu/packages/security-token.scm index 469d93d0dc..36ccaa5203 100644 --- a/gnu/packages/yubico.scm +++ b/gnu/packages/security-token.scm @@ -17,9 +17,9 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. -(define-module (gnu packages yubico) +(define-module (gnu packages security-token) #:use-module (gnu packages) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -45,7 +45,7 @@ "This package contains a C library and command-line tools that make up the low-level development kit for the Yubico YubiKey authentication device.") (home-page "https://developers.yubico.com/yubico-c/") - (license bsd-2))) + (license license:bsd-2))) (define-public ykclient (package @@ -74,4 +74,4 @@ the low-level development kit for the Yubico YubiKey authentication device.") one-time-password (OTP) YubiKey against Yubico’s servers. See the Yubico website for more information about Yubico and the YubiKey.") (home-page "https://developers.yubico.com/yubico-c-client/") - (license bsd-2))) + (license license:bsd-2))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index af5aae1029..5fdeeb74a4 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -506,3 +507,28 @@ manipulating key files.") authentication with SSH's so-called @dfn{interactive keyboard password authentication}.") (license license:gpl2+))) + +(define-public autossh + (package + (name "autossh") + (version "1.4e") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.harding.motd.ca/autossh/autossh-" + version ".tgz")) + (sha256 + (base32 "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly")))) + (build-system gnu-build-system) + (arguments `(#:tests? #f)) ; There is no "make check" or anything similar + (inputs `(("openssh" ,openssh))) + (synopsis "Automatically restart SSH sessions and tunnels") + (description "autossh is a program to start a copy of @command{ssh} and +monitor it, restarting it as necessary should it die or stop passing traffic.") + (home-page "http://www.harding.motd.ca/autossh/") + (license + ;; Why point to a source file? Well, all the individual files have a + ;; copy of this license in their headers, but there's no separate file + ;; with that information. + (license:non-copyleft "file://autossh.c")))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 0748b5d860..ee6e69346a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -200,13 +200,13 @@ available, greatly increasing its breadth and scope.") (define-public r-colorspace (package (name "r-colorspace") - (version "1.2-6") + (version "1.2-7") (source (origin (method url-fetch) (uri (cran-uri "colorspace" version)) (sha256 - (base32 "0y8n4ljwhbdvkysdwgqzcnpv107pb3px1jip3k6svv86p72nacds")))) + (base32 "0flw97iwwpkxy6si9cn982jhl61wb1rxi3r0nz2xxf0c3fzw18d5")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/colorspace") (synopsis "Color space manipulation") @@ -410,14 +410,14 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see (define-public r-matrix (package (name "r-matrix") - (version "1.2-7") + (version "1.2-7.1") (source (origin (method url-fetch) (uri (cran-uri "Matrix" version)) (sha256 (base32 - "18x3mdq5cdhbk1lw5cj7vbr41lk8w9p4i5kzh8wslgq6p3d9ac3c")))) + "09rd51na9spz0lm1lylkfhw43w7c922b83m4jsggmpg3pbd6dssa")))) (properties `((upstream-name . "Matrix"))) (build-system r-build-system) (propagated-inputs @@ -558,14 +558,14 @@ solution for sending email, including attachments, from within R.") (define-public r-stringi (package (name "r-stringi") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "0rg14hga1g2havd3imhk04iyh1dnisnmxf7yhiiwhs7y72hphc94")))) + "13i1p6j8mx31hsw2s4c2phm2llrrdakzixkm6i0axsxprri722z5")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -608,13 +608,13 @@ the input of another.") (define-public r-reshape2 (package (name "r-reshape2") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (cran-uri "reshape2" version)) (sha256 - (base32 "0hl082dyk3pk07nqprpn5dvnrkqhnf6zjnjig1ijddxhlmsrzm7v")))) + (base32 "0swvjmc9f8cvkrsz463cp6snd8bncbv6q8yrfrb4rgkr0dhq6dvd")))) (build-system r-build-system) (propagated-inputs `(("r-plyr" ,r-plyr) @@ -811,13 +811,13 @@ for template use among CRAN packages.") (define-public r-evaluate (package (name "r-evaluate") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) (uri (cran-uri "evaluate" version)) (sha256 (base32 - "1bn6bympg9prr8d16g1g530bddii8i04hf4i2bkw0yf4dsfqq4g8")))) + "0mwna7rjyrmc76651a1fm7c76ippdsc2wsp3sj3iwb1c73mvlqv1")))) (build-system r-build-system) (propagated-inputs `(("r-stringr" ,r-stringr))) @@ -1131,13 +1131,13 @@ flexible and easy to set up.") (define-public r-r6 (package (name "r-r6") - (version "2.1.3") + (version "2.2.0") (source (origin (method url-fetch) (uri (cran-uri "R6" version)) (sha256 (base32 - "19qrkgxvssyi51fm80h93sabzz0n2vgqgv1w8xjqbsap0nx379vy")))) + "1ir51pb0y6yj05qaxsflk4a6hv8n73cwlb0qajcskbrz632dsyvx")))) (build-system r-build-system) (home-page "https://github.com/wch/R6/") (synopsis "Classes with reference semantics in R") @@ -1209,14 +1209,14 @@ database.") (define-public r-acepack (package (name "r-acepack") - (version "1.3-3.3") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "acepack" version)) (sha256 (base32 - "13ry3vyys12iplb14jfhmkrl9g5fxg3iijiggq4s4zb5m5436b1y")))) + "0brivhr0imf2qq1flc9qxibybg1zi5m8pxz8cjn5a8gb42bcv96n")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) @@ -1230,14 +1230,14 @@ transformations.") (define-public r-cluster (package (name "r-cluster") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (cran-uri "cluster" version)) (sha256 (base32 - "1r669aaaia05i8sv8hxiig1ddah7hm8qw869wgig5i0zzk22bnfl")))) + "1bkvqmv8h2c423q9ag2afb6s9j2vcdlxsf559zzbimraphrr2c2b")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) @@ -1252,14 +1252,14 @@ Groups in Data\".") (define-public r-foreign (package (name "r-foreign") - (version "0.8-66") + (version "0.8-67") (source (origin (method url-fetch) (uri (cran-uri "foreign" version)) (sha256 (base32 - "19278jm85728zb20800w6hq9q8jy8ywdn81mgmlnxkmrr9giwh6p")))) + "1mcrm2pydimbyjhkrw5h380bifj1jhwzifph1xgh90asf3lvd1xd")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software in R") @@ -1615,14 +1615,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "0s04mbb7imqc00jl37i081y4yf7qdimk687dyrkvb20nixvjvjyh")))) + "0fssh5rnnvpp8wm0ml9gk765idwrgj07xyxpkhpidl9zwydxzif2")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2051,13 +2051,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.7.400.2.0") + (version "0.7.500.0.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0g2658iy43higy1cay00ljibgnwh0zv5gcwvbhckjs48y8z1a2pb")) + "06qb6877c5qd8lvnc4b27z8fwb5r5pyylkj0g6kj1rn868zkh5ps")) (modules '((guix build utils))) ;; Remove bundled armadillo sources (snippet @@ -2135,14 +2135,14 @@ encoder/decoder, round-off-error-free sum and cumsum, etc.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 (base32 - "0c7gs9c8xdjfxviw0syh13pf3vys2b2ssixmnyqbji64xdscn7pz")))) + "1czvkaz1ji3jyj6qrvbswisqs9d05ljqc4vjkfdrf6hygix7azd0")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (arguments @@ -2161,6 +2161,8 @@ encoder/decoder, round-off-error-free sum and cumsum, etc.") #t))))) (propagated-inputs `(("r-catools" ,r-catools) + ("r-evaluate" ,r-evaluate) + ("r-tibble" ,r-tibble) ("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-base64enc" ,r-base64enc) @@ -2413,13 +2415,13 @@ multiple breakpoints are allowed.") (define-public r-snow (package (name "r-snow") - (version "0.4-1") + (version "0.4-2") (source (origin (method url-fetch) (uri (cran-uri "snow" version)) (sha256 (base32 - "19r2yq8aqw99vwyx81p6ay4afsfqffal1wzvizk3dj882s2n4j8w")))) + "1mxbrkpnmq32x4wd0194d541661yvfrrjlr3lsf7qq53ms3h21zf")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/snow") (synopsis "Support for simple parallel computing in R") @@ -2477,14 +2479,14 @@ data.") (define-public r-codetools (package (name "r-codetools") - (version "0.2-14") + (version "0.2-15") (source (origin (method url-fetch) (uri (cran-uri "codetools" version)) (sha256 (base32 - "0y9r4m2b8xgavr89sc179knzwpz54xljbc1dinpq2q07i4xn0397")))) + "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/codetools") (synopsis "Code analysis tools for R") @@ -2621,14 +2623,14 @@ flexible than the orphaned \"base64\" package.") (define-public r-irlba (package (name "r-irlba") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (cran-uri "irlba" version)) (sha256 (base32 - "0yb8b8g6f3cb0f56r702fn2px8nf5rx8cyy2scq36xai9w7f25jj")))) + "1qbcn0ix85pmk296jhpi419kvh06vxm5cq24yk013ps3g7fyi0si")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/irlba") (synopsis "Methods for eigendecomposition of large matrices") @@ -2897,13 +2899,13 @@ maintenance for package developers.") (define-public r-r-utils (package (name "r-r-utils") - (version "2.3.0") + (version "2.4.0") (source (origin (method url-fetch) (uri (cran-uri "R.utils" version)) (sha256 (base32 - "0f4z7ka1wb7bgxc5wyqihqxsnqwgyyzbglwvfwmx0gn8i0wzi647")))) + "0cn0wlmgwclmqak05825wrk9q894xa4qjqa7rn0i9p4ss7k6vifj")))) (properties `((upstream-name . "R.utils"))) (build-system r-build-system) (propagated-inputs @@ -2995,13 +2997,13 @@ t-probabilities, quantiles, random deviates and densities.") (define-public r-matrixstats (package (name "r-matrixstats") - (version "0.50.2") + (version "0.51.0") (source (origin (method url-fetch) (uri (cran-uri "matrixStats" version)) (sha256 (base32 - "0zj27xxx9cyrq16rn4g3l0krqg68p8f2qp18w1w4i767j87amlbj")))) + "0bsalx605kgb9nl7mfnq1qinkyd9s97p8plymsyfja1gmcnjrcpj")))) (properties `((upstream-name . "matrixStats"))) (build-system r-build-system) (native-inputs @@ -3280,6 +3282,30 @@ conversion of R objects to LaTeX code, and recoding variables.") framework, with additional code inspection and report generation tools.") (license license:gpl2+))) +(define-public r-kernsmooth + (package + (name "r-kernsmooth") + (version "2.23-15") + (source + (origin + (method url-fetch) + (uri (cran-uri "KernSmooth" version)) + (sha256 + (base32 + "1xhha8kw10jv8pv8b61hb5in9qiw3r2a9kdji3qlm991s4zd4wlb")))) + (properties `((upstream-name . "KernSmooth"))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/KernSmooth") + (synopsis "Functions for kernel smoothing") + (description + "This package provides functions for kernel smoothing (and density +estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995) +\"Kernel Smoothing\".") + ;; Unlimited use and distribution + (license (license:non-copyleft "file://LICENSE.note")))) + (define-public r-zoo (package (name "r-zoo") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cdc9193c14..1b1c16a2ec 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -250,6 +250,37 @@ H.264 (MPEG-4 AVC) video streams.") "file://extras/cl.h" "See extras/cl.h in the distribution."))))) +(define-public x265 + (package + (name "x265") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.videolan.org/videolan/x265/" + "x265_" version ".tar.gz")) + (sha256 + (base32 + "0hx6sr9l7586gs4qds2sj0i1m5brxkaqq3cwmibhfb559fpvkz48")) + (modules '((guix build utils))) + (snippet + '(delete-file-recursively "source/compat/getopt")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built + #:phases + (modify-phases %standard-phases + (add-before 'configure 'prepare-build + (lambda _ + (delete-file-recursively "build") + (chdir "source") + #t))))) + (home-page "http://x265.org/") + (synopsis "Library for encoding h.265/HEVC video streams") + (description "x265 is a H.265 / HEVC video encoder application library, +designed to encode video or images into an H.265 / HEVC encoded bitstream.") + (license license:gpl2+))) + (define-public libass (package (name "libass") @@ -435,6 +466,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") ("soxr" ,soxr) ("speex" ,speex) ("twolame" ,twolame) + ("x265" ,x265) ("xvid" ,xvid) ("zlib" ,zlib))) (native-inputs @@ -518,6 +550,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") "--enable-libvpx" "--enable-libxvid" "--enable-libx264" + "--enable-libx265" "--enable-openal" "--enable-opengl" "--enable-x11grab" @@ -647,6 +680,7 @@ audio/video codec library.") ("sdl" ,sdl) ("sdl-image" ,sdl-image) ("speex" ,speex) + ("x265" ,x265) ("xcb-util-keysyms" ,xcb-util-keysyms))) (arguments `(#:configure-flags diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 60f1f736cd..ddf2ebfcf5 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3205,13 +3205,13 @@ particularly easy to create complete web applications using httpuv alone.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "0bcnzzycvwwkm0lv0ka9xf55z5c1795b7c2vhmf53z73cxixsmnp")))) + "0mrfzh0mxxrhqdmxai434wvyd7skkw28vxr7pyls19yrg941g6r3")))) (build-system r-build-system) (home-page "http://arxiv.org/abs/1403.2805") (synopsis "Robust, high performance JSON parser and generator for R") @@ -3311,13 +3311,13 @@ applications.") (define-public r-curl (package (name "r-curl") - (version "1.2") + (version "2.2") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "04fwasg400v8dvkcn1fcha1jzdz8lbyxi0679q7flsyrp57b3jrf")))) + "0hyvyjzf5ja7kfhzmlfgp86hg1lxrriiwbnr6pxabwwslswj3cmj")))) (build-system r-build-system) (arguments `(#:phases diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 0a2a09bbf5..59e1e54e04 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> +;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,8 @@ #:use-module (ice-9 match) #:export (nginx-configuration nginx-configuration? + nginx-vhost-configuration + nginx-vhost-configuration? nginx-service nginx-service-type)) @@ -38,6 +41,26 @@ ;;; ;;; Code: +(define-record-type* <nginx-vhost-configuration> + nginx-vhost-configuration make-nginx-vhost-configuration + nginx-vhost-configuration? + (http-port nginx-vhost-configuration-http-port + (default 80)) + (https-port nginx-vhost-configuration-https-port + (default 443)) + (server-name nginx-vhost-configuration-server-name + (default (list 'default))) + (root nginx-vhost-configuration-root + (default "/srv/http")) + (index nginx-vhost-configuration-index + (default (list "index.html"))) + (ssl-certificate nginx-vhost-configuration-ssl-certificate + (default "/etc/nginx/cert.pem")) + (ssl-certificate-key nginx-vhost-configuration-ssl-certificate-key + (default "/etc/nginx/key.pem")) + (server-tokens? nginx-vhost-configuration-server-tokens? + (default #f))) + (define-record-type* <nginx-configuration> nginx-configuration make-nginx-configuration nginx-configuration? @@ -46,16 +69,70 @@ (run-directory nginx-configuration-run-directory) ;string (file nginx-configuration-file)) ;string | file-like -(define (default-nginx-config log-directory run-directory) +(define (config-domain-strings names) + "Return a string denoting the nginx config representation of NAMES, a list +of domain names." + (string-concatenate + (map (match-lambda + ('default "_") + ((? string? str) str)) + names))) + +(define (config-index-strings names) + "Return a string denoting the nginx config representation of NAMES, a list +of index files." + (string-concatenate + (map (match-lambda + ((? string? str) str)) + names))) + +(define (default-nginx-vhost-config vhost) + (string-append + " server {\n" + (if (nginx-vhost-configuration-http-port vhost) + (string-append " listen " + (number->string (nginx-vhost-configuration-http-port vhost)) + ";\n") + "") + (if (nginx-vhost-configuration-https-port vhost) + (string-append " listen " + (number->string (nginx-vhost-configuration-https-port vhost)) + " ssl;\n") + "") + " server_name " (config-domain-strings + (nginx-vhost-configuration-server-name vhost)) + ";\n" + (if (nginx-vhost-configuration-ssl-certificate vhost) + (string-append " ssl_certificate " + (nginx-vhost-configuration-ssl-certificate vhost) ";\n") + "") + (if (nginx-vhost-configuration-ssl-certificate-key vhost) + (string-append " ssl_certificate_key " + (nginx-vhost-configuration-ssl-certificate-key vhost) ";\n") + "") + " root " (nginx-vhost-configuration-root vhost) ";\n" + " index " (config-index-strings (nginx-vhost-configuration-index vhost)) ";\n" + " server_tokens " (if (nginx-vhost-configuration-server-tokens? vhost) + "on" "off") ";\n" + " }\n")) + +(define (default-nginx-config log-directory run-directory vhost-list) (plain-file "nginx.conf" (string-append "user nginx nginx;\n" "pid " run-directory "/pid;\n" "error_log " log-directory "/error.log info;\n" "http {\n" + " client_body_temp_path " run-directory "/client_body_temp;\n" + " proxy_temp_path " run-directory "/proxy_temp;\n" + " fastcgi_temp_path " run-directory "/fastcgi_temp;\n" + " uwsgi_temp_path " run-directory "/uwsgi_temp;\n" + " scgi_temp_path " run-directory "/scgi_temp;\n" " access_log " log-directory "/access.log;\n" - " root /var/www;\n" - " server {}\n" + (let ((http (map default-nginx-vhost-config vhost-list))) + (do ((http http (cdr http)) + (block "" (string-append (car http) "\n" block ))) + ((null? http) block))) "}\n" "events {}\n"))) @@ -79,6 +156,12 @@ (mkdir-p #$log-directory) (format #t "creating nginx run directory '~a'~%" #$run-directory) (mkdir-p #$run-directory) + (format #t "creating nginx temp directories '~a/{client_body,proxy,fastcgi,uwsgi,scgi}_temp'~%" #$run-directory) + (mkdir-p (string-append #$run-directory "/client_body_temp")) + (mkdir-p (string-append #$run-directory "/proxy_temp")) + (mkdir-p (string-append #$run-directory "/fastcgi_temp")) + (mkdir-p (string-append #$run-directory "/uwsgi_temp")) + (mkdir-p (string-append #$run-directory "/scgi_temp")) ;; Check configuration file syntax. (system* (string-append #$nginx "/sbin/nginx") "-c" #$config-file "-t"))))) @@ -114,8 +197,9 @@ (define* (nginx-service #:key (nginx nginx) (log-directory "/var/log/nginx") (run-directory "/var/run/nginx") + (vhost-list (list (nginx-vhost-configuration))) (config-file - (default-nginx-config log-directory run-directory))) + (default-nginx-config log-directory run-directory vhost-list))) "Return a service that runs NGINX, the nginx web server. The nginx daemon loads its runtime configuration from CONFIG-FILE, stores log diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index ead48f0e32..249b415ab4 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -27,9 +27,8 @@ #:use-module (gnu artwork) #:use-module (gnu system file-systems) #:autoload (gnu packages grub) (grub) - #:autoload (gnu packages inkscape) (inkscape) - #:autoload (gnu packages imagemagick) (imagemagick) #:autoload (gnu packages compression) (gzip) + #:autoload (gnu packages gtk) (guile-cairo guile-rsvg) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) @@ -132,25 +131,23 @@ object denoting a file name." ;;; Background image & themes. ;;; -(define (svg->png svg) - "Build a PNG from SVG." - ;; Don't use #:local-build? so that it's substitutable. +(define* (svg->png svg #:key width height) + "Build a PNG of HEIGHT x WIDTH from SVG." (gexp->derivation "grub-image.png" - #~(zero? - (system* (string-append #$inkscape "/bin/inkscape") - "--without-gui" - (string-append "--export-png=" #$output) - #$svg)))) - -(define (resize-image image width height) - "Resize IMAGE to WIDTHxHEIGHT." - ;; Don't use #:local-build? so that it's substitutable. - (let ((size (string-append (number->string width) - "x" (number->string height)))) - (gexp->derivation "grub-image.resized.png" - #~(zero? - (system* (string-append #$imagemagick "/bin/convert") - "-resize" #$size #$image #$output))))) + (with-imported-modules '((gnu build svg)) + #~(begin + ;; We need these two libraries. + (add-to-load-path (string-append #$guile-rsvg + "/share/guile/site/" + (effective-version))) + (add-to-load-path (string-append #$guile-cairo + "/share/guile/site/" + (effective-version))) + + (use-modules (gnu build svg)) + (svg->png #$svg #$output + #:width #$width + #:height #$height))))) (define* (grub-background-image config #:key (width 1024) (height 768)) "Return the GRUB background image defined in CONFIG with a ratio of @@ -160,8 +157,8 @@ WIDTH/HEIGHT, or #f if none was found." (= (grub-image-aspect-ratio image) ratio)) (grub-theme-images (grub-configuration-theme config))))) (if image - (mlet %store-monad ((png (svg->png (grub-image-file image)))) - (resize-image png width height)) + (svg->png (grub-image-file image) + #:width width #:height height) (with-monad %store-monad (return #f))))) |