me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2020-02-26 22:13:11 +01:00
commit 7fe962788a
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
35 changed files with 2985 additions and 305 deletions

View File

@ -184,8 +184,6 @@
"77DD AD2D 97F5 31BB C0F3 C7FD DFB5 EB09 AA62 5423")
("snape"
"F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7")
("snape"
"F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7")
("steap"
"4E26 CCE9 578E 0828 9855 BDD4 1C79 95D2 D5A3 8336")
("taylanub"
@ -193,7 +191,8 @@
;; https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00826.html
("thomasd"
"1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD")
;; primary: "1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD"
"3D2C DA58 819C 08C2 A649 D43D 5C3B 064C 724A 5726")
("thomasd (old)"
"A5C5 92EA 606E 7106 A6A3 BC08 98B2 1575 91E1 2B08")

View File

@ -1514,4 +1514,5 @@ dist_patch_DATA = \
%D%/packages/patches/xsane-tighten-default-umask.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
%D%/packages/ld-wrapper.in \
%D%/packages/ld-wrapper-next.in

View File

@ -1193,7 +1193,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "2.1.0")
(version "2.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1202,7 +1202,7 @@ follower.")
(file-name (git-file-name name version))
(sha256
(base32
"0jhla1641rx77va4b6n4shn8srj87rpwvp170byj1bg8z8g89ji1"))))
"09jq04hrasidf6b5gkk4aba13fq55z3bmn7bq35rdaikz26xiij4"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target

View File

