summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk5
-rw-r--r--gnu/packages/android.scm4
-rw-r--r--gnu/packages/astronomy.scm7
-rw-r--r--gnu/packages/audio.scm15
-rw-r--r--gnu/packages/backup.scm1
-rw-r--r--gnu/packages/batik.scm250
-rw-r--r--gnu/packages/bioinformatics.scm91
-rw-r--r--gnu/packages/ftp.scm8
-rw-r--r--gnu/packages/games.scm64
-rw-r--r--gnu/packages/gnucash.scm47
-rw-r--r--gnu/packages/golang.scm128
-rw-r--r--gnu/packages/haskell-web.scm1
-rw-r--r--gnu/packages/haskell.scm723
-rw-r--r--gnu/packages/java.scm33
-rw-r--r--gnu/packages/libreoffice.scm3
-rw-r--r--gnu/packages/mes.scm5
-rw-r--r--gnu/packages/mpd.scm16
-rw-r--r--gnu/packages/music.scm14
-rw-r--r--gnu/packages/patches/bastet-change-source-of-unordered_set.patch40
-rw-r--r--gnu/packages/patches/borg-respect-storage-quota.patch32
-rw-r--r--gnu/packages/patches/gnucash-disable-failing-tests.patch39
-rw-r--r--gnu/packages/patches/gnucash-price-quotes-perl.patch5
-rw-r--r--gnu/packages/patches/mes-nyacc-0.86.0.patch197
-rw-r--r--gnu/packages/ruby.scm62
-rw-r--r--gnu/packages/version-control.scm10
-rw-r--r--guix/build-system/glib-or-gtk.scm2
-rw-r--r--guix/progress.scm11
27 files changed, 1426 insertions, 387 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index d4e986ce3e..15c8159460 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -77,6 +77,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/backup.scm \
%D%/packages/base.scm \
%D%/packages/bash.scm \
+ %D%/packages/batik.scm \
%D%/packages/bdw-gc.scm \
%D%/packages/benchmark.scm \
%D%/packages/bioconductor.scm \
@@ -591,11 +592,13 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \
+ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/boost-fix-icu-build.patch \
+ %D%/packages/patches/borg-respect-storage-quota.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/cairo-setjmp-wrapper.patch \
@@ -763,6 +766,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-todo-libical-compat.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
+ %D%/packages/patches/gnucash-disable-failing-tests.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gnutls-skip-pkgconfig-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
@@ -954,7 +958,6 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
- %D%/packages/patches/mes-nyacc-0.86.0.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 53d7d8d441..9f8d850ff5 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -863,14 +863,14 @@ useful for reverse engineering, analysis of Android applications and more.")
(define-public fdroidserver
(package
(name "fdroidserver")
- (version "1.0.9")
+ (version "1.0.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fdroidserver" version))
(sha256
(base32
- "0cwb1fmindw6v9jkiim9yn3496rk1pvnk94s1r0vz2hxgz16xp7n"))))
+ "0n6kkby65qzqdx1jn72grfffvr1w1j1rby5pwm9z8rymmsh8s0pm"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 88e3723a1f..3c8b9cc8df 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -68,7 +68,7 @@ in FITS files.")
(define-public wcslib
(package
(name "wcslib")
- (version "5.18")
+ (version "5.20")
(source
(origin
(method url-fetch)
@@ -76,7 +76,7 @@ in FITS files.")
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version
".tar.bz2"))
(sha256
- (base32 "16jh568k99c9p0y3qzcgps2rii933x9wlay7q1xm0lr59zqzp4xn"))))
+ (base32 "1c8g9kv4dxrnawnqi4spi2p10s2xs7x75pdfxhbqxgcc97dkgh0b"))))
(inputs
`(("cfitsio" ,cfitsio)))
(build-system gnu-build-system)
@@ -89,8 +89,7 @@ in FITS files.")
(("/bin/sh") "sh"))
#t))
(delete 'install-license-files)) ; installed by ‘make install’
- ;; Both the build and tests fail randomly when run in parallel.
- #:parallel-build? #f
+ ;; Parallel execution of the test suite is not supported.
#:parallel-tests? #f))
(home-page "https://www.atnf.csiro.au/people/mcalabre/WCS")
(synopsis "Library which implements the FITS WCS standard")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 72f46f903a..0175024047 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -291,12 +291,14 @@ engineers, musicians, soundtrack editors and composers.")
(version "2.2.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/audacity/audacity/archive"
- "/Audacity-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/audacity/audacity.git")
+ (commit (string-append "Audacity-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "18q7i77ynihx7xp45lz2lv0k0wrh6736pcrivlpwrxjgbvyqx7km"))
+ "10maxmjxbmjybj7n4m7a9bbm7g8xxw8f8vbsf7c9ih5j2gr15ihs"))
(patches (search-patches "audacity-build-with-system-portaudio.patch"))
(modules '((guix build utils)))
(snippet
@@ -411,11 +413,6 @@ engineers, musicians, soundtrack editors and composers.")
(substitute* "src/prefs/MidiIOPrefs.cpp"
(("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
#t)))
- ;; The translation Makefile generation is performed improperly for
- ;; out-of-tree builds.
- ;; XXX This can be removed if the glib-or-gkt-build-system
- ;; switches to #:out-of-source? #t. See <https://bugs.gnu.org/32887>.
- #:out-of-source? #f
;; The test suite is not "well exercised" according to the developers,
;; and fails with various errors. See
;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index ea5bc8e398..408b64b48d 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -498,6 +498,7 @@ detection, and lossless compression.")
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
+ (patches (search-patches "borg-respect-storage-quota.patch"))
(sha256
(base32
"1p3zia62vyg9vadkdjzzkzbj4dmgijr7ix5lmhfbxpwy5q9imdgp"))
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
new file mode 100644
index 0000000000..cdd1e44713
--- /dev/null
+++ b/gnu/packages/batik.scm
@@ -0,0 +1,250 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages batik)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix build-system ant)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages xml))
+
+(define-public java-w3c-smil-3.0
+ (package
+ (name "java-w3c-smil")
+ (version "3.0")
+ (source #f)
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "w3c-smil.jar"
+ #:source-dir "."
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ ;; https://www.w3.org/TR/SMIL3/smil-timing.html#q142
+ (mkdir-p "org/w3c/dom/smil")
+ (call-with-output-file "org/w3c/dom/smil/ElementTimeControl.java"
+ (lambda (port)
+ (format port "
+package org.w3c.dom.smil;
+
+import org.w3c.dom.DOMException;
+
+public interface ElementTimeControl {
+ public boolean beginElement();
+
+ public boolean beginElementAt(float offset);
+
+ public boolean endElement();
+
+ public boolean endElementAt(float offset);
+}
+")))
+ (call-with-output-file "org/w3c/dom/smil/TimeEvent.java"
+ (lambda (port)
+ (format port "
+package org.w3c.dom.smil;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.views.AbstractView;
+
+public interface TimeEvent extends Event {
+ public AbstractView getView();
+
+ public int getDetail();
+
+ public void initTimeEvent(String typeArg,
+ AbstractView viewArg,
+ int detailArg);
+
+}
+")))
+ #t)))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://www.w3.org/Style/CSS/SAC/")
+ (synopsis "W3C SAC interface for CSS parsers in Java")
+ (description "This package provides a SAC interface by the W3C.
+SAC is an interface for CSS parsers.")
+ (license license:w3c)))
+
+(define-public java-w3c-svg-1.0
+ (package
+ (name "java-w3c-svg")
+ (version "20010904")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.w3.org/TR/2001/REC-SVG-" version
+ "/java-binding.zip"))
+ (sha256
+ (base32
+ "0gnxvx51bg6ijplf6l2q0i1m07101f7fickawshfygnsdjqfdnbp"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "w3c-svg.jar"
+ #:source-dir "."
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ (invoke "unzip" source)))
+ (add-after 'unpack 'patch-interface
+ (lambda _
+ ;; Make it compatible with batik.
+ ;; This is equivalent to usingxml commons externals'
+ ;; "externals" part from https://xerces.apache.org/mirrors.cgi
+ (substitute* "SVGFEConvolveMatrixElement.java"
+ (("public SVGAnimatedLength[ ]*getKernelUnitLength")
+ "public SVGAnimatedNumber getKernelUnitLength"))
+ (substitute* "SVGFEMorphologyElement.java"
+ (("public SVGAnimatedLength[ ]*getRadius")
+ "public SVGAnimatedNumber getRadius"))
+ (call-with-output-file "EventListenerInitializer.java"
+ (lambda (port)
+ (format port "
+// License: http://www.apache.org/licenses/LICENSE-2.0
+package org.w3c.dom.svg;
+public interface EventListenerInitializer {
+ public void initializeEventListeners(SVGDocument doc);
+}
+
+")))
+ #t)))))
+ (propagated-inputs
+ `(("java-w3c-smil" ,java-w3c-smil-3.0)))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://www.w3.org/Style/CSS/SAC/")
+ (synopsis "W3C SVG interface")
+ (description "This package provides a SVG interface.")
+ (license license:w3c)))
+
+(define-public java-w3c-svg
+ (package
+ (inherit java-w3c-svg-1.0)
+ (version "20110816")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.w3.org/TR/2011/REC-SVG11-" version
+ "/java-binding.zip"))
+ (sha256
+ (base32
+ "0jicqcrxav8ggs37amgvvwgc2f0qp1c5wns4rb2i3si83s2m09ns"))))
+ (propagated-inputs
+ `())))
+
+(define-public java-w3c-sac
+ (package
+ (name "java-w3c-sac")
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.w3.org/2002/06/sacjava-" version
+ ".zip"))
+ (sha256
+ (base32
+ "1djp2nnzf8jchnwz1ij9i5jfx4cg1ryf3lbw133yzjy0wkhcla52"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "w3c-sac.jar"
+ #:source-dir "sac-1.3"
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ (invoke "unzip" source))))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://www.w3.org/Style/CSS/SAC/")
+ (synopsis "W3C SAC interface for CSS parsers in Java")
+ (description "This package provides a SAC interface by the W3C.
+SAC is an interface for CSS parsers.")
+ (license license:w3c)))
+
+(define-public java-xmlgraphics-commons
+ (package
+ (name "java-xmlgraphics-commons")
+ (version "2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://apache/xmlgraphics/commons/source/xmlgraphics-commons-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0a432a4ca3vgnbada5cy9mlmfzmq6hi4i176drfxrp17q2d43w23"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (delete-file-recursively "lib")
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "jar-main"
+ #:test-target "junit"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-reproducible
+ (lambda _
+ (substitute* "build.xml"
+ (("<attribute name=\"Build-Id\" value=\"[^\"]*\"")
+ "<attribute name=\"Build-Id\" value=\"\""))
+ #t))
+ (add-before 'build 'prepare-build-directories
+ (lambda _
+ (mkdir "lib")
+ (mkdir "lib/build")
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (out-share (string-append out "/share/java")))
+ (for-each (lambda (name)
+ (install-file name out-share))
+ (find-files "build"
+ "xmlgraphics-commons.*\\.jar$"))
+ #t))))))
+ (native-inputs
+ `(("java-apache-xml-commons-resolver" ,java-apache-xml-commons-resolver)
+ ("java-asm" ,java-asm)
+ ("java-cglib" ,java-cglib)
+ ("java-hamcrest" ,java-hamcrest-core)
+ ("java-junit" ,java-junit)
+ ("java-mockito" ,java-mockito-1)
+ ("java-objenesis" ,java-objenesis)))
+ (propagated-inputs
+ `(("java-commons-io" ,java-commons-io)
+ ("java-commons-logging-minimal" ,java-commons-logging-minimal)))
+ (home-page "https://xmlgraphics.apache.org/commons/")
+ (synopsis "XMLGraphics constants")
+ (description "This package provides XMLGraphics constants (originally
+from @code{batik}).")
+ (license license:asl2.0)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d48f484e03..ab9dc185a3 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -38,6 +38,7 @@
#:use-module (guix build-system ant)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system haskell)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
@@ -72,6 +73,8 @@
#:use-module (gnu packages groff)
#:use-module (gnu packages guile)
#:use-module (gnu packages haskell)
+ #:use-module (gnu packages haskell-check)
+ #:use-module (gnu packages haskell-web)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
@@ -6863,14 +6866,14 @@ generate FASTA, JSON, YAML, RDF, JSON-LD, HTML, CSV, tabular output etc.")
(define-public bioruby
(package
(name "bioruby")
- (version "1.5.1")
+ (version "1.5.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "bio" version))
(sha256
(base32
- "0hdl0789c9n4mprnx5pgd46bfwl8d000rqpamj5h6kkjgspijv49"))))
+ "1d56amdsjv1mag7m6gv2w0xij8hqx1v5xbdjsix8sp3yp36m7938"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-libxml" ,ruby-libxml)))
@@ -13970,3 +13973,87 @@ enrichment analysis (GSEA) calculation with or without the absolute filtering.
Without filtering, users can perform (original) two-tailed or one-tailed
absolute GSEA.")
(license license:gpl2)))
+
+(define-public ngless
+ (package
+ (name "ngless")
+ (version "0.9.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/ngless/ngless.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mc2gi7h4lx74zylvyp76mvc0w6706j858ii9vlgzqsw6acpr117"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:haddock? #f ; The haddock phase fails with: NGLess/CmdArgs.hs:20:1:
+ ; error: parse error on input import
+ ; import Options.Applicative
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'create-cabal-file
+ (lambda _ (invoke "hpack") #t)))))
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-async" ,ghc-async)
+ ("ghc-atomic-write" ,ghc-atomic-write)
+ ("ghc-bytestring-lexing" ,ghc-bytestring-lexing)
+ ("ghc-chart" ,ghc-chart)
+ ("ghc-chart-cairo" ,ghc-chart-cairo)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-algorithms" ,ghc-conduit-algorithms)
+ ("ghc-conduit-combinators" ,ghc-conduit-combinators)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-configurator" ,ghc-configurator)
+ ("ghc-convertible" ,ghc-convertible)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-double-conversion" ,ghc-double-conversion)
+ ("ghc-edit-distance" ,ghc-edit-distance)
+ ("ghc-either" ,ghc-either)
+ ("ghc-errors" ,ghc-errors)
+ ("ghc-extra" ,ghc-extra)
+ ("ghc-filemanip" ,ghc-filemanip)
+ ("ghc-file-embed" ,ghc-file-embed)
+ ("ghc-gitrev" ,ghc-gitrev)
+ ("ghc-hashtables" ,ghc-hashtables)
+ ("ghc-http-conduit" ,ghc-http-conduit)
+ ("ghc-inline-c" ,ghc-inline-c)
+ ("ghc-inline-c-cpp" ,ghc-inline-c-cpp)
+ ("ghc-intervalmap" ,ghc-intervalmap)
+ ("ghc-missingh" ,ghc-missingh)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-regex" ,ghc-regex)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-safeio" ,ghc-safeio)
+ ("ghc-strict" ,ghc-strict)
+ ("ghc-tar" ,ghc-tar)
+ ("ghc-text" ,ghc-text)
+ ("ghc-unliftio" ,ghc-unliftio)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-yaml" ,ghc-yaml)
+ ("ghc-zlib" ,ghc-zlib)))
+ (propagated-inputs
+ `(("r-r6" ,r-r6)
+ ("r-hdf5r" ,r-hdf5r)
+ ("r-iterators" ,r-iterators)
+ ("r-itertools" ,r-itertools)
+ ("r-matrix" ,r-matrix)))
+ (native-inputs
+ `(("ghc-hpack" ,ghc-hpack)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit",ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-test-framework-th" ,ghc-test-framework-th)))
+ (home-page "https://gitlab.com/ngless/ngless")
+ (synopsis "DSL for processing next-generation sequencing data")
+ (description "Ngless is a domain-specific language for
+@dfn{next-generation sequencing} (NGS) data processing.")
+ (license license:expat)))
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index faf9f5dd10..b9c6d209b8 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -170,7 +170,7 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
- (version "0.13.2")
+ (version "0.14.0")
(source
(origin
(method url-fetch)
@@ -178,7 +178,7 @@ as required.")
name "/" name "-" version ".tar.bz2"))
(sha256
(base32
- "0z9cqscca4w94j9npgcknrrw8gfwn5ids903042fczlr977j0i19"))))
+ "15cfz98asypf9rfybv4c6kx8nk3wak7qlm1azldc0gd1nqm4xqvz"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
@@ -207,14 +207,14 @@ output.
(define-public filezilla
(package
(name "filezilla")
- (version "3.37.1")
+ (version "3.37.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
- (base32 "1bbxlm8gc0r5jing8xmkdbhj5a1qfbjn8varhny3mrk1am4m7s7l"))))
+ (base32 "169wy7ilsh518mcinkjmr6m0kzxbzchmc9mivf5c9b4zp1w4gg3i"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ec92f508bc..7365a7f5d8 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -181,6 +181,70 @@ more advanced player there are new game modes and a wide variety of physics
settings to tweak as well.")
(license license:gpl2+)))
+(define-public bastet
+ (package
+ (name "bastet")
+ (version "0.43.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fph/bastet.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09kamxapm9jw9przpsgjfg33n9k94bccv65w95dakj0br33a75wn"))
+ (patches
+ (search-patches "bastet-change-source-of-unordered_set.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list (string-append "CXXFLAGS=-I"
+ (assoc-ref %build-inputs "boost") "/include"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'check
+ ;; The 'Test' target builds the tests, but doesn't actually run them.
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "Test" make-flags)
+ (setenv "HOME" ".")
+ (invoke "./Test")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (hicolor (string-append share "/icons/hicolor")))
+ (install-file "bastet"
+ (string-append out "/bin"))
+
+ (install-file "bastet.desktop"
+ (string-append share "/applications"))
+ (install-file "bastet.svg"
+ (string-append hicolor "/scalable/apps"))
+
+ (install-file "bastet.appdata.xml"
+ (string-append share "/appdata"))
+
+ (install-file "bastet.6"
+ (string-append out "/share/man/man6"))
+ #t))))))
+ (native-inputs
+ `(("hicolor-icon-theme" ,hicolor-icon-theme)))
+ (inputs
+ `(("boost" ,boost)
+ ("ncurses" ,ncurses)))
+ (home-page "http://fph.altervista.org/prog/bastet.html")
+ (synopsis "Antagonistic Tetris-style falling brick game for text terminals")
+ (description
+ "Bastet (short for Bastard Tetris) is a simple ncurses-based falling brick
+game. Unlike normal Tetris, Bastet does not choose the next brick at random.
+Instead, it uses a special algorithm to choose the worst brick possible.
+
+Playing bastet can be a painful experience, especially if you usually make
+canyons and wait for the long I-shaped block to clear four rows at a time.")
+ (license license:gpl3+)))
+
(define-public cataclysm-dda
(let ((commit "ad3b0c3d521292d119f97a83390e7acfe9e9e7f7")
(revision "1"))
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index fc8a9b6bfc..4e68f20866 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -28,6 +28,7 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -50,7 +51,7 @@
(define-public gnucash
(package
(name "gnucash")
- (version "3.0")
+ (version "3.3")
(source
(origin
(method url-fetch)
@@ -58,11 +59,9 @@
version "/gnucash-" version ".tar.bz2"))
(sha256
(base32
- "1ffvf1rryg5yin86fnf1zvy6hnpwzrjarbdfmjmrf2mqlmv48xac"))
-
- ;; TODO: rebase this patch
-; (patches (search-patches "gnucash-price-quotes-perl.patch"))
- ))
+ "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3"))
+ (patches (search-patches "gnucash-price-quotes-perl.patch"
+ "gnucash-disable-failing-tests.patch"))))
(build-system cmake-build-system)
(inputs
`(("guile" ,guile-2.2)
@@ -76,7 +75,8 @@
("webkitgtk" ,webkitgtk)
("aqbanking" ,aqbanking)
("perl-date-manip" ,perl-date-manip)
- ("perl-finance-quote" ,perl-finance-quote)))
+ ("perl-finance-quote" ,perl-finance-quote)
+ ("tzdata" ,tzdata-for-tests)))
(native-inputs
`(("glib" ,glib "bin") ; glib-compile-schemas, etc.
("intltool" ,intltool)
@@ -90,6 +90,13 @@
#:configure-flags
(list "-DWITH_OFX=OFF" ; libofx is not available yet
"-DWITH_SQL=OFF") ; without dbi.h
+ #:make-flags '("GUILE_AUTO_COMPILE=0")
+ #:modules ((guix build cmake-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build cmake-build-system)
+ (guix build glib-or-gtk-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-gmock
@@ -99,14 +106,28 @@
"-C" "gmock" "--strip-components=1")
(setenv "GMOCK_ROOT" (string-append (getcwd) "/gmock/googlemock"))
#t))
+ (add-after 'unpack 'set-env-vars
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((tzdata (assoc-ref inputs "tzdata")))
+ ;; At least one test is time-related and requires this
+ ;; environment variable.
+ (setenv "TZDIR"
+ (string-append tzdata
+ "/share/zoneinfo"))
+ (substitute* "CMakeLists.txt"
+ (("set\\(SHELL /bin/bash\\)")
+ (string-append "set(SHELL " (which "bash") ")")))
+ #t)))
;; There are about 100 megabytes of documentation.
(add-after
'install 'install-docs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((docs (assoc-ref inputs "gnucash-docs"))
(doc-output (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc-output "/share"))
(symlink (string-append docs "/share/gnome")
- (string-append doc-output "/share/gnome")))))
+ (string-append doc-output "/share/gnome"))
+ #t)))
(add-after
'install-docs 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -134,7 +155,11 @@
'("gnucash"
"gnc-fq-check"
"gnc-fq-helper"
- "gnc-fq-dump")))))))
+ "gnc-fq-dump"))))
+ (add-after 'install 'glib-or-gtk-compile-schemas
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+ (add-after 'install 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://www.gnucash.org/")
(synopsis "Personal and small business financial accounting software")
(description
@@ -154,11 +179,11 @@ financial calculations or scheduled transactions.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/gnucash/gnucash-docs/"
+ (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
version "/gnucash-docs-" version ".tar.gz"))
(sha256
(base32
- "0yq65s3z3dwdwdf2nq1d1w9ckdjdyjwkfpmvhzyib54b66q65xh5"))))
+ "10v4hw4lh888r8yv473pqrvzfjg8dwamk62sghs93rn88ndwm16c"))))
(build-system gnu-build-system)
;; These are native-inputs because they are only required for building the
;; documentation.
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7a049e39e1..7f26fbdab6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -386,123 +386,9 @@ in the style of communicating sequential processes (@dfn{CSP}).")
,@(package-native-inputs go-1.4)))
(supported-systems %supported-systems)))
-(define-public go-1.10
- (package
- (inherit go-1.9)
- (name "go")
- (version "1.10.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://storage.googleapis.com/golang/"
- name version ".src.tar.gz"))
- (sha256
- (base32
- "10ap5pan71y2hdwzv4cg8wx4sy8fkcz5520rm1ldjg25xmjlkr3g"))))
- (arguments
- (substitute-keyword-arguments (package-arguments go-1.9)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'prebuild
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
- (ld (string-append (assoc-ref inputs "libc") "/lib"))
- (loader (car (find-files ld "^ld-linux.+")))
- (net-base (assoc-ref inputs "net-base"))
- (tzdata-path
- (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
- (output (assoc-ref outputs "out")))
-
- ;; Removing net/ tests, which fail when attempting to access
- ;; network resources not present in the build container.
- (for-each delete-file
- '("net/listen_test.go"
- "net/parse_test.go"
- "net/cgo_unix_test.go"))
-
- (substitute* "os/os_test.go"
- (("/usr/bin") (getcwd))
- (("/bin/pwd") (which "pwd"))
- (("/bin/sh") (which "sh")))
-
- ;; Add libgcc to runpath
- (substitute* "cmd/link/internal/ld/lib.go"
- (("!rpath.set") "true"))
- (substitute* "cmd/go/internal/work/gccgo.go"
- (("cgoldflags := \\[\\]string\\{\\}")
- (string-append "cgoldflags := []string{"
- "\"-rpath=" gcclib "\""
- "}"))
- (("\"-lgcc_s\", ")
- (string-append
- "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
- (substitute* "cmd/go/internal/work/gc.go"
- (("ldflags = setextld\\(ldflags, compiler\\)")
- (string-append
- "ldflags = setextld(ldflags, compiler)\n"
- "ldflags = append(ldflags, \"-r\")\n"
- "ldflags = append(ldflags, \"" gcclib "\")\n")))
-
- ;; Disable failing tests: these tests attempt to access
- ;; commands or network resources which are neither available
- ;; nor necessary for the build to succeed.
- (for-each
- (match-lambda
- ((file regex)
- (substitute* file
- ((regex all before test_name)
- (string-append before "Disabled" test_name)))))
- '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
- ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
- ("os/os_test.go" "(.+)(TestHostname.+)")
- ("time/format_test.go" "(.+)(TestParseInSydney.+)")
- ("time/format_test.go" "(.+)(TestParseInLocation.+)")
- ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
- ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
- ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
- ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
- ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
- ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
- ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
- ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
- ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
- ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
- ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
- ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
- ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
- ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
- ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
- ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
- ("syscall/exec_linux_test.go"
- "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
-
- ;; fix shebang for testar script
- ;; note the target script is generated at build time.
- (substitute* "../misc/cgo/testcarchive/carchive_test.go"
- (("#!/usr/bin/env") (string-append "#!" (which "env"))))
-
- (substitute* "net/lookup_unix.go"
- (("/etc/protocols") (string-append net-base "/etc/protocols")))
- (substitute* "net/port_unix.go"
- (("/etc/services") (string-append net-base "/etc/services")))
- (substitute* "time/zoneinfo_unix.go"
- (("/usr/share/zoneinfo/") tzdata-path))
- (substitute* (find-files "cmd" "\\.go")
- (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
- #t)))
- (replace 'set-bootstrap-variables
- (lambda* (#:key outputs inputs #:allow-other-keys)
- ;; Tell the build system where to find the bootstrap Go.
- (let ((go (assoc-ref inputs "go")))
- (setenv "GOROOT_BOOTSTRAP" go)
- (setenv "GOGC" "400")
- ;; Go 1.10 tries to write to $HOME in a test
- (setenv "HOME" "/tmp")
- #t)))))))))
-
(define-public go-1.11
(package
- (inherit go-1.10)
+ (inherit go-1.9)
(name "go")
(version "1.11.1")
(source
@@ -514,7 +400,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(base32
"05qivf2f59pv4bfrmdr4m0xvswkmvvl9c5a2h5dy45g2k8b8r3sm"))))
(arguments
- (substitute-keyword-arguments (package-arguments go-1.10)
+ (substitute-keyword-arguments (package-arguments go-1.9)
((#:phases phases)
`(modify-phases ,phases
(replace 'prebuild
@@ -533,7 +419,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
'("net/listen_test.go"
"net/parse_test.go"
"net/cgo_unix_test.go"
- ;; A side affect of these test scripts is testing
+ ;; A side effect of these test scripts is testing
;; cgo. Attempts at using cgo flags and
;; directives with these scripts as specified
;; here (https://golang.org/cmd/cgo/) have not
@@ -616,7 +502,13 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(("/usr/share/zoneinfo/") tzdata-path))
(substitute* (find-files "cmd" "\\.go")
(("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
- #t)))))))))
+ #t)))
+ (replace 'set-bootstrap-variables
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; Tell the build system where to find the bootstrap Go.
+ (let ((go (assoc-ref inputs "go")))
+ (setenv "GOROOT_BOOTSTRAP" go)
+ (setenv "GOGC" "400"))))))))))
(define-public go go-1.9)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index eaa7e6a9ec..2e404e2fcf 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -369,7 +369,6 @@ and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
("ghc-warp" ,ghc-warp)
("ghc-wai-conduit" ,ghc-wai-conduit)
("ghc-http-types" ,ghc-http-types)
- ("ghc-http-client" ,ghc-http-client)
("ghc-cookie" ,ghc-cookie)
("ghc-conduit-extra" ,ghc-conduit-extra)
("ghc-streaming-commons" ,ghc-streaming-commons)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a140985eba..0a90ac523c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -43,6 +43,7 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-web)
@@ -3003,6 +3004,17 @@ Haskell library @code{regex-base}.")
(base32
"1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
(build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-dependencies
+ (lambda _
+ (substitute* "regex.cabal"
+ (("base-compat.*>=.*0.6.*")
+ "base-compat >= 0.6\n")
+ (("template-haskell.*>=.*2.7.*")
+ "template-haskell >= 2.7\n"))
+ #t)))))
(inputs
`(("ghc-base-compat" ,ghc-base-compat)
("ghc-hashable" ,ghc-hashable)
@@ -10576,6 +10588,533 @@ expose it from another module in the hierarchy.
@end itemize")
(license license:expat)))
+(define-public ghc-cairo
+ (package
+ (name "ghc-cairo")
+ (version "0.13.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/cairo/"
+ "cairo-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:modules ((guix build haskell-build-system)
+ (guix build utils)
+ (ice-9 match)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ ;; FIXME: This is a copy of the standard configure phase with a tiny
+ ;; difference: this package needs the -package-db flag to be passed
+ ;; to "runhaskell" in addition to the "configure" action, because it
+ ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
+ ;; this option the Setup.hs file cannot be evaluated. The
+ ;; haskell-build-system should be changed to pass "-package-db" to
+ ;; "runhaskell" in any case.
+ (replace 'configure
+ (lambda* (#:key outputs inputs tests? (configure-flags '())
+ #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (input-dirs (match inputs
+ (((_ . dir) ...)
+ dir)
+ (_ '())))
+ (ghc-path (getenv "GHC_PACKAGE_PATH"))
+ (params (append `(,(string-append "--prefix=" out))
+ `(,(string-append "--libdir=" out "/lib"))
+ `(,(string-append "--bindir=" out "/bin"))
+ `(,(string-append
+ "--docdir=" out
+ "/share/doc/" ((@@ (guix build haskell-build-system)
+ package-name-version) out)))
+ '("--libsubdir=$compiler/$pkg-$version")
+ '("--package-db=../package.conf.d")
+ '("--global")
+ `(,@(map
+ (cut string-append "--extra-include-dirs=" <>)
+ (search-path-as-list '("include") input-dirs)))
+ `(,@(map
+ (cut string-append "--extra-lib-dirs=" <>)
+ (search-path-as-list '("lib") input-dirs)))
+ (if tests?
+ '("--enable-tests")
+ '())
+ configure-flags)))
+ (unsetenv "GHC_PACKAGE_PATH")
+ (apply invoke "runhaskell" "-package-db=../package.conf.d"
+ "Setup.hs" "configure" params)
+ (setenv "GHC_PACKAGE_PATH" ghc-path)
+ #t))))))
+ (inputs
+ `(("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-text" ,ghc-text)
+ ("cairo" ,cairo)))
+ (native-inputs
+ `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://projects.haskell.org/gtk2hs/")
+ (synopsis "Haskell bindings to the Cairo vector graphics library")
+ (description
+ "Cairo is a library to render high quality vector graphics. There exist
+various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
+documents, amongst others.")
+ (license license:bsd-3)))
+
+(define-public ghc-chart-cairo
+ (package
+ (name "ghc-chart-cairo")
+ (version "1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
+ "Chart-cairo-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-cairo" ,ghc-cairo)
+ ("ghc-colour" ,ghc-colour)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-operational" ,ghc-operational)
+ ("ghc-lens" ,ghc-lens)
+ ("ghc-chart" ,ghc-chart)))
+ (home-page "https://github.com/timbod7/haskell-chart/wiki")
+ (synopsis "Cairo backend for Charts")
+ (description "This package provides a Cairo vector graphics rendering
+backend for the Charts library.")
+ (license license:bsd-3)))
+
+(define-public ghc-atomic-write
+ (package
+ (name "ghc-atomic-write")
+ (version "0.2.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/atomic-write/atomic-write-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-temporary" ,ghc-temporary)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-text" ,ghc-text)))
+ (native-inputs
+ `(("ghc-temporary" ,ghc-temporary)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-text" ,ghc-text)
+ ("ghc-hspec" ,ghc-hspec)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://github.com/stackbuilders/atomic-write")
+ (synopsis "Atomically write to a file")
+ (description
+ "Atomically write to a file on POSIX-compliant systems while preserving
+permissions. @code{mv} is an atomic operation. This makes it simple to write
+to a file atomically just by using the @code{mv} operation. However, this
+will destroy the permissions on the original file. This library preserves
+permissions while atomically writing to a file.")
+ (license license:expat)))
+
+(define-public ghc-cereal-conduit
+ (package
+ (name "ghc-cereal-conduit")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "cereal-conduit/cereal-conduit-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-cereal" ,ghc-cereal)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/snoyberg/conduit")
+ (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
+ (description
+ "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
+@code{Sources}, @code{Sinks}, and @code{Conduits}.")
+ (license license:bsd-3)))
+
+(define-public ghc-lzma
+ (package
+ (name "ghc-lzma")
+ (version "0.0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/lzma/"
+ "lzma-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
+ (build-system haskell-build-system)
+ (arguments
+ '(#:tests? #f ; requires older versions of QuickCheck and tasty.
+ #:cabal-revision
+ ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (home-page "https://github.com/hvr/lzma")
+ (synopsis "LZMA/XZ compression and decompression")
+ (description
+ "This package provides a pure interface for compressing and
+decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
+monadic incremental interface is provided as well.")
+ (license license:bsd-3)))
+
+(define-public ghc-stm-conduit
+ (package
+ (name "ghc-stm-conduit")
+ (version "4.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
+ "stm-conduit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-stm" ,ghc-stm)
+ ("ghc-stm-chans" ,ghc-stm-chans)
+ ("ghc-cereal" ,ghc-cereal)
+ ("ghc-cereal-conduit" ,ghc-cereal-conduit)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-async" ,ghc-async)
+ ("ghc-monad-loops" ,ghc-monad-loops)
+ ("ghc-unliftio" ,ghc-unliftio)))
+ (native-inputs
+ `(("ghc-doctest" ,ghc-doctest)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (home-page "https://github.com/cgaebel/stm-conduit")
+ (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
+ (description
+ "This package provides two simple conduit wrappers around STM channels: a
+source and a sink.")
+ (license license:bsd-3)))
+
+(define-public ghc-bindings-dsl
+ (package
+ (name "ghc-bindings-dsl")
+ (version "1.0.25")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
+ "bindings-DSL-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
+ (synopsis "FFI domain specific language, on top of hsc2hs")
+ (description
+ "This is a set of macros to be used when writing Haskell FFI. They were
+designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
+extract from them all Haskell code needed to mimic such interfaces. All
+Haskell names used are automatically derived from C names, structures are
+mapped to Haskell instances of @code{Storable}, and there are also macros you
+can use with C code to help write bindings to inline functions or macro
+functions.")
+ (license license:bsd-3)))
+
+(define-public ghc-lzma-conduit
+ (package
+ (name "ghc-lzma-conduit")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
+ "lzma-conduit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-conduit" ,ghc-conduit)
+ ("ghc-lzma" ,ghc-lzma)
+ ("ghc-resourcet" ,ghc-resourcet)))
+ (native-inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/alphaHeavy/lzma-conduit")
+ (synopsis "Conduit interface for lzma/xz compression")
+ (description
+ "This package provides a @code{Conduit} interface for the LZMA
+compression algorithm used in the @code{.xz} file format.")
+ (license license:bsd-3)))
+
+(define-public ghc-bzlib-conduit
+ (package
+ (name "ghc-bzlib-conduit")
+ (version "0.3.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
+ "bzlib-conduit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-resourcet" ,ghc-resourcet)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-random" ,ghc-random)))
+ (home-page "https://github.com/snoyberg/bzlib-conduit")
+ (synopsis "Streaming compression/decompression via conduits")
+ (description
+ "This package provides Haskell bindings to bzlib and Conduit support for
+streaming compression and decompression.")
+ (license license:bsd-3)))
+
+(define-public ghc-pqueue
+ (package
+ (name "ghc-pqueue")
+ (version "1.4.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "pqueue/pqueue-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://hackage.haskell.org/package/pqueue")
+ (synopsis "Reliable, persistent, fast priority queues")
+ (description
+ "This package provides a fast, reliable priority queue implementation
+based on a binomial heap.")
+ (license license:bsd-3)))
+
+(define-public ghc-conduit-algorithms
+ (package
+ (name "ghc-conduit-algorithms")
+ (version "0.0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "conduit-algorithms/conduit-algorithms-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-combinators" ,ghc-conduit-combinators)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-lzma-conduit" ,ghc-lzma-conduit)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-pqueue" ,ghc-pqueue)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-stm-conduit" ,ghc-stm-conduit)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-th" ,ghc-test-framework-th)))
+ (home-page "https://github.com/luispedro/conduit-algorithms#readme")
+ (synopsis "Conduit-based algorithms")
+ (description
+ "This package provides algorithms on @code{Conduits}, including higher
+level asynchronous processing and some other utilities.")
+ (license license:expat)))
+
+(define-public ghc-interpolate
+ (package
+ (name "ghc-interpolate")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/interpolate/"
+ "interpolate-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
+ (native-inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
+ ("ghc-text" ,ghc-text)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://github.com/sol/interpolate")
+ (synopsis "String interpolation library")
+ (description "This package provides a string interpolation library for
+Haskell.")
+ (license license:expat)))
+
+(define-public ghc-hpack
+ (package
+ (name "ghc-hpack")
+ (version "0.28.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/hpack/"
+ "hpack-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-bifunctors" ,ghc-bifunctors)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-glob" ,ghc-glob)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-client-tls" ,ghc-http-client-tls)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-text" ,ghc-text)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-yaml" ,ghc-yaml)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-interpolate" ,ghc-interpolate)
+ ("ghc-mockery" ,ghc-mockery)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-temporary" ,ghc-temporary)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://github.com/sol/hpack")
+ (synopsis "Tools for an alternative Haskell package format")
+ (description
+ "Hpack is a format for Haskell packages. It is an alternative to the
+Cabal package format and follows different design principles. Hpack packages
+are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
+@code{stack} support @code{package.yaml} natively. For other build tools the
+@code{hpack} executable can be used to generate a @code{.cabal} file from
+@code{package.yaml}.")
+ (license license:expat)))
+
+(define-public ghc-raw-strings-qq
+ (package
+ (name "ghc-raw-strings-qq")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "raw-strings-qq/raw-strings-qq-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
+ (build-system haskell-build-system)
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/23Skidoo/raw-strings-qq")
+ (synopsis "Raw string literals for Haskell")
+ (description
+ "This package provides a quasiquoter for raw string literals, i.e. string
+literals that don't recognise the standard escape sequences. Basically, they
+make your code more readable by freeing you from the responsibility to escape
+backslashes. They are useful when working with regular expressions,
+DOS/Windows paths and markup languages (such as XML).")
+ (license license:bsd-3)))
+
+(define-public ghc-inline-c
+ (package
+ (name "ghc-inline-c")
+ (version "0.6.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/inline-c/"
+ "inline-c-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'create-Setup.hs
+ (lambda _
+ (with-output-to-file "Setup.hs"
+ (lambda _
+ (display "\
+import Distribution.Simple
+main = defaultMain")))
+ #t)))))
+ (inputs
+ `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+ ("ghc-cryptohash" ,ghc-cryptohash)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-parsers" ,ghc-parsers)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
+ ("ghc-regex-posix" ,ghc-regex-posix)))
+ (home-page "http://hackage.haskell.org/package/inline-c")
+ (synopsis "Write Haskell source files including C code inline")
+ (description
+ "inline-c lets you seamlessly call C libraries and embed high-performance
+inline C code in Haskell modules. Haskell and C can be freely intermixed in
+the same source file, and data passed to and from code in either language with
+minimal overhead. No FFI required.")
+ (license license:expat)))
+
(define-public ghc-weigh
(package
(name "ghc-weigh")
@@ -10641,4 +11180,188 @@ Haskell value or function.")
vector spaces.")
(license license:bsd-3)))
+(define-public ghc-safe-exceptions
+ (package
+ (name "ghc-safe-exceptions")
+ (version "0.1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "safe-exceptions/safe-exceptions-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
+ (build-system haskell-build-system)
+ (arguments
+ '(#:cabal-revision
+ ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
+ (inputs `(("ghc-exceptions" ,ghc-exceptions)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-void" ,ghc-void)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://github.com/fpco/safe-exceptions")
+ (synopsis "Safe, consistent, and easy exception handling")
+ (description "Runtime exceptions - as exposed in @code{base} by the
+@code{Control.Exception} module - have long been an intimidating part of the
+Haskell ecosystem. This package is intended to overcome this. It provides a
+safe and simple API on top of the existing exception handling machinery. The
+API is equivalent to the underlying implementation in terms of power but
+encourages best practices to minimize the chances of getting the exception
+handling wrong.")
+ (license license:expat)))
+
+(define-public ghc-inline-c-cpp
+ (package
+ (name "ghc-inline-c-cpp")
+ (version "0.2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
+ "inline-c-cpp-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'create-Setup.hs
+ (lambda _
+ (with-output-to-file "Setup.hs"
+ (lambda _
+ (display "\
+import Distribution.Simple
+main = defaultMain")))
+ #t)))))
+ (inputs
+ `(("ghc-inline-c" ,ghc-inline-c)
+ ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://hackage.haskell.org/package/inline-c-cpp")
+ (synopsis "Lets you embed C++ code into Haskell")
+ (description
+ "This package provides utilities to inline C++ code into Haskell using
+@code{inline-c}.")
+ (license license:expat)))
+
+(define-public ghc-bytestring-lexing
+ (package
+ (name "ghc-bytestring-lexing")
+ (version "0.5.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "bytestring-lexing/bytestring-lexing-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
+ (build-system haskell-build-system)
+ (home-page "http://code.haskell.org/~wren/")
+ (synopsis "Parse and produce literals from strict or lazy bytestrings")
+ (description
+ "This package provides tools to parse and produce literals efficiently
+from strict or lazy bytestrings.")
+ (license license:bsd-2)))
+
+(define-public ghc-configurator
+ (package
+ (name "ghc-configurator")
+ (version "0.3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "configurator/configurator-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-text" ,ghc-text)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (home-page "http://github.com/bos/configurator")
+ (synopsis "Configuration management")
+ (description
+ "This package provides a configuration management library for programs
+and daemons. The features include:
+
+@enumerate
+@item Automatic, dynamic reloading in response to modifications to
+ configuration files.
+@item A simple, but flexible, configuration language, supporting several of
+ the most commonly needed types of data, along with interpolation of strings
+ from the configuration or the system environment (e.g. @code{$(HOME)}).
+@item Subscription-based notification of changes to configuration properties.
+@item An @code{import} directive allows the configuration of a complex
+ application to be split across several smaller files, or common configuration
+ data to be shared across several applications.
+@end enumerate\n")
+ (license license:bsd-3)))
+
+(define-public ghc-file-embed
+ (package
+ (name "ghc-file-embed")
+ (version "0.0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/file-embed/"
+ "file-embed-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lj164cnzqyd487mli91nnr7137a4h4qsasfwsnsh77sx12fpk9k"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/snoyberg/file-embed")
+ (synopsis "Use Template Haskell to embed file contents directly")
+ (description
+ "This package allows you to use Template Haskell to read a file or all
+the files in a directory, and turn them into @code{(path, bytestring)} pairs
+embedded in your Haskell code.")
+ (license license:bsd-3)))
+
+(define-public ghc-safeio
+ (package
+ (name "ghc-safeio")
+ (version "0.0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/safeio/"
+ "safeio-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-combinators" ,ghc-conduit-combinators)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-resourcet" ,ghc-resourcet)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-th" ,ghc-test-framework-th)))
+ (home-page "https://github.com/luispedro/safeio")
+ (synopsis "Write output to disk atomically")
+ (description
+ "This package implements utilities to perform atomic output so as to
+avoid the problem of partial intermediate files.")
+ (license license:expat)))
+
;;; haskell.scm ends here
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 96da495c29..93f5bb6aff 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9634,6 +9634,39 @@ Candidate Recommendation, and will correctly serialize XML 1.1 documents if
the DOM level 3 load/save API's are in use.")
(license license:asl2.0)))
+(define-public java-jakarta-regexp
+ (package
+ (name "java-jakarta-regexp")
+ (version "1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://archive.apache.org/dist/jakarta/regexp/jakarta-regexp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0zg9rmyif48dck0cv6ynpxv23mmcsx265am1fnnxss7brgw0ms3r"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (out-share (string-append out "/share/java")))
+ (mkdir-p out-share)
+ (for-each (lambda (name)
+ (install-file name out-share))
+ (find-files "build" "^jakarta-regexp-.*\\.jar$"))
+ #t))))))
+ (home-page "https://attic.apache.org/projects/jakarta-regexp.html")
+ (synopsis "Regular expression parser generator for Java.")
+ (description "@code{jakarta-regexp} is an old regular expression parser
+generator for Java.")
+ (license license:asl2.0)))
+
(define-public java-jline
(package
(name "java-jline")
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 5c4b928163..9571ba6e7d 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -1027,9 +1027,6 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(arguments
`(#:tests? #f ; Building the tests already fails.
#:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
- ;; XXX Remove this if glib-or-gtk-build-system changes to in-source-tree
- ;; builds by default.
- #:out-of-source? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'prepare-src
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 880e140b80..6dc6dfb4cb 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -63,15 +63,14 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(let ((triplet "i686-unknown-linux-gnu"))
(package
(name "mes")
- (version "0.17.1")
+ (version "0.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
- (patches (search-patches "mes-nyacc-0.86.0.patch"))
(sha256
(base32
- "02g8zig53ffd0ai8kqhv2zj7bj2366a8hr6ydkwakmi2d1amyrna"))))
+ "1dsaaqyanzsq9m5wrcd2bjhb3qd6928c9q97rg5r730pyqjwxyxf"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(propagated-inputs
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index c024152dda..3e69ddba69 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -47,6 +47,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages pulseaudio)
@@ -186,7 +187,7 @@ player daemon.")
(define-public ncmpc
(package
(name "ncmpc")
- (version "0.30")
+ (version "0.32")
(source (origin
(method url-fetch)
(uri
@@ -195,11 +196,14 @@ player daemon.")
"/ncmpc-" version ".tar.xz"))
(sha256
(base32
- "18qj3cgqczgfk334x0ywxwa1ckrk9fbjyp34n4zzcxwaifshrzp3"))))
+ "1b01q1pcaw5yyhvmlffc3h0r3w8qy7rhn55a7xj4qkcfqvs8ap08"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
- (list "-Dcurses=ncurses")
+ ;; Otherwise, they are installed incorrectly, in
+ ;; '$out/share/man/man/man1'.
+ (list (string-append "-Dmandir=" (assoc-ref %outputs "out")
+ "/share"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'expand-C++-include-path
@@ -211,11 +215,13 @@ player daemon.")
(setenv path (string-append c++ ":" (getenv path)))
#t))))))
(inputs `(("gcc", gcc-8) ; for its C++14 support
- ("glib" ,glib)
+ ("boost" ,boost)
+ ("pcre" ,pcre)
("libmpdclient" ,libmpdclient)
("ncurses" ,ncurses)))
(native-inputs `(("gettext" ,gettext-minimal) ; for xgettext
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("python-sphinx" ,python-sphinx)))
(synopsis "Curses Music Player Daemon client")
(description "ncmpc is a fully featured MPD client, which runs in a
terminal using ncurses.")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2d834d8c1f..3163e6a8f6 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1726,7 +1726,7 @@ export.")
(define-public pd
(package
(name "pd")
- (version "0.47-1")
+ (version "0.49-0")
(source (origin
(method url-fetch)
(uri
@@ -1734,16 +1734,20 @@ export.")
version ".src.tar.gz"))
(sha256
(base32
- "0k5s949kqd7yw97h3m8z81bjz32bis9m4ih8df1z0ymipnafca67"))))
+ "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
+ #:configure-flags
+ (list
+ "--enable-jack"
+ (string-append "--with-wish=" (string-append
+ (assoc-ref %build-inputs "tk")
+ "/bin/wish8.6")))
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'fix-wish-path
+ (add-before 'configure 'fix-with-path
(lambda _
- (substitute* "src/s_inter.c"
- ((" wish ") (string-append " " (which "wish8.6") " ")))
(substitute* "tcl/pd-gui.tcl"
(("exec wish ") (string-append "exec " (which "wish8.6") " ")))
#t))
diff --git a/gnu/packages/patches/bastet-change-source-of-unordered_set.patch b/gnu/packages/patches/bastet-change-source-of-unordered_set.patch
new file mode 100644
index 0000000000..ef3970a3e2
--- /dev/null
+++ b/gnu/packages/patches/bastet-change-source-of-unordered_set.patch
@@ -0,0 +1,40 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Wed, 3 Oct 2018 23:30:42 +0200
+Subject: [PATCH] bastet: Change source of unordered_set.
+
+This allows building bastet 0.43.2 with boost >=1.66.
+It was backported verbatim from the upstream master branch.
+
+From 0e03f8d4d6bc6949cf1c447e632ce0d1b98c4be1 Mon Sep 17 00:00:00 2001
+From: Federico Poloni <fpoloni@di.unipi.it>
+Date: Wed, 4 Oct 2017 19:35:01 +0200
+Subject: [PATCH] Changed source of unordered_set (should hopefully fix #6
+ without reopening #1)
+
+---
+ BastetBlockChooser.hpp | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/BastetBlockChooser.hpp b/BastetBlockChooser.hpp
+index 992e556..7ee3b7c 100644
+--- a/BastetBlockChooser.hpp
++++ b/BastetBlockChooser.hpp
+@@ -23,8 +23,7 @@
+
+ #include "Well.hpp"
+
+-#include <boost/tr1/tr1/unordered_set>
+-#include <set>
++#include <boost/unordered_set.hpp>
+ #include <boost/functional/hash.hpp>
+
+ namespace Bastet{
+@@ -75,7 +74,7 @@ namespace Bastet{
+ public:
+ Searcher(BlockType b, const Well *well, Vertex v, WellVisitor *visitor);
+ private:
+- std::tr1::unordered_set<Vertex> _visited;
++ boost::unordered_set<Vertex> _visited;
+ //std::set<Vertex> _visited; ^^ the above is more efficient, we need to do many inserts
+ BlockType _block;
+ const Well *_well;
diff --git a/gnu/packages/patches/borg-respect-storage-quota.patch b/gnu/packages/patches/borg-respect-storage-quota.patch
new file mode 100644
index 0000000000..d23d1ffc01
--- /dev/null
+++ b/gnu/packages/patches/borg-respect-storage-quota.patch
@@ -0,0 +1,32 @@
+Make sure the client respects the storage quota set by the server:
+
+https://github.com/borgbackup/borg/issues/4093
+
+Patch copied from upstream source repository:
+
+https://github.com/borgbackup/borg/commit/975cc33206e0e3644626fb7204c34d2157715b61
+
+From 975cc33206e0e3644626fb7204c34d2157715b61 Mon Sep 17 00:00:00 2001
+From: Manu <manu@snapdragon.cc>
+Date: Wed, 3 Oct 2018 23:47:36 +0800
+Subject: [PATCH] Add storage_quota for forced_result if set by serve command.
+
+---
+ src/borg/archiver.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/borg/archiver.py b/src/borg/archiver.py
+index 916725e7..279194c1 100644
+--- a/src/borg/archiver.py
++++ b/src/borg/archiver.py
+@@ -4276,6 +4276,7 @@ def get_args(self, argv, cmd):
+ result.restrict_to_paths = forced_result.restrict_to_paths
+ result.restrict_to_repositories = forced_result.restrict_to_repositories
+ result.append_only = forced_result.append_only
++ result.storage_quota = forced_result.storage_quota
+ return result
+
+ def parse_args(self, args=None):
+--
+2.19.1
+
diff --git a/gnu/packages/patches/gnucash-disable-failing-tests.patch b/gnu/packages/patches/gnucash-disable-failing-tests.patch
new file mode 100644
index 0000000000..e0fdd86b5d
--- /dev/null
+++ b/gnu/packages/patches/gnucash-disable-failing-tests.patch
@@ -0,0 +1,39 @@
+test-stress-options.scm does not exist, and test-qof passes when run in the
+build directory after the gnucash build.
+
+diff -ur gnucash-3.3.old/gnucash/report/standard-reports/test/CMakeLists.txt gnucash-3.3/gnucash/report/standard-reports/test/CMakeLists.txt
+--- gnucash-3.3.old/gnucash/report/standard-reports/test/CMakeLists.txt 2018-10-04 09:29:00.916641417 -0400
++++ gnucash-3.3/gnucash/report/standard-reports/test/CMakeLists.txt 2018-10-04 09:30:52.962504860 -0400
+@@ -13,10 +13,6 @@
+ test-income-gst.scm
+ )
+
+-set(scm_test_with_textual_ports_SOURCES
+- test-stress-options.scm
+-)
+-
+ set(GUILE_DEPENDS
+ scm-gnc-module
+ scm-app-utils
+@@ -31,9 +27,6 @@
+
+ if (HAVE_SRFI64)
+ gnc_add_scheme_tests("${scm_test_with_srfi64_SOURCES}")
+- if (HAVE_TEXT_PORTS)
+- gnc_add_scheme_tests("${scm_test_with_textual_ports_SOURCES}")
+- endif (HAVE_TEXT_PORTS)
+ endif (HAVE_SRFI64)
+
+ gnc_add_scheme_tests("${scm_test_standard_reports_SOURCES}")
+diff -ur gnucash-3.3.old/libgnucash/engine/test/CMakeLists.txt gnucash-3.3/libgnucash/engine/test/CMakeLists.txt
+--- gnucash-3.3.old/libgnucash/engine/test/CMakeLists.txt 2018-10-04 09:29:00.876640751 -0400
++++ gnucash-3.3/libgnucash/engine/test/CMakeLists.txt 2018-10-05 10:46:22.542962546 -0400
+@@ -54,8 +54,6 @@
+ # This test does not run on Win32
+ if (NOT WIN32)
+ set(SOURCES ${test_qof_SOURCES} ${CMAKE_SOURCE_DIR}/common/test-core/unittest-support.c)
+- add_engine_test(test-qof "${SOURCES}")
+- target_compile_definitions(test-qof PRIVATE TESTPROG=test_qof)
+
+ set(SOURCES ${test_engine_SOURCES} ${CMAKE_SOURCE_DIR}/common/test-core/unittest-support.c)
+ add_engine_test(test-engine "${SOURCES}")
diff --git a/gnu/packages/patches/gnucash-price-quotes-perl.patch b/gnu/packages/patches/gnucash-price-quotes-perl.patch
index 982763f0ec..3101ddb007 100644
--- a/gnu/packages/patches/gnucash-price-quotes-perl.patch
+++ b/gnu/packages/patches/gnucash-price-quotes-perl.patch
@@ -1,8 +1,9 @@
After wrapping gnc-fq-check and gnc-fq-helper we can no longer execute them
with perl, so execute them directly instead.
---- gnucash-2.6.6/src/scm/price-quotes.scm.orig 2014-04-27 17:42:28.000000000 -0500
-+++ gnucash-2.6.6/src/scm/price-quotes.scm 2015-07-09 16:12:11.196218472 -0500
+diff -ur gnucash-3.2.old/libgnucash/scm/price-quotes.scm gnucash-3.2/libgnucash/scm/price-quotes.scm
+--- gnucash-3.2.old/libgnucash/scm/price-quotes.scm 2018-09-15 00:48:33.718389646 -0400
++++ gnucash-3.2/libgnucash/scm/price-quotes.scm 2018-09-15 13:51:49.249862724 -0400
@@ -74,7 +74,7 @@
(define (start-program)
(if (not (string-null? gnc:*finance-quote-check*))
diff --git a/gnu/packages/patches/mes-nyacc-0.86.0.patch b/gnu/packages/patches/mes-nyacc-0.86.0.patch
deleted file mode 100644
index 58dfc5a46b..0000000000
--- a/gnu/packages/patches/mes-nyacc-0.86.0.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-From 9e610736bf779f3295c1192e748cd19cbbe3be28 Mon Sep 17 00:00:00 2001
-From: Jan Nieuwenhuizen <janneke@gnu.org>
-Date: Wed, 5 Sep 2018 20:28:06 +0200
-Subject: [PATCH 1/2] mes: Support Nyacc 0.85.3: Add char-set-copy.
-
-* mes/module/srfi/srfi-14.mes (char-set-copy): New function>
----
- mes/module/srfi/srfi-14.mes | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/mes/module/srfi/srfi-14.mes b/mes/module/srfi/srfi-14.mes
-index 0be39b1e..a16d16ce 100644
---- a/mes/module/srfi/srfi-14.mes
-+++ b/mes/module/srfi/srfi-14.mes
-@@ -52,3 +52,6 @@
-
- (define (char-whitespace? c)
- (char-set-contains? char-set:whitespace c))
-+
-+(define (char-set-copy cs)
-+ (map identity cs))
---
-2.18.0
-
-From b952bdf44f11edbfc277600dc35236aae1769b54 Mon Sep 17 00:00:00 2001
-From: Jan Nieuwenhuizen <janneke@gnu.org>
-Date: Wed, 5 Sep 2018 22:14:34 +0200
-Subject: [PATCH 2/2] mes: Support Nyacc 0.85.3: Integrate progress.
-
-* mes/module/nyacc/lang/sx-util.mes: New file.
-* mes/module/nyacc/version.mes: New file.
-* mes/module/nyacc/lang/c99/cpp.mes (nyacc): Include them.
-* mes/module/nyacc/lang/c99/parser.mes (nyacc): Include them.
-* module/mescc/preprocess.scm (need-progress): New function.
-(progress): New function.
-(insert-progress-monitors): Use them to Integrate progress.
----
- mes/module/mescc/preprocess.mes | 1 +
- mes/module/nyacc/lang/c99/cpp.mes | 1 +
- mes/module/nyacc/lang/c99/parser.mes | 1 +
- mes/module/nyacc/lang/sx-util.mes | 27 +++++++++++++++++++++
- mes/module/nyacc/version.mes | 26 +++++++++++++++++++++
- module/mescc/preprocess.scm | 35 ++++++++++++++++++++++++++++
- 6 files changed, 91 insertions(+)
- create mode 100644 mes/module/nyacc/lang/sx-util.mes
- create mode 100644 mes/module/nyacc/version.mes
-
-diff --git a/mes/module/mescc/preprocess.mes b/mes/module/mescc/preprocess.mes
-index c7c5fcaa..022a372c 100644
---- a/mes/module/mescc/preprocess.mes
-+++ b/mes/module/mescc/preprocess.mes
-@@ -24,4 +24,5 @@
- (mes-use-module (srfi srfi-13))
- (mes-use-module (srfi srfi-26))
- (mes-use-module (nyacc lang c99 parser))
-+(mes-use-module (nyacc version))
- (include-from-path "mescc/preprocess.scm")
-diff --git a/mes/module/nyacc/lang/c99/cpp.mes b/mes/module/nyacc/lang/c99/cpp.mes
-index fad1dc55..b25c4a93 100644
---- a/mes/module/nyacc/lang/c99/cpp.mes
-+++ b/mes/module/nyacc/lang/c99/cpp.mes
-@@ -28,5 +28,6 @@
-
- (mes-use-module (nyacc parse))
- (mes-use-module (nyacc lex))
-+(mes-use-module (nyacc lang sx-util))
- (mes-use-module (nyacc lang util))
- (include-from-path "nyacc/lang/c99/cpp.scm")
-diff --git a/mes/module/nyacc/lang/c99/parser.mes b/mes/module/nyacc/lang/c99/parser.mes
-index c51552d6..1a9aaf73 100644
---- a/mes/module/nyacc/lang/c99/parser.mes
-+++ b/mes/module/nyacc/lang/c99/parser.mes
-@@ -32,6 +32,7 @@
-
- (mes-use-module (nyacc lex))
- (mes-use-module (nyacc parse))
-+(mes-use-module (nyacc lang sx-util))
- (mes-use-module (nyacc lang util))
- (mes-use-module (nyacc lang c99 cpp))
-
-diff --git a/mes/module/nyacc/lang/sx-util.mes b/mes/module/nyacc/lang/sx-util.mes
-new file mode 100644
-index 00000000..41ac5b4a
---- /dev/null
-+++ b/mes/module/nyacc/lang/sx-util.mes
-@@ -0,0 +1,27 @@
-+;;; -*-scheme-*-
-+
-+;;; GNU Mes --- Maxwell Equations of Software
-+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
-+;;;
-+;;; This file is part of GNU Mes.
-+;;;
-+;;; GNU Mes 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 Mes 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 Mes. If not, see <http://www.gnu.org/licenses/>.
-+
-+;;; Commentary:
-+
-+;;; Code:
-+
-+(mes-use-module (srfi srfi-1))
-+(mes-use-module (srfi srfi-16))
-+(include-from-path "nyacc/lang/sx-util.scm")
-diff --git a/mes/module/nyacc/version.mes b/mes/module/nyacc/version.mes
-new file mode 100644
-index 00000000..b9db628e
---- /dev/null
-+++ b/mes/module/nyacc/version.mes
-@@ -0,0 +1,26 @@
-+;;; -*-scheme-*-
-+
-+;;; GNU Mes --- Maxwell Equations of Software
-+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
-+;;;
-+;;; This file is part of GNU Mes.
-+;;;
-+;;; GNU Mes 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 Mes 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 Mes. If not, see <http://www.gnu.org/licenses/>.
-+
-+;;; Commentary:
-+
-+;;; Code:
-+
-+(include-from-path "nyacc/version.scm")
-+(display "nyacc version\n")
-diff --git a/module/mescc/preprocess.scm b/module/mescc/preprocess.scm
-index 9e341cba..c2efb32c 100644
---- a/module/mescc/preprocess.scm
-+++ b/module/mescc/preprocess.scm
-@@ -26,9 +26,44 @@
- #:use-module (srfi srfi-1)
- #:use-module (srfi srfi-26)
- #:use-module (nyacc lang c99 parser)
-+ #:use-module (nyacc lang c99 parser)
-+ #:use-module (nyacc version)
- #:use-module (mes guile)
- #:export (c99-input->ast))
-
-+(format (current-error-port) "*nyacc-version*=~a\n" *nyacc-version*)
-+;; list of which rules you want progress reported
-+(define need-progress
-+ (assoc-ref
-+ '(("0.85.3" (1 2 3))
-+ ("0.86.0" (1 2 3)))
-+ *nyacc-version*))
-+
-+(define (progress o)
-+ (when (and o (getenv "NYACC_DEBUG"))
-+ (display " :" (current-error-port))
-+ (display o (current-error-port))
-+ (display "\n" (current-error-port))))
-+
-+(define (insert-progress-monitors act-v len-v)
-+ (let ((n (vector-length act-v)))
-+ (let loop ((ix 0))
-+ (when (< ix n)
-+ (if (memq ix need-progress)
-+ (vector-set
-+ act-v ix
-+ (lambda args
-+ (progress (list-ref args (1- (vector-ref len-v ix))))
-+ (apply (vector-ref act-v ix) args))))
-+ (loop (1+ ix))))))
-+
-+(cond-expand
-+ (guile
-+ (insert-progress-monitors (@@ (nyacc lang c99 parser) c99-act-v)
-+ (@@ (nyacc lang c99 parser) c99-len-v)))
-+ (mes
-+ (insert-progress-monitors c99-act-v c99-len-v)))
-+
- (define (logf port string . rest)
- (apply format (cons* port string rest))
- (force-output port)
---
-2.18.0
-
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3673bf2346..2080944cae 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1211,12 +1211,15 @@ standard output stream.")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
- (lambda _
- (substitute* "Rakefile"
- (("system \"shindo") "system \"./bin/shindo")
- ;; This test doesn't work, so we disable it.
- (("fail \"The build_error test should fail") "#"))
- #t)))))
+ (lambda _
+ (substitute* "tests/tests_helper.rb"
+ (("-rubygems") ""))
+ (substitute* "Rakefile"
+ (("system \"shindo") "system \"./bin/shindo")
+ ;; This test doesn't work, so we disable it.
+ (("fail \"The build_error test should fail") "#")
+ ((" -rubygems") ""))
+ #t)))))
(propagated-inputs
`(("ruby-formatador" ,ruby-formatador)))
(synopsis "Simple depth first Ruby testing")
@@ -2911,6 +2914,11 @@ Ruby's large and slower test/unit.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-test
+ (lambda -
+ (substitute* "tests/hsl_triple_test.rb"
+ (("0\\\\\\.0%")
+ "0\\.?0?%"))))
(replace 'build
(lambda _
(invoke "gem" "build" "term-ansicolor.gemspec"))))))
@@ -5100,6 +5108,29 @@ are doing, you can fiddle with every last bit of your email directly.")
(home-page "https://github.com/mikel/mail")
(license license:expat)))
+(define-public ruby-mathn
+ (package
+ (name "ruby-mathn")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mathn" version))
+ (sha256
+ (base32
+ "1wn812llln9jzgybz2d7536q39z3gi99i6fi0j1dapcpzvhgrr0p"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "Extends math operations for increased precision")
+ (description
+ "This gem makes mathematical operations more precise in Ruby and
+integrates other mathematical standard libraries. Prior to Ruby 2.5,
+@code{mathn} was part of the Ruby standard library.")
+ (home-page "https://github.com/ruby/mathn")
+ (license license:bsd-2)))
+
(define-public ruby-code-statistics
(package
(name "ruby-code-statistics")
@@ -5448,8 +5479,16 @@ strings or files.")
("ruby-diffy" ,ruby-diffy)
("ruby-terminfo" ,ruby-terminfo)))
(arguments
- ;; No Rakefile
- `(#:tests? #f))
+ `(;; This package contains tests for a sass implementation, and the to
+ ;; avoid any circular dependencies, the tests are not run here
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-test
+ (lambda _
+ (delete-file "spec/values/colors/alpha_hex-3.5/error")
+ (substitute* "spec/values/colors/alpha_hex-3.5/expected_output.css"
+ (("string") "color")))))))
(home-page "https://github.com/sass/sass-spec")
(synopsis "Test suite for Sass")
(description "Sass Spec is a test suite for Sass. Test cases are all in
@@ -5459,18 +5498,19 @@ the @file{spec} directory.")
(define-public ruby-sass
(package
(name "ruby-sass")
- (version "3.5.7")
+ (version "3.6.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "sass" version))
(sha256
(base32
- "1sy7xsbgpcy90j5ynbq967yplffp74pvph3r8ivn2sv2b44q6i61"))))
+ "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-sass-listen" ,ruby-sass-listen)))
(native-inputs
- `(("ruby-sass-spec" ,ruby-sass-spec)))
+ `(("ruby-sass-spec" ,ruby-sass-spec)
+ ("ruby-mathn" ,ruby-mathn)))
(home-page "http://sass-lang.com/")
(synopsis "CSS extension language")
(description "Sass is a CSS extension language. It extends CSS with
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index cc892b9c62..528d117e29 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -146,14 +146,14 @@ as well as the classic centralized workflow.")
(name "git")
;; XXX When updating Git, check if the special 'git-source' input to cgit
;; needs to be updated as well.
- (version "2.19.0")
+ (version "2.19.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "1x1y5z3awabmfg7hk6zb331jxngad4nal4507v96bnf0izsyy3qq"))))
+ "1dfv43lmdnxz42504jc89sihbv1d4d6kgqcz3c5ji140kfm5cl1l"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -166,7 +166,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "1jvxiqvp9q4is3np063ny7rnmk5hm36d34bhi3cgv89njqdh8laf"))))))
+ "1vn6pi9yvw7rnb9dvi1yjrvv39fqd1m9mwbaffqwizs3gaf91br7"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@@ -1119,14 +1119,14 @@ control to Git repositories.")
(define-public mercurial
(package
(name "mercurial")
- (version "4.4.1")
+ (version "4.6.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
(sha256
(base32
- "0ik2ypzxjr6vpcghxvn39a73gw52629n7vwak04gnbycsq95aalg"))))
+ "1bv6wgcdx8glihjjfg22khhc52mclsn4kwfqvzbzlg0b42h4xl0w"))))
(build-system python-build-system)
(arguments
`(;; Restrict to Python 2, as Python 3 would require
diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm
index 621e68e0ab..fcd92f2334 100644
--- a/guix/build-system/glib-or-gtk.scm
+++ b/guix/build-system/glib-or-gtk.scm
@@ -112,7 +112,7 @@
(configure-flags ''())
;; Disable icon theme cache generation.
(make-flags ''("gtk_update_icon_cache=true"))
- (out-of-source? #t)
+ (out-of-source? #f)
(tests? #t)
(test-target "check")
(parallel-build? #t)
diff --git a/guix/progress.scm b/guix/progress.scm
index f846944952..9da667a027 100644
--- a/guix/progress.scm
+++ b/guix/progress.scm
@@ -289,6 +289,8 @@ tasks is performed. Write PREFIX at the beginning of the line."
#:optional (log-port (current-output-port)))
"Like 'progress-reporter/file', but instead of returning human-readable
progress reports, write \"build trace\" lines to be processed elsewhere."
+ (define total 0) ;bytes transferred
+
(define (report-progress transferred)
(define message
(format #f "@ download-progress ~a ~a ~a ~a~%"
@@ -299,13 +301,16 @@ progress reports, write \"build trace\" lines to be processed elsewhere."
(progress-reporter
(start (lambda ()
+ (set! total 0)
(display (format #f "@ download-started ~a ~a ~a~%"
file url (or size "-"))
log-port)))
- (report (rate-limited report-progress %progress-interval))
+ (report (let ((report (rate-limited report-progress %progress-interval)))
+ (lambda (transferred)
+ (set! total transferred)
+ (report transferred))))
(stop (lambda ()
- (let ((size (or (and=> (stat file #f) stat:size)
- size)))
+ (let ((size (or size total)))
(report-progress size)
(display (format #f "@ download-succeeded ~a ~a ~a~%"
file url size)