diff options
Diffstat (limited to 'gnu')
42 files changed, 1335 insertions, 722 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 0428cd3a66..4a19e33414 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -105,6 +105,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ed.scm \ %D%/packages/education.scm \ %D%/packages/elf.scm \ + %D%/packages/elixir.scm \ %D%/packages/emacs.scm \ %D%/packages/enchant.scm \ %D%/packages/engineering.scm \ @@ -117,7 +118,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/file.scm \ %D%/packages/finance.scm \ %D%/packages/firmware.scm \ - %D%/packages/fish.scm \ %D%/packages/flashing-tools.scm \ %D%/packages/flex.scm \ %D%/packages/fltk.scm \ @@ -291,7 +291,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ragel.scm \ %D%/packages/rails.scm \ %D%/packages/ratpoison.scm \ - %D%/packages/rc.scm \ %D%/packages/rdesktop.scm \ %D%/packages/rdf.scm \ %D%/packages/readline.scm \ @@ -309,6 +308,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/search.scm \ %D%/packages/serialization.scm \ %D%/packages/serveez.scm \ + %D%/packages/shells.scm \ %D%/packages/shellutils.scm \ %D%/packages/shishi.scm \ %D%/packages/skarnet.scm \ @@ -328,7 +328,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/task-management.scm \ %D%/packages/tbb.scm \ %D%/packages/tcl.scm \ - %D%/packages/tcsh.scm \ %D%/packages/telephony.scm \ %D%/packages/terminals.scm \ %D%/packages/texinfo.scm \ @@ -481,6 +480,7 @@ dist_patch_DATA = \ %D%/packages/patches/duplicity-piped-password.patch \ %D%/packages/patches/duplicity-test_selection-tmp.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ + %D%/packages/patches/elixir-disable-failing-tests.patch \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ @@ -681,10 +681,6 @@ dist_patch_DATA = \ %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ %D%/packages/patches/openjpeg-use-after-free-fix.patch \ - %D%/packages/patches/openssh-CVE-2015-8325.patch \ - %D%/packages/patches/openssh-CVE-2016-6210-1.patch \ - %D%/packages/patches/openssh-CVE-2016-6210-2.patch \ - %D%/packages/patches/openssh-CVE-2016-6210-3.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-CVE-2016-2177.patch \ @@ -724,6 +720,7 @@ dist_patch_DATA = \ %D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/procmail-ambiguous-getline-debian.patch \ %D%/packages/patches/procmail-CVE-2014-3618.patch \ + %D%/packages/patches/procps-non-linux.patch \ %D%/packages/patches/pt-scotch-build-parallelism.patch \ %D%/packages/patches/pulseaudio-fix-mult-test.patch \ %D%/packages/patches/pulseaudio-longer-test-timeout.patch \ @@ -743,6 +740,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-ipython-inputhook-ctype.patch \ %D%/packages/patches/python-rarfile-fix-tests.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ + %D%/packages/patches/python-statsmodels-fix-tests.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 195959efd1..eada7962d2 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -183,14 +183,14 @@ graphs and can export its output to different formats.") (define-public htop (package (name "htop") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (string-append "http://hisham.hm/htop/releases/" version "/htop-" version ".tar.gz")) (sha256 (base32 - "0rjn9ybqx5sav7z4gn18f1q6k23nmqyb6yydfgghzdznz9nn447l")))) + "11zlwadm6dpkrlfvf3z3xll26yyffa7qrxd1w72y1kl0rgffk6qp")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) @@ -981,18 +981,18 @@ network, which causes enabled computers to power on.") (define-public dmidecode (package (name "dmidecode") - (version "2.12") + (version "3.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/dmidecode/dmidecode-" - version ".tar.bz2")) + version ".tar.xz")) (sha256 (base32 - "122hgaw8mpqdfra159lfl6pyk3837giqx6vq42j64fjnbl2z6gwi")))) + "0iby0xfk5x3cdr0x0gxj5888jjyjhafvaq0l79civ73jjfqmphvy")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f ; no 'check' target #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 92b4d4c27e..4fb15c6471 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -36,7 +36,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages flex) #:use-module (gnu packages python) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages tex) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5edf3eb493..a476837102 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -535,6 +535,7 @@ store.") ;; ;; `--localedir' is not honored, so work around it. ;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>. + ;; FIXME: This hack no longer works on 2.23! (string-append "libc_cv_localedir=/run/current-system/locale/" ,version) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9cdc692d07..c3ba9634ba 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -51,7 +51,9 @@ #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -70,6 +72,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) + #:use-module (gnu packages tex) #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) @@ -1603,6 +1606,33 @@ data and settings.") (license (license:non-copyleft "file://src/COPYING" "See src/COPYING in the distribution.")))) +(define-public discrover + (package + (name "discrover") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/maaskola/discrover/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rah9ja4m0rl5mldd6vag9rwrivw1zrqxssfq8qx64m7961fp68k")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; there are no tests + (inputs + `(("boost" ,boost) + ("cairo" ,cairo))) + (native-inputs + `(("texlive" ,texlive) + ("imagemagick" ,imagemagick))) + (home-page "http://dorina.mdc-berlin.de/public/rajewsky/discrover/") + (synopsis "Discover discriminative nucleotide sequence motifs") + (description "Discrover is a motif discovery method to find binding sites +of nucleic acid binding proteins.") + (license license:gpl3+))) + (define-public eigensoft (let ((revision "1") (commit "b14d1e202e21e532536ff8004f0419cd5e259dc7")) @@ -2108,6 +2138,8 @@ basic tasks but can change to using POSIX regular expressions, PCRE, hash lookups or multi-pattern searching as required. By default fxtract looks in the sequence of each record but can also be told to look in the header, comment or quality sections.") + ;; 'util' requires SSE instructions. + (supported-systems '("x86_64-linux")) (license license:expat)))) (define-public grit @@ -4645,13 +4677,13 @@ CAGE.") (define-public r-variantannotation (package (name "r-variantannotation") - (version "1.18.1") + (version "1.18.6") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantAnnotation" version)) (sha256 (base32 - "1jdpdnp7l81xfprba2ykfnj6i64fd84vxaax0wvrz6qahxvnjzyw")))) + "17q2b3wlv3250v6qm114srkarxykpd5rqmg4kzymmqsn1b8hynhv")))) (properties `((upstream-name . "VariantAnnotation"))) (inputs @@ -5273,7 +5305,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.") (define-public r-genomationdata (package (name "r-genomationdata") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is @@ -5283,7 +5315,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.") "genomationData_" version ".tar.gz")) (sha256 (base32 - "1xzq2j722d8lcn5bc3aq3yb34xwis2d0bpsf6jsq4xw1bg0bsy79")))) + "1zl7gg144fs7zfycsmq5492sm1bqy7l527xbc2zj04schd9wsan2")))) (build-system r-build-system) ;; As this package provides little more than large data files, it doesn't ;; make sense to build substitutes. diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index fd8f4e80e3..8fe8c8e899 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -28,7 +28,7 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages python) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages perl)) (define-public boost diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 64df95ded6..63a9280708 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -229,6 +229,29 @@ files, but compared to grep is much faster and respects files like .gitignore, .hgignore, etc.") (license license:asl2.0))) +(define-public trio + (package + (name "trio") + (version "1.16") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ctrio/trio/trio-" + version ".tar.gz")) + (sha256 + (base32 + "02pwd5m5vq7hbrffgm2na1dfc249z50yyr5jv73vdw15bd7ygl44")))) + (build-system gnu-build-system) + (home-page "http://daniel.haxx.se/projects/trio/") + (synopsis "Portable and extendable printf and string functions") + (description + "Trio is a set of @code{printf} and string functions designed be used by +applications with a focus on portability or with the need for additional +features that are not supported by the standard @code{stdio} implementation.") + ;; This license is very similar to the ISC license, but the wording is + ;; slightly different. + (license (license:non-copyleft + "http://sourceforge.net/p/ctrio/git/ci/master/tree/README")))) + (define-public withershins (package (name "withershins") diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 4aa954bd6f..7d3e43d7cd 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -52,16 +52,13 @@ clients.") (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.11.2") + (version "0.11.3") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/" - "6c/fb/20c32861134579fdce67060bf4cc074e171d30c70590137adc73924f94a6/" - name "-" version ".tar.gz")) + (uri (pypi-uri name version)) (sha256 (base32 - "15isw2jhjfxi213wdj9d8mwq2m58k8bwf831qnxrjcz7j7bwy7mj")))) + "10majl58vdpxgbddjqgwblvl7akvvr4c2c8iaxnf3kgyh01jq6k9")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index fde1e1b342..14c1bac322 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,8 +22,17 @@ #:use-module (gnu packages) #:use-module (gnu packages qt) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages sdl) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -69,3 +79,62 @@ can be used to control telescopes over a serial port for tracking celestial objects.") (license license:gpl2+))) + +(define-public gcompris + (package + (name "gcompris") + (version "15.10") + (source (origin + (method url-fetch) + (uri (string-append "http://gcompris.net/download/gtk/src/gcompris-" + version ".tar.bz2")) + (sha256 + (base32 + "0f7wa27vvpn9ansp2aald1pajqlx5d51mvj07ba503yvl7i77fka")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + ;; Use SDL mixer because otherwise GCompris would need an old version + ;; of Gstreamer. + (list "--enable-sdlmixer" + "LDFLAGS=-lgmodule-2.0") + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl-mixer") + "/include/SDL")) + #t))))) + (inputs + `(("gtk+" ,gtk+-2) + ("librsvg" ,librsvg) + ("libxml2" ,libxml2) + ("sdl-mixer" ,sdl-mixer) + ("sqlite" ,sqlite) + ("glib:bin" ,glib) + ("python" ,python))) + (native-inputs + `(("intltool" ,intltool) + ("texinfo" ,texinfo) + ("texi2html" ,texi2html) + ("glib:bin" ,glib "bin") + ("pkg-config" ,pkg-config))) + (home-page "http://gcompris.net") + (synopsis "Educational software suite") + (description "GCompris is an educational software suite comprising of +numerous activities for children aged 2 to 10. Some of the activities are +game orientated, but nonetheless still educational. Below you can find a list +of categories with some of the activities available in that category. + +@enumerate +@item computer discovery: keyboard, mouse, different mouse gestures, ... +@item arithmetic: table memory, enumeration, double entry table, mirror image, ... +@item science: the canal lock, the water cycle, the submarine, electric simulation ... +@item geography: place the country on the map +@item games: chess, memory, connect 4, oware, sudoku ... +@item reading: reading practice +@item other: learn to tell time, puzzle of famous paintings, vector drawing, cartoon making, ... +@end enumerate +") + (license license:gpl3+))) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm new file mode 100644 index 0000000000..4e430b323f --- /dev/null +++ b/gnu/packages/elixir.scm @@ -0,0 +1,99 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> +;;; +;;; 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 elixir) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (gnu packages erlang) + #:use-module (gnu packages version-control)) + +(define-public elixir + (package + (name "elixir") + (version "1.3.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/elixir-lang/elixir" + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jsc6kl7f74yszcypdv3w3vhyc9qfqav8nwc41in082m0vpfy95y")) + ;; FIXME: Some tests had to be disabled as they fail in the + ;; build environment. Common failures are: + ;; - Mix.Shell.cmd() fails with error 130 + ;; - The git_repo fixture cannot be found + ;; - Communication with spawned processes fails with EPIPE + ;; - Failure to copy files + (patches (search-patches "elixir-disable-failing-tests.patch")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'replace-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("lib/elixir/lib/system.ex" + "lib/mix/lib/mix/scm/git.ex") + (("(cmd\\(['\"])git" _ prefix) + (string-append prefix (which "git")))) + (substitute* "bin/elixir" + (("ERL_EXEC=\"erl\"") + (string-append "ERL_EXEC=" (which "erl")))) + #t)) + (add-after 'unpack 'fix-or-disable-tests + (lambda* (#:key inputs #:allow-other-keys) + ;; Some tests require access to a home directory. + (setenv "HOME" "/tmp") + + ;; FIXME: These tests fail because the "git_repo" fixture does + ;; not exist or cannot be found. + (delete-file "lib/mix/test/mix/tasks/deps.git_test.exs") + + ;; FIXME: Mix.Shell.cmd() always fails with error code 130. + (delete-file "lib/mix/test/mix/shell_test.exs") + #t)) + (add-before 'build 'make-current + ;; The Elixir compiler checks whether or not to compile files by + ;; inspecting their timestamps. When the timestamp is equal to the + ;; epoch no compilation will be performed. Some tests fail when + ;; files are older than Jan 1, 2000. + (lambda _ + (for-each (lambda (file) + (let ((recent 1400000000)) + (utime file recent recent 0 0))) + (find-files "." ".*")) + #t)) + (delete 'configure)))) + (inputs + `(("erlang" ,erlang) + ("git" ,git))) + (home-page "http://elixir-lang.org/") + (synopsis "Elixir programming language") + (description "Elixir is a dynamic, functional language used to build +scalable and maintainable applications. Elixir leverages the Erlang VM, known +for running low-latency, distributed and fault-tolerant systems, while also +being successfully used in web development and the embedded software domain.") + (license license:asl2.0))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 97c21f1bc0..825a355d63 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2697,6 +2697,30 @@ identifiers based on their names. Each identifier gets a color based on a hash of its name.") (license license:bsd-2))) +(define-public emacs-visual-fill-column + (package + (name "emacs-visual-fill-column") + (version "1.7") + (source (origin + (method url-fetch) + (uri (string-append "https://codeload.github.com/joostkremers/" + "visual-fill-column/tar.gz/" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12vn7kdq2mpz9hgibbn1vhpf23lcm7c26k3fkz8nidhygwl5x5lq")))) + (build-system emacs-build-system) + (home-page "https://github.com/joostkremers/visual-fill-column") + (synopsis "Fill-column for visual-line-mode") + (description + "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics +the effect of @code{fill-column} in @code{visual-line-mode}. Instead of +wrapping lines at the window edge, which is the standard behaviour of +@code{visual-line-mode}, it wraps lines at @code{fill-column}. If +@code{fill-column} is too large for the window, the text is wrapped at the +window edge.") + (license license:gpl3+))) + (define-public emacs-ido-completing-read+ (package (name "emacs-ido-completing-read+") diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm deleted file mode 100644 index a8b88e7c10..0000000000 --- a/gnu/packages/fish.scm +++ /dev/null @@ -1,65 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 David Thompson <davet@gnu.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 fish) - #:use-module (guix licenses) - #:use-module (gnu packages documentation) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages python) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public fish - (package - (name "fish") - (version "2.3.1") - (source (origin - (method url-fetch) - (uri (string-append "https://fishshell.com/files/" - version "/fish-" version ".tar.gz")) - (sha256 - (base32 - "0r46p64lg6da3v6chsa4gisvl04kd3rpy60yih8r870kbp9wm2ij")) - (modules '((guix build utils))) - ;; Don't try to install /etc/fish/config.fish. - (snippet - '(substitute* "Makefile.in" - ((".*INSTALL.*sysconfdir.*fish.*") ""))))) - (build-system gnu-build-system) - (native-inputs - `(("doxygen" ,doxygen))) - (inputs - `(("ncurses" ,ncurses) - ("python" ,python-wrapper))) ;for fish_config and manpage completions - (arguments - '(#:tests? #f ; no check target - #:configure-flags '("--sysconfdir=/etc"))) - (synopsis "The friendly interactive shell") - (description - "Fish (friendly interactive shell) is a shell focused on interactive use, -discoverability, and friendliness. Fish has very user-friendly and powerful -tab-completion, including descriptions of every completion, completion of -strings with wildcards, and many completions for specific commands. It also -has extensive and discoverable help. A special help command gives access to -all the fish documentation in your web browser. Other features include smart -terminal handling based on terminfo, an easy to search history, and syntax -highlighting.") - (home-page "https://fishshell.com/") - (license gpl2))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 07a419a8ca..e467dbe04c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2088,7 +2088,7 @@ is attributed to Albert Einstein.") (source (origin (method url-fetch) (uri (string-append - "http://www.hoopajoo.net/static/projects/powwow-" + "https://www.hoopajoo.net/static/projects/powwow-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 @@ -2108,42 +2108,42 @@ http://lavachat.symlynx.com/unix/") (define-public red-eclipse (let ((data-sources - '(("acerspyro" "0gxxr6nbac918b49x1cp72nw951hqm5m4iyi2shb1612ly384w8q") - ("actors" "1jq9q82m6nx07nwpb5cnpdcwa33jrcgg0j2yir8zk6zpnxdmp0il") - ("appleflap" "1cn41c6xs68l88rmphqh4rlsh6h04xnkkvklxdpqpvvr4zlsmi85") - ("blendbrush" "0wjbgnniirl9arv274m8mpdqbbq7d09g0pq1z9dl56sazmbk5yy0") - ("caustics" "0gxv1pqhi6c27mqi9mwqyfnzv9rq5sva1vgxhb9ljh231rmkdc15") - ("crosshairs" "0vlyhd10mly2qnjpwvss9ani7dg3v2njpf7457ilx7fk9a3hlbkk") - ("elyvisions" "0s0l77rd9fd09imvj05pwcz4bqrn3j8qsw8prv5pi5bqa50mbn19") - ("fonts" "0apn8j9lf43nmnidq1f0azhrr1n896g7si4djbix1bwll6ild0mq") - ("freezurbern" "0y60s3g8v8bl2m6pk2yr9fzl67ymv821x6l2f9hszzydlcjwlscn") - ("john" "1lmwn0r7qpyac2qrnkv9llhsbyzqpgr27hxq2qn1rfbq12fja0ld") - ("jojo" "0sh3ricqlqw868a0mz2n9iw7lhp650pysd2wkcdizhcmw2hlayx9") - ("jwin" "1r459jhxx64j3vdw886ypkm6zg0yg6cr2qark54i1zdskjhp762k") - ("luckystrike" "08xq87crcz0jq45q1g6p8h4xrm1bcqzd019zp7n0f9c3p9j6al91") - ("maps" "1f0hqh8mbd4nzqi4hja4k5f380nszhx8igajg5ini4p9cp39x9vi") - ("mayhem" "1hn9jp64aiz8k6p2nxyg82h2nc8fadgghzhrm26y7i4bz9xwxacm") - ("mikeplus64" "1kj2zznxykgm3f1h1fvd8xzim5f292lyh96l2gj5km1nynzjmaap") - ("misc" "1phmzjs5rmika3568b7jb6ywbsi40r711rhg8cbsflllcp7hdidf") - ("nobiax" "08in9c24m2pq7x371q10ny4q3l1l3zb8m029iypy2lx9gr99i7hm") - ("particles" "0wcd3s6vhrjknffnfqrcpkcqk1r01f1fiz6q7n4srhpdv3i4d6vm") - ("philipk" "1s0kmap8iv5sddanrhycblskj3ywvz9xg2m11f6vnfy108palkga") - ("projectiles" "0xdhrs9rsncd1f88s5igdbfksli7h0irg5jdbj6p2a3rgdzb3gnj") - ("props" "1sbh3a94pmzic78bil0dvdh4fd8s6gh52f77jdram3w0gwv79x3r") - ("skyboxes" "0hy95a6ps0fk4cq8j6pjipk8rnsjna9bm0ly2l373gbshlfg6zgi") - ("sounds" "1pnyd7acm19sj1k1cy9hq3n3dnzzaiak7j5f0h7fikiybq5rdk7b") - ("textures" "0gxfnc4xm0kp3pd7lhd4yy1dqq00g727h21l64nyiw2b2d6n1755") - ("torley" "1cri5mf8ls8mvpn1x1p9hacyg9ibilaiz07gqv2hl2q8ww5xc1s6") - ("trak" "0xyk5z59kn9ym9n5fdcrwhqig6gjcjgnrgi9rqbbai713w9vpsbq") - ("ulukai" "0ziv9c4inmza40mas1w9dp048y6f646x00bs7kqv33hd1snbg3v3") - ("unnamed" "0hm291k9azilnp0m04zhm52vml1rhxk1z4l74v66spbikr6s2zdx") - ("vanities" "1qbc2v67kdrlvq10miw3dfmg3j9w9bq1hgqrzjcbph0l4gra1ndw") - ("vegetation" "13928yw0wflcj620cmp8rqwplaw8508f3j4zi32vxida1ksz6xn0") - ("weapons" "1ghn6nfcnd5lyl8dnj22csldvf9hrb32wjzpab4sjjz3iyv0zmr3") - ("wicked" "0q9badvg6ix5rhl05s83kw2v6a49jpnbkqk4ls89qahaddfagi8g")))) + '(("acerspyro" "0s6q56i5marpm67lx70g5109lir5d6r45y45i8kbz6arc1spa7pp") + ("actors" "0jclmciz64i81ngxwbag8x5m8wvxkhraa9c7plix566y6rh28fv1") + ("appleflap" "1iz5igzdksamldhy0zh4vdjkxqhmg5c0n5g64pd3kan6h8vlbkq4") + ("blendbrush" "1hz3x5npp25dixcadp020xyahmd1i3ihs4cdf77iy84i9njbp7bv") + ("caustics" "05sbj46lrc6lkf7j6ls6jwc21n0qzxvfhfy9j7hdw482p9gvz54h") + ("crosshairs" "05vfxc6vm91dyf1kzig550fglgydp9szl9135q677lk4g60w5dfh") + ("elyvisions" "0fzdbxc40ggqmv4v1llx6sys2gjc6l1nxsbi5scpxqvm86dbddi9") + ("fonts" "0sbvnd96aip49dy1ja01s36p8fwwczibpic7myfw1frs110m0zgr") + ("freezurbern" "0k60dzzq42mfq360qf7bsf4alhy6k5gjfaidg2i1wsz5zssgmqwn") + ("john" "1ln9v8vfm0ggavvdyl438cy4mizzm1i87r9msx1sbja30q8f57c1") + ("jojo" "0cdgl82s4bm6qlv07fsq5l7anbywvvw13d0mng831yn6scf0hxb1") + ("jwin" "0yg5vriffyckgfjmi4487sw07hsp44b3gfw90f0v4jsgbjjm2v20") + ("luckystrike" "0f82caq09znsr9m08qnlbh3jl9j5w0ysga0b7d5ayqr5lpqxfk9k") + ("maps" "14m23h3mip12anhx7i9k5xlapwkjbw4n0l7lj1b7dfcimf71gjll") + ("mayhem" "0dxrr6craqi7ag724qfj9y0lb0pmwyrfpap02cndmjbbacdya0ra") + ("mikeplus64" "040giyrk3hdd26sxhdx37q4mk923g5v3jbrinq1fw2yfvsl6n1cs") + ("misc" "07xfs9hngshg27rl2vf65nyxilgnak3534h8msaan0fjgmzvlk0q") + ("nobiax" "1n3nghi5426r2zav4rsfih8gn37sfa85absvhdwhir8wycsvbkh6") + ("particles" "0yj0nykal3fgxx50278xl2zn2bfz09wbrjcvng56aa6hhfiwp8gd") + ("philipk" "1m3krkxq9hsknbmxg1g5sgnpcv7c8c2q7zpbizw2wb3dir8snvcj") + ("projectiles" "05swvalja7vzqc3dlk136n5b5kdzn3a8il6bg1h12alcaa0k9rba") + ("props" "1cqi6gw5s4z5pj06x6kiiilh4if0hm1yrbqys5dln23mcvw8f0ny") + ("skyboxes" "1mm6xl89b0l98l2h3qn99id7svmpwr940bydgjbcrvlx21yqdric") + ("sounds" "03q7jazf0chszyiaa9cxirbwdnckcp5fl812sj42lv0z4sqz222l") + ("textures" "1caqyxa9xkrwpyhac65akdv1l7nqychgz7zfivasnskk2yy6jani") + ("torley" "1hp8lkzqmdqyq3jn9rains32diw11gg1w3dxxlln5pc041cd7vil") + ("trak" "0wlczjax33q0hz75lgc4qnxlm592pcxgnbkin5qrglv59nrxzxyr") + ("ulukai" "0dkn7qxf92sidhsy4sm4v5z54n449a2z2w9qax5cfgzs78kb5c34") + ("unnamed" "0p9mmfp0vplmswyxh8qab33phcl8lzmzh3mms4f7i587hppdg6db") + ("vanities" "1w23853lmvj4kx5cbxvb5dk598jiqz7ml2bm0qiy7idkf5mcd2lv") + ("vegetation" "0jw1ljhmv62fzvklid6i8syiacmrs075cp7r3gc069bg4fg47cpn") + ("weapons" "1p64ry1s4y7hkgm6i2rdk2x78368359wvx8v81gg179p3sjnjkww") + ("wicked" "1kmpy2n15lyh50rqjspyfg3qrc72jf0n3dx2y3ian7pjfp6ldxd9")))) (package (name "red-eclipse") - (version "1.5.3") + (version "1.5.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/red-eclipse/base" @@ -2151,7 +2151,7 @@ http://lavachat.symlynx.com/unix/") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0jv5lz69zisiw8sd5z9a9v21zc83by1sx9b7dly78ngif4gc4l")))) + "0xl3655876i8j5nixy0yp73s0yw9nwysj68fyhqs2agmvshryy96")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -2170,7 +2170,7 @@ http://lavachat.symlynx.com/unix/") "-Cdata" "--transform" (string-append "s/" - name "-1.5.3/" + name "-" ,version "/" name "/"))) (list ,@(map car data-sources))) #t)) @@ -2179,13 +2179,15 @@ http://lavachat.symlynx.com/unix/") (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" (string-append (assoc-ref inputs "sdl-union") - "/include/SDL")) + "/include/SDL2")) #t)) (add-after 'install 'copy-data (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (copy-recursively "config" (string-append out "/config")) + (copy-file "doc/examples/servinit.cfg" + (string-append out "/config/servinit.cfg")) (copy-recursively "data" (string-append out "/data"))) #t)) @@ -2223,7 +2225,9 @@ exec -a \"$0\" ~a/.redeclipse_server_linux-real~%" (inputs `(("curl" ,curl) ("glu" ,glu) - ("sdl-union" ,(sdl-union)) + ("sdl-union" ,(sdl-union (list sdl2 + sdl2-image + sdl2-mixer))) ;; Create origin records for the many separate data packages. ,@(map (match-lambda ((name hash) @@ -2693,3 +2697,37 @@ with the \"Stamp\" tool within Tux Paint.") (description "Tux Paint Config is a graphical configuration editor for Tux Paint.") (license license:gpl2))) ;no "or later" present + +(define-public supertux + (package + (name "supertux") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/SuperTux/supertux/releases/" + "download/v" version + "/supertux-" version ".tar.bz2")) + (sha256 + (base32 + "10ppmy6w77lxj8bdzjahc9bidgl4qgzr9rimn15rnqay84ydx3fi")))) + (arguments '(#:tests? #f + #:configure-flags '("-DINSTALL_SUBDIR_BIN=bin"))) + (build-system cmake-build-system) + (inputs `(("sdl2" ,sdl2) + ("sdl2-image" ,sdl2-image) + ("sdl2-mixer" ,sdl2-mixer) + ("openal" ,openal) + ("mesa" ,mesa) + ("glew" ,glew) + ("libvorbis" ,libvorbis) + ("libogg" ,libogg) + ("physfs" ,physfs) + ("curl" ,curl) + ("boost" ,boost))) + (native-inputs `(("pkg-config" ,pkg-config))) + (synopsis "2D platformer game") + (description "SuperTux is a free classic 2D jump'n run sidescroller game +in a style similar to the original Super Mario games covered under +the GNU GPL.") + (home-page "https://supertuxproject.org/") + (license license:gpl3+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 445e94a67e..2038f8f7bc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4423,6 +4423,8 @@ users.") "rundir=/tmp" "statedir=/tmp" "install"))))))) + (propagated-inputs + `(("glib" ,glib))) (native-inputs `(("glib:bin" ,glib "bin") ; for gdbus-codegen ("gobject-introspection" ,gobject-introspection) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e237c6a66d..21365b9197 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1189,7 +1189,7 @@ information.") (define-public gtk-doc (package (name "gtk-doc") - (version "1.24") + (version "1.25") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1197,10 +1197,11 @@ information.") name "-" version ".tar.xz")) (sha256 (base32 - "12xmmcnq4138dlbhmqa45wqza8dky4lf856sp80h6xjwl2g7a85l")))) + "0hpxcij9xx9ny3gs9p0iz4r8zslw8wqymbyababiyl7603a6x90y")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:parallel-tests? #f + #:phases (modify-phases %standard-phases (add-before 'configure 'fix-docbook diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 74fbac2635..57727accbc 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -27,12 +27,10 @@ #:use-module (gnu packages qt) #:use-module (gnu packages xorg)) -(define kde-frameworks-version "5.21.0") - (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version kde-frameworks-version) + (version "5.21.0") (source (origin (method url-fetch) @@ -57,7 +55,7 @@ common build settings used in software produced by the KDE community.") (define-public kwindowsystem (package (name "kwindowsystem") - (version kde-frameworks-version) + (version "5.21.0") (source (origin (method url-fetch) @@ -95,7 +93,7 @@ lower level classes for interaction with the X Windowing System.") (define-public oxygen-icons (package (name "oxygen-icons") - (version kde-frameworks-version) + (version "5.21.0") (source (origin (method url-fetch) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e65327c61d..f6352da486 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2363,7 +2363,15 @@ MPEG-2 and audio over Linux IEEE 1394.") (substitute* "udev-md-raid-arrays.rules" (("/usr/bin/(readlink|basename)" all program) (string-append coreutils "/bin/" program))))) - (alist-delete 'configure %standard-phases)) + (alist-cons-before + 'build 'remove-W-error + (lambda _ + ;; We cannot build with -Werror on i686 due to a + ;; 'sign-compare' warning in util.c. + (substitute* "Makefile" + (("-Werror") "")) + #t) + (alist-delete 'configure %standard-phases))) ;;tests must be done as root #:tests? #f)) (home-page "http://neil.brown.name/blog/mdadm") diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 177278080d..8ee249d397 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -328,7 +328,7 @@ statistical profiler, a code coverage tool, and many other extensions.") (define-public ccl (package (name "ccl") - (version "1.10") + (version "1.11") (source #f) (build-system gnu-build-system) ;; CCL consists of a "lisp kernel" and "heap image", both of which are @@ -341,7 +341,8 @@ statistical profiler, a code coverage tool, and many other extensions.") ,(origin (method url-fetch) (uri (string-append - "ftp://ftp.clozure.com/pub/release/1.10/ccl-" version "-" + "ftp://ftp.clozure.com/pub/release/" version + "/ccl-" version "-" (match (%current-system) ((or "i686-linux" "x86_64-linux") "linuxx86") ("armhf-linux" "linuxarm") @@ -353,9 +354,9 @@ statistical profiler, a code coverage tool, and many other extensions.") (base32 (match (%current-system) ((or "i686-linux" "x86_64-linux") - "0mr653q5px05lr11z2mk551m5g47b4wq96vbfibpp0qlc9jp58lc") + "0w3dmj7q9kqyra3yrf1lxclnjz151yvf5s5q8ayllvmvqbl8bs08") ("armhf-linux" - "1py02irpmi2qz5rq3h33wfv6impf15z8i2rign6hvhlqn7s99wwh") + "1x487aaz2rqcb6k301sy2p39a1m4qdhg6z9p9fb76ssipqgr38b4") (_ "")))))))) (native-inputs `(("m4" ,m4) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ea7575abb2..fcea0bca0e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -79,7 +79,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages tbb) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 5b8aabd05b..1421c7ea0a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -67,17 +67,17 @@ arch "-linux" "/20131110/guile-2.0.9.tar.xz"))) -(define-public guix-0.10.0 +(define-public guix-0.11.0 (package (name "guix") - (version "0.10.0") + (version "0.11.0") (source (origin (method url-fetch) (uri (string-append "ftp://alpha.gnu.org/gnu/guix/guix-" version ".tar.gz")) (sha256 (base32 - "0d4afwy7bpqi4k4bzvwc4ga4shwssis1nrvdw53qjyg9bw1a8lbn")))) + "1cwrbpv4dq7aczwksmcfw9w8r2bzrb5ld9zvjcr90i804hjpcb93")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list @@ -212,9 +212,9 @@ the Nix package manager.") ;; ;; Note: use a very short commit id; with a longer one, the limit on ;; hash-bang lines would be exceeded while running the tests. - (let ((commit "97c8aef15de89799ac01b62dd9b91245c23eefcb")) - (package (inherit guix-0.10.0) - (version (string-append "0.10.0-1." (string-take commit 4))) + (let ((commit "4420940f20a2f36f29519f686bca7b85be6be5c9")) + (package (inherit guix-0.11.0) + (version (string-append "0.11.0-1." (string-take commit 4))) (source (origin (method git-fetch) (uri (git-reference @@ -224,10 +224,10 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "0sdxq87mbvig7785gzf52ywmvl3p1q1qgsczmkzrlw988xkma1dr")) + "1c1rqsfc4vrclkk03aj1m8r1lzk9pfa61ax9hhhj5nw23bilsixc")) (file-name (string-append "guix-" version "-checkout")))) (arguments - (substitute-keyword-arguments (package-arguments guix-0.10.0) + (substitute-keyword-arguments (package-arguments guix-0.11.0) ((#:configure-flags flags) ;; Set 'DOT_USER_PROGRAM' to the empty string so we don't keep a ;; reference to Graphviz, whose closure is pretty big (too big for @@ -251,7 +251,7 @@ the Nix package manager.") ("texinfo" ,texinfo) ("graphviz" ,graphviz) ("help2man" ,help2man) - ,@(package-native-inputs guix-0.10.0)))))) + ,@(package-native-inputs guix-0.11.0)))))) (define-public guix guix-devel) diff --git a/gnu/packages/patches/elixir-disable-failing-tests.patch b/gnu/packages/patches/elixir-disable-failing-tests.patch new file mode 100644 index 0000000000..0c67562f8d --- /dev/null +++ b/gnu/packages/patches/elixir-disable-failing-tests.patch @@ -0,0 +1,261 @@ +Most of these tests fail for unknown reasons when run in the chroot +environment of a Guix build process. + +Common failures are: + + * Mix.Shell.cmd() fails with error 130 + * The git_repo fixture cannot be found + * Communication with spawned processes fails with EPIPE + * Failure to copy files + + +diff --git a/lib/elixir/test/elixir/kernel/cli_test.exs b/lib/elixir/test/elixir/kernel/cli_test.exs +index 3ffd56c..1232d19 100644 +--- a/lib/elixir/test/elixir/kernel/cli_test.exs ++++ b/lib/elixir/test/elixir/kernel/cli_test.exs +@@ -39,6 +39,7 @@ end + defmodule Kernel.CLI.OptionParsingTest do + use ExUnit.Case, async: true + ++ @tag :skip + test "properly parses paths" do + root = fixture_path("../../..") |> to_charlist + list = elixir('-pa "#{root}/*" -pz "#{root}/lib/*" -e "IO.inspect(:code.get_path, limit: :infinity)"') +@@ -57,6 +58,7 @@ end + defmodule Kernel.CLI.AtExitTest do + use ExUnit.Case, async: true + ++ @tag :skip + test "invokes at_exit callbacks" do + assert elixir(fixture_path("at_exit.exs") |> to_charlist) == + 'goodbye cruel world with status 1\n' +@@ -66,6 +68,7 @@ end + defmodule Kernel.CLI.ErrorTest do + use ExUnit.Case, async: true + ++ @tag :skip + test "properly format errors" do + assert :string.str('** (throw) 1', elixir('-e "throw 1"')) == 0 + assert :string.str('** (ErlangError) erlang error: 1', elixir('-e "error 1"')) == 0 +@@ -86,6 +89,7 @@ defmodule Kernel.CLI.CompileTest do + {:ok, [tmp_dir_path: tmp_dir_path, beam_file_path: beam_file_path, fixture: fixture]} + end + ++ @tag :skip + test "compiles code", context do + assert elixirc('#{context[:fixture]} -o #{context[:tmp_dir_path]}') == '' + assert File.regular?(context[:beam_file_path]) +@@ -96,6 +100,7 @@ defmodule Kernel.CLI.CompileTest do + Code.delete_path context[:tmp_dir_path] + end + ++ @tag :skip + test "fails on missing patterns", context do + output = elixirc('#{context[:fixture]} non_existing.ex -o #{context[:tmp_dir_path]}') + assert :string.str(output, 'non_existing.ex') > 0, "expected non_existing.ex to be mentioned" +@@ -103,6 +108,7 @@ defmodule Kernel.CLI.CompileTest do + refute File.exists?(context[:beam_file_path]), "expected the sample to not be compiled" + end + ++ @tag :skip + test "fails on missing write access to .beam file", context do + compilation_args = '#{context[:fixture]} -o #{context[:tmp_dir_path]}' + +diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs +index 801d852..40fc5bc 100644 +--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs ++++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs +@@ -60,16 +60,19 @@ defmodule Kernel.DialyzerTest do + assert_dialyze_no_warnings! context + end + ++ @tag :skip + test "no warnings on rewrites", context do + copy_beam! context, Dialyzer.Rewrite + assert_dialyze_no_warnings! context + end + ++ @tag :skip + test "no warnings on raise", context do + copy_beam! context, Dialyzer.Raise + assert_dialyze_no_warnings! context + end + ++ @tag :skip + test "no warnings on macrocallback", context do + copy_beam! context, Dialyzer.Macrocallback + copy_beam! context, Dialyzer.Macrocallback.Impl +diff --git a/lib/elixir/test/elixir/system_test.exs b/lib/elixir/test/elixir/system_test.exs +index aafa559..0f9c178 100644 +--- a/lib/elixir/test/elixir/system_test.exs ++++ b/lib/elixir/test/elixir/system_test.exs +@@ -53,7 +53,8 @@ defmodule SystemTest do + assert System.endianness in [:little, :big] + assert System.endianness == System.compiled_endianness + end +- ++ ++ @tag :skip + test "argv/0" do + list = elixir('-e "IO.inspect System.argv" -- -o opt arg1 arg2 --long-opt 10') + {args, _} = Code.eval_string list, [] +diff --git a/lib/mix/test/mix/dep_test.exs b/lib/mix/test/mix/dep_test.exs +index fff3351..d6ed1b3 100644 +--- a/lib/mix/test/mix/dep_test.exs ++++ b/lib/mix/test/mix/dep_test.exs +@@ -244,6 +244,7 @@ defmodule Mix.DepTest do + end + end + ++ @tag :skip + test "remote converger" do + deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"}, + {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo")}] +@@ -301,6 +302,7 @@ defmodule Mix.DepTest do + end + end + ++ @tag :skip + test "remote converger is not invoked if deps diverge" do + deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"}, + {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo"), only: :test}] +diff --git a/lib/mix/test/mix/rebar_test.exs b/lib/mix/test/mix/rebar_test.exs +index d2dd098..12cef15 100644 +--- a/lib/mix/test/mix/rebar_test.exs ++++ b/lib/mix/test/mix/rebar_test.exs +@@ -120,6 +120,7 @@ defmodule Mix.RebarTest do + assert Enum.all?(deps, &(&1.manager == :rebar3)) + end + ++ @tag :skip + test "Rebar overrides" do + Mix.Project.push(RebarOverrideAsDep) + +@@ -150,6 +151,7 @@ defmodule Mix.RebarTest do + end + end + ++ @tag :skip + test "get and compile dependencies for Rebar" do + Mix.Project.push(RebarAsDep) + +@@ -180,6 +182,7 @@ defmodule Mix.RebarTest do + end + end + ++ @tag :skip + test "get and compile dependencies for rebar3" do + Mix.Project.push(Rebar3AsDep) + +diff --git a/lib/mix/test/mix/shell/io_test.exs b/lib/mix/test/mix/shell/io_test.exs +index 9bfb6b4..d982ef3 100644 +--- a/lib/mix/test/mix/shell/io_test.exs ++++ b/lib/mix/test/mix/shell/io_test.exs +@@ -29,6 +29,7 @@ defmodule Mix.Shell.IOTest do + assert capture_io("", fn -> refute yes?("Ok?") end) + end + ++ @tag :skip + test "runs a given command" do + assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "hello\n" + +diff --git a/lib/mix/test/mix/shell/quiet_test.exs b/lib/mix/test/mix/shell/quiet_test.exs +index 626429b..99fab35 100644 +--- a/lib/mix/test/mix/shell/quiet_test.exs ++++ b/lib/mix/test/mix/shell/quiet_test.exs +@@ -29,6 +29,7 @@ defmodule Mix.Shell.QuietTest do + assert capture_io("", fn -> refute yes?("Ok?") end) + end + ++ @tag :skip + test "runs a given command" do + assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "" + +diff --git a/lib/mix/test/mix/tasks/cmd_test.exs b/lib/mix/test/mix/tasks/cmd_test.exs +index db4bf06..4d441f7 100644 +--- a/lib/mix/test/mix/tasks/cmd_test.exs ++++ b/lib/mix/test/mix/tasks/cmd_test.exs +@@ -3,6 +3,7 @@ Code.require_file "../../test_helper.exs", __DIR__ + defmodule Mix.Tasks.CmdTest do + use MixTest.Case + ++ @tag :skip + test "runs the command for each app" do + in_fixture "umbrella_dep/deps/umbrella", fn -> + Mix.Project.in_project(:umbrella, ".", fn _ -> +diff --git a/lib/mix/test/mix/tasks/deps.tree_test.exs b/lib/mix/test/mix/tasks/deps.tree_test.exs +index 4f09ff3..c371997 100644 +--- a/lib/mix/test/mix/tasks/deps.tree_test.exs ++++ b/lib/mix/test/mix/tasks/deps.tree_test.exs +@@ -29,6 +29,7 @@ defmodule Mix.Tasks.Deps.TreeTest do + end + end + ++ @tag :skip + test "shows the dependency tree", context do + Mix.Project.push ConvergedDepsApp + +@@ -109,6 +110,7 @@ defmodule Mix.Tasks.Deps.TreeTest do + end + end + ++ @tag :skip + test "shows the dependency tree in DOT graph format", context do + Mix.Project.push ConvergedDepsApp + +diff --git a/lib/mix/test/mix/tasks/deps_test.exs b/lib/mix/test/mix/tasks/deps_test.exs +index b061777..cc45cf8 100644 +--- a/lib/mix/test/mix/tasks/deps_test.exs ++++ b/lib/mix/test/mix/tasks/deps_test.exs +@@ -96,6 +96,7 @@ + end + end + ++ @tag :skip + test "prints list of dependencies and their lock status" do + Mix.Project.push DepsApp + +@@ -409,6 +409,7 @@ defmodule Mix.Tasks.DepsTest do + end + end + ++ @tag :skip + test "fails on diverged dependencies by requirement" do + Mix.Project.push ConvergedDepsApp + +@@ -440,6 +441,7 @@ defmodule Mix.Tasks.DepsTest do + end + end + ++ @tag :skip + test "fails on diverged dependencies even when optional" do + Mix.Project.push ConvergedDepsApp + +@@ -469,6 +471,7 @@ defmodule Mix.Tasks.DepsTest do + end + end + ++ @tag :skip + test "works with converged dependencies" do + Mix.Project.push ConvergedDepsApp + +@@ -491,6 +494,7 @@ defmodule Mix.Tasks.DepsTest do + purge [GitRepo, GitRepo.Mixfile] + end + ++ @tag :skip + test "works with overridden dependencies" do + Mix.Project.push OverriddenDepsApp + +diff --git a/lib/mix/test/mix/umbrella_test.exs b/lib/mix/test/mix/umbrella_test.exs +index 69f9428..406668a 100644 +--- a/lib/mix/test/mix/umbrella_test.exs ++++ b/lib/mix/test/mix/umbrella_test.exs +@@ -98,6 +98,7 @@ defmodule Mix.UmbrellaTest do + end + end + ++ @tag :skip + test "loads umbrella child dependencies in all environments" do + in_fixture "umbrella_dep/deps/umbrella", fn -> + Mix.Project.in_project :umbrella, ".", fn _ -> diff --git a/gnu/packages/patches/openssh-CVE-2015-8325.patch b/gnu/packages/patches/openssh-CVE-2015-8325.patch deleted file mode 100644 index 8063e64ea7..0000000000 --- a/gnu/packages/patches/openssh-CVE-2015-8325.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 85bdcd7c92fe7ff133bbc4e10a65c91810f88755 Mon Sep 17 00:00:00 2001 -From: Damien Miller <djm@mindrot.org> -Date: Wed, 13 Apr 2016 10:39:57 +1000 -Subject: ignore PAM environment vars when UseLogin=yes - -If PAM is configured to read user-specified environment variables -and UseLogin=yes in sshd_config, then a hostile local user may -attack /bin/login via LD_PRELOAD or similar environment variables -set via PAM. - -CVE-2015-8325, found by Shayan Sadigh, via Colin Watson ---- - session.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/session.c b/session.c -index 4859245..4653b09 100644 ---- a/session.c -+++ b/session.c -@@ -1322,7 +1322,7 @@ do_setup_env(Session *s, const char *shell) - * Pull in any environment variables that may have - * been set by PAM. - */ -- if (options.use_pam) { -+ if (options.use_pam && !options.use_login) { - char **p; - - p = fetch_pam_child_environment(); --- -cgit v0.11.2 - diff --git a/gnu/packages/patches/openssh-CVE-2016-6210-1.patch b/gnu/packages/patches/openssh-CVE-2016-6210-1.patch deleted file mode 100644 index 9b46ec12a9..0000000000 --- a/gnu/packages/patches/openssh-CVE-2016-6210-1.patch +++ /dev/null @@ -1,114 +0,0 @@ -From e5ef9d3942cebda819a6fd81647b51c8d87d23df Mon Sep 17 00:00:00 2001 -From: Darren Tucker <dtucker@zip.com.au> -Date: Fri, 15 Jul 2016 13:32:45 +1000 -Subject: Determine appropriate salt for invalid users. - -When sshd is processing a non-PAM login for a non-existent user it uses -the string from the fakepw structure as the salt for crypt(3)ing the -password supplied by the client. That string has a Blowfish prefix, so on -systems that don't understand that crypt will fail fast due to an invalid -salt, and even on those that do it may have significantly different timing -from the hash methods used for real accounts (eg sha512). This allows -user enumeration by, eg, sending large password strings. This was noted -by EddieEzra.Harari at verint.com (CVE-2016-6210). - -To mitigate, use the same hash algorithm that root uses for hashing -passwords for users that do not exist on the system. ok djm@ - -Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=9286875a73b2de7736b5e50692739d314cd8d9dc -Bug-Debian: https://bugs.debian.org/831902 -Last-Update: 2016-07-22 - -Patch-Name: CVE-2016-6210-1.patch ---- - auth-passwd.c | 12 ++++++++---- - openbsd-compat/xcrypt.c | 34 ++++++++++++++++++++++++++++++++++ - 2 files changed, 42 insertions(+), 4 deletions(-) - -diff --git a/auth-passwd.c b/auth-passwd.c -index 63ccf3c..530b5d4 100644 ---- a/auth-passwd.c -+++ b/auth-passwd.c -@@ -193,7 +193,7 @@ int - sys_auth_passwd(Authctxt *authctxt, const char *password) - { - struct passwd *pw = authctxt->pw; -- char *encrypted_password; -+ char *encrypted_password, *salt = NULL; - - /* Just use the supplied fake password if authctxt is invalid */ - char *pw_password = authctxt->valid ? shadow_pw(pw) : pw->pw_passwd; -@@ -202,9 +202,13 @@ sys_auth_passwd(Authctxt *authctxt, const char *password) - if (strcmp(pw_password, "") == 0 && strcmp(password, "") == 0) - return (1); - -- /* Encrypt the candidate password using the proper salt. */ -- encrypted_password = xcrypt(password, -- (pw_password[0] && pw_password[1]) ? pw_password : "xx"); -+ /* -+ * Encrypt the candidate password using the proper salt, or pass a -+ * NULL and let xcrypt pick one. -+ */ -+ if (authctxt->valid && pw_password[0] && pw_password[1]) -+ salt = pw_password; -+ encrypted_password = xcrypt(password, salt); - - /* - * Authentication is accepted if the encrypted passwords -diff --git a/openbsd-compat/xcrypt.c b/openbsd-compat/xcrypt.c -index 8577cbd..8913bb8 100644 ---- a/openbsd-compat/xcrypt.c -+++ b/openbsd-compat/xcrypt.c -@@ -25,6 +25,7 @@ - #include "includes.h" - - #include <sys/types.h> -+#include <string.h> - #include <unistd.h> - #include <pwd.h> - -@@ -62,11 +63,44 @@ - # define crypt DES_crypt - # endif - -+/* -+ * Pick an appropriate password encryption type and salt for the running -+ * system. -+ */ -+static const char * -+pick_salt(void) -+{ -+ struct passwd *pw; -+ char *passwd, *p; -+ size_t typelen; -+ static char salt[32]; -+ -+ if (salt[0] != '\0') -+ return salt; -+ strlcpy(salt, "xx", sizeof(salt)); -+ if ((pw = getpwuid(0)) == NULL) -+ return salt; -+ passwd = shadow_pw(pw); -+ if (passwd[0] != '$' || (p = strrchr(passwd + 1, '$')) == NULL) -+ return salt; /* no $, DES */ -+ typelen = p - passwd + 1; -+ strlcpy(salt, passwd, MIN(typelen, sizeof(salt))); -+ explicit_bzero(passwd, strlen(passwd)); -+ return salt; -+} -+ - char * - xcrypt(const char *password, const char *salt) - { - char *crypted; - -+ /* -+ * If we don't have a salt we are encrypting a fake password for -+ * for timing purposes. Pick an appropriate salt. -+ */ -+ if (salt == NULL) -+ salt = pick_salt(); -+ - # ifdef HAVE_MD5_PASSWORDS - if (is_md5_salt(salt)) - crypted = md5_crypt(password, salt); diff --git a/gnu/packages/patches/openssh-CVE-2016-6210-2.patch b/gnu/packages/patches/openssh-CVE-2016-6210-2.patch deleted file mode 100644 index 1c580f90b9..0000000000 --- a/gnu/packages/patches/openssh-CVE-2016-6210-2.patch +++ /dev/null @@ -1,111 +0,0 @@ -From dde63f7f998ac3812a26bbb2c1b2947f24fcd060 Mon Sep 17 00:00:00 2001 -From: Darren Tucker <dtucker@zip.com.au> -Date: Fri, 15 Jul 2016 13:49:44 +1000 -Subject: Mitigate timing of disallowed users PAM logins. - -When sshd decides to not allow a login (eg PermitRootLogin=no) and -it's using PAM, it sends a fake password to PAM so that the timing for -the failure is not noticeably different whether or not the password -is correct. This behaviour can be detected by sending a very long -password string which is slower to hash than the fake password. - -Mitigate by constructing an invalid password that is the same length -as the one from the client and thus takes the same time to hash. -Diff from djm@ - -Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=283b97ff33ea2c641161950849931bd578de6946 -Bug-Debian: https://bugs.debian.org/831902 -Last-Update: 2016-07-22 - -Patch-Name: CVE-2016-6210-2.patch ---- - auth-pam.c | 35 +++++++++++++++++++++++++++++++---- - 1 file changed, 31 insertions(+), 4 deletions(-) - -diff --git a/auth-pam.c b/auth-pam.c -index 8425af1..abd6a5e 100644 ---- a/auth-pam.c -+++ b/auth-pam.c -@@ -232,7 +232,6 @@ static int sshpam_account_status = -1; - static char **sshpam_env = NULL; - static Authctxt *sshpam_authctxt = NULL; - static const char *sshpam_password = NULL; --static char badpw[] = "\b\n\r\177INCORRECT"; - - /* Some PAM implementations don't implement this */ - #ifndef HAVE_PAM_GETENVLIST -@@ -810,12 +809,35 @@ sshpam_query(void *ctx, char **name, char **info, - return (-1); - } - -+/* -+ * Returns a junk password of identical length to that the user supplied. -+ * Used to mitigate timing attacks against crypt(3)/PAM stacks that -+ * vary processing time in proportion to password length. -+ */ -+static char * -+fake_password(const char *wire_password) -+{ -+ const char junk[] = "\b\n\r\177INCORRECT"; -+ char *ret = NULL; -+ size_t i, l = wire_password != NULL ? strlen(wire_password) : 0; -+ -+ if (l >= INT_MAX) -+ fatal("%s: password length too long: %zu", __func__, l); -+ -+ ret = malloc(l + 1); -+ for (i = 0; i < l; i++) -+ ret[i] = junk[i % (sizeof(junk) - 1)]; -+ ret[i] = '\0'; -+ return ret; -+} -+ - /* XXX - see also comment in auth-chall.c:verify_response */ - static int - sshpam_respond(void *ctx, u_int num, char **resp) - { - Buffer buffer; - struct pam_ctxt *ctxt = ctx; -+ char *fake; - - debug2("PAM: %s entering, %u responses", __func__, num); - switch (ctxt->pam_done) { -@@ -836,8 +858,11 @@ sshpam_respond(void *ctx, u_int num, char **resp) - (sshpam_authctxt->pw->pw_uid != 0 || - options.permit_root_login == PERMIT_YES)) - buffer_put_cstring(&buffer, *resp); -- else -- buffer_put_cstring(&buffer, badpw); -+ else { -+ fake = fake_password(*resp); -+ buffer_put_cstring(&buffer, fake); -+ free(fake); -+ } - if (ssh_msg_send(ctxt->pam_psock, PAM_AUTHTOK, &buffer) == -1) { - buffer_free(&buffer); - return (-1); -@@ -1181,6 +1206,7 @@ sshpam_auth_passwd(Authctxt *authctxt, const char *password) - { - int flags = (options.permit_empty_passwd == 0 ? - PAM_DISALLOW_NULL_AUTHTOK : 0); -+ char *fake = NULL; - - if (!options.use_pam || sshpam_handle == NULL) - fatal("PAM: %s called when PAM disabled or failed to " -@@ -1196,7 +1222,7 @@ sshpam_auth_passwd(Authctxt *authctxt, const char *password) - */ - if (!authctxt->valid || (authctxt->pw->pw_uid == 0 && - options.permit_root_login != PERMIT_YES)) -- sshpam_password = badpw; -+ sshpam_password = fake = fake_password(password); - - sshpam_err = pam_set_item(sshpam_handle, PAM_CONV, - (const void *)&passwd_conv); -@@ -1206,6 +1232,7 @@ sshpam_auth_passwd(Authctxt *authctxt, const char *password) - - sshpam_err = pam_authenticate(sshpam_handle, flags); - sshpam_password = NULL; -+ free(fake); - if (sshpam_err == PAM_SUCCESS && authctxt->valid) { - debug("PAM: password authentication accepted for %.100s", - authctxt->user); diff --git a/gnu/packages/patches/openssh-CVE-2016-6210-3.patch b/gnu/packages/patches/openssh-CVE-2016-6210-3.patch deleted file mode 100644 index 303c34ee1b..0000000000 --- a/gnu/packages/patches/openssh-CVE-2016-6210-3.patch +++ /dev/null @@ -1,60 +0,0 @@ -From abde8dda29c2db2405d6fbca2fe022430e2c1177 Mon Sep 17 00:00:00 2001 -From: Darren Tucker <dtucker@zip.com.au> -Date: Thu, 21 Jul 2016 14:17:31 +1000 -Subject: Search users for one with a valid salt. - -If the root account is locked (eg password "!!" or "*LK*") keep looking -until we find a user with a valid salt to use for crypting passwords of -invalid users. ok djm@ - -Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=dbf788b4d9d9490a5fff08a7b09888272bb10fcc -Bug-Debian: https://bugs.debian.org/831902 -Last-Update: 2016-07-22 - -Patch-Name: CVE-2016-6210-3.patch ---- - openbsd-compat/xcrypt.c | 24 +++++++++++++++--------- - 1 file changed, 15 insertions(+), 9 deletions(-) - -diff --git a/openbsd-compat/xcrypt.c b/openbsd-compat/xcrypt.c -index 8913bb8..cf6a9b9 100644 ---- a/openbsd-compat/xcrypt.c -+++ b/openbsd-compat/xcrypt.c -@@ -65,7 +65,9 @@ - - /* - * Pick an appropriate password encryption type and salt for the running -- * system. -+ * system by searching through accounts until we find one that has a valid -+ * salt. Usually this will be root unless the root account is locked out. -+ * If we don't find one we return a traditional DES-based salt. - */ - static const char * - pick_salt(void) -@@ -78,14 +80,18 @@ pick_salt(void) - if (salt[0] != '\0') - return salt; - strlcpy(salt, "xx", sizeof(salt)); -- if ((pw = getpwuid(0)) == NULL) -- return salt; -- passwd = shadow_pw(pw); -- if (passwd[0] != '$' || (p = strrchr(passwd + 1, '$')) == NULL) -- return salt; /* no $, DES */ -- typelen = p - passwd + 1; -- strlcpy(salt, passwd, MIN(typelen, sizeof(salt))); -- explicit_bzero(passwd, strlen(passwd)); -+ setpwent(); -+ while ((pw = getpwent()) != NULL) { -+ passwd = shadow_pw(pw); -+ if (passwd[0] == '$' && (p = strrchr(passwd+1, '$')) != NULL) { -+ typelen = p - passwd + 1; -+ strlcpy(salt, passwd, MIN(typelen, sizeof(salt))); -+ explicit_bzero(passwd, strlen(passwd)); -+ goto out; -+ } -+ } -+ out: -+ endpwent(); - return salt; - } - diff --git a/gnu/packages/patches/python-statsmodels-fix-tests.patch b/gnu/packages/patches/python-statsmodels-fix-tests.patch new file mode 100644 index 0000000000..3315ddbd5f --- /dev/null +++ b/gnu/packages/patches/python-statsmodels-fix-tests.patch @@ -0,0 +1,196 @@ +This patch fixes a couple of test failures introduced by changes to the pandas +package. It was extracted from this pull request: + +https://github.com/statsmodels/statsmodels/pull/2675 + + +From c9ef60a7bc4407766ab9e9f12c8a6b89013046ee Mon Sep 17 00:00:00 2001 +From: Ralf Gommers <ralf.gommers@gmail.com> +Date: Tue, 20 Oct 2015 07:34:11 +0200 +Subject: [PATCH 1/4] MAINT: fix use of old_behavior kw for numpy.correlate. + Was removed in 1.10.0 + +Numpy PR that removed it: https://github.com/numpy/numpy/pull/5991 + +Closes gh-2667. +--- + statsmodels/tsa/ar_model.py | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/statsmodels/tsa/ar_model.py b/statsmodels/tsa/ar_model.py +index 087a9e0..02984bd 100644 +--- a/statsmodels/tsa/ar_model.py ++++ b/statsmodels/tsa/ar_model.py +@@ -261,10 +261,8 @@ def _presample_varcov(self, params): + + Vpinv = np.zeros((p, p), dtype=params.dtype) + for i in range(1, p1): +- Vpinv[i-1, i-1:] = np.correlate(params0, params0[:i], +- old_behavior=False)[:-1] +- Vpinv[i-1, i-1:] -= np.correlate(params0[-i:], params0, +- old_behavior=False)[:-1] ++ Vpinv[i-1, i-1:] = np.correlate(params0, params0[:i],)[:-1] ++ Vpinv[i-1, i-1:] -= np.correlate(params0[-i:], params0,)[:-1] + + Vpinv = Vpinv + Vpinv.T - np.diag(Vpinv.diagonal()) + return Vpinv + +From f1dc8979b09bc1736149993f895943b3158ee2db Mon Sep 17 00:00:00 2001 +From: Ralf Gommers <ralf.gommers@gmail.com> +Date: Wed, 21 Oct 2015 22:05:52 +0200 +Subject: [PATCH 2/4] MAINT: fix graphics module for changes in recent pandas + versions. + +--- + statsmodels/graphics/tests/test_mosaicplot.py | 2 +- + statsmodels/graphics/tests/test_tsaplots.py | 6 +++--- + statsmodels/graphics/tsaplots.py | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/statsmodels/graphics/tests/test_mosaicplot.py b/statsmodels/graphics/tests/test_mosaicplot.py +index cb9bbbe..e41020e 100644 +--- a/statsmodels/graphics/tests/test_mosaicplot.py ++++ b/statsmodels/graphics/tests/test_mosaicplot.py +@@ -113,7 +113,7 @@ def test_mosaic(): + # sort by the marriage quality and give meaningful name + # [rate_marriage, age, yrs_married, children, + # religious, educ, occupation, occupation_husb] +- datas = datas.sort(['rate_marriage', 'religious']) ++ datas = datas.sort_values(by=['rate_marriage', 'religious']) + num_to_desc = {1: 'awful', 2: 'bad', 3: 'intermediate', + 4: 'good', 5: 'wonderful'} + datas['rate_marriage'] = datas['rate_marriage'].map(num_to_desc) +diff --git a/statsmodels/graphics/tests/test_tsaplots.py b/statsmodels/graphics/tests/test_tsaplots.py +index 511f18f..365be82 100644 +--- a/statsmodels/graphics/tests/test_tsaplots.py ++++ b/statsmodels/graphics/tests/test_tsaplots.py +@@ -1,4 +1,4 @@ +-from statsmodels.compat.python import lmap, lzip, map ++from statsmodels.compat.python import lmap, map + import numpy as np + import pandas as pd + from numpy.testing import dec +@@ -51,8 +51,8 @@ def test_plot_month(): + dta = sm.datasets.elnino.load_pandas().data + dta['YEAR'] = dta.YEAR.astype(int).apply(str) + dta = dta.set_index('YEAR').T.unstack() +- dates = lmap(lambda x : pd.datetools.parse('1 '+' '.join(x)), +- dta.index.values) ++ dates = lmap(lambda x : pd.datetools.parse_time_string('1 '+' '.join(x))[0], ++ dta.index.values) + + # test dates argument + fig = month_plot(dta.values, dates=dates, ylabel='el nino') +diff --git a/statsmodels/graphics/tsaplots.py b/statsmodels/graphics/tsaplots.py +index 3d04692..94626c9 100644 +--- a/statsmodels/graphics/tsaplots.py ++++ b/statsmodels/graphics/tsaplots.py +@@ -200,7 +200,7 @@ def seasonal_plot(grouped_x, xticklabels, ylabel=None, ax=None): + ticks = [] + for season, df in grouped_x: + df = df.copy() # or sort balks for series. may be better way +- df.sort() ++ df.sort_values(inplace=True) + nobs = len(df) + x_plot = np.arange(start, start + nobs) + ticks.append(x_plot.mean()) + +From 4cfbef6af137629c6953f1f025d9cfc781874256 Mon Sep 17 00:00:00 2001 +From: Ralf Gommers <ralf.gommers@gmail.com> +Date: Wed, 21 Oct 2015 22:15:25 +0200 +Subject: [PATCH 3/4] MAINT: work around pandas breaking backwards compat for + pandas.version + +--- + setup.py | 5 ++++- + statsmodels/tools/testing.py | 6 ++---- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/setup.py b/setup.py +index 0002840..74aefb8 100644 +--- a/setup.py ++++ b/setup.py +@@ -134,7 +134,10 @@ def check_dependency_versions(min_versions): + (spversion, min_versions['scipy'])) + + try: +- from pandas.version import short_version as pversion ++ import pandas ++ #FIXME: this will break for pandas 1.0.0. Needs elaborate parsing now, ++ # due to pandas removing version.short_version ++ pversion = pandas.__version__[:6] + except ImportError: + install_requires.append('pandas') + else: +diff --git a/statsmodels/tools/testing.py b/statsmodels/tools/testing.py +index e207e44..643f79f 100644 +--- a/statsmodels/tools/testing.py ++++ b/statsmodels/tools/testing.py +@@ -16,10 +16,8 @@ def strip_rc(version): + + + def is_pandas_min_version(min_version): +- '''check whether pandas is at least min_version +- ''' +- from pandas.version import short_version as pversion +- return StrictVersion(strip_rc(pversion)) >= min_version ++ '''check whether pandas is at least min_version ''' ++ return StrictVersion((pandas.__version__[:6])) >= min_version + + + # local copies, all unchanged + +From c894c3f4882d570efb517950069d83afa9794db8 Mon Sep 17 00:00:00 2001 +From: Ralf Gommers <ralf.gommers@gmail.com> +Date: Mon, 26 Oct 2015 20:47:51 +0100 +Subject: [PATCH 4/4] BUG: fix use of Series.sort_values for older pandas. + +Some failing tests in the previous commits because older ``pandas`` versions +don't have ``Series.sort_values``. That method was only added in pandas 0.17, +in https://github.com/pydata/pandas/pull/10726 +--- + statsmodels/graphics/tests/test_mosaicplot.py | 6 +++++- + statsmodels/graphics/tsaplots.py | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/statsmodels/graphics/tests/test_mosaicplot.py b/statsmodels/graphics/tests/test_mosaicplot.py +index e41020e..2a873e7 100644 +--- a/statsmodels/graphics/tests/test_mosaicplot.py ++++ b/statsmodels/graphics/tests/test_mosaicplot.py +@@ -113,7 +113,11 @@ def test_mosaic(): + # sort by the marriage quality and give meaningful name + # [rate_marriage, age, yrs_married, children, + # religious, educ, occupation, occupation_husb] +- datas = datas.sort_values(by=['rate_marriage', 'religious']) ++ if pandas.__version__ < '0.17.0': ++ datas = datas.sort(['rate_marriage', 'religious']) ++ else: ++ datas = datas.sort_values(by=['rate_marriage', 'religious']) ++ + num_to_desc = {1: 'awful', 2: 'bad', 3: 'intermediate', + 4: 'good', 5: 'wonderful'} + datas['rate_marriage'] = datas['rate_marriage'].map(num_to_desc) +diff --git a/statsmodels/graphics/tsaplots.py b/statsmodels/graphics/tsaplots.py +index 94626c9..217724f 100644 +--- a/statsmodels/graphics/tsaplots.py ++++ b/statsmodels/graphics/tsaplots.py +@@ -2,6 +2,7 @@ + + + import numpy as np ++import pandas + + from statsmodels.graphics import utils + from statsmodels.tsa.stattools import acf, pacf +@@ -200,7 +201,10 @@ def seasonal_plot(grouped_x, xticklabels, ylabel=None, ax=None): + ticks = [] + for season, df in grouped_x: + df = df.copy() # or sort balks for series. may be better way +- df.sort_values(inplace=True) ++ if pandas.__version__ < '0.17.0': ++ df.sort() ++ else: ++ df.sort_values(inplace=True) + nobs = len(df) + x_plot = np.arange(start, start + nobs) + ticks.append(x_plot.mean()) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 52734f5624..4423c77bbd 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2958,6 +2958,85 @@ either uses the first module it finds or throws an error.") versa.") (license (package-license perl)))) +(define-public perl-log-any + (package + (name "perl-log-any") + (version "1.040") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Log-Any-" + version ".tar.gz")) + (sha256 + (base32 + "0r1q7cclgwl24gzdnjzvd8y0r7j17dngjk492x35w198zhdj2ncp")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Log-Any") + (synopsis "Bringing loggers and listeners together") + (description "@code{Log::Any} provides a standard log production API for +modules. @code{Log::Any::Adapter} allows applications to choose the mechanism +for log consumption, whether screen, file or another logging mechanism like +@code{Log::Dispatch} or @code{Log::Log4perl}. + +A CPAN module uses @code{Log::Any} to get a log producer object. An +application, in turn, may choose one or more logging mechanisms via +@code{Log::Any::Adapter}, or none at all. + +@code{Log::Any} has a very tiny footprint and no dependencies beyond Perl +itself, which makes it appropriate for even small CPAN modules to use. It +defaults to 'null' logging activity, so a module can safely log without +worrying about whether the application has chosen (or will ever choose) a +logging mechanism.") + (license (package-license perl)))) + +(define-public perl-log-any-adapter-log4perl + (package + (name "perl-log-any-adapter-log4perl") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Log-Any-Adapter-Log4perl-" + version + ".tar.gz")) + (sha256 + (base32 + "0xf4fnrsznvg0hf36q481124ja1hp3lybki1xjgnk82z9990jmxn")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-log-any" ,perl-log-any) + ("perl-log-log4perl" ,perl-log-log4perl))) + (home-page + "http://search.cpan.org/dist/Log-Any-Adapter-Log4perl") + (synopsis "Log::Any adapter for Log::Log4perl") + (description "@code{Log::Any::Adapter::Log4perl} provides a +@code{Log::Any} adapter using @code{Log::Log4perl} for logging.") + (license (package-license perl)))) + +(define-public perl-log-log4perl + (package + (name "perl-log-log4perl") + (version "1.47") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MS/MSCHILLI/Log-Log4perl-" + version + ".tar.gz")) + (sha256 + (base32 + "0vxraq9navx5mgf8y8g6l5rbl3dv2ml8bishka5m69hj07nxs0ch")))) + (build-system perl-build-system) + (home-page + "http://search.cpan.org/dist/Log-Log4perl") + (synopsis "Log4j implementation for Perl") + (description "@code{Log::Log4perl} lets you remote-control and fine-tune +the logging behaviour of your system from the outside. It implements the +widely popular (Java-based) Log4j logging package in pure Perl.") + (license (package-license perl)))) + (define-public perl-log-report-optional (package (name "perl-log-report-optional") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5ba92b2aa3..470bad84ff 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6936,13 +6936,13 @@ WebSocket usage in Python programs.") (define-public python-atomicwrites (package (name "python-atomicwrites") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "atomicwrites" version)) (sha256 (base32 - "019fa4771q7fb1167yfbh6msdzcqini6v7i59rmf72mzdjd7x5qv")))) + "1s01dci8arsl9d9vr5nz1fk9znldp1z3l4yl43f0c27z12b8yxl0")))) (build-system python-build-system) (synopsis "Atomic file writes in Python") (description "Library for atomic file writes using platform dependent tools @@ -8836,12 +8836,7 @@ LDFLAGS and parse the output to build extensions with setup.py.") "126s53fkpx04f33a829yqqk8fj4png3qwg4m66cvlmhmwc8zihb4")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - ;; python setup.py test does not work as of 0.98 - ;; but there is only the one test file - (replace 'check - (lambda _ (zero? (system* "python" "test_bz2file.py"))))))) + `(#:tests? #f)) ; Tests use deprecated python modules. (home-page "https://github.com/nvawda/bz2file") (synopsis "Read and write bzip2-compressed files") (description @@ -8858,7 +8853,16 @@ development version of CPython that are not available in older releases.") (package (inherit base) (native-inputs - `(("python2-setuptools" ,python2-setuptools)))))) + `(("python2-setuptools" ,python2-setuptools))) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + ;; 'python setup.py test' does not work as of 0.98. + ;; There is only the one test file, so we run it directly. + (replace 'check + (lambda _ (zero? (system* "python" + "test_bz2file.py")))))))))) (define-public python-cysignals (package diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f2465509ec..9f59cf684d 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -60,7 +60,7 @@ (define-public qt (package (name "qt") - (version "5.5.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri @@ -72,7 +72,7 @@ version ".tar.xz")) (sha256 (base32 - "0615cn4n3n78v48lnmapqz2jizm2pzrjwvsjlnsf4awrsiiqw0kg")) + "1nrn2wivjwdxc9q03gpsi336gcl9l2axi0xjbzsha5v6akmsf26f")) (modules '((guix build utils))) (snippet '(begin @@ -151,46 +151,53 @@ ;; A more structural fix is needed. #:parallel-build? #f #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* '("configure" "qtbase/configure") - (("/bin/pwd") (which "pwd"))) - (substitute* "qtbase/src/corelib/global/global.pri" - (("/bin/ls") (which "ls"))) - ;; do not pass "--enable-fast-install", which makes the - ;; configure process fail - (zero? (system* - "./configure" - "-verbose" - "-prefix" out - "-opensource" - "-confirm-license" - ;; Most "-system-..." are automatic, but some use - ;; the bundled copy by default. - "-system-sqlite" - "-system-harfbuzz" - ;; explicitly link with openssl instead of dlopening it - "-openssl-linked" - ;; explicitly link with dbus instead of dlopening it - "-dbus-linked" - ;; drop special machine instructions not supported - ;; on all instances of the target - ,@(if (string-prefix? "x86_64" - (or (%current-target-system) - (%current-system))) - '() - '("-no-sse2")) - "-no-sse3" - "-no-ssse3" - "-no-sse4.1" - "-no-sse4.2" - "-no-avx" - "-no-avx2" - "-no-mips_dsp" - "-no-mips_dspr2")))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'configure 'patch-bin-sh + (lambda _ + (substitute* '("qtbase/config.status" + "qtbase/configure" + "qtbase/mkspecs/features/qt_functions.prf" + "qtbase/qmake/library/qmakebuiltins.cpp") + (("/bin/sh") (which "sh"))) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("configure" "qtbase/configure") + (("/bin/pwd") (which "pwd"))) + (substitute* "qtbase/src/corelib/global/global.pri" + (("/bin/ls") (which "ls"))) + ;; do not pass "--enable-fast-install", which makes the + ;; configure process fail + (zero? (system* + "./configure" + "-verbose" + "-prefix" out + "-opensource" + "-confirm-license" + ;; Most "-system-..." are automatic, but some use + ;; the bundled copy by default. + "-system-sqlite" + "-system-harfbuzz" + ;; explicitly link with openssl instead of dlopening it + "-openssl-linked" + ;; explicitly link with dbus instead of dlopening it + "-dbus-linked" + ;; drop special machine instructions not supported + ;; on all instances of the target + ,@(if (string-prefix? "x86_64" + (or (%current-target-system) + (%current-system))) + '() + '("-no-sse2")) + "-no-sse3" + "-no-ssse3" + "-no-sse4.1" + "-no-sse4.2" + "-no-avx" + "-no-avx2" + "-no-mips_dsp" + "-no-mips_dspr2")))))))) (home-page "http://qt-project.org/") (synopsis "Cross-platform GUI library") (description "Qt is a cross-platform application and UI framework for @@ -393,6 +400,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") (("/bin/pwd") (which "pwd"))) (substitute* "src/corelib/global/global.pri" (("/bin/ls") (which "ls"))) + ;; The configuration files for other Qt5 packages are searched + ;; through a call to "find_package" in Qt5Config.cmake, which + ;; disables the use of CMAKE_PREFIX_PATH via the parameter + ;; "NO_DEFAULT_PATH". Re-enable it so that the different + ;; components can be installed in different places. + (substitute* (find-files "." ".*\\.cmake") + (("NO_DEFAULT_PATH") "")) ;; do not pass "--enable-fast-install", which makes the ;; configure process fail (zero? (system* diff --git a/gnu/packages/rc.scm b/gnu/packages/rc.scm deleted file mode 100644 index d3edf9e997..0000000000 --- a/gnu/packages/rc.scm +++ /dev/null @@ -1,72 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Jeff Mickey <j@codemac.net> -;;; -;;; 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 rc) - #:use-module (gnu packages autotools) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages readline) - #:use-module (guix build-system gnu) - #:use-module (guix git-download) - #:use-module (guix licenses) - #:use-module (guix packages)) - -(define-public rc - (package - (name "rc") - (version "1.7.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://github.com/rakitzis/rc.git") - ;; commit name 'release: rc-1.7.4' - (commit "c884da53a7c885d46ace2b92de78946855b18e92"))) - (sha256 - (base32 - "00mgzvrrh9w96xa85g4gjbsvq02f08k4jwjcdnxq7kyh5xgiw95l")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - '("--with-edit=gnu") - #:phases - (modify-phases %standard-phases - (add-after - 'unpack 'autoreconf - (lambda _ (zero? (system* "autoreconf" "-vfi")))) - (add-before - 'autoreconf 'patch-trip.rc - (lambda _ - (substitute* "trip.rc" - (("/bin/pwd") (which "pwd")) - (("/bin/sh") (which "sh")) - (("/bin/rm") (which "rm")) - (("/bin\\)") (string-append (dirname (which "rm")) ")"))) - #t))))) - (inputs `(("readline" ,readline) - ("perl" ,perl))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) - (synopsis "Alternative implementation of the rc shell by Byron Rakitzis") - (description - "This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It -has a small feature set similar to a traditional Bourne shell.") - (home-page "http://github.com/rakitzis/rc") - (license zlib))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 028b82daaf..53e183b377 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -908,13 +908,13 @@ Ruby Gems.") (define-public ruby-ffi (package (name "ruby-ffi") - (version "1.9.10") + (version "1.9.14") (source (origin (method url-fetch) (uri (rubygems-uri "ffi" version)) (sha256 (base32 - "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj")))) + "1nkcrmxqr0vb1y4rwliclwlj2ajsi4ddpdx2gvzjy0xbkk5iqzfp")))) (build-system ruby-build-system) ;; FIXME: Before running tests the build system attempts to build libffi ;; from sources. @@ -1909,37 +1909,48 @@ to reproduce user environments.") (define-public ruby-nokogiri (package (name "ruby-nokogiri") - (version "1.6.7.2") + (version "1.6.8") (source (origin (method url-fetch) (uri (rubygems-uri "nokogiri" version)) (sha256 (base32 - "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv")))) + "17pjhvm4yigriizxbbpx266nnh6nckdm33m3j4ws9dcg99daz91p")))) (build-system ruby-build-system) (arguments ;; Tests fail because Nokogiri can only test with an installed extension, ;; and also because many test framework dependencies are missing. - '(#:tests? #f + `(#:tests? #f #:gem-flags (list "--" "--use-system-libraries" (string-append "--with-xml2-include=" (assoc-ref %build-inputs "libxml2") "/include/libxml2" )) #:phases (modify-phases %standard-phases - (add-after 'extract-gemspec 'update-dependency - (lambda _ - (substitute* ".gemspec" (("2.0.0.rc2") "2.0")) + (add-before 'build 'patch-extconf + ;; 'pkg-config' is not included in the GEM_PATH during + ;; installation, so we add it directly to the load path. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((pkg-config (assoc-ref inputs "ruby-pkg-config")) + (pkg-config-home (gem-home pkg-config + ,(package-version ruby)))) + (substitute* "ext/nokogiri/extconf.rb" + (("gem 'pkg-config'.*") + (string-append "$:.unshift '" + pkg-config-home + "/gems/pkg-config-" + ,(package-version ruby-pkg-config) + "/lib'\n")))) #t))))) (native-inputs - `(("ruby-hoe" ,ruby-hoe) - ("ruby-rake-compiler" ,ruby-rake-compiler))) + `(("ruby-hoe" ,ruby-hoe))) (inputs `(("zlib" ,zlib) ("libxml2" ,libxml2) ("libxslt" ,libxslt))) (propagated-inputs - `(("ruby-mini-portile" ,ruby-mini-portile-2))) + `(("ruby-mini-portile" ,ruby-mini-portile-2) + ("ruby-pkg-config" ,ruby-pkg-config))) (synopsis "HTML, XML, SAX, and Reader parser for Ruby") (description "Nokogiri (鋸) parses and searches XML/HTML, and features both CSS3 selector and XPath 1.0 support.") @@ -4116,3 +4127,25 @@ inspired by Erlang, Clojure, Go, JavaScript, actors and classic concurrency patterns.") (home-page "http://www.concurrent-ruby.com") (license license:expat))) + +(define-public ruby-pkg-config + (package + (name "ruby-pkg-config") + (version "1.1.7") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "pkg-config" version)) + (sha256 + (base32 + "0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z")))) + (build-system ruby-build-system) + (arguments + ;; Tests require extra files not included in the gem. + `(#:tests? #f)) + (synopsis "Detect libraries for compiling Ruby native extensions") + (description + "@code{pkg-config} can be used in your extconf.rb to properly detect need +libraries for compiling Ruby native extensions.") + (home-page "https://github.com/ruby-gnome2/pkg-config") + (license license:lgpl2.0+))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm new file mode 100644 index 0000000000..b3fd5fa1cd --- /dev/null +++ b/gnu/packages/shells.scm @@ -0,0 +1,215 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> +;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org> +;;; Copyright © 2015 Jeff Mickey <j@codemac.net> +;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> +;;; +;;; 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 shells) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages documentation) + #:use-module (gnu packages libedit) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (guix packages)) + +(define-public dash + (package + (name "dash") + (version "0.5.9") + (source + (origin + (method url-fetch) + (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "17328wd9n5krr5wd37smrk0y7fdf8aa3hmhm02br5mqpq0a3nycj")) + (modules '((guix build utils))) + (snippet + '(begin + ;; The man page hails from BSD, where (d)ash is the default shell. + ;; This isn't the case on Guix or indeed most other GNU systems. + (substitute* "src/dash.1" + (("the standard command interpreter for the system") + "a command interpreter based on the original Bourne shell")) + #t)))) + (build-system gnu-build-system) + (inputs + `(("libedit" ,libedit))) + (arguments + `(#:configure-flags '("--with-libedit"))) + (home-page "http://gondor.apana.org.au/~herbert/dash") + (synopsis "POSIX-compliant shell optimised for size") + (description + "dash is a POSIX-compliant @command{/bin/sh} implementation that aims to be +as small as possible, often without sacrificing speed. It is faster than the +GNU Bourne-Again Shell (@command{bash}) at most scripted tasks. dash is a +direct descendant of NetBSD's Almquist Shell (@command{ash}).") + (license (list bsd-3 + gpl2+)))) ; mksignames.c + +(define-public fish + (package + (name "fish") + (version "2.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://fishshell.com/files/" + version "/fish-" version ".tar.gz")) + (sha256 + (base32 + "0r46p64lg6da3v6chsa4gisvl04kd3rpy60yih8r870kbp9wm2ij")) + (modules '((guix build utils))) + ;; Don't try to install /etc/fish/config.fish. + (snippet + '(substitute* "Makefile.in" + ((".*INSTALL.*sysconfdir.*fish.*") ""))))) + (build-system gnu-build-system) + (native-inputs + `(("doxygen" ,doxygen))) + (inputs + `(("ncurses" ,ncurses) + ("python" ,python-wrapper))) ;for fish_config and manpage completions + (arguments + '(#:tests? #f ; no check target + #:configure-flags '("--sysconfdir=/etc"))) + (synopsis "The friendly interactive shell") + (description + "Fish (friendly interactive shell) is a shell focused on interactive use, +discoverability, and friendliness. Fish has very user-friendly and powerful +tab-completion, including descriptions of every completion, completion of +strings with wildcards, and many completions for specific commands. It also +has extensive and discoverable help. A special help command gives access to +all the fish documentation in your web browser. Other features include smart +terminal handling based on terminfo, an easy to search history, and syntax +highlighting.") + (home-page "https://fishshell.com/") + (license gpl2))) + +(define-public rc + (package + (name "rc") + (version "1.7.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://github.com/rakitzis/rc.git") + ;; commit name 'release: rc-1.7.4' + (commit "c884da53a7c885d46ace2b92de78946855b18e92"))) + (sha256 + (base32 + "00mgzvrrh9w96xa85g4gjbsvq02f08k4jwjcdnxq7kyh5xgiw95l")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--with-edit=gnu") + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'autoreconf + (lambda _ (zero? (system* "autoreconf" "-vfi")))) + (add-before + 'autoreconf 'patch-trip.rc + (lambda _ + (substitute* "trip.rc" + (("/bin/pwd") (which "pwd")) + (("/bin/sh") (which "sh")) + (("/bin/rm") (which "rm")) + (("/bin\\)") (string-append (dirname (which "rm")) ")"))) + #t))))) + (inputs `(("readline" ,readline) + ("perl" ,perl))) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (synopsis "Alternative implementation of the rc shell by Byron Rakitzis") + (description + "This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It +has a small feature set similar to a traditional Bourne shell.") + (home-page "http://github.com/rakitzis/rc") + (license zlib))) + +(define-public tcsh + (package + (name "tcsh") + (version "6.18.01") + (source (origin + (method url-fetch) + ;; Old tarballs are moved to old/. + (uri (list (string-append "ftp://ftp.astron.com/pub/tcsh/" + "tcsh-" version ".tar.gz") + (string-append "ftp://ftp.astron.com/pub/tcsh/" + "old/tcsh-" version ".tar.gz"))) + (sha256 + (base32 + "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q")) + (patches (search-patches "tcsh-fix-autotest.patch")) + (patch-flags '("-p0")))) + (build-system gnu-build-system) + (inputs + `(("autoconf" ,autoconf) + ("coreutils" ,coreutils) + ("ncurses" ,ncurses))) + (arguments + `(#:phases + (alist-cons-before + 'check 'patch-test-scripts + (lambda _ + ;; Take care of pwd + (substitute* '("tests/commands.at" "tests/variables.at") + (("/bin/pwd") (which "pwd"))) + ;; The .at files create shell scripts without shebangs. Erk. + (substitute* "tests/commands.at" + (("./output.sh") "/bin/sh output.sh")) + (substitute* "tests/syntax.at" + (("; other_script.csh") "; /bin/sh other_script.csh")) + ;; Now, let's generate the test suite and patch it + (system* "make" "tests/testsuite") + + ;; This file is ISO-8859-1 encoded. + (with-fluids ((%default-port-encoding #f)) + (substitute* "tests/testsuite" + (("/bin/sh") (which "sh"))))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (with-directory-excursion bin + (symlink "tcsh" "csh")))) + %standard-phases)))) + (home-page "http://www.tcsh.org/") + (synopsis "Unix shell based on csh") + (description + "Tcsh is an enhanced, but completely compatible version of the Berkeley +UNIX C shell (csh). It is a command language interpreter usable both as an +interactive login shell and a shell script command processor. It includes a +command-line editor, programmable word completion, spelling correction, a +history mechanism, job control and a C-like syntax.") + (license bsd-4))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index a669ccfc9b..bca443390d 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -124,7 +124,7 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "7.2p2") + (version "7.3p1") (source (origin (method url-fetch) (uri (let ((tail (string-append name "-" version ".tar.gz"))) @@ -135,15 +135,12 @@ a server that supports the SSH-2 protocol.") (string-append "http://ftp2.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/" tail)))) (sha256 (base32 - "132lh9aanb0wkisji1d6cmsxi520m8nh7c7i9wi6m1s3l38q29x7")) - (patches (search-patches "openssh-CVE-2015-8325.patch" - "openssh-CVE-2016-6210-1.patch" - "openssh-CVE-2016-6210-2.patch" - "openssh-CVE-2016-6210-3.patch")))) + "1k5y1wi29d47cgizbryxrhc1fbjsba2x8l5mqfa9b9nadnd9iyrz")))) (build-system gnu-build-system) (inputs `(("groff" ,groff) ("openssl" ,openssl) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" #:phases diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 2365149fad..990f2fc132 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1331,7 +1331,8 @@ building design matrices.") "s/statsmodels/statsmodels-" version ".tar.gz")) (sha256 (base32 - "0xn67sqr0cc1lmlhzm71352hrb4hw7g318p5ff5q97pc98vl8kmy")))) + "0xn67sqr0cc1lmlhzm71352hrb4hw7g318p5ff5q97pc98vl8kmy")) + (patches (search-patches "python-statsmodels-fix-tests.patch")))) (build-system python-build-system) (arguments `(#:phases @@ -1375,7 +1376,8 @@ inference for statistical models.") (let ((stats (package-with-python2 python-statsmodels))) (package (inherit stats) (propagated-inputs - `(("python2-numpy" ,python2-numpy) + `(("python2-pytz" ,python2-pytz) + ("python2-numpy" ,python2-numpy) ("python2-scipy" ,python2-scipy) ("python2-pandas" ,python2-pandas) ("python2-patsy" ,python2-patsy) diff --git a/gnu/packages/tcsh.scm b/gnu/packages/tcsh.scm deleted file mode 100644 index 5e3df2ba3f..0000000000 --- a/gnu/packages/tcsh.scm +++ /dev/null @@ -1,86 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.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 packages tcsh) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages base) - #:use-module (gnu packages ncurses)) - -(define-public tcsh - (package - (name "tcsh") - (version "6.18.01") - (source (origin - (method url-fetch) - ;; Old tarballs are moved to old/. - (uri (list (string-append "ftp://ftp.astron.com/pub/tcsh/" - "tcsh-" version ".tar.gz") - (string-append "ftp://ftp.astron.com/pub/tcsh/" - "old/tcsh-" version ".tar.gz"))) - (sha256 - (base32 - "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q")) - (patches (search-patches "tcsh-fix-autotest.patch")) - (patch-flags '("-p0")))) - (build-system gnu-build-system) - (inputs - `(("autoconf" ,autoconf) - ("coreutils" ,coreutils) - ("ncurses" ,ncurses))) - (arguments - `(#:phases - (alist-cons-before - 'check 'patch-test-scripts - (lambda _ - ;; Take care of pwd - (substitute* '("tests/commands.at" "tests/variables.at") - (("/bin/pwd") (which "pwd"))) - ;; The .at files create shell scripts without shebangs. Erk. - (substitute* "tests/commands.at" - (("./output.sh") "/bin/sh output.sh")) - (substitute* "tests/syntax.at" - (("; other_script.csh") "; /bin/sh other_script.csh")) - ;; Now, let's generate the test suite and patch it - (system* "make" "tests/testsuite") - - ;; This file is ISO-8859-1 encoded. - (with-fluids ((%default-port-encoding #f)) - (substitute* "tests/testsuite" - (("/bin/sh") (which "sh"))))) - (alist-cons-after - 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin"))) - (with-directory-excursion bin - (symlink "tcsh" "csh")))) - %standard-phases)))) - (home-page "http://www.tcsh.org/") - (synopsis "Unix shell based on csh") - (description - "Tcsh is an enhanced, but completely compatible version of the Berkeley -UNIX C shell (csh). It is a command language interpreter usable both as an -interactive login shell and a shell script command processor. It includes a -command-line editor, programmable word completion, spelling correction, a -history mechanism, job control and a C-like syntax.") - (license bsd-4))) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index b27dd1f6d6..d8a33ddf3d 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> +;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,8 +26,11 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages gnupg) #:use-module (gnu packages linux) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls) + #:use-module (gnu packages xiph) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -252,3 +256,33 @@ Voice-over-IP (VoIP) communications.") ;; covered under the 'GPL'. ;; The package as a whole is distributed under the LGPL 2.0. (license (list lgpl2.0 public-domain gpl2+))))) + +(define-public seren + (package + (name "seren") + (version "0.0.21") + (source (origin + (method url-fetch) + (uri (string-append "http://holdenc.altervista.org/" + "seren/downloads/seren-" version + ".tar.gz")) + (sha256 + (base32 + "06mams6bng7ib7p2zpfq88kdr4ffril9svzc9lprkb0wjgmkglk9")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ; no "check" target + (inputs + `(("alsa-lib" ,alsa-lib) + ("gmp" ,gmp) + ("libogg" ,libogg) + ("ncurses" ,ncurses) + ("opus" ,opus))) + (synopsis "Simple VoIP program to create conferences from the terminal") + (description + "Seren is a simple VoIP program based on the Opus codec that allows you +to create a voice conference from the terminal, with up to 10 participants, +without having to register accounts, exchange emails, or add people to contact +lists. All you need to join an existing conference is the host name or IP +address of one of the participants.") + (home-page "http://holdenc.altervista.org/seren/") + (license gpl3+))) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 8501792250..9dde8a9eab 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -45,7 +45,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages ruby) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages base) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 9abaabad89..92564ba24d 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -326,7 +326,7 @@ required structures.") (define-public libressl (package (name "libressl") - (version "2.3.6") + (version "2.4.2") (source (origin (method url-fetch) @@ -335,7 +335,7 @@ required structures.") version ".tar.gz")) (sha256 (base32 - "1yipsp1ici207nbminbf1knh252kzvqg036v0xpx0fw1wrwlg2im")))) + "1qyrcyzrrn6r9cqvm66ib72qyr65q4hrdyiq1vb24a6nwmwdg1sz")))) (build-system gnu-build-system) (native-search-paths ;; FIXME: These two variables must designate a single file or directory diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 73433e955f..44f94ff49e 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -26,7 +26,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages admin) ; For GNU hostname - #:use-module (gnu packages tcsh)) + #:use-module (gnu packages shells)) (define-public vim (package diff --git a/gnu/system.scm b/gnu/system.scm index 04dd7a845c..d6bf6c413c 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -545,7 +545,12 @@ use 'plain-file' instead~%") ;; By default, applications that use D-Bus, such as Emacs, abort at startup ;; when /etc/machine-id is missing. Make sure these warnings are non-fatal. - ("DBUS_FATAL_WARNINGS" . "0"))) + ("DBUS_FATAL_WARNINGS" . "0") + + ;; XXX: Normally we wouldn't need to do this, but our glibc@2.23 package + ;; looks things up in 'PREFIX/lib/locale' instead of + ;; '/run/current-system/locale' as was intended. + ("GUIX_LOCPATH" . "/run/current-system/locale"))) (define %setuid-programs ;; Default set of setuid-root programs. diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index d0a9f0288f..7b91fcfc41 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -81,14 +81,7 @@ (documentation "Map a device node using Linux's device mapper.") (start #~(lambda () #$(open source target))) (stop #~(lambda _ (not #$(close source target)))) - (respawn? #f) - - ;; Add the modules needed by LUKS-DEVICE-MAPPING. - ;; FIXME: This info should be propagated via gexps. - (modules `((rnrs bytevectors) ;bytevector? - ((gnu build file-systems) - #:select (find-partition-by-luks-uuid)) - ,@%default-modules))))))) + (respawn? #f)))))) (define (device-mapping-service mapped-device) "Return a service that sets up @var{mapped-device}." @@ -105,6 +98,11 @@ (with-imported-modules '((gnu build file-systems) (guix build bournish)) #~(let ((source #$source)) + ;; XXX: 'use-modules' should be at the top level. + (use-modules (rnrs bytevectors) ;bytevector? + ((gnu build file-systems) + #:select (find-partition-by-luks-uuid))) + (zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup") "open" "--type" "luks" @@ -130,20 +128,31 @@ (open open-luks-device) (close close-luks-device))) -(define (open-raid-device source target) - "Return a gexp that assembles SOURCE (a list of devices) to the RAID device -TARGET, using 'mdadm'." - #~(let ((every (@ (srfi srfi-1) every))) - (let loop () - (unless (every file-exists? '#$source) - (format #t "waiting a bit...~%") +(define (open-raid-device sources target) + "Return a gexp that assembles SOURCES (a list of devices) to the RAID device +TARGET (e.g., \"/dev/md0\"), using 'mdadm'." + #~(let ((sources '#$sources) + + ;; XXX: We're not at the top level here. We could use a + ;; non-top-level 'use-modules' form but that doesn't work when the + ;; code is eval'd, like the Shepherd does. + (every (@ (srfi srfi-1) every)) + (format (@ (ice-9 format) format))) + (let loop ((attempts 0)) + (unless (every file-exists? sources) + (when (> attempts 20) + (error "RAID devices did not show up; bailing out" + sources)) + + (format #t "waiting for RAID source devices~{ ~a~}...~%" + sources) (sleep 1) - (loop))) - (zero? (system* (string-append #$mdadm "/sbin/mdadm") - "--assemble" #$target - #$@source)))) + (loop (+ 1 attempts)))) + + (zero? (system* (string-append #$mdadm "/sbin/mdadm") + "--assemble" #$target sources)))) -(define (close-raid-device source target) +(define (close-raid-device sources target) "Return a gexp that stops the RAID device TARGET." #~(zero? (system* (string-append #$mdadm "/sbin/mdadm") "--stop" #$target))) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index a6278b25d4..7170ab1e38 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -178,6 +178,18 @@ info --version") '(false-if-exception (getaddrinfo "does-not-exist")) marionette)) + (test-equal "locale" + "en_US.utf8" + (marionette-eval '(begin + ;; XXX: This 'setenv' call wouldn't be needed + ;; but our glibc@2.23 currently ignores + ;; /run/current-system/locale. + (setenv "GUIX_LOCPATH" + "/run/current-system/locale") + (let ((before (setlocale LC_ALL "en_US.utf8"))) + (setlocale LC_ALL before))) + marionette)) + (test-assert "screendump" (begin (marionette-control (string-append "screendump " #$output |