@ -6,6 +6,7 @@
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,6 +36,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
@ -231,3 +233,28 @@ This can give a much better understanding of the command's performance.")
"Benchmark is a library to benchmark code snippets,
similar to unit tests.")
(license license:asl2.0)))
(define-public bonnie++
(package
(name "bonnie++")
(version "1.98")
(source (origin
(method url-fetch)
(uri (string-append "https://www.coker.com.au/bonnie++/bonnie++-"
version ".tgz"))
(sha256
(base32
"010bmlmi0nrlp3aq7p624sfaj5a65lswnyyxk3cnz1bqig0cn2vf"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
(arguments '(#:tests? #f)) ; there are no tests
(home-page "https://doc.coker.com.au/projects/bonnie/")
(synopsis "Hard drive and file system benchmark suite")
(description
"Bonnie++ is a benchmark suite that is aimed at performing a number of
simple tests of hard drive and file system performance. Bonnie++ allows you to
benchmark how your file systems perform with respect to data read and write
speed, the number of seeks that can be performed per second, and the number of
file metadata operations that can be performed per second.")
(license license:gpl2))) ;GPL 2 only, see copyright.txt

View File

@ -224,6 +224,30 @@ Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by default.")
1000genomes phase2 reference genome sequence (hs37d5), based on NCBI GRCh37.")
(license license:artistic2.0)))
(define-public r-bsgenome-hsapiens-ncbi-grch38
(package
(name "r-bsgenome-hsapiens-ncbi-grch38")
(version "1.3.1000")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BSgenome.Hsapiens.NCBI.GRCh38"
version 'annotation))
(sha256
(base32
"0y75qdq578fh6420vbvsbwmdw8jvr3g06qli2h3vj3pxmjykh9c1"))))
(properties `((upstream-name . "BSgenome.Hsapiens.NCBI.GRCh38")))
(build-system r-build-system)
(propagated-inputs `(("r-bsgenome" ,r-bsgenome)))
(home-page
"https://bioconductor.org/packages/release/data/annotation/html/\
BSgenome.Hsapiens.NCBI.GRCh38.html")
(synopsis "Full genome sequences for Homo sapiens (GRCh38)")
(description
"This package provides full genome sequences for Homo sapiens (Human) as
provided by NCBI (GRCh38, 2013-12-17) and stored in Biostrings objects.")
(license license:artistic2.0)))
(define-public r-bsgenome-hsapiens-ucsc-hg19-masked
(package
(name "r-bsgenome-hsapiens-ucsc-hg19-masked")

View File

@ -2272,23 +2272,23 @@ time.")
(define-public crossmap
(package
(name "crossmap")
(version "0.2.9")
(version "0.3.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "CrossMap" version))
(sha256
(base32
"1byhclrqnqpvc1rqkfh4jwj6yhn0x9y7jk47i0qcjlhk0pjkw92p"))))
"1sb2f2qbxya4fzw3yjl09vbrs8vfmw22zrygrvz004sf9gb1vkan"))))
(build-system python-build-system)
(arguments `(#:python ,python-2))
(inputs
`(("python-bx-python" ,python2-bx-python)
("python-numpy" ,python2-numpy)
("python-pysam" ,python2-pysam)
`(("python-bx-python" ,python-bx-python)
("python-numpy" ,python-numpy)
("python-pybigwig" ,python-pybigwig)
("python-pysam" ,python-pysam)
("zlib" ,zlib)))
(native-inputs
`(("python-cython" ,python2-cython)
("python-nose" ,python2-nose)))
`(("python-cython" ,python-cython)
("python-nose" ,python-nose)))
(home-page "http://crossmap.sourceforge.net/")
(synopsis "Convert genome coordinates between assemblies")
(description
@ -2578,7 +2578,7 @@ accurately delineate genomic rearrangements throughout the genome.")
(define-public diamond
(package
(name "diamond")
(version "0.9.22")
(version "0.9.30")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2587,7 +2587,7 @@ accurately delineate genomic rearrangements throughout the genome.")
(file-name (git-file-name name version))
(sha256
(base32
"0bky78v79g3wmdpsd706cscckgw1v09fg8vdd0z8z0d5b97aj9zl"))))
"0k6f3kb6cniw11xw6763kkbs1sl0yack7xsy7q5fl5v170ssphq4"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
@ -4274,19 +4274,30 @@ experiments.")
(define-public macs
(package
(name "macs")
(version "2.1.1.20160309")
(version "2.2.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "MACS2" version))
;; The PyPi tarball does not contain tests.
(method git-fetch)
(uri (git-reference
(url "https://github.com/taoliu/MACS.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09ixspd1vcqmz1c81ih70xs4m7qml2iy5vyx1y74zww3iy1vl210"))))
"1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only compatible with Python 2.7
#:tests? #f)) ; no test target
`(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-v"))))))
(inputs
`(("python-numpy" ,python2-numpy)))
`(("python-numpy" ,python-numpy)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/taoliu/MACS/")
(synopsis "Model based analysis for ChIP-Seq data")
(description
@ -4910,20 +4921,26 @@ predicts the locations of structural units in the sequences.")
(define-public proteinortho
(package
(name "proteinortho")
(version "5.16b")
(source
(origin
(method url-fetch)
(uri
(string-append
"http://www.bioinf.uni-leipzig.de/Software/proteinortho/proteinortho_v"
version "_src.tar.gz"))
(version "6.0.14")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/paulklemm_PHD/proteinortho.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1wl0dawpssqwfjvr651r4wlww8hhjin8nba6xh71ks7sbypx886j"))))
"0pmy617zy2z2w6hjqxjhf3rzikf5n3mpia80ysq8233vfr7wrzff"))
(modules '((guix build utils)))
(snippet
'(begin
;; remove pre-built scripts
(delete-file-recursively "src/BUILD/")
#t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags '("CC=gcc")
#:phases
(modify-phases %standard-phases
(replace 'configure
@ -4941,15 +4958,23 @@ predicts the locations of structural units in the sequences.")
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((path (getenv "PATH"))
(out (assoc-ref outputs "out"))
(binary (string-append out "/bin/proteinortho5.pl")))
(wrap-program binary `("PATH" ":" prefix (,path))))
(let ((path (getenv "PATH"))
(out (assoc-ref outputs "out")))
(for-each (lambda (script)
(wrap-script script `("PATH" ":" prefix (,path))))
(cons (string-append out "/bin/proteinortho")
(find-files out "\\.(pl|py)$"))))
#t)))))
(inputs
`(("perl" ,perl)
("python" ,python-2)
("blast+" ,blast+)))
`(("guile" ,guile-3.0) ; for wrap-script
("diamond" ,diamond)
("perl" ,perl)
("python" ,python-wrapper)
("blast+" ,blast+)
("lapack" ,lapack)
("openblas" ,openblas)))
(native-inputs
`(("which" ,which)))
(home-page "http://www.bioinf.uni-leipzig.de/Software/proteinortho")
(synopsis "Detect orthologous genes across species")
(description
@ -4957,7 +4982,7 @@ predicts the locations of structural units in the sequences.")
species. For doing so, it compares similarities of given gene sequences and
clusters them to find significant groups. The algorithm was designed to handle
large-scale data and can be applied to hundreds of species at once.")
(license license:gpl2+)))
(license license:gpl3+)))
(define-public pyicoteo
(package
@ -12010,23 +12035,6 @@ graphs. This library makes it easy to work with @file{.loom} files for
single-cell RNA-seq data.")
(license license:bsd-3)))
;; pigx-scrnaseq does not work with the latest version of loompy.
(define-public python-loompy-for-pigx-scrnaseq
(package (inherit python-loompy)
(name "python-loompy")
(version "2.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/linnarsson-lab/loompy.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0pjyl532pl8sbv71yci6h0agchn0naw2qjcwj50n6afrsahbsag3"))))
;; There are none.
(arguments '(#:tests? #f))))
;; We cannot use the latest commit because it requires Java 9.
(define-public java-forester
(let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6")
@ -12770,7 +12778,7 @@ methylation and segmentation.")
(define-public pigx-scrnaseq
(package
(name "pigx-scrnaseq")
(version "0.0.8")
(version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
@ -12778,27 +12786,21 @@ methylation and segmentation.")
"/pigx_scrnaseq-" version ".tar.gz"))
(sha256
(base32
"0zv0sc5amivxhb95vx2gfx6l9bh7n80fh7h47dalnwxxnfvnzai4"))))
"0ga2jr4968qzwml6aycky4603q64lny3y7lzw6dmafch5pydl1qi"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "PICARDJAR=" (assoc-ref %build-inputs "java-picard")
"/share/java/picard.jar")
(string-append "DROPSEQJAR=" (assoc-ref %build-inputs "dropseq-tools")
"/share/java/dropseq.jar"))))
(inputs
`(("coreutils" ,coreutils)
("perl" ,perl)
("dropseq-tools" ,dropseq-tools)
("fastqc" ,fastqc)
("java-picard" ,java-picard-2.10.3) ; same as for dropseq
("flexbar" ,flexbar)
("java" ,icedtea-8)
("jellyfish" ,jellyfish)
("python-wrapper" ,python-wrapper)
("python-pyyaml" ,python-pyyaml)
("python-pandas" ,python-pandas)
("python-magic" ,python-magic)
("python-numpy" ,python-numpy)
("python-loompy" ,python-loompy-for-pigx-scrnaseq)
("python-loompy" ,python-loompy)
("ghc-pandoc" ,ghc-pandoc)
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
("samtools" ,samtools)
@ -12825,6 +12827,7 @@ methylation and segmentation.")
("r-rtsne" ,r-rtsne)
("r-scater" ,r-scater)
("r-scran" ,r-scran)
("r-seurat" ,r-seurat)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-stringr" ,r-stringr)
("r-yaml" ,r-yaml)))
@ -13882,7 +13885,7 @@ absolute GSEA.")
(define-public jamm
(package
(name "jamm")
(version "1.0.7.5")
(version "1.0.7.6")
(source
(origin
(method git-fetch)
@ -13892,7 +13895,7 @@ absolute GSEA.")
(file-name (git-file-name name version))
(sha256
(base32
"0ls889jcma1ch9h21jjhnkadgszgqj41842hhcjh6cg88f85qf3i"))))
"0bsa5mf9n9q5jz7mmacrra41l7r8rac5vgsn6wv1fb52ya58b970"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are none

View File

@ -37,7 +37,6 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@ -49,6 +48,7 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
@ -70,7 +70,8 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match))
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define %preserved-third-party-files
'("base/third_party/cityhash" ;Expat
@ -106,10 +107,6 @@
"third_party/blink" ;BSD-3, LGPL2+
"third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC)
"third_party/boringssl/src/third_party/fiat" ;Expat
"third_party/boringssl/src/third_party/sike" ;Expat
;; XXX: these files are generated by fp-$arch.pl in the above directory.
"third_party/boringssl/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S"
"third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S"
"third_party/breakpad" ;BSD-3
"third_party/brotli" ;Expat
"third_party/cacheinvalidation" ;ASL2.0
@ -117,11 +114,14 @@
"third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0
"third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0
"third_party/catapult/third_party/polymer" ;BSD-3
;; XXX: This is a minified version of <https://d3js.org/>.
"third_party/catapult/tracing/third_party/d3" ;BSD-3
"third_party/catapult/tracing/third_party/gl-matrix" ;Expat
;; XXX: Minified version of <https://github.com/Stuk/jszip>.
"third_party/catapult/tracing/third_party/jszip" ;Expat or GPL3
"third_party/catapult/tracing/third_party/mannwhitneyu" ;Expat
"third_party/catapult/tracing/third_party/oboe" ;BSD-2
;; XXX: Minified version of <https://github.com/nodeca/pako>.
"third_party/catapult/tracing/third_party/pako" ;Expat
"third_party/ced" ;BSD-3
"third_party/cld_3" ;ASL2.0
@ -134,6 +134,9 @@
"third_party/dav1d" ;BSD-2
"third_party/dawn" ;ASL2.0
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
"third_party/dom_distiller_js" ;BSD-3
"third_party/emoji-segmenter" ;ASL2.0
"third_party/flatbuffers" ;ASL2.0
@ -154,6 +157,7 @@
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2
"third_party/libjingle_xmpp" ;BSD-3
"third_party/libphonenumber" ;ASL2.0
"third_party/libsecret" ;LGPL2.1+
@ -181,6 +185,7 @@
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
"third_party/pdfium/third_party/skia_shared" ;BSD-3
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
"third_party/perfetto" ;ASL2.0
"third_party/pffft" ;the "FFTPACK" license, similar to BSD-3
"third_party/ply" ;BSD-3
"third_party/polymer" ;BSD-3
@ -194,7 +199,6 @@
"third_party/sfntly" ;ASL2.0
"third_party/skia" ;BSD-3
"third_party/skia/include/third_party/skcms" ;BSD-3
"third_party/skia/third_party/gif" ;MPL1.1/GPL2+/LGPL2.1+
"third_party/skia/third_party/skcms" ;BSD-3
"third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
"third_party/smhasher" ;Expat, public domain
@ -243,9 +247,9 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %chromium-version "79.0.3945.130")
(define %ungoogled-revision "e2fae994d786b6716fb473a47b0c880bcfdc2497")
(define %debian-revision "debian/79.0.3945.130-2")
(define %chromium-version "80.0.3987.122")
(define %ungoogled-revision "6056988937ebc32f14293809487dbaaa65939834")
(define %debian-revision "debian/80.0.3987.116-1")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
package-revision "."
@ -259,18 +263,21 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
"183vz3lf1588cr9s5vlnj65qvbmz36s8cg8k7dvr64cxmcqk86an"))))
"0wr487drgd030d7p84rdz1cys0c87wbgh2qg3d7qd98gqbfcpss8"))))
(define %ungoogled-origin
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
;; XXX: Temporarily download from a third party because the main
;; ungoogled-chromium repo is stale. Code taken from this pull
;; request: https://github.com/Eloston/ungoogled-chromium/pull/942
(uri (git-reference (url "https://github.com/Zoraver/ungoogled-chromium")
(commit %ungoogled-revision)))
(file-name (git-file-name "ungoogled-chromium"
(string-take %ungoogled-revision 7)))
(sha256
(base32
"15vmc07iba1zmzn4j7c5n2hyvyxzwwf9hc3kyym0m4jajlsyxr5f"))))
"0s4bfj5lr49hknb6d7vp3zah70w9sq5cdhhlyihnl7f9jlrrnwsi"))))
(define %debian-origin
(origin
@ -284,7 +291,7 @@ from forcing GEXP-PROMISE."
(_ (string-take %debian-revision 7)))))
(sha256
(base32
"1rbzxcwfp7v0c6rkvn9jl9by7p363cnbdyqazwiak1z03kmw3nkz"))))
"1cc5sp566dd8f2grgr770xwbxgxf58dk1w7q3s8pmv4js5h3pwq8"))))
;; This is a "computed" origin that does the following:
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
@ -344,7 +351,7 @@ from forcing GEXP-PROMISE."
(with-directory-excursion chromium-dir
(format #t "applying Debian patches...~%")
(format #t "Applying Debian patches...~%")
(force-output)
(let* ((debian #+debian-source)
(patches (string-append debian "/debian/patches"))
@ -423,6 +430,18 @@ from forcing GEXP-PROMISE."
`(cons "--enable-custom-modes"
,flags))))))
;; Add a custom ld wrapper that supports quoted strings in response files.
;; To be merged with 'ld-wrapper' in a future rebuild cycle.
(define-public ld-wrapper-next
(let ((orig (car (assoc-ref (%final-inputs) "ld-wrapper"))))
(package
(inherit orig)
(name "ld-wrapper-next")
(inputs
`(("wrapper" ,(search-path %load-path
"gnu/packages/ld-wrapper-next.in"))
,@(alist-delete "wrapper" (package-inputs orig)))))))
(define-public ungoogled-chromium
(package
(name "ungoogled-chromium")
@ -446,8 +465,10 @@ from forcing GEXP-PROMISE."
;; directory for an exhaustive list of supported flags.
;; (Note: The 'configure' phase will do that for you.)
(list "is_debug=false"
"is_cfi=false"
"use_gold=false"
"use_lld=false"
"clang_use_chrome_plugins=false"
"linux_use_bundled_binutils=false"
"use_custom_libcxx=false"
"use_sysroot=false"
@ -477,18 +498,6 @@ from forcing GEXP-PROMISE."
;; friends from the environment.
"custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
"host_toolchain=\"//build/toolchain/linux/unbundle:default\""
;; Don't assume it's clang.
"is_clang=false"
;; Disable debugging features to save space. These are normally
;; pulled in by "is_official_build", but that requires "is_clang".
"enable_iterator_debugging=false"
"exclude_unwind_tables=true"
;; Optimize for building everything at once, as opposed to
;; incrementally for development. See "docs/jumbo.md".
"use_jumbo_build=true"
;; The default file merge limit of 50 requires huge amounts of RAM.
;; Cap it to make sure the build succeeds on commodity hardware.
"jumbo_file_merge_limit=8"
;; Prefer system libraries.
"use_system_freetype=true"
@ -584,6 +593,10 @@ from forcing GEXP-PROMISE."
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
(("#include \"third_party/jsoncpp/") "#include \"json/"))
(substitute* "gpu/config/gpu_util.cc"
(("third_party/vulkan/include/")
""))
(substitute* '("components/viz/common/gpu/vulkan_context_provider.h"
"components/viz/common/resources/resource_format_utils.h")
(("third_party/vulkan/include/") ""))
@ -636,14 +649,19 @@ from forcing GEXP-PROMISE."
;; Make sure the right build tools are used.
(setenv "AR" "ar") (setenv "NM" "nm")
(setenv "CC" "gcc") (setenv "CXX" "g++")
(setenv "CC" "clang") (setenv "CXX" "clang++")
;; Prevent GCC from optimizing away null pointer safety checks.
;; Do not optimize away null pointer safety checks.
(setenv "CXXFLAGS" "-fno-delete-null-pointer-checks")
;; TODO: pre-compile instead. Avoids a race condition.
(setenv "PYTHONDONTWRITEBYTECODE" "1")
(substitute*
;; From Debians 'system/node.patch'.
"third_party/devtools-frontend/src/scripts/devtools_paths.py"
(("/usr/bin/nodejs") (which "node")))
;; XXX: How portable is this.
(mkdir-p "third_party/node/linux/node-linux-x64")
(symlink (string-append (assoc-ref inputs "node") "/bin")
@ -748,9 +766,10 @@ from forcing GEXP-PROMISE."
#t))))))
(native-inputs
`(("bison" ,bison)
("gcc" ,gcc-8)
("clang" ,clang-9)
("gn" ,gn)
("gperf" ,gperf)
("ld-wrapper" ,ld-wrapper-next)
("ninja" ,ninja)
("node" ,node)
("pkg-config" ,pkg-config)
@ -852,6 +871,16 @@ disabled in order to protect the users privacy.")
,@(package-inputs ungoogled-chromium)))
(arguments
(substitute-keyword-arguments (package-arguments ungoogled-chromium)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'add-ozone-patch
(lambda _
;; Add missing include statement required when using libstdc++,
;; Clang and Ozone. Fixed in M81.
(substitute* "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc"
(("#include \"base/logging\\.h" all)
(string-append "#include <algorithm>\n" all)))
#t))))
((#:configure-flags flags)
`(append (list "use_ozone=true"
"ozone_platform_wayland=true"

View File

@ -1629,18 +1629,19 @@ recreates the stored directory structure by default.")
(define-public libzip
(package
(name "libzip")
(version "1.5.2")
(version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://libzip.org/download/libzip-" version ".tar.xz"))
(sha256
(base32
"1d53shcy7nvls5db573bbdlm25lfz1iw2zshng5f00cssi5lvpmk"))))
"0h9nsgkw0dk4srsvmz6xy6f9l4h815xn07j8h40l8gqvcxxaqpbh"))))
(native-inputs
`(("perl" ,perl)))
(inputs
`(("gnutls" ,gnutls)
("liblzma" ,xz)
("openssl" ,openssl)
("zlib" ,zlib)))
(build-system cmake-build-system)

View File

@ -20238,3 +20238,326 @@ data for the same conditions. Interactivity can improve complex heatmaps by
providing tooltips with information about each cell and enabling zooming into
interesting features. iheatmapr uses the plotly library for interactivity.")
(license license:expat)))
(define-public r-packrat
(package
(name "r-packrat")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "packrat" version))
(sha256
(base32
"1xy5dd2hrpqa07jfl4s7dsrya05mf36ms74j833scdz0zf89586n"))))
(properties `((upstream-name . "packrat")))
(build-system r-build-system)
(home-page "https://github.com/rstudio/packrat/")
(synopsis "Dependency management R projects")
(description
"This package provides a dependency manager for R projects that allows
you to manage the R packages your project depends on in an isolated, portable,
and reproducible way.")
(license license:gpl2)))
(define-public r-rsconnect
(package
(name "r-rsconnect")
(version "0.8.16")
(source
(origin
(method url-fetch)
(uri (cran-uri "rsconnect" version))
(sha256
(base32
"05ii0p0p7xpf8z0c1594s5q7wpwcs7lmlddrd67s5p2ka5m8qwiz"))))
(properties `((upstream-name . "rsconnect")))
(build-system r-build-system)
(propagated-inputs
`(("r-curl" ,r-curl)
("r-digest" ,r-digest)
("r-jsonlite" ,r-jsonlite)
("r-openssl" ,r-openssl)
("r-packrat" ,r-packrat)
("r-rstudioapi" ,r-rstudioapi)
("r-yaml" ,r-yaml)))
(home-page "https://github.com/rstudio/rsconnect")
(synopsis "Deployment interface for R Markdown documents and Shiny applications")
(description
"This package provides a programmatic deployment interface for RPubs,
shinyapps.io, and RStudio Connect. Supported content types include R Markdown
documents, Shiny applications, Plumber APIs, plots, and static web content.")
(license license:gpl2)))
;; This package includes minified JavaScript files. When upgrading please
;; check that there are no new minified JavaScript files.
(define-public r-dygraphs
(package
(name "r-dygraphs")
(version "1.1.1.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "dygraphs" version))
(sha256
(base32
"022j007mzfa9k2n31yg4aizcsf571vv3jip092h23rqj03rk3ly3"))))
(properties `((upstream-name . "dygraphs")))
(build-system r-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build r-build-system)
(srfi srfi-1)
(ice-9 popen))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'process-javascript
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "inst/htmlwidgets/lib/"
(call-with-values
(lambda ()
(unzip2
`(("dygraphs/dygraph-combined-dev.js"
"dygraph-combined.js")
(,(assoc-ref inputs "js-jquery")
"jquery/jquery.min.js")
(,(assoc-ref inputs "js-fquarter")
"fquarter/moment-fquarter.min.js"))))
(lambda (sources targets)
(for-each (lambda (source target)
(format #t "Processing ~a --> ~a~%"
source target)
(let ((minified (open-pipe* OPEN_READ "uglify-js" source)))
(call-with-output-file target
(lambda (port)
(dump-port minified port)))))
sources targets))))
#t)))))
(native-inputs
`(("uglify-js" ,uglify-js)
;; They actually use version 1.11.1, but this more recent version
;; should be just fine.
("js-jquery"
,(origin
(method url-fetch)
(uri "https://code.jquery.com/jquery-1.12.4.js")
(sha256
(base32
"0x9mrc1668icvhpwzvgafm8xm11x9lfai9nwr66aw6pjnpwkc3s3"))))
("js-fquarter"
,(origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/robgallen/"
"moment-fquarter/1.0.1/moment-fquarter.js"))
(sha256
(base32
"01mdnsaibm9jy2f1qpbn692hpv309lhj5si9nagib4dawmrkffij"))))))
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
("r-htmlwidgets" ,r-htmlwidgets)
("r-magrittr" ,r-magrittr)
("r-xts" ,r-xts)
("r-zoo" ,r-zoo)))
(home-page "https://github.com/rstudio/dygraphs")
(synopsis "Interface to Dygraphs interactive time series charting library")
(description
"This package provides an R interface to the dygraphs JavaScript charting
library (a copy of which is included in the package). It provides rich
facilities for charting time-series data in R, including highly configurable
series- and axis-display and interactive features like zoom/pan and
series/point highlighting.")
(license license:expat)))
(define-public r-shinystan
(package
(name "r-shinystan")
(version "2.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "shinystan" version))
(sha256
(base32
"18alf5kiqw7y2l6m5nxxizwc2znsf9frxfsqhvgcad8hld9cbya5"))))
(properties `((upstream-name . "shinystan")))
(build-system r-build-system)
(propagated-inputs
`(("r-bayesplot" ,r-bayesplot)
("r-colourpicker" ,r-colourpicker)
("r-dt" ,r-dt)
("r-dygraphs" ,r-dygraphs)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-gtools" ,r-gtools)
("r-markdown" ,r-markdown)
("r-reshape2" ,r-reshape2)
("r-rsconnect" ,r-rsconnect)
("r-rstan" ,r-rstan)
("r-shiny" ,r-shiny)
("r-shinyjs" ,r-shinyjs)
("r-shinythemes" ,r-shinythemes)
("r-threejs" ,r-threejs)
("r-xtable" ,r-xtable)
("r-xts" ,r-xts)))
(home-page "https://mc-stan.org/")
(synopsis "Interactive visual and numerical analysis for Bayesian models")
(description
"This package provides a graphical user interface for interactive
@dfn{Markov chain Monte Carlo} (MCMC) diagnostics and plots and tables helpful
for analyzing a posterior sample. The interface is powered by the Shiny web
application framework and works with the output of MCMC programs written in
any programming language (and has extended functionality for Stan models fit
using the @code{rstan} and @code{rstanarm} packages).")
(license license:gpl3+)))
(define-public r-rstantools
(package
(name "r-rstantools")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rstantools" version))
(sha256
(base32
"1il0pn4ksbdkska5fmhvgaicvwnnc6cs08g6ags9fj1xkjiqmrsa"))))
(properties `((upstream-name . "rstantools")))
(build-system r-build-system)
(inputs `(("pandoc" ,ghc-pandoc)))
(propagated-inputs
`(("r-desc" ,r-desc)
("r-rcpp" ,r-rcpp)))
(home-page "https://mc-stan.org/rstantools/")
(synopsis "Tools for developing R packages interfacing with Stan")
(description
"This package provides various tools for developers of R packages
interfacing with @url{https://mc-stan.org, Stan}, including functions to set
up the required package structure, S3 generics and default methods to unify
function naming across Stan-based R packages, and vignettes with
recommendations for developers.")
(license license:gpl3+)))
(define-public r-loo
(package
(name "r-loo")
(version "2.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "loo" version))
(sha256
(base32
"1hq1zcj76x55z9kic6cwf7mfq9pzqfbr341jbc9wp7x8ac4zcva6"))))
(properties `((upstream-name . "loo")))
(build-system r-build-system)
(inputs
`(("pandoc" ,ghc-pandoc)
("pandoc-citeproc" ,ghc-pandoc-citeproc)))
(propagated-inputs
`(("r-checkmate" ,r-checkmate)
("r-matrixstats" ,r-matrixstats)))
(home-page "https://mc-stan.org/loo/")
(synopsis "Leave-One-Out cross-validation and WAIC for Bayesian models")
(description
"This package provides an implementation of efficient approximate
@dfn{leave-one-out} (LOO) cross-validation for Bayesian models fit using
Markov chain Monte Carlo, as described in @url{doi:10.1007/s11222-016-9696-4}.
The approximation uses @dfn{Pareto smoothed importance sampling} (PSIS), a new
procedure for regularizing importance weights. As a byproduct of the
calculations, we also obtain approximate standard errors for estimated
predictive errors and for the comparison of predictive errors between models.
The package also provides methods for using stacking and other model weighting
techniques to average Bayesian predictive distributions.")
(license license:gpl3+)))
(define-public r-rstan
(package
(name "r-rstan")
(version "2.19.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "rstan" version))
(sha256
(base32
"128ndwjrhf8b1qvvqz4bl13qlm8718z9qs5ryc6gsdr3vk65s0np"))))
(properties `((upstream-name . "rstan")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'set-timezone
;; This package is picky about timezones.
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZ" "UTC+1")
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t)))))
(native-inputs
`(("tzdata" ,tzdata)
("pandoc" ,ghc-pandoc)))
(propagated-inputs
`(("r-bh" ,r-bh)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-inline" ,r-inline)
("r-loo" ,r-loo)
("r-pkgbuild" ,r-pkgbuild)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-stanheaders" ,r-stanheaders)))
(home-page "https://discourse.mc-stan.org/")
(synopsis "R interface to Stan")
(description
"User-facing R functions are provided to parse, compile, test, estimate,
and analyze Stan models by accessing the header-only Stan library provided by
the StanHeaders package. The Stan project develops a probabilistic
programming language that implements full Bayesian statistical inference via
Markov Chain Monte Carlo, rough Bayesian inference via 'variational'
approximation, and (optionally penalized) maximum likelihood estimation via
optimization. In all three cases, automatic differentiation is used to
quickly and accurately evaluate gradients without burdening the user with the
need to derive the partial derivatives.")
(license license:gpl3+)))
(define-public r-rstanarm
(package
(name "r-rstanarm")
(version "2.19.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "rstanarm" version))
(sha256
(base32
"0gxjq8bdlvdd8kn3dhp12xlymdab036r7n12lzmd3xlkl4cnxq3s"))))
(properties `((upstream-name . "rstanarm")))
(build-system r-build-system)
(inputs
`(("pandoc" ,ghc-pandoc)
("pandoc-citeproc" ,ghc-pandoc-citeproc)))
(propagated-inputs
`(("r-bayesplot" ,r-bayesplot)
("r-bh" ,r-bh)
("r-ggplot2" ,r-ggplot2)
("r-lme4" ,r-lme4)
("r-loo" ,r-loo)
("r-matrix" ,r-matrix)
("r-nlme" ,r-nlme)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-rcppparallel" ,r-rcppparallel)
("r-rstan" ,r-rstan)
("r-rstantools" ,r-rstantools)
("r-shinystan" ,r-shinystan)
("r-stanheaders" ,r-stanheaders)
("r-survival" ,r-survival)))
(home-page "https://mc-stan.org/rstanarm/")
(synopsis "Bayesian applied regression modeling via Stan")
(description
"This package estimates previously compiled regression models using the
@code{rstan} package, which provides the R interface to the Stan C++ library
for Bayesian estimation. Users specify models via the customary R syntax with
a formula and @code{data.frame} plus some additional arguments for priors.")
(license license:gpl3+)))

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,7 +29,7 @@
(define-public datamash
(package
(name "datamash")
(version "1.5")
(version "1.6")
(source
(origin
(method url-fetch)
@ -37,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
"1b91pbdarnfmbhid8aa2f50k0fln8n7pg62782b4y0jlzvaljqi2"))))
"1jvqxcyh0aghnqh3m2rk5av1x0038flcmfzd493vasv1k69vgfdr"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man

View File

@ -59,6 +59,7 @@
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -165,7 +166,7 @@
(define-public emacs-geiser
(package
(name "emacs-geiser")
(version "0.11")
(version "0.11.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -174,7 +175,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0fb2h984hn7bnyiziplp7kgk29zdzc9yainsv0k1li436irlp9dd"))))
"1khi1bghsjx6cs5acizmlbw9z19s4qycnji9krdbn42cbpv0rysv"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -19360,7 +19361,7 @@ with passwords for paths matching regexps.")
`(("emacs-ivy" ,emacs-ivy)))
(home-page "https://github.com/redguardtoo/eacl")
(synopsis "Auto-complete lines by using @code{grep} on a project")
(description "This package provides auto-completion cammands for single
(description "This package provides auto-completion commands for single
and multiple lines of code in a project.")
(license license:gpl3+)))
@ -20370,7 +20371,7 @@ color. Designed for 256-color terminals. Comes in light and dark!")
"https://github.com/elixir-editors/emacs-elixir")
(synopsis "Major mode for editing Elixir files")
(description
"Elixir-Mode Provides font-locking, indentation and navigation support
"Elixir-Mode provides font-locking, indentation and navigation support
for the Elixir programming language.")
(license license:gpl3+)))
@ -21536,3 +21537,26 @@ Values are stored in a directory in @code{user-emacs-directory}, using
one file per value. This makes it easy to delete or remove unused
variables.")
(license license:gpl3+)))
(define-public emacs-company-emoji
(package
(name "emacs-company-emoji")
(version "2.5.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dunn/company-emoji/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)))
(home-page "https://github.com/dunn/company-emoji/")
(synopsis "Company completion back-end for emoji")
(description
"This library is a Company back-end providing auto-completion for
emoji.")
(license license:gpl3+)))

View File

@ -781,7 +781,7 @@ It contains the following fonts and styles:
(define-public font-fantasque-sans
(package
(name "font-fantasque-sans")
(version "1.7.2")
(version "1.8.0")
(source
(origin
(method git-fetch)
@ -790,26 +790,27 @@ It contains the following fonts and styles:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1gjranq7qf20rfxnpxsckv1hl35nzsal0rjs475nhfbpqy5wmly6"))))
(base32 "17l18488qyl9gdj80r8pcym3gp3jkgsdikwalnrp5rgvwidqx507"))))
(build-system gnu-build-system)
(native-inputs
`(("ttfautohint" ,ttfautohint)
("woff-tools" ,woff-tools)
("fontforge" ,fontforge)
("woff2" ,woff2)
("ttf2eot" ,ttf2eot)
("zip" ,zip)))
(arguments
`(#:tests? #f ;test target intended for visual inspection
#:phases (modify-phases %standard-phases
(delete 'configure) ;no configuration
(add-before 'build 'xrange->range
;; Rather than use a python2 fontforge, just replace the
;; offending function.
(add-before 'build 'support-python@3
;; Rather than use a Python 2 fontforge, replace Python-2-
;; specific code with a passable Python 3 equivalent.
(lambda _
(substitute* "Scripts/fontbuilder.py"
(("xrange") "range"))
(substitute* "Scripts/features.py"
(("f\\.write\\(fea_code\\)")
"f.write(str.encode(fea_code))"))
#t))
(replace 'install
;; 'make install' wants to install to ~/.fonts, install to

View File

@ -19,6 +19,7 @@
;;; Copyright © 2019 Jethro Cao <jethrocao@gmail.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -88,6 +89,7 @@
#:use-module (gnu packages sphinx)
#:use-module (gnu packages stb)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
@ -2114,3 +2116,75 @@ computer games, 3D authoring tools and simulation tools.")
(description "Chipmunk is a simple, lightweight, fast and portable 2D
rigid body physics library written in C.")
(license license:expat)))
(define-public libtcod
(package
(name "libtcod")
(version "1.15.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libtcod/libtcod.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0pzr8ajmbqvh43ldjajx962xirj3rf8ayh344p6mqlrmb8gxrfr5"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/vendor/utf8proc")
(delete-file-recursively "src/vendor/zlib")
(delete-file "src/vendor/stb_truetype.h")
(delete-file "src/vendor/stb_sprintf.h")
(delete-file "src/vendor/lodepng.cpp")
(delete-file "src/vendor/lodepng.h")
(substitute* "buildsys/autotools/sources.am"
(("\\.\\./\\.\\./src/vendor/lodepng\\.cpp \\\\\n") "")
(("\\.\\./\\.\\./src/vendor/stb\\.c \\\\")
"../../src/vendor/stb.c")
(("\\.\\./\\.\\./src/vendor/utf8proc/utf8proc\\.c") ""))
(substitute* "src/libtcod/sys_sdl_img_png.cpp"
(("\\.\\./vendor/") ""))
(substitute* '("src/libtcod/color/canvas.cpp"
"src/libtcod/sys_sdl_img_png.cpp"
"src/libtcod/tileset/truetype.cpp"
"src/libtcod/tileset/tilesheet.cpp")
(("\\.\\./\\.\\./vendor/") ""))
(substitute* "src/libtcod/console/printing.cpp"
(("\\.\\./\\.\\./vendor/utf8proc/") ""))
#t))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-gnu-ld"
"LIBS=-lutf8proc -llodepng")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-to-build-dir
(lambda _
(chdir "buildsys/autotools")
(patch-shebang "get_version.py")
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("python" ,python)
("pkg-config" ,pkg-config)
("stb-sprintf" ,stb-sprintf)
("stb-truetype" ,stb-truetype)))
(inputs
`(("lodepng" ,lodepng)
("sdl2" ,sdl2)
("utf8proc" ,utf8proc)
("zlib" ,zlib)))
(home-page "https://github.com/libtcod/libtcod")
(synopsis "Library specifically designed for writing roguelikes")
(description
"libtcod is a fast, portable and uncomplicated API for roguelike
developers providing an advanced true color console, input, and lots of other
utilities frequently used in roguelikes.")
(license license:bsd-3)))

View File

@ -23,6 +23,7 @@
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1844,3 +1845,58 @@ using only text tools.
SNG is implemented by a compiler/decompiler called sng that
losslessly translates between SNG and PNG.")
(license license:zlib)))
(define-public lodepng
;; There are no tags in the repository, so we take the version as defined in
;; lodepng.cpp.
(let ((commit "48e5364ef48ec2408f44c727657ac1b6703185f8")
(revision "1")
(version "20200215"))
(package
(name "lodepng")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lvandeve/lodepng")
(commit commit)))
(sha256
(base32
"1a1x8ag2scanzb2066jm9hg2y9kaa3wmpgmz10l1x9bkpik612lw"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(setenv "CXXFLAGS" "-fPIC")
(invoke "make" "lodepng.o")
(invoke "make" "lodepng_util.o")
(invoke "g++" "-fPIC" "-O3"
"-o" "liblodepng.so"
"-shared" "lodepng.o" "lodepng_util.o")
#t))
(replace 'check
(lambda _
(invoke "make" "unittest")
(invoke "./unittest")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc"))
(lib (string-append out "/lib"))
(include (string-append out "/include")))
(install-file "lodepng.h" include)
(install-file "lodepng_util.h" include)
(install-file "liblodepng.so" lib)
(install-file "README.md" doc)
#t))))))
(home-page "https://lodev.org/lodepng/")
(synopsis "PNG encoder and decoder in C and C++, without dependencies")
(description "LodePNG is a PNG image decoder and encoder, all in one,
no dependency or linkage required. It's made for C (ISO C90), and has a C++
wrapper with a more convenient interface on top.")
(license license:zlib))))

View File

@ -0,0 +1,305 @@
#!@BASH@
# -*- mode: scheme; coding: utf-8; -*-
# XXX: We have to go through Bash because there's no command-line switch to
# augment %load-compiled-path, and because of the silly 127-byte limit for
# the shebang line in Linux.
# Use `load-compiled' because `load' (and `-l') doesn't otherwise load our
# .go file (see <http://bugs.gnu.org/12519>).
# Unset 'GUILE_LOAD_COMPILED_PATH' to make sure we do not stumble upon
# incompatible .go files. See
# <https://lists.gnu.org/archive/html/guile-devel/2016-03/msg00000.html>.
unset GUILE_LOAD_COMPILED_PATH
main="(@ (gnu build-support ld-wrapper) ld-wrapper)"
exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)))" "$@"
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.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-support ld-wrapper)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:autoload (ice-9 rdelim) (read-delimited)
#:export (ld-wrapper))
;;; Commentary:
;;;
;;; This is a wrapper for the linker. Its purpose is to inspect the -L and
;;; -l switches passed to the linker, add corresponding -rpath arguments, and
;;; invoke the actual linker with this new set of arguments.
;;;
;;; The alternatives to this hack would be:
;;;
;;; 1. Using $LD_RUN_PATH. However, that would tend to include more than
;;; needed in the RPATH; for instance, given a package with `libfoo' as
;;; an input, all its binaries would have libfoo in their RPATH,
;;; regardless of whether they actually NEED it.
;;;
;;; 2. Use a GCC "lib" spec string such as `%{L*:-rpath %*}', which adds a
;;; `-rpath LIBDIR' argument for each occurrence of `-L LIBDIR'.
;;; However, this doesn't work when $LIBRARY_PATH is used, because the
;;; additional `-L' switches are not matched by the above rule, because
;;; the rule only matches explicit user-provided switches. See
;;; <http://gcc.gnu.org/ml/gcc-help/2012-09/msg00110.html> for details.
;;;
;;; As a bonus, this wrapper checks for "impurities"--i.e., references to
;;; libraries outside the store.
;;;
;;; Code:
(define %real-ld
;; Name of the linker that we wrap.
"@LD@")
(define %store-directory
;; File name of the store.
(or (getenv "NIX_STORE") "/gnu/store"))
(define %temporary-directory
;; Temporary directory.
(or (getenv "TMPDIR") "/tmp"))
(define %build-directory
;; Top build directory when run from a builder.
(getenv "NIX_BUILD_TOP"))
(define %allow-impurities?
;; Whether to allow references to libraries outside the store.
;; Allow them by default for convenience.
(let ((value (getenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES")))
(or (not value)
(let ((value (string-downcase value)))
(cond ((member value '("yes" "y" "t" "true" "1"))
#t)
((member value '("no" "n" "f" "false" "0"))
#f)
(else
(format (current-error-port)
"ld-wrapper: ~s: invalid value for \
'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'~%"
value)))))))
(define %debug?
;; Whether to emit debugging output.
(getenv "GUIX_LD_WRAPPER_DEBUG"))
(define %disable-rpath?
;; Whether to disable automatic '-rpath' addition.
(getenv "GUIX_LD_WRAPPER_DISABLE_RPATH"))
(define (readlink* file)
;; Call 'readlink' until the result is not a symlink.
(define %max-symlink-depth 50)
(let loop ((file file)
(depth 0))
(define (absolute target)
(if (absolute-file-name? target)
target
(string-append (dirname file) "/" target)))
(if (>= depth %max-symlink-depth)
file
(call-with-values
(lambda ()
(catch 'system-error
(lambda ()
(values #t (readlink file)))
(lambda args
(let ((errno (system-error-errno args)))
(if (or (= errno EINVAL) (= errno ENOENT))
(values #f file)
(apply throw args))))))
(lambda (success? target)
(if success?
(loop (absolute target) (+ depth 1))
file))))))
(define (pure-file-name? file)
;; Return #t when FILE is the name of a file either within the store
;; (possibly via a symlink) or within the build directory.
(let ((file (readlink* file)))
(or (not (string-prefix? "/" file))
(string-prefix? %store-directory file)
(string-prefix? %temporary-directory file)
(and %build-directory
(string-prefix? %build-directory file)))))
(define (store-file-name? file)
;; Return #t when FILE is a store file, possibly indirectly.
(string-prefix? %store-directory (readlink* file)))
(define (shared-library? file)
;; Return #t when FILE denotes a shared library.
(or (string-suffix? ".so" file)
(let ((index (string-contains file ".so.")))
;; Since we cannot use regexps during bootstrap, roll our own.
(and index
(string-every (char-set-union (char-set #\.) char-set:digit)
(string-drop file (+ index 3)))))))
(define (library-search-path args)
;; Return the library search path as a list of directory names. The GNU ld
;; manual notes that "[a]ll `-L' options apply to all `-l' options,
;; regardless of the order in which the options appear", so we must compute
;; the search path independently of the -l options.
(let loop ((args args)
(path '()))
(match args
(()
(reverse path))
(("-L" directory . rest)
(loop rest (cons directory path)))
((argument . rest)
(if (string-prefix? "-L" argument) ;augment the search path
(loop rest
(cons (string-drop argument 2) path))
(loop rest path))))))
(define (library-files-linked args library-path)
;; Return the absolute file names of shared libraries explicitly linked
;; against via `-l' or with an absolute file name in ARGS, looking them up
;; in LIBRARY-PATH.
(define files+args
(fold (lambda (argument result)
(match result
((library-files ((and flag
(or "-dynamic-linker" "-plugin"))
. rest))
;; When passed '-dynamic-linker ld.so', ignore 'ld.so'; when
;; passed '-plugin liblto_plugin.so', ignore
;; 'liblto_plugin.so'. See <http://bugs.gnu.org/20102>.
(list library-files
(cons* argument flag rest)))
((library-files previous-args)
(cond ((string-prefix? "-l" argument) ;add library
(let* ((lib (string-append "lib"
(string-drop argument 2)
".so"))
(full (search-path library-path lib)))
(list (if full
(cons full library-files)
library-files)
(cons argument previous-args))))
((and (string-prefix? %store-directory argument)
(shared-library? argument)) ;add library
(list (cons argument library-files)
(cons argument previous-args)))
(else
(list library-files
(cons argument previous-args)))))))
(list '() '())
args))
(match files+args
((files arguments)
(reverse files))))
(define (rpath-arguments library-files)
;; Return the `-rpath' argument list for each of LIBRARY-FILES, a list of
;; absolute file names.
(fold-right (lambda (file args)
;; Add '-rpath' if and only if FILE is in the store; we don't
;; want to add '-rpath' for files under %BUILD-DIRECTORY or
;; %TEMPORARY-DIRECTORY because that could leak to installed
;; files.
(cond ((and (not %disable-rpath?)
(store-file-name? file))
(cons* "-rpath" (dirname file) args))
((or %allow-impurities?
(pure-file-name? file))
args)
(else
(begin
(format (current-error-port)
"ld-wrapper: error: attempt to use \
library outside of ~a: ~s~%"
%store-directory file)
(exit 1)))))
'()
library-files))
(define (expand-arguments args)
;; Expand ARGS such that "response file" arguments, such as "@args.txt", are
;; expanded (info "(gcc) Overall Options").
(define (response-file-arguments file)
(define (tokenize port)
;; Return a list of all strings found in PORT. Quote characters are removed,
;; but whitespaces within quoted strings are preserved.
(let loop ((words '()))
(let* ((word (read-delimited " '\"" port 'split))
(token (car word))
(delim (cdr word)))
(if (eof-object? delim)
(reverse words)
(case delim
((#\") (loop (cons (read-delimited "\"" port) words)))
((#\') (loop (cons (read-delimited "'" port) words)))
((#\ ) (if (> 0 (string-length token))
(loop (cons token words))
(loop words)))
(else (loop words)))))))
(when %debug?
(format (current-error-port)
"ld-wrapper: attempting to read arguments from '~a'~%" file))
(call-with-input-file file tokenize))
(define result
(fold-right (lambda (arg result)
(if (string-prefix? "@" arg)
(let ((file (string-drop arg 1)))
(append (catch 'system-error
(lambda ()
(response-file-arguments file))
(lambda args
;; FILE doesn't exist or cannot be read so
;; leave ARG as is.
(list arg)))
result))
(cons arg result)))
'()
args))
;; If there are "@" arguments in RESULT *and* we can expand them (they don't
;; refer to nonexistent files), then recurse.
(if (equal? result args)
result
(expand-arguments result)))
(define (ld-wrapper . args)
;; Invoke the real `ld' with ARGS, augmented with `-rpath' switches.
(let* ((args (expand-arguments args))
(path (library-search-path args))
(libs (library-files-linked args path))
(args (append args (rpath-arguments libs))))
(when %debug?
(format (current-error-port)
"ld-wrapper: library search path: ~s~%" path)
(format (current-error-port)
"ld-wrapper: libraries linked: ~s~%" libs)
(format (current-error-port)
"ld-wrapper: invoking `~a' with ~s~%"
%real-ld args)
(force-output (current-error-port)))
(apply execl %real-ld (basename %real-ld) args)))
;;; ld-wrapper.scm ends here

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
@ -130,6 +130,20 @@ resolution, asynchronous file system operations, and threading primitives.")
;; details. Documentation is CC-BY 4.0 as of 1.12.0; see 'LICENSE-docs'.
(license (list expat cc-by4.0))))
;; This newer version of LibUV is required by 'node'. Package it separately
;; to avoid massive rebuilds.
(define-public libuv/latest
(package/inherit
libuv
(version "1.34.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
"0inzk8qpw78im3fiazrc54qi1gcapbs8dhf0hk3kwpzg0i2kpnb5"))))))
(define-public perl-anyevent
(package
(name "perl-anyevent")

View File

@ -51,6 +51,7 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages imagemagick)
@ -10718,3 +10719,234 @@ approach to templating.")
(define-public ecl-lquery
(sbcl-package->ecl-package sbcl-lquery))
(define-public sbcl-cl-mysql
(let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
(revision "1"))
(package
(name "sbcl-cl-mysql")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hackinghat/cl-mysql.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("stefil" ,sbcl-stefil)))
(inputs
`(("cffi" ,sbcl-cffi)
("mariadb-lib" ,mariadb "lib")))
(arguments
`(#:tests? #f ; TODO: Tests require a running server
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "system.lisp"
(("libmysqlclient_r" all)
(string-append (assoc-ref inputs "mariadb-lib")
"/lib/"
all)))
#t)))))
(synopsis "Common Lisp wrapper for MySQL")
(description
"@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
(home-page "http://www.hackinghat.com/index.php/cl-mysql")
(license license:expat))))
(define-public cl-mysql
(sbcl-package->cl-source-package sbcl-cl-mysql))
(define-public sbcl-simple-date
(let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
(revision "1"))
(package
(name "sbcl-simple-date")
(version (git-version "1.19" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/marijnh/Postmodern.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(synopsis "Basic date and time objects for Common Lisp")
(description
"@code{simple-date} is a very basic implementation of date and time
objects, used to support storing and retrieving time-related SQL types.")
(home-page "https://marijnhaverbeke.nl/postmodern/")
(license license:zlib))))
(define-public cl-simple-date
(sbcl-package->cl-source-package sbcl-simple-date))
(define-public ecl-simple-date
(sbcl-package->ecl-package sbcl-simple-date))
(define-public sbcl-cl-postgres
(package
(inherit sbcl-simple-date)
(name "sbcl-cl-postgres")
(native-inputs
`(("fiveam" ,sbcl-fiveam)
("simple-date" ,sbcl-simple-date)))
(inputs
`(("md5" ,sbcl-md5)
("split-sequence" ,sbcl-split-sequence)
("usocket" ,sbcl-usocket)))
(arguments
`(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
(synopsis "Common Lisp interface for PostgreSQL")
(description
"@code{cl-postgres} is a low-level library used for interfacing with
a PostgreSQL server over a socket.")))
(define-public cl-postgres
(sbcl-package->cl-source-package sbcl-cl-postgres))
(define-public sbcl-simple-date-postgres-glue
(package
(inherit sbcl-simple-date)
(name "sbcl-simple-date-postgres-glue")
(inputs
`(("cl-postgres" ,sbcl-cl-postgres)
("simple-date" ,sbcl-simple-date)))
(arguments
`(#:asd-file "simple-date.asd"
#:asd-system-name "simple-date/postgres-glue"))))
(define-public cl-simple-date-postgres-glue
(sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
(define-public sbcl-s-sql
(package
(inherit sbcl-simple-date)
(name "sbcl-s-sql")
(inputs
`(("alexandria" ,sbcl-alexandria)
("cl-postgres" ,sbcl-cl-postgres)))
(arguments
`(#:tests? #f)) ; TODO: Break postmodern circular dependency
(synopsis "Lispy DSL for SQL")
(description
"@code{s-sql} is a Common Lisp library that can be used to compile
s-expressions to strings of SQL code, escaping any Lisp values inside, and
doing as much as possible of the work at compile time.")))
(define-public cl-s-sql
(sbcl-package->cl-source-package sbcl-s-sql))
(define-public sbcl-postmodern
(package
(inherit sbcl-simple-date)
(name "sbcl-postmodern")
(native-inputs
`(("fiveam" ,sbcl-fiveam)
("simple-date" ,sbcl-simple-date)
("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
(inputs
`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("cl-postgres" ,sbcl-cl-postgres)
("closer-mop" ,sbcl-closer-mop)
("global-vars" ,sbcl-global-vars)
("s-sql" ,sbcl-s-sql)
("split-sequence" ,sbcl-split-sequence)))
(arguments
;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
;; cl-postgres/tests and s-sql/tests.
`(#:tests? #f))
(synopsis "Common Lisp library for interacting with PostgreSQL")
(description
"@code{postmodern} is a Common Lisp library for interacting with
PostgreSQL databases. It provides the following features:
@itemize
@item Efficient communication with the database server without need for
foreign libraries.
@item Support for UTF-8 on Unicode-aware Lisp implementations.
@item A syntax for mixing SQL and Lisp code.
@item Convenient support for prepared statements and stored procedures.
@item A metaclass for simple database-access objects.
@end itemize\n")))
(define-public cl-postmodern
(sbcl-package->cl-source-package sbcl-postmodern))
(define-public sbcl-dbi
(package
(name "sbcl-dbi")
(version "0.9.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fukamachi/cl-dbi.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
("closer-mop" ,sbcl-closer-mop)
("split-sequence" ,sbcl-split-sequence)))
(arguments
`(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
(synopsis "Database independent interface for Common Lisp")
(description
"@code{dbi} is a Common Lisp library providing a database independent
interface for MySQL, PostgreSQL and SQLite.")
(home-page "https://github.com/fukamachi/cl-dbi")
(license license:llgpl)))
(define-public cl-dbi
(sbcl-package->cl-source-package sbcl-dbi))
(define-public sbcl-dbd-mysql
(package
(inherit sbcl-dbi)
(name "sbcl-dbd-mysql")
(inputs
`(("cl-mysql" ,sbcl-cl-mysql)
("dbi" ,sbcl-dbi)))
(synopsis "Database driver for MySQL")))
(define-public cl-dbd-mysql
(sbcl-package->cl-source-package sbcl-dbd-mysql))
(define-public sbcl-dbd-postgres
(package
(inherit sbcl-dbi)
(name "sbcl-dbd-postgres")
(inputs
`(("cl-postgres" ,sbcl-cl-postgres)
("dbi" ,sbcl-dbi)
("trivial-garbage" ,sbcl-trivial-garbage)))
(synopsis "Database driver for PostgreSQL")))
(define-public cl-dbd-postgres
(sbcl-package->cl-source-package sbcl-dbd-postgres))
(define-public sbcl-dbd-sqlite3
(package
(inherit sbcl-dbi)
(name "sbcl-dbd-sqlite3")
(inputs
`(("cl-sqlite" ,sbcl-cl-sqlite)
("dbi" ,sbcl-dbi)
("trivial-garbage" ,sbcl-trivial-garbage)))
(synopsis "Database driver for SQLite3")))
(define-public cl-dbd-sqlite3
(sbcl-package->cl-source-package sbcl-dbd-sqlite3))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -48,6 +48,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages libffi)
#:use-module (gnu packages mpi)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -207,18 +208,32 @@ compiler. In LLVM this library is called \"compiler-rt\".")
#:build-type "Release"
#:phases (modify-phases %standard-phases
(add-after
'unpack 'set-glibc-file-names
(add-after 'unpack 'add-missing-triplets
(lambda _
;; Clang iterates through known triplets to search for
;; GCC's headers, but does not recognize some of the
;; triplets that are used in Guix.
(substitute* ,@(if (version>=? version "6.0")
'("lib/Driver/ToolChains/Gnu.cpp")
'("lib/Driver/ToolChains.cpp"))
(("\"aarch64-linux-gnu\"," all)
(string-append "\"aarch64-unknown-linux-gnu\", "
all))
(("\"arm-linux-gnueabihf\"," all)
(string-append all
" \"arm-unknown-linux-gnueabihf\","))
(("\"i686-pc-linux-gnu\"," all)
(string-append "\"i686-unknown-linux-gnu\", "
all)))
#t))
(add-after 'unpack 'set-glibc-file-names
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(compiler-rt (assoc-ref inputs "clang-runtime"))
(gcc (assoc-ref inputs "gcc"))
(version
(string->number
,(version-major (package-version clang-runtime)))))
(cond
((> version 3)
;; Link to libclang_rt files from clang-runtime.
(gcc (assoc-ref inputs "gcc")))
,@(cond
((version>=? version "6.0")
`(;; Link to libclang_rt files from clang-runtime.
(substitute* "lib/Driver/ToolChain.cpp"
(("getDriver\\(\\)\\.ResourceDir")
(string-append "\"" compiler-rt "\"")))
@ -233,14 +248,15 @@ compiler. In LLVM this library is called \"compiler-rt\".")
;; location.
(("LibStdCXXIncludePathCandidates\\[\\] = \\{")
(string-append
"LibStdCXXIncludePathCandidates[] = { \"" gcc "/include/c++\","))
"LibStdCXXIncludePathCandidates[] = { \"" gcc
"/include/c++\","))
;; Make sure libc's libdir is on the search path, to
;; allow crt1.o & co. to be found.
(("@GLIBC_LIBDIR@")
(string-append libc "/lib"))))
(string-append libc "/lib")))))
(else
(substitute* "lib/Driver/Tools.cpp"
`((substitute* "lib/Driver/Tools.cpp"
;; Patch the 'getLinuxDynamicLinker' function so that
;; it uses the right dynamic linker file name.
(("/lib64/ld-linux-x86-64.so.2")
@ -249,21 +265,19 @@ compiler. In LLVM this library is called \"compiler-rt\".")
;; Link to libclang_rt files from clang-runtime.
;; This substitution needed slight adjustment in 3.8.
(if (< 3.8 (string->number ,(version-major+minor
(package-version
clang-runtime))))
(substitute* "lib/Driver/Tools.cpp"
,@(if (version>=? version "3.8")
'((substitute* "lib/Driver/Tools.cpp"
(("TC\\.getDriver\\(\\)\\.ResourceDir")
(string-append "\"" compiler-rt "\"")))
(substitute* "lib/Driver/ToolChain.cpp"
(("getDriver\\(\\)\\.ResourceDir")
(string-append "\"" compiler-rt "\""))))
'((substitute* "lib/Driver/ToolChain.cpp"
(("getDriver\\(\\)\\.ResourceDir")
(string-append "\"" compiler-rt "\"")))))
;; Make sure libc's libdir is on the search path, to
;; allow crt1.o & co. to be found.
(substitute* "lib/Driver/ToolChains.cpp"
(("@GLIBC_LIBDIR@")
(string-append libc "/lib")))))
(string-append libc "/lib"))))))
#t)))
(add-after 'install 'install-clean-up-/share/clang
(lambda* (#:key outputs #:allow-other-keys)
@ -553,11 +567,33 @@ output), and Binutils.")
"0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4"))))))
(define-public clang-runtime-3.5
(clang-runtime-from-llvm
(let ((runtime (clang-runtime-from-llvm
llvm-3.5
"1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal"
'("clang-runtime-asan-build-fixes.patch"
"clang-3.5-libsanitizer-ustat-fix.patch")))
"clang-3.5-libsanitizer-ustat-fix.patch"))))
(package
(inherit runtime)
(arguments
(substitute-keyword-arguments (package-arguments runtime)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
;; glibc no longer includes rpc/xdr.h, so we use the headers from
;; libtirpc.
(add-after 'unpack 'find-rpc-includes
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "libtirpc")
"/include/tirpc/:"
(or (getenv "CPATH") "")))
(setenv "CPLUS_INCLUDE_PATH"
(string-append (assoc-ref inputs "libtirpc")
"/include/tirpc/:"
(or (getenv "CPLUS_INCLUDE_PATH") "")))
#t))))))
(inputs
`(("libtirpc" ,libtirpc)
("llvm" ,llvm-3.5))))))
(define-public clang-3.5
(clang-from-llvm llvm-3.5 clang-runtime-3.5

View File

@ -5138,7 +5138,7 @@ and as an LV2 plugin.")
(define-public zrythm
(package
(name "zrythm")
(version "0.7.474")
(version "0.7.573")
(source
(origin
(method url-fetch)
@ -5146,7 +5146,7 @@ and as an LV2 plugin.")
version ".tar.xz"))
(sha256
(base32
"0qq9v8y27zhamcb7nq7pl76874ws8x8cxhp5r685b8binvl9p0az"))))
"075gq478xbzz5ql4fsrgfzhgxi7z26k6034lhlkmm0klfcb8j9mg"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -5171,6 +5171,7 @@ and as an LV2 plugin.")
("gettext" ,gettext-minimal)
("glibc" ,glibc)
("gtk+" ,gtk+)
("libcyaml" ,libcyaml)
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
("libyaml" ,libyaml)

View File

@ -28,14 +28,14 @@
(define-public musl
(package
(name "musl")
(version "1.1.24")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.musl-libc.org/releases/"
"musl-" version ".tar.gz"))
(sha256
(base32
"18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k"))))
"1s6lix02k1ijm4nmhzpmwzk5w6xfkhn70nvvk8zjs51r24cpppn6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; musl has no tests

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,14 +45,14 @@
(define-public node
(package
(name "node")
(version "10.16.0")
(version "10.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.xz"))
(sha256
(base32
"0236jlb1hxhzqjlmmlxipcycrndiq92c8434iyy7zshh3n4pzqqq"))
"0sginvcsf7lrlzsnpahj4bj1f673wfvby8kaxgvzlrbb7sy229v2"))
(modules '((guix build utils)))
(snippet
`(begin
@ -74,8 +74,7 @@
#t))))
(build-system gnu-build-system)
(arguments
;; TODO: Purge the bundled copies from the source.
'(#:configure-flags '("--shared-cares"
`(#:configure-flags '("--shared-cares"
"--shared-http-parser"
"--shared-libuv"
"--shared-nghttp2"
@ -121,6 +120,20 @@
;; https://github.com/nodejs/node/issues/31213
(delete-file "test/parallel/test-net-listen-after-destroying-stdin.js")
;; FIXME: These tests fail on armhf-linux:
;; https://github.com/nodejs/node/issues/31970
,@(if (string-prefix? "arm" (%current-system))
'((for-each delete-file
'("test/parallel/test-zlib.js"
"test/parallel/test-zlib-brotli.js"
"test/parallel/test-zlib-brotli-flush.js"
"test/parallel/test-zlib-brotli-from-brotli.js"
"test/parallel/test-zlib-brotli-from-string.js"
"test/parallel/test-zlib-convenience-methods.js"
"test/parallel/test-zlib-random-byte-pipes.js"
"test/parallel/test-zlib-write-after-flush.js")))
'())
;; These tests have an expiry date: they depend on the validity of
;; TLS certificates that are bundled with the source. We want this
;; package to be reproducible forever, so remove those.
@ -170,8 +183,8 @@
`(("c-ares" ,c-ares)
("http-parser" ,http-parser)
("icu4c" ,icu4c)
("libuv" ,libuv)
("nghttp2" ,nghttp2 "lib")
("libuv" ,libuv/latest)
("nghttp2" ,nghttp2-1.40 "lib")
("openssl" ,openssl)
("zlib" ,zlib)))
(synopsis "Evented I/O for V8 JavaScript")

View File

@ -315,7 +315,7 @@ back-end for the LLVM compiler framework.")
(inputs
`(("clang" ,clang)
("hwloc" ,hwloc-2 "lib")
("llvm" ,llvm-8)
("llvm" ,llvm)
("ocl-icd" ,ocl-icd)))
(arguments
`(#:configure-flags

View File

@ -133,14 +133,14 @@ data as produced by digital cameras.")
(define-public libgphoto2
(package
(name "libgphoto2")
(version "2.5.23")
(version "2.5.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2"))
(sha256
(base32
"0bc5x2bkqbfi4hbkz8ab5xc0bkks9vvks1vygxhdh3x498v27byq"))))
"0cgvsk06c4kcfj16plc27nm7g16r9ci0y4k83sf3iyphd63mfg7x"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs

View File

@ -32,6 +32,7 @@
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1601,14 +1602,14 @@ supports url redirection and retries, and also gzip and deflate decoding.")
(define-public awscli
(package
(name "awscli")
(version "1.14.41")
(version "1.18.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"0sispclx263lybbk19zp1n9yhg8xxx4jddypzgi24vpjaqnsbwlc"))))
"0p479mfs9r0m82a217pap8156ijwvhv6r3kqa4k267gd05wgvygm"))))
(build-system python-build-system)
(arguments
;; FIXME: The 'pypi' release does not contain tests.
@ -1630,7 +1631,7 @@ supports url redirection and retries, and also gzip and deflate decoding.")
("python-docutils" ,python-docutils)
("python-pyyaml" ,python-pyyaml)
("python-rsa" ,python-rsa)))
(inputs
(native-inputs
`(("groff" ,groff)))
(home-page "https://aws.amazon.com/cli/")
(synopsis "Command line client for AWS")

View File

@ -49,14 +49,14 @@
(define-public xapian
(package
(name "xapian")
(version "1.4.14")
(version "1.4.15")
;; Note: When updating Xapian, remember to update xapian-bindings below.
(source (origin
(method url-fetch)
(uri (string-append "https://oligarchy.co.uk/xapian/" version
"/xapian-core-" version ".tar.xz"))
(sha256
(base32 "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp"))))
(base32 "1sjhz6vgql801rdgl6vrsjj0vy1mwlkcxjx6nr7h27m031cyjs5i"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)
("util-linux" ,util-linux)))
@ -94,7 +94,7 @@ rich set of boolean query operators.")
"/xapian-bindings-" version ".tar.xz"))
(sha256
(base32
"0qb17cw8n0g5gcg8dq5b3hs6i16w74rgxcryd0ja9n2h0rlda2an"))))
"0364nalvh13c7wzx52mz4gaf8wg1rm17lw75cs8a813rv091ci38"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-python3")

View File

@ -858,7 +858,7 @@ then ported to the GNU / Linux environment.")
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
(version "2.16.4")
(version "2.16.5")
(source
(origin
(method url-fetch)
@ -868,7 +868,7 @@ then ported to the GNU / Linux environment.")
version "-apache.tgz"))
(sha256
(base32
"1yxj5wahaj87xhdi89zbk78ig77b166h464yrj5gb3lwv8mz6h9l"))))
"0kdhwy241xsk4isbadqx6z80m8sf76da5sbmqv8qy11yr37cdd35"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags

View File

@ -30,14 +30,14 @@
(define-public plantuml
(package
(name "plantuml")
(version "1.2019.3")
(version "1.2020.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/plantuml/"
version "/plantuml-" version ".tar.gz"))
(sha256
(base32
"0p2mqav0qfc6kmkhb2n1vjysffnvpsx4yal68nl0yrh5vd3bnmza"))))
"1mywv4m6v1y2wpfz9vqriw6cdq1d2md5k2vf244ldbd9s6j45467"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; no tests
@ -49,7 +49,7 @@
(substitute* "build.xml"
(("1.6") "1.7")
(("<attribute name=\"Class-Path\"") "<!--")
(("j2v8_macosx_x86_64-3.1.7.jar\" />") "-->"))
(("ditaa0_9.jar\" />") "-->"))
#t))
(add-after 'delete-extra-from-classpath 'patch-usr-bin-dot
(lambda* (#:key inputs #:allow-other-keys)

View File

@ -8,6 +8,7 @@
;;; Copyright © 2019 HiPhish <hiphish@posteo.de>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019, 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;;
;;; This file is part of GNU Guix.
;;;
@ -84,12 +85,6 @@
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-CoW
;; Disable copy-on-write (CoW) in the build directory. Tests fail on
;; btrfs (and possibly other CoW file systems) for unclear reasons.
;; This needs to be run early as it only affects newly-created files.
(lambda _
(invoke "chattr" "-R" "+C" ".")))
(add-after 'configure 'patch-config-files
(lambda _
(substitute* "runtime/tools/mve.awk"
@ -134,10 +129,11 @@
`(("libtool" ,libtool)
;; For tests.
("e2fsprogs" ,e2fsprogs) ; for chattr in disable-CoW above
("tzdata" ,tzdata-for-tests)))
(home-page "https://www.vim.org/")
(synopsis "Text editor based on vi")
;; The description shares language with the vim-full package. When making
;; changes, check if the other description also needs to be updated.
(description
"Vim is a highly configurable text editor built to enable efficient text
editing. It is an improved version of the vi editor distributed with most UNIX
@ -261,7 +257,21 @@ with the editor vim.")))
("python-3" ,python)
("ruby" ,ruby)
("tcl" ,tcl)
,@(package-inputs vim)))))
,@(package-inputs vim)))
;; The description shares language with the vim package. When making
;; changes, check if the other description also needs to be updated.
(description "Vim is a highly configurable text editor built to enable efficient text
editing. It is an improved version of the vi editor distributed with most UNIX
systems.
Vim is often called a \"programmer's editor,\" and so useful for programming
that many consider it an entire IDE. It's not just for programmers, though.
Vim is perfect for all kinds of text editing, from composing email to editing
configuration files.
This package provides a version of Vim with many optional features enabled.
It includes a graphical interface, @command{gvim}, and support for plugins
written in the Python 3, Perl, Ruby, Tcl, and Lua programming languages.")))
(define-public vim-neocomplete
(package

View File

@ -19,7 +19,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
@ -7027,6 +7027,20 @@ compressed JSON header blocks.
(base32
"12yfsjghbaypp4w964d45ih9vs38g6anih80wbsflaxx192idlm2"))))))
;; 'Node' requires this newer version, to be removed on the next rebuild cycle.
(define-public nghttp2-1.40
(package/inherit
nghttp2
(version "1.40.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nghttp2/nghttp2/"
"releases/download/v" version "/"
"nghttp2-" version ".tar.xz"))
(sha256
(base32
"0wwhwv7cvi1vxpdjwvg0kpa4jzhszclpnwrwfcw728zz53a47z09"))))))
(define-public hpcguix-web
(let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508")
(revision "4"))

View File

@ -2108,7 +2108,7 @@ libxml2 and libxslt.")
(define-public python-xmlschema
(package
(name "python-xmlschema")
(version "1.1.0")
(version "1.1.1")
(source (origin
;; Unit tests are not distributed with the PyPI archive.
(method git-fetch)
@ -2118,7 +2118,7 @@ libxml2 and libxslt.")
(file-name (git-file-name name version))
(sha256
(base32
"1h8321jb6q3dhlh3608y3f3sbbzfd3jg1psyirxkrm4w5xs3lbvy"))))
"0nqhqbvp0kpd1bz11b6gpkc0mkg068mqs56ww4k5ang1cl9d8gd6"))))
(build-system python-build-system)
(arguments
'(#:phases

View File

@ -60,15 +60,18 @@
;; part.
(define* (install #:key inputs native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))
(kmod (assoc-ref (or native-inputs inputs) "kmod")))
(moddir (string-append out "/lib/modules")))
;; Install kernel modules
(mkdir-p moddir)
(invoke "make" "-C"
(string-append (assoc-ref inputs "linux-module-builder")
"/lib/modules/build")
(string-append "M=" (getcwd))
(string-append "DEPMOD=" kmod "/bin/depmod")
;; Disable depmod because the Guix system's module directory
;; is an union of potentially multiple packages. It is not
;; possible to use depmod to usefully calculate a dependency
;; graph while building only one of those packages.
"DEPMOD=true"
(string-append "MODULE_DIR=" moddir)
(string-append "INSTALL_PATH=" out)
(string-append "INSTALL_MOD_PATH=" out)

View File

@ -133,10 +133,7 @@ the @file{bin} directory."
(symlink (string-append target "/node_modules/" modulename "/"
value)
(string-append binaries "/" key))))))
binary-configuration))
(else
(symlink (string-append target "/node_modules/" modulename "/bin")
binaries)))
binary-configuration)))
(when dependencies
(mkdir-p
(string-append target "/node_modules/" modulename "/node_modules"))

View File

@ -181,32 +181,69 @@ Show what and how will/would be built."
(newline (guix-warning-port))))
(define %disk-space-warning
;; The fraction (between 0 and 1) of free disk space below which a warning
;; is emitted.
(make-parameter (match (and=> (getenv "GUIX_DISK_SPACE_WARNING")
string->number)
(#f .05) ;5%
(threshold (/ threshold 100.)))))
;; Return a pair of absolute threshold (number of bytes) and relative
;; threshold (fraction between 0 and 1) for the free disk space below which
;; a warning is emitted.
;; GUIX_DISK_SPACE_WARNING can contain both thresholds. A value in [0;100)
;; is a relative threshold, otherwise it's absolute. The following
;; example values are valid:
;; - 1GiB;10% ;1 GiB absolute, and 10% relative.
;; - 15G ;15 GiB absolute, and default relative.
;; - 99% ;99% relative, and default absolute.
;; - 99 ;Same.
;; - 100 ;100 absolute, and default relative.
(let* ((default-absolute-threshold (size->number "5GiB"))
(default-relative-threshold 0.05)
(percentage->float (lambda (percentage)
(or (and=> (string->number
(car (string-split percentage #\%)))
(lambda (n) (/ n 100.0)))
default-relative-threshold)))
(size->number* (lambda (size)
(or (false-if-exception (size->number size))
default-absolute-threshold)))
(absolute? (lambda (size)
(not (or (string-suffix? "%" size)
(false-if-exception (< (size->number size) 100)))))))
(make-parameter
(match (getenv "GUIX_DISK_SPACE_WARNING")
(#f (list default-absolute-threshold
default-relative-threshold))
(env-string (match (string-split env-string #\;)
((threshold)
(if (absolute? threshold)
(list (size->number* threshold)
default-relative-threshold)
(list default-absolute-threshold
(percentage->float threshold))))
((threshold1 threshold2)
(if (absolute? threshold1)
(list (size->number* threshold1)
(percentage->float threshold2))
(list (size->number* threshold2)
(percentage->float threshold1))))))))))
(define* (warn-about-disk-space #:optional profile
#:key
(threshold (%disk-space-warning)))
(thresholds (%disk-space-warning)))
"Display a hint about 'guix gc' if less than THRESHOLD of /gnu/store is
available."
available.
THRESHOLD is a pair of (ABSOLUTE-THRESHOLD RELATIVE-THRESHOLD)."
(let* ((stats (statfs (%store-prefix)))
(block-size (file-system-block-size stats))
(available (* block-size (file-system-blocks-available stats)))
(total (* block-size (file-system-block-count stats)))
(ratio (/ available total 1.)))
(when (< ratio threshold)
(warning (G_ "only ~,1f% of free space available on ~a~%")
(* ratio 100) (%store-prefix))
(relative-threshold-in-bytes (* total (cadr thresholds)))
(absolute-threshold-in-bytes (* 1024 1024 1024 (car thresholds))))
(when (< available (min relative-threshold-in-bytes
absolute-threshold-in-bytes))
(warning (G_ "only ~,1f GiB of free space available on ~a~%")
available (%store-prefix))
(display-hint (format #f (G_ "Consider deleting old profile
generations and collecting garbage, along these lines:
@example
guix gc --delete-generations=1m
@end example\n")
profile)))))
@end example\n"))))))
;;; scripts.scm ends here

View File

@ -581,15 +581,27 @@ void LocalStore::removeUnusedLinks(const GCState & state)
#ifdef HAVE_STATX
# define st_size stx_size
# define st_nlink stx_nlink
static int statx_flags = AT_SYMLINK_NOFOLLOW | AT_STATX_DONT_SYNC;
struct statx st;
if (statx(AT_FDCWD, path.c_str(),
AT_SYMLINK_NOFOLLOW | AT_STATX_DONT_SYNC,
if (statx(AT_FDCWD, path.c_str(), statx_flags,
STATX_SIZE | STATX_NLINK, &st) == -1) {
if (errno == EINVAL) {
/* Old 3.10 kernels (CentOS 7) don't support
AT_STATX_DONT_SYNC, so try again without it. */
statx_flags &= ~AT_STATX_DONT_SYNC;
if (statx(AT_FDCWD, path.c_str(), statx_flags,
STATX_SIZE | STATX_NLINK, &st) == -1)
throw SysError(format("statting `%1%'") % path);
} else {
throw SysError(format("statting `%1%'") % path);
}
}
#else
struct stat st;
if (lstat(path.c_str(), &st) == -1)
#endif
throw SysError(format("statting `%1%'") % path);
#endif
if (st.st_nlink != 1) {
actualSize += st.st_size;