Merge remote-tracking branch 'origin/master' into core-updates

master
Efraim Flashner 2017-02-20 12:56:14 +02:00
commit d15432ca9e
No known key found for this signature in database
GPG Key ID: F4C1D3917EACEE93
91 changed files with 20733 additions and 410 deletions

View File

@ -3,7 +3,7 @@
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2015 Alex Kost <alezost@gmail.com>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2016 Mark H Weaver <mhw@netris.org>
# Copyright © 2016, 2017 Mark H Weaver <mhw@netris.org>
#
# This file is part of GNU Guix.
#
@ -198,6 +198,8 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
# Linux-Libre configurations.
KCONFIGS = \
gnu/packages/linux-libre-4.10-i686.conf \
gnu/packages/linux-libre-4.10-x86_64.conf \
gnu/packages/linux-libre-4.9-i686.conf \
gnu/packages/linux-libre-4.9-x86_64.conf \
gnu/packages/linux-libre-4.4-i686.conf \

View File

@ -282,7 +282,19 @@ keyword parameters for procedures that take more than four parameters.
Development is done using the Git distributed version control system.
Thus, access to the repository is not strictly necessary. We welcome
contributions in the form of patches as produced by @code{git
format-patch} sent to the @email{guix-devel@@gnu.org, mailing list}.
format-patch} sent to the @email{guix-patches@@gnu.org} mailing list.
This mailing list is backed by a Debbugs instance accessible at
@uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track
of submissions. Each message sent to that mailing list gets a new
tracking number assigned; people can then follow up on the submission by
sending email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is
the tracking number. When sending a patch series, please first send one
message to @email{guix-patches@@gnu.org}, and then send subsequent
patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept
together. See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs
documentation}, for more information.
Please write commit logs in the ChangeLog format (@pxref{Change Logs,,,
standards, GNU Coding Standards}); you can check the commit history for
examples.

View File

@ -9264,6 +9264,23 @@ Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/IPv6
sockets.
@end deffn
@deffn {Scheme Variable} openvswitch-service-type
This is the type of the @uref{http://www.openvswitch.org, Open vSwitch}
service, whose value should be an @code{openvswitch-configuration}
object.
@end deffn
@deftp {Data Type} openvswitch-configuration
Data type representing the configuration of Open vSwitch, a multilayer
virtual switch which is designed to enable massive network automation
through programmatic extension.
@table @asis
@item @code{package} (default: @var{openvswitch})
Package object of the Open vSwitch.
@end table
@end deftp
@node X Window
@subsubsection X Window

View File

@ -342,6 +342,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/serveez.scm \
%D%/packages/shells.scm \
%D%/packages/shellutils.scm \
%D%/packages/simh.scm \
%D%/packages/skarnet.scm \
%D%/packages/skribilo.scm \
%D%/packages/slang.scm \
@ -460,6 +461,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/nfs.scm \
%D%/tests/install.scm \
%D%/tests/mail.scm \
%D%/tests/messaging.scm \
%D%/tests/ssh.scm \
%D%/tests/web.scm
@ -633,6 +635,7 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-fortrantests.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hop-linker-flags.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/hypre-doc-tables.patch \
%D%/packages/patches/hypre-ldflags.patch \
@ -765,7 +768,9 @@ dist_patch_DATA = \
%D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netcdf-tst_h_par.patch \
%D%/packages/patches/netsurf-about.patch \
%D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/ngircd-no-dns-in-tests.patch \
%D%/packages/patches/ninja-tests.patch \
@ -864,7 +869,10 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-CVE-2017-5552.patch \
%D%/packages/patches/qemu-CVE-2017-5578.patch \
%D%/packages/patches/qemu-CVE-2017-5579.patch \
%D%/packages/patches/qemu-CVE-2017-5667.patch \
%D%/packages/patches/qemu-CVE-2017-5856.patch \
%D%/packages/patches/qemu-CVE-2017-5898.patch \
%D%/packages/patches/qemu-CVE-2017-5931.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/rapicorn-isnan.patch \
@ -881,10 +889,12 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/screen-CVE-2017-5618.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/serf-comment-style-fix.patch \
%D%/packages/patches/serf-deflate-buckets-test-fix.patch \
%D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \
@ -892,6 +902,9 @@ dist_patch_DATA = \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
%D%/packages/patches/soprano-find-clucene.patch \
%D%/packages/patches/spice-CVE-2016-9577.patch \
%D%/packages/patches/spice-CVE-2016-9578-1.patch \
%D%/packages/patches/spice-CVE-2016-9578-2.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swish-e-search.patch \
@ -936,6 +949,8 @@ dist_patch_DATA = \
%D%/packages/patches/util-linux-tests.patch \
%D%/packages/patches/upower-builddir.patch \
%D%/packages/patches/valgrind-enable-arm.patch \
%D%/packages/patches/vdirsyncer-test-suite-slow-machines.patch \
%D%/packages/patches/vim-CVE-2017-5953.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
%D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \

View File

@ -12,7 +12,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Coypright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Coypright © 2016 John Darrington <jmd@gnu.org>
;;;
@ -273,40 +273,41 @@ client and server, a telnet client and server, and an rsh client and server.")
(define-public shadow
(package
(name "shadow")
(version "4.2.1")
(version "4.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://pkg-shadow.alioth.debian.org/releases/"
name "-" version ".tar.xz"))
"https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz"))
(patches (search-patches "shadow-4.4-su-snprintf-fix.patch"))
(sha256
(base32
"0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v"))))
"0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1"))))
(build-system gnu-build-system)
(arguments
'(;; Assume System V `setpgrp (void)', which is the default on GNU
;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
#:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
#:configure-flags
'("--with-libpam" "ac_cv_func_setpgrp_void=yes")
#:phases (alist-cons-before
'build 'set-nscd-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right file name for nscd.
(let ((libc (assoc-ref inputs "libc")))
(substitute* "lib/nscd.c"
(("/usr/sbin/nscd")
(string-append libc "/sbin/nscd")))))
(alist-cons-after
'install 'remove-groups
(lambda* (#:key outputs #:allow-other-keys)
;; Remove `groups', which is already provided by Coreutils.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man")))
(delete-file (string-append bin "/groups"))
(for-each delete-file (find-files man "^groups\\."))
#t))
%standard-phases))))
#:phases
(modify-phases %standard-phases
(add-before 'build 'set-nscd-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right file name for nscd.
(let ((libc (assoc-ref inputs "libc")))
(substitute* "lib/nscd.c"
(("/usr/sbin/nscd")
(string-append libc "/sbin/nscd"))))))
(add-after 'install 'remove-groups
(lambda* (#:key outputs #:allow-other-keys)
;; Remove `groups', which is already provided by Coreutils.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man")))
(delete-file (string-append bin "/groups"))
(for-each delete-file (find-files man "^groups\\."))
#t))))))
(inputs (if (string-suffix? "-linux"
(or (%current-target-system)
@ -1919,3 +1920,65 @@ in order to be able to find it.
@item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
@end enumerate")
(license license:gpl2+)))
(define-public sedsed
(package
(name "sedsed")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/aureliojargas/sedsed/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0139jkqvm8ipiwfj7k69ry2f9b1ffgpk79arpz4r7w9kf6h23bnh"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; No tests.
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sed-in
(lambda _
(substitute* "sedsed.py"
(("sedbin = 'sed'")
(string-append "sedbin = '" (which "sed") "'")))
#t))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
;; Just one file to copy around
(install-file "sedsed.py" bin)
#t)))
(add-after 'install 'symlink
;; Create 'sedsed' symlink to "sedsed.py".
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(sed (string-append bin "/sedsed"))
(sedpy (string-append bin "/sedsed.py")))
(symlink sedpy sed)
#t))))))
(home-page "http://aurelio.net/projects/sedsed")
(synopsis "Sed sed scripts")
(description
"@code{sedsed} can debug, indent, tokenize and HTMLize your sed(1) script.
In debug mode it reads your script and add extra commands to it. When
executed you can see the data flow between the commands, revealing all the
magic sed does on its internal buffers.
In indent mode your script is reformatted with standard spacing.
In tokenize mode you can see the elements of every command you use.
In HTMLize mode your script is converted to a beautiful colored HTML file,
with all the commands and parameters identified for your viewing pleasure.
With sedsed you can master any sed script. No more secrets, no more hidden
buffers.")
(license license:expat)))

View File

@ -186,7 +186,7 @@ streams from live audio.")
(define-public ardour
(package
(name "ardour")
(version "5.5")
(version "5.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -203,7 +203,7 @@ streams from live audio.")
namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
(sha256
(base32
"1a3whv2dhl073pkd803hcp53rdmm31adjwn40qi06lkjb7rgwrlh"))
"1fgvjmvdyh61qn8azpmh19ac58ps5sl2dywwshr56v0svakhwwh9"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments

View File

@ -408,13 +408,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
(version "1.0.9")
(version "1.0.10")
(source (origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32
"1ciwp9yilcibk0x82y5nn8ps95jrm8rxvff8mjrlp7a2w100i1im"))
"1sarmpzwr8dhbg0hsvaclcsjfax36ssb32d9klhhah4j8kqji3wp"))
(modules '((guix build utils)))
(snippet
'(for-each

View File

@ -84,13 +84,13 @@ data units.")
(define-public khal
(package
(name "khal")
(version "0.9.1")
(version "0.9.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"15rxjphjp46lz7gbs39d1ajd9flnhmhqicjh9bjpx3yi5xx4iawr"))))
"1ryh5c7408w8gpql5s9mkxkvz1ngnds3xm43p7r96ynx8prr9swp"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -314,14 +314,14 @@ no man page, refer to the home page for usage details.")
(define-public tomb
(package
(name "tomb")
(version "2.2")
(version "2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/"
"tomb-" version ".tar.gz"))
"Tomb-" version ".tar.gz"))
(sha256
(base32
"11msj38fdmymiqcmwq1883kjqi5zr01ybdjj58rfjjrw4zw2w5y0"))))
"1j90ab8x4cf10167yw4cs4frz694gb0qwkhgqiz1ly7mnr8ysmby"))))
(build-system gnu-build-system)
(inputs
`(("zsh" ,zsh)
@ -382,7 +382,7 @@ user's graphical desktop.")
(define-public scrypt
(package
(name "scrypt")
(version "1.2.0")
(version "1.2.1")
(source
(origin
(method url-fetch)
@ -390,7 +390,7 @@ user's graphical desktop.")
version ".tgz"))
(sha256
(base32
"1m39hpfby0fdjam842773i5w7pa0qaj7f0r22jnchxsj824vqm0p"))))
"0xy5yhrwwv13skv9im9vm76rybh9f29j2dh4hlh2x01gvbkza8a6"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -396,14 +396,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
(version "9.5.5")
(version "9.5.6")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"157kf6mdazmxfmd11f0akya2xcz6sfgprn7yqc26dpklps855ih2"))))
"0bz1b9r249ffjfvldaiah2g78ccwq30ddh8hdvlq61z26inmz7mv"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1372,7 +1372,7 @@ development.")
(define-public python-pyodbc-c
(package
(name "python-pyodbc-c")
(version "3.1.2")
(version "3.1.4")
(source
(origin
(method url-fetch)
@ -1380,7 +1380,7 @@ development.")
"archive.tar.gz?ref=v" version))
(sha256
(base32
"0nl11n3mgrcfnhimjqgv48rxqnb21l5m6s7p8ps2fa4nn4z6rzy0"))
"05aq2297k779xidmxcwkrrxjvj1bh2q7d9a1rcjv6zr15y764ga9"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +21,7 @@
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages python))
(define-public radicale
@ -58,14 +59,21 @@ clients.")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(patches
(search-patches "vdirsyncer-test-suite-slow-machines.patch"))
(sha256
(base32
"044f01fjd8dpz4y9dm3qcc1a8cihcxxbr1sz6y6fkvglpb6k85y5"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; vdirsyncer requires itself to be installed in order to build
;; the manpage.
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(setenv "DETERMINISTIC_TESTS" "true")
(setenv "DAV_SERVER" "radicale")
(setenv "REMOTESTORAGE_SERVER" "skip")
(zero? (system* "make" "test"))))
(add-after 'install 'manpage
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
@ -74,16 +82,7 @@ clients.")
"docs/_build/man/vdirsyncer.1"
(string-append
(assoc-ref outputs "out")
"/share/man/man1"))))
;; vdirsyncer requires itself to be installed in order to run the test
;; suite.
(delete 'check)
(add-after 'install 'check-later
(lambda _
(setenv "DETERMINISTIC_TESTS" "true")
(setenv "DAV_SERVER" "radicale")
(setenv "REMOTESTORAGE_SERVER" "skip")
(zero? (system* "make" "test")))))))
"/share/man/man1")))))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
("python-sphinx" ,python-sphinx)

View File

@ -139,11 +139,17 @@ tables, and it understands a variety of different formats.")
;; no install target
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man8")))
(install-file "gdisk" bin)
(install-file "sgdisk" bin)
(install-file "cgdisk" bin)
(install-file "fixparts" bin)))))))
(install-file "fixparts" bin)
(install-file "cgdisk.8" man)
(install-file "fixparts.8" man)
(install-file "gdisk.8" man)
(install-file "sgdisk.8" man)))))))
(home-page "http://www.rodsbooks.com/gdisk/")
(synopsis "Low-level GPT disk partitioning and formatting")
(description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that
@ -296,14 +302,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
(define-public gparted
(package
(name "gparted")
(version "0.27.0")
(version "0.28.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gparted/gparted/gparted-"
version "/gparted-" version ".tar.gz"))
(sha256
(base32 "1gg7k63jd6128mmzciwqmgixqhyqnninimaqyvjbx1hv0q6gd310"))))
(base32 "1w9xsph6fpr7l96b3bxl1bgs94cfp9iisg694h8w3fahihwldzdr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Tests require a network connection.

View File

@ -438,7 +438,7 @@ on stdout instead of using a socket as the Emacsclient does.")
(define-public magit
(package
(name "magit")
(version "2.10.1")
(version "2.10.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -446,7 +446,7 @@ on stdout instead of using a socket as the Emacsclient does.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"1a3gsarl0zrk1dydqn93kx7pnwm7pb7av7g17pj5m7b7kc66k7jv"))))
"09qcc3a61irxi89x7q82hdy8dk0liiwyz66632wzcd881mhrhx18"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-minimal)))
@ -574,7 +574,7 @@ support for Git-SVN.")
(file-name (string-append "magit-popup-" version ".el"))
(sha256
(base32
"0s04jnskmggwn69ln05qfwwa32va0q5ri7dwx917wkqz17w5zi62"))))
"08b6ypfiq8zavjfq0wcdh26xziwq7rqvvv3lfpib9101146kzx6d"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@ -3410,14 +3410,14 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "20170124")
(version "20170210")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
"0mcnjwvily0xv1xl11dj18lg38llvrxja2j9mwn6vql8n5y1srxi"))))
"15415wh3w8d4c8hd7qfrfdjnjb1zppmrkg8cdp7hw2ilyr90c0bn"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@ -3501,6 +3501,30 @@ known loosely as deftheme. Many mode-specific customizations are included.")
"@code{danneskjold-theme} is a high-contrast theme for Emacs.")
(license license:gpl3+))))
(define-public emacs-dream-theme
(let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
(revision "1"))
(package
(name "emacs-dream-theme")
(version (string-append "0.0.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/djcb/dream-theme")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
(build-system emacs-build-system)
(home-page "https://github.com/djcb/dream-theme")
(synopsis "High-contrast Emacs theme")
(description
"@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
by zenburn, sinburn and similar themes, but slowly diverging from them.")
(license license:gpl3+))))
(define-public emacs-auto-complete
(package
(name "emacs-auto-complete")
@ -3790,3 +3814,23 @@ customizable by the user.")
Additionally it can display the number of unread emails in the
mode-line.")
(license license:gpl3+)))
(define-public emacs-pretty-mode
(package
(name "emacs-pretty-mode")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/akatov/pretty-mode/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
(build-system emacs-build-system)
(home-page "https://github.com/akatov/pretty-mode")
(synopsis "Redisplay parts of the buffer as Unicode symbols")
(description
"Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
(license license:gpl3+)))

View File

@ -1142,3 +1142,51 @@ Holmes type foundry, released under the same license as the Go programming
language. It includes a set of proportional, sans-serif fonts, and a set of
monospace, slab-serif fonts.")
(license (package-license go-1.4)))))
(define-public font-google-material-design-icons
(package
(name "font-google-material-design-icons")
(version "3.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/google/material-design-icons/archive/"
version ".tar.gz"))
(sha256
(base32
"183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system trivial-build-system)
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((font-dir (string-append %output
"/share/fonts/truetype"))
(source (assoc-ref %build-inputs "source"))
(font-filename "MaterialIcons-Regular.ttf")
(src-ttf-file (string-append "material-design-icons-"
,version
"/iconfont/"
font-filename))
(dest-ttf-file (string-append font-dir font-filename))
(gzip (assoc-ref %build-inputs "gzip"))
(tar (assoc-ref %build-inputs "tar")))
(setenv "PATH" (string-append gzip "/bin:"
tar "/bin:"))
(system* "tar" "xf" source)
(mkdir-p font-dir)
(copy-file src-ttf-file dest-ttf-file)))))
(home-page "http://google.github.io/material-design-icons")
(synopsis "Icon font of Google Material Design icons")
(description
"Material design system icons are simple, modern, friendly, and sometimes
quirky. Each icon is created using our design guidelines to depict in simple
and minimal forms the universal concepts used commonly throughout a UI.
Ensuring readability and clarity at both large and small sizes, these icons
have been optimized for beautiful display on all common platforms and display
resolutions.")
(license license:asl2.0)))

View File

@ -10,12 +10,12 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
@ -227,6 +227,57 @@ them, called Jean Raymond, found an old church in which to hide, not knowing
that beneath its ruins lay buried an ancient evil.")
(license license:gpl3)))
(define-public angband
(package
(name "angband")
(version "4.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://rephial.org/downloads/4.0/"
"angband-" version ".tar.gz"))
(sha256
(base32
"0lpq2kms7hp421vrasx2bkkn9w08kr581ldwik3v0hlq6h7rlxhd"))
(modules '((guix build utils)))
(snippet
;; So, some of the sounds/graphics/tilesets are under different
;; licenses... some of them even nonfree! This is a console-only
;; version of this package so we just remove them.
;; In the future, if someone tries to make a graphical variant of
;; this package, they can deal with that mess themselves. :)
'(begin
(for-each
(lambda (subdir)
(let ((lib-subdir (string-append "lib/" subdir)))
(delete-file-recursively lib-subdir)))
'("fonts" "icons" "sounds" "tiles"))
(substitute* "lib/Makefile"
;; And don't try to invoke makefiles in the directories we removed
(("gamedata customize help screens fonts tiles sounds icons user")
"gamedata customize help screens user"))))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no check target
#:configure-flags (list (string-append "--bindir=" %output "/bin"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen.sh
(lambda _
(substitute* "acinclude.m4"
(("ncursesw5-config") "ncursesw6-config"))
(zero? (system* "sh" "autogen.sh")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://rephial.org/")
(synopsis "Dungeon exploration roguelike")
(description "Angband is a Classic dungeon exploration roguelike. Explore
the depths below Angband, seeking riches, fighting monsters, and preparing to
fight Morgoth, the Lord of Darkness.")
(license license:gpl2)))
(define-public pingus
(package
(name "pingus")
@ -1243,7 +1294,7 @@ on the screen and keyboard to display letters.")
("ghc-sdl" ,ghc-sdl)
("ghc-sdl-image" ,ghc-sdl-image)
("ghc-sdl-mixer" ,ghc-sdl-mixer)))
(home-page "http://raincat.bysusanlin.com/")
(home-page "http://www.bysusanlin.com/raincat/")
(synopsis "Puzzle game with a cat in lead role")
(description "Project Raincat is a game developed by Carnegie Mellon
students through GCS during the Fall 2008 semester. Raincat features game
@ -2031,14 +2082,14 @@ are only two levels to play with, but they are very addictive.")
(define-public pioneers
(package
(name "pioneers")
(version "15.3")
(version "15.4")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/pio/"
"pioneers-" version ".tar.gz"))
(sha256
(base32
"128s718nnraiznbg2rajjqb7cfkdg24hy6spdd9narb4f4dsbbv9"))))
"1p1d18hrfmqcnghip3shkzcs5qkz6j99jvkdkqfi7pqdvjc323cs"))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+)
("librsvg" ,librsvg)

View File

@ -3972,7 +3972,7 @@ metadata in photo and video files of various formats.")
(define-public shotwell
(package
(name "shotwell")
(version "0.25.2")
(version "0.25.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -3980,7 +3980,7 @@ metadata in photo and video files of various formats.")
name "-" version ".tar.xz"))
(sha256
(base32
"1bih5hr3pvpkx3fck55bnhngn4fl92ryjizc34wb8pwigbkxnaj1"))))
"10pv3v789hky8h7ladqzzmgvkmgy3c41n4xz0nnyjmpycwl26g29"))))
(build-system glib-or-gtk-build-system)
(propagated-inputs
`(("dconf" ,dconf)))
@ -5036,7 +5036,7 @@ like switching to windows and launching applications.")
(define-public gtk-vnc
(package
(name "gtk-vnc")
(version "0.6.0")
(version "0.7.0")
(source
(origin
(method url-fetch)
@ -5045,7 +5045,7 @@ like switching to windows and launching applications.")
name "-" version ".tar.xz"))
(sha256
(base32
"0cq42dghjp4bhsxlj9hd2nz5s5rhd53fx7snmq6i6kg60n438ncm"))))
"0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-gtk=3.0")))

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -200,7 +200,7 @@ sequential processes (CSP) concurrent programming features added.")
(package
(inherit go-1.4)
(name "go")
(version "1.7.4")
(version "1.7.5")
(source
(origin
(method url-fetch)
@ -208,7 +208,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
(base32
"1k0lnsk5i9swi209wh535lpnpczsh6l8m1pfncmilrdsx48r262c"))))
"058q57zmi23rflingzhy1b87yl69mb62ql2psfxqr7q7l89lb0sf"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@ -282,18 +282,7 @@ sequential processes (CSP) concurrent programming features added.")
("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
("net/lookup_test.go" "(.+)(TestLookupPort.+)")
("syscall/exec_linux_test.go"
"(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")
;; This test broke when tzdata updated to 2016g:
;; https://github.com/golang/go/issues/17276
;; Applying the upstream patch causes the failure of another
;; test, because that test requires upstream's mtimes to be
;; preserved, but applying the patch and re-packing the
;; tarball causes mtimes to be set to Unix epoch.
;; https://github.com/golang/go/issues/17535
;; TODO Try re-enabling this test for Go > 1.7.3.
("time/time_test.go" "(.+)(TestLoadFixed.+)")))
"(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
(substitute* "../misc/cgo/testsanitizers/test.bash"
(("(CC=)cc" all var) (string-append var "gcc")))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
@ -27,7 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages guile)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages aspell)
#:use-module (gnu packages bash)
@ -55,8 +55,10 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages maths)
#:use-module (gnu packages image)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@ -129,7 +131,7 @@ the Scheme language which can be easily embedded in other applications to
provide a convenient means of extending the functionality of the application
without requiring the source code to be rewritten.")
(home-page "http://www.gnu.org/software/guile/")
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public guile-2.0
(package
@ -204,7 +206,7 @@ the Scheme language which can be easily embedded in other applications to
provide a convenient means of extending the functionality of the application
without requiring the source code to be rewritten.")
(home-page "http://www.gnu.org/software/guile/")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public guile-2.0/fixed
;; A package of Guile 2.0 that's rarely changed. It is the one used
@ -307,6 +309,66 @@ applicable."
(files '("lib/guile/2.0/site-ccache"
"share/guile/site/2.0")))))))
;; There has not been any release yet.
(define-public guildhall
(let ((commit "2fe2cc539f4b811bbcd69e58738db03eb5a2b778")
(revision "1"))
(package
(name "guildhall")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ijp/guildhall.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"115bym7bg66h3gs399yb2vkzc2ygriaqsn4zbrg8f054mgy8wzn1"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Tests fail without this fix because they try to load the bash
;; executable as a Scheme file. See bug report at
;; https://github.com/ijp/guildhall/issues/22
(add-after 'unpack 'fix-bug-22
(lambda _
(substitute* "Makefile.am"
(("TESTS_ENVIRONMENT=.*")
"AM_TESTS_ENVIRONMENT=srcdir=$(abs_top_srcdir)/tests/
TEST_EXTENSIONS = .scm
SCM_LOG_COMPILER= $(top_builddir)/env $(GUILE)
AM_SCM_LOG_FLAGS = --no-auto-compile -s")
;; FIXME: one of the database tests fails for unknown
;; reasons. It does not fail when run outside of Guix.
(("tests/database.scm") ""))
#t))
(add-before 'configure 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(inputs
`(("guile" ,guile-2.0)))
(native-inputs
`(("zip" ,zip) ; for tests
("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)))
(synopsis "Package manager for Guile")
(description
"Guildhall is a package manager written for Guile Scheme. A guild is
an association of independent craftspeople. A guildhall is where they meet.
This Guildhall aims to make a virtual space for Guile wizards and journeyfolk
to share code.
On a practical level, Guildhall lets you share Scheme modules and programs
over the internet, and install code that has been shared by others. Guildhall
can handle dependencies, so when a program requires several libraries, and
each of those has further dependencies, all of the prerequisites for the
program can be installed in one go.")
(home-page "https://github.com/ijp/guildhall")
(license license:gpl3+))))
;;;
;;; Extensions.
@ -361,7 +423,7 @@ provides several tools for web development: database access, templating
frameworks, session management, URL-remapping for RESTful, page caching, and
more.")
(home-page "https://www.gnu.org/software/artanis/")
(license (list gpl3+ lgpl3+)))) ;dual license
(license (list license:gpl3+ license:lgpl3+)))) ;dual license
(define-public guile-reader
(package
@ -396,7 +458,7 @@ Guile-Readers approach is similar to Common Lisps “read table”, but
hopefully more powerful and flexible (for instance, one may instantiate as
many readers as needed).")
(home-page "http://www.nongnu.org/guile-reader/")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-ncurses
(package
@ -437,7 +499,7 @@ many readers as needed).")
(description
"guile-ncurses provides Guile language bindings for the ncurses
library.")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public mcron
(package
@ -461,7 +523,7 @@ library.")
tasks on a schedule, such as every hour or every Monday. Mcron is written in
Guile, so its configuration can be written in Scheme; the original cron
format is also supported.")
(license gpl3+)))
(license license:gpl3+)))
(define-public mcron2
;; This is mthl's mcron development branch, not yet merged in mcron.
@ -550,7 +612,7 @@ format is also supported.")
pure Scheme. The library can be used to read and write iCalendar data.
The library is shipped with documentation in Info format and usage examples.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-lib
(package
@ -594,7 +656,7 @@ for Guile\".")
;; The whole is under GPLv3+, but some modules are under laxer
;; distribution terms such as LGPL and public domain. See `COPYING' for
;; details.
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-json
(package
@ -632,7 +694,7 @@ specification. These are the main features:
@item Unicode support for strings.
@item Allows JSON pretty printing.
@end itemize\n")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public guile2.2-json
(package-for-guile-2.2 guile-json))
@ -718,7 +780,7 @@ This is Ian Price's r6rs packaged version of miniKanren, which deviates
slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.")
(license expat)))
(license license:expat)))
(define-public guile2.2-minikanren
(package-for-guile-2.2 guile-minikanren))
@ -803,7 +865,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
"Irregex is an s-expression based alternative to your classic
string-based regular expressions. It implements SRFI 115 and is deeply
inspired by the SCSH regular expression system.")
(license bsd-3)))
(license license:bsd-3)))
(define-public guile2.2-irregex
(package-for-guile-2.2 guile-irregex))
@ -831,10 +893,22 @@ inspired by the SCSH regular expression system.")
#:builder
(begin
(use-modules (guix build utils)
(system base compile))
(ice-9 rdelim)
(ice-9 popen))
;; Avoid warnings we can safely ignore
(setenv "GUILE_AUTO_COMPILE" "0")
(let* ((out (assoc-ref %outputs "out"))
(module-dir (string-append out "/share/guile/site/2.0"))
(effective-version
(read-line
(open-pipe* OPEN_READ
(string-append
(assoc-ref %build-inputs "guile")
"/bin/guile")
"-c" "(display (effective-version))")))
(module-dir (string-append out "/share/guile/site/"
effective-version))
(source (assoc-ref %build-inputs "source"))
(doc (string-append out "/share/doc"))
(guild (string-append (assoc-ref %build-inputs "guile")
@ -842,7 +916,10 @@ inspired by the SCSH regular expression system.")
(gdbm.scm-dest
(string-append module-dir "/gdbm.scm"))
(gdbm.go-dest
(string-append module-dir "/gdbm.go")))
(string-append module-dir "/gdbm.go"))
(compile-file
(lambda (in-file out-file)
(system* guild "compile" "-o" out-file in-file))))
;; Make installation directories.
(mkdir-p module-dir)
(mkdir-p doc)
@ -860,8 +937,7 @@ inspired by the SCSH regular expression system.")
(assoc-ref %build-inputs "gdbm"))))
;; compile to the destination
(compile-file gdbm.scm-dest
#:output-file gdbm.go-dest)))))
(compile-file gdbm.scm-dest gdbm.go-dest)))))
(inputs
`(("guile" ,guile-2.0)))
(propagated-inputs
@ -871,7 +947,10 @@ inspired by the SCSH regular expression system.")
(description
"Guile bindings to the GDBM key-value storage system, using
Guile's foreign function interface.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile2.2-gdbm-ffi
(package-for-guile-2.2 guile-gdbm-ffi))
(define-public guile-sqlite3
(let ((commit "607721fe1174a299e45d457acacf94eefb964071"))
@ -922,7 +1001,7 @@ Guile's foreign function interface.")
(synopsis "Access SQLite databases from Guile")
(description
"This package provides Guile bindings to the SQLite database system.")
(license gpl3+))))
(license license:gpl3+))))
(define-public haunt
(package
@ -971,7 +1050,7 @@ Guile's foreign function interface.")
Scheme. Haunt features a functional build system and an extensible
interface for reading articles in any format.")
(home-page "http://haunt.dthompson.us")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-config
(package
@ -998,7 +1077,7 @@ parameter parsing using getopt-long; basic GNU command-line parameter
generation (--help, --usage, --version); automatic output generation for the
above command-line parameters.")
(home-page "https://github.com/a-sassmannshausen/guile-config")
(license agpl3+)))
(license license:agpl3+)))
(define-public guile-redis
(package
@ -1031,7 +1110,7 @@ above command-line parameters.")
(synopsis "Redis client library for Guile")
(description "Guile-redis provides a Scheme interface to the Redis
key-value cache and store.")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public guile2.2-redis
(package-for-guile-2.2 guile-redis))
@ -1110,7 +1189,7 @@ key-value cache and store.")
(description "Wisp is a syntax for Guile which provides a Python-like
whitespace-significant language. It may be easier on the eyes for some
users and in some situations.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-sly
(package
@ -1145,7 +1224,7 @@ users and in some situations.")
features a functional reactive programming interface and live coding
capabilities.")
(home-page "http://dthompson.us/pages/software/sly.html")
(license gpl3+)))
(license license:gpl3+)))
(define-public g-wrap
(package
@ -1183,7 +1262,7 @@ wrappers for C functions. Given a definition of the types and prototypes for
a given C interface, G-Wrap will automatically generate the C code that
provides access to that interface and its types from the Scheme level.")
(home-page "http://www.nongnu.org/g-wrap/index.html")
(license lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public guile-dbi
(package
@ -1221,7 +1300,7 @@ provides access to that interface and its types from the Scheme level.")
SQL databases. Database programming with guile-dbi is generic in that the same
programming interface is presented regardless of which database system is used.
It currently supports MySQL, Postgres and SQLite3.")
(license gpl2+)))
(license license:gpl2+)))
(define-public guile-dbd-sqlite3
(package
@ -1248,7 +1327,7 @@ It currently supports MySQL, Postgres and SQLite3.")
(description
"guile-dbi is a library for Guile that provides a convenient interface to
SQL databases. This package implements the interface for SQLite.")
(license gpl2+)))
(license license:gpl2+)))
(define-public guile-xosd
(package
@ -1277,7 +1356,7 @@ SQL databases. This package implements the interface for SQLite.")
"Guile-XOSD provides Guile bindings for @code{libxosd},
@uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display
library}.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-daemon
(package
@ -1302,7 +1381,7 @@ library}.")
"Guile-Daemon is a small Guile program that loads your initial
configuration file, and then reads and evaluates Guile expressions that
you send to a FIFO file.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-commonmark
(package
@ -1338,7 +1417,7 @@ to transform a CommonMark document to SXML. guile-commonmark tries to closely
follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference
is no support for parsing block and inline level HTML.")
(home-page "https://github.com/OrangeShark/guile-commonmark")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public guile2.2-commonmark
(package-for-guile-2.2 guile-commonmark))
@ -1421,7 +1500,7 @@ of the C programming language, to be used on bytevectors. C's type
system works on raw memory, and Guile works on bytevectors which are
an abstraction over raw memory. It's also more powerful than the C
type system, elevating types to first-class status.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-aspell
(package
@ -1457,7 +1536,7 @@ type system, elevating types to first-class status.")
(description
"guile-aspell is a Guile Scheme library for comparing a string against a
dictionary and suggesting spelling corrections.")
(license gpl3+)))
(license license:gpl3+)))
(define-public guile-bash
;; This project is currently retired. It was initially announced here:
@ -1527,7 +1606,7 @@ enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
@end example
and then run @command{scm example.scm}.")
(license gpl3+))))
(license license:gpl3+))))
(define-public guile-8sync
(package
@ -1560,6 +1639,44 @@ and then run @command{scm example.scm}.")
library for GNU Guile based on the actor model.
Note that 8sync is only available for Guile 2.2 (guile-next in Guix).")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public guile-git
(let ((revision "0")
(commit "969514aa7224217bc3c1a4c5312a9469ac5f13d5"))
(package
(name "guile-git")
(version (string-append "0.0-" revision "." (string-take commit 7)))
(home-page "https://gitlab.com/amirouche/guile-git")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"079l8y6pjkmahb4k6dfqh3hk34pg540rrl29aixyvv86w9bdfjil"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi")))))
;; Test suite is not parallel-safe: the tests open same-named repos.
#:parallel-tests? #f))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.0)
("libgit2" ,libgit2)))
(propagated-inputs
`(("guile-bytestructures" ,guile-bytestructures)))
(synopsis "Guile bindings for libgit2")
(description
"This package provides Guile bindings to libgit2, a library to
manipulate repositories of the Git version control system.")
(license license:gpl3+))))
;;; guile.scm ends here

View File

@ -33,7 +33,6 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
@ -107,7 +106,6 @@
`(("gmp" ,gmp)
("ncurses" ,ncurses)
("libffi" ,libffi)
("libedit" ,libedit)
("ghc-testsuite"
,(origin
(method url-fetch)
@ -286,7 +284,6 @@ interactive environment for the functional language Haskell.")
`(("gmp" ,gmp)
("ncurses" ,ncurses)
("libffi" ,libffi)
("libedit" ,libedit)
("ghc-testsuite"
,(origin
(method url-fetch)
@ -8168,4 +8165,33 @@ Rust syntax. It is intended to be useful for two different purposes:
files in Haskell.")
(license license:bsd-3)))
(define-public ghc-hslogger
(package
(name "ghc-hslogger")
(version "1.2.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"hslogger-" version "/" "hslogger-"
version ".tar.gz"))
(sha256 (base32
"0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
("ghc-directory", ghc-directory)
("ghc-old-locale" ,ghc-old-locale)
("ghc-process" ,ghc-process)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)))
(home-page "http://software.complete.org/hslogger")
(synopsis "Logging framework for Haskell, similar to Python's logging module")
(description "Hslogger lets each log message have a priority and source be
associated with it. The programmer can then define global handlers that route
or filter messages based on the priority and source. It also has a syslog
handler built in.")
(license license:bsd-3)))
;;; haskell.scm ends here

View File

@ -35,6 +35,10 @@
(and (string-suffix? "-gnu" triplet)
(not (string-contains triplet "linux"))))
(define (gnumach-source-url version)
(string-append "mirror://gnu/gnumach/gnumach-"
version ".tar.gz"))
(define-public gnumach-headers
(package
(name "gnumach-headers")
@ -42,8 +46,7 @@
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnumach/gnumach-"
version ".tar.gz"))
(uri (gnumach-source-url version))
(sha256
(base32
"02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f"))))

View File

@ -44,7 +44,7 @@
(define-public inkscape
(package
(name "inkscape")
(version "0.92.0")
(version "0.92.1")
(source (origin
(method url-fetch)
(uri (string-append "https://media.inkscape.org/dl/"
@ -52,7 +52,7 @@
"inkscape-" version ".tar.bz2"))
(sha256
(base32
"0mmssxnxsvb3bpm7ck5pqvwyacrz1nkyacs571jx8j04l1cw3d5q"))))
"01chr3vh728dkg7l7lilwgmh5nrp784khdhjgpqjbq9dh2zhax15"))))
(build-system cmake-build-system)
(inputs
`(("aspell" ,aspell)

View File

@ -101,7 +101,7 @@ irssi, but graphical.")
(define-public irssi
(package
(name "irssi")
(version "1.0.0")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/"
@ -109,7 +109,7 @@ irssi, but graphical.")
version ".tar.xz"))
(sha256
(base32
"1f2gmr5nynagwi4wx3yprhzfpg4ww6r7ff395b0a48d0qqgkr2ka"))))
"1krw71n24mj4p3f5nhzj6kdi1kq9ssl53hrqyjpgz61m7wdcaa4l"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -783,7 +783,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
(license license:gpl2+)))
(define-public icedtea-7
(let* ((version "2.6.8")
(let* ((version "2.6.9")
(drop (lambda (name hash)
(origin
(method url-fetch)
@ -800,7 +800,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
version ".tar.xz"))
(sha256
(base32
"0p95402viz6dnfkhhn18hrvm7wqfvij0xnxvp9nqj3aq3gzk0h45"))
"1slmajiakq7sk137vgqq9c93r5s620a46lw2jwbnzxhysjw3wkwf"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
@ -927,25 +927,25 @@ build process and its dependencies, whereas Make uses Makefile format.")
(native-inputs
`(("openjdk-src"
,(drop "openjdk"
"1qscircx5z9rnyx4k6lzxbrl5q6f9shag962zl0f52cyrcma5gp6"))
"08a4d1sg5m9l99lc7gafc7dmzmf4d8jvij5pffxv8rf6pk7psk24"))
("corba-drop"
,(drop "corba"
"0f25l1db5v9ib4v5wb32wjblb2zzx8f8qgr2g84yg26aq2m8swig"))
"12br49cfrqgvms0bnaij7fvnakvb6q8dlpqja64rg5q5r3x4gps8"))
("jaxp-drop"
,(drop "jaxp"
"1z4i404i3rrf5zmch8z2rslqm7vs1wzjhvjf6kgkdvnrka7a86xs"))
"07v2y3pll6z2wma94qilgffwyn2n4jna01mrhqwkb27whfpjfkmz"))
("jaxws-drop"
,(drop "jaxws"
"06h49jgf76408j1qhhkksly8fbyw1wisyvgi1csvj2f63bkr6c3m"))
"18rw64jjpq14v56d0q1xvz8knl0kf02rcday7fvlaxrbbj19km55"))
("jdk-drop"
,(drop "jdk"
"0qg76gjlnyrjskzz019fi47vqdxpa51sdhcyx4lsa25j5vsih4gc"))
"1ig7xipi3vzm6cphy5fdraxi72p27xsg2qb51yqx9qwsmlrv1zj4"))
("langtools-drop"
,(drop "langtools"
"04w82l34z83n8cd901bvmlrdk825nw5ijgny5cn1idnhplzcckh0"))
"0sn9qv9nnhaan2smbhrv54lfhwsjhgd3b3h736p5d2hzpw8kicry"))
("hotspot-drop"
,(drop "hotspot"
"153i1panv3mzwh39dc8rxr9hj5920y86a4m8djxsk6qnyd4gamfa"))
"16ijxy8br8dla339m4i90wr9xpf7s8z3nrhfyxm7jahr8injpzyl"))
,@(fold alist-delete (package-native-inputs icedtea-6)
'("openjdk6-src"))))
(inputs

View File

@ -27,17 +27,17 @@
(define-public jemalloc
(package
(name "jemalloc")
(version "4.2.0")
(version "4.4.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.canonware.com/download/jemalloc/"
name "-" version ".tar.bz2"))
"https://github.com/jemalloc/jemalloc/releases/download/"
version "/jemalloc-" version ".tar.bz2"))
(sha256
(base32
"1jvasihaizawz44j02bri47bd905flns03nkigipys81p6pds5mj"))))
"0cxhhybcbi02szavlxzwhvmqvddi7kgy71qxz2nz3lhqjwzadbm7"))))
(build-system gnu-build-system)
(home-page "http://www.canonware.com/jemalloc/")
(home-page "http://jemalloc.net/")
(synopsis "General-purpose scalable concurrent malloc implementation")
(description
"This library providing a malloc(3) implementation that emphasizes

View File

@ -87,7 +87,7 @@ loop.")
(define-public libev
(package
(name "libev")
(version "4.23")
(version "4.24")
(source (origin
(method url-fetch)
(uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
@ -95,7 +95,7 @@ loop.")
".tar.gz"))
(sha256
(base32
"0ynxxm7giy4hg3qp9q8wshqw1jla9sxbsbi2pwsdsl1v1hz79zn7"))))
"08gqsza1czx0nf62nkk183jb0946yzjsymaacxbzdgcs8z9r6dcp"))))
(build-system gnu-build-system)
(home-page "http://software.schmorp.de/pkg/libev.html")
(synopsis "Event loop loosely modelled after libevent")
@ -111,7 +111,7 @@ programs.")
(define-public libuv
(package
(name "libuv")
(version "1.9.0")
(version "1.11.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libuv/libuv/archive/v"
@ -119,7 +119,7 @@ programs.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1sx5lahhg2w92y6mgyg7c7nrx2biyyxd5yiqkmq8n4w01lm2gf7q"))))
"0yhw86011l2dg2prms0d86szygrix4pxpgnyzs7iljy2xk3fxivf"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
@ -138,7 +138,7 @@ programs.")
;; libuv.pc is installed only when pkg-config is found.
("pkg-config" ,pkg-config)))
(home-page "https://github.com/joyent/libuv")
(home-page "https://github.com/libuv/libuv")
(synopsis "Library for asynchronous I/O")
(description
"libuv is a multi-platform support library with a focus on asynchronous

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -348,8 +348,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-libre-version "4.9.9")
(define %linux-libre-hash "0grk94jym0wz581c7pimia0rszq4h2xqjmf818i4l4qrjd0bnqvk")
(define %linux-libre-version "4.10")
(define %linux-libre-hash "167zzgkivpqsp07did25wjqsswddzp3gifcdkq7xk00llxlmspla")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@ -357,9 +357,15 @@ It has been modified to remove all non-free binary blobs.")
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.11"
"1gypfg2984zr4z7hihnl3bbpxnk1mrqbynb6xd8ad2v2z04aw13q"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.48"
"0g7ram0b5b7p0c6v5m5im6m5pwa348mhkhf67rs036lzvcw1bvyk"
(make-linux-libre "4.4.50"
"0c157kk0vgrb1fsyy4q3czqdg4npgql82n6p303afy8ylh2w6d3l"
%intel-compatible-systems
#:configuration-file kernel-config))

View File

@ -93,6 +93,29 @@
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public aris
(package
(name "aris")
(version "2.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz"))
(sha256 (base32
"1q1887ryqdr9sn0522hc7p16kqwlxxyz5dkmma8ar2nxplhgll7q"))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+)
("libxml2" ,libxml2)))
(native-inputs `(("pkg-config" ,pkg-config)))
(synopsis "Natural deduction first-order logic interface")
(description "Aris is a program for performing logical proofs. It supports
propositional and predicate logic, as well as Boolean algebra and
arithmetical logic. In addition to its predefined inference and equivalence
rules, Aris also supports references to older proofs. Its use of standard
logical symbols and its natural deduction interface make it easy to use for
beginners.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/aris/")))
(define-public c-graph
(package
(name "c-graph")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
@ -446,7 +446,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
(define-public gajim
(package
(name "gajim")
(version "0.16.6")
(version "0.16.7")
(source (origin
(method url-fetch)
(uri (string-append "https://gajim.org/downloads/"
@ -454,7 +454,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
"/gajim-" version ".tar.bz2"))
(sha256
(base32
"1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk"))))
"13sxz0hpvyj2yvcbsfqq9yn0hp1d1zsxsj40r0v16jlibha5da9n"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -477,12 +477,11 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
#t)))))
(native-inputs
`(("intltool" ,intltool)))
(propagated-inputs
(inputs
`(("python2-nbxmpp" ,python2-nbxmpp)
("python2-pyopenssl" ,python2-pyopenssl)
("python2-gnupg" ,python2-gnupg)))
(inputs
`(("python2-pygtk" ,python2-pygtk)
("python2-gnupg" ,python2-gnupg)
("python2-pygtk" ,python2-pygtk)
("python" ,python-2)))
(home-page "https://gajim.org/")
(synopsis "Jabber (XMPP) client")
@ -1140,7 +1139,7 @@ protocol allows.")
(define-public mcabber
(package
(name "mcabber")
(version "1.0.4")
(version "1.0.5")
(source
(origin
(method url-fetch)
@ -1148,7 +1147,7 @@ protocol allows.")
name "-" version ".tar.bz2"))
(sha256
(base32
"02nfn5r7cjpnacym95l6bvczii232v3x2gi79gfa9syc7w0brdk3"))))
"0ixdzk5b3s31a4bdfqgqrsiq7vbgdzhqr49p9pz9cq9bgn0h1wm0"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "--enable-otr"

View File

@ -31,6 +31,7 @@
#:use-module (guix build-system python)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages gcc) ; GCC@5 for MPD >= 0.20
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
@ -74,7 +75,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
(version "0.19.21")
(version "0.20.4")
(source (origin
(method url-fetch)
(uri
@ -83,7 +84,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
"0c0p61p3jfh89pnqwd9nrw55krfvvnzhkpdq53g6njvg0aybh1c3"))))
"0a4psqsf71vc6hfgyv55jclsx8yb7lf4w840qlq6cq8j3hsjaavi"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -116,7 +117,8 @@ interfacing MPD in the C, C++ & Objective C languages.")
("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)))
(native-inputs `(("gcc" ,gcc-5) ; Fails to build with GCC@4.
("pkg-config" ,pkg-config)))
;; Missing optional inputs:
;; libyajl
;; libcdio_paranoia

View File

@ -1767,14 +1767,14 @@ computer's keyboard.")
(define-public qtractor
(package
(name "qtractor")
(version "0.8.0")
(version "0.8.1")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"17v563liyqcvil204ry1qfp09d91944nqz2ig33f5c3pyg4z2427"))))
"1pvs9r5ykfaci900p0kz2xc5xsrswnwwbcl2chsvd98f1ns4vwds"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(inputs
@ -1794,7 +1794,7 @@ computer's keyboard.")
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://qtractor.sourceforge.net/")
(home-page "http://qtractor.org/")
(synopsis "Audio/MIDI multi-track sequencer")
(description
"Qtractor is an Audio/MIDI multi-track sequencer application. It uses

View File

@ -1060,3 +1060,62 @@ suddenly a lot of network traffic, you can fire up NetHogs and immediately see
which PID is causing this. This makes it easy to identify programs that have
gone wild and are suddenly taking up your bandwidth.")
(license license:gpl2+)))
(define-public openvswitch
(package
(name "openvswitch")
(version "2.6.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://openvswitch.org/releases/openvswitch-"
version ".tar.gz"))
(sha256
(base32
"036gq741j9kqsjlp693nff838c9wjd1c56nswl9vyyd1lsmj0yrh"))))
(build-system gnu-build-system)
(arguments
'(;; FIXME: many tests fail with:
;; […]
;; test -e $OVS_RUNDIR/ovs-vswitchd.pid
;; ovs-appctl -t ovs-vswitchd exit
;; hard failure
#:tests? #f
#:configure-flags
'("--enable-shared"
"--localstatedir=/var"
"--with-dbdir=/var/lib/openvswitch")
#:phases
(modify-phases %standard-phases
(replace 'install
(lambda _
(zero? (system* "make"
;; Don't try to create directories under /var.
"RUNDIR=/tmp"
"PKIDIR=/tmp"
"LOGDIR=/tmp"
"DBDIR=/tmp"
"install")))))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-2)
;; for testing
("util-linux" ,util-linux)))
(propagated-inputs
`(("python-six" ,python2-six)))
(inputs
`(("libcap-ng" ,libcap-ng)
("openssl" ,openssl)))
(synopsis "Virtual network switch")
(home-page "http://www.openvswitch.org/")
(description
"Open vSwitch is a multilayer virtual switch. It is designed to enable
massive network automation through programmatic extension, while still
supporting standard management interfaces and protocols (e.g. NetFlow, sFlow,
IPFIX, RSPAN, CLI, LACP, 802.1ag).")
(license ; see debian/copyright for detail
(list license:lgpl2.1 ; xenserver and utilities/bugtool
license:gpl2 ; datapath
license:bsd-2 license:bsd-3
license:asl2.0)))) ; all other

View File

@ -2025,3 +2025,258 @@ structured values at speeds sufficient to saturate a gigabit connection. The
protocol is also heavily optimized for size, making it ideal for long-term
storage of large amounts of data.")
(license license:asl2.0)))
(define-public ocaml-fieldslib
(package
(name "ocaml-fieldslib")
(version "113.33.03")
(source (janestreet-origin "fieldslib" version
"1rm3bn54bzk2hlq8f3w067ak8s772w4a8f78i3yh79vxfzq8ncvv"))
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)))
(build-system ocaml-build-system)
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/fieldslib/")
(synopsis "Syntax extension to record fields")
(description "Syntax extension to define first class values representing
record fields, to get and set record fields, iterate and fold over all fields
of a record and create new record values.")
(license license:asl2.0)))
(define-public ocaml-ppx-core
(package
(name "ocaml-ppx-core")
(version "113.33.03")
(source (janestreet-origin "ppx_core" version
"0f69l4czhgssnhb5ds2j9dbqjyz8dp1y3i3x0i4h6pxnms20zbxa"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)))
(inputs `(("ppx-tools" ,ocaml-ppx-tools)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_core/")
(synopsis "Standard library for ppx rewriters")
(description "Ppx_core is a standard library for OCaml AST transformers.
It contains:
@enumerate
@item various auto-generated AST traversal using an open recursion scheme
@item helpers for building AST fragments
@item helpers for matching AST fragments
@item a framework for dealing with attributes and extension points.
@end enumerate")
(license license:asl2.0)))
(define-public ocaml-ppx-optcomp
(package
(name "ocaml-ppx-optcomp")
(version "113.33.03")
(source (janestreet-origin "ppx_optcomp" version
"13an8p2r7sd0d5lv54mlzrxdni47408bwqi3bjcx4m6005170q30"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)))
(propagated-inputs
`(("ppx-tools" ,ocaml-ppx-tools)
("ppx-core" ,ocaml-ppx-core)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_optcomp/")
(synopsis "Optional compilation for OCaml")
(description "Ppx_optcomp stands for Optional Compilation. It is a tool
used to handle optional compilations of pieces of code depending of the word
size, the version of the compiler, ...")
(license license:asl2.0)))
(define-public ocaml-ppx-driver
(package
(name "ocaml-ppx-driver")
(version "113.33.03")
(source (janestreet-origin "ppx_driver" version
"011zzr45897j49b7iiybb29k7pspcx36mlnp7nh6pxb8b0ga76fh"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)
("ppx-optcomp" ,ocaml-ppx-optcomp)))
(propagated-inputs
`(("ppx-optcomp" ,ocaml-ppx-optcomp)
("ppx-core" ,ocaml-ppx-core)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_driver/")
(synopsis "Feature-full driver for OCaml AST transformers")
(description "A driver is an executable created from a set of OCaml AST
transformers linked together with a command line frontend. The aim is to
provide a tool that can be used to:
@enumerate
@item easily view the pre-processed version of a file, no need to construct a
complex command line: @command{ppx file.ml} will do
@item use a single executable to run several transformations: no need to fork
many times just for pre-processing
@item improved errors for misspelled/misplaced attributes and extension points.
@end enumerate")
(license license:asl2.0)))
(define-public ocaml-cppo
(package
(name "ocaml-cppo")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/mjambon/cppo/archive/v" version
".tar.gz"))
(sha256 (base32
"02gma6nw09vfnd6h7bl3n70lwz7m9z2svplxyfh6h5bf4lqgqzjv"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
#:make-flags (list (string-append "BINDIR="
(assoc-ref %outputs "out") "/bin"))
#:tests? #f))
(home-page "https://github.com/mjambon/cppo")
(synopsis "Equivalent of the C preprocessor for OCaml programs")
(description "Cppo is an equivalent of the C preprocessor for OCaml
programs. It allows the definition of simple macros and file inclusion. Cpp ois:
@enumerate
@item more OCaml-friendly than cpp
@item easy to learn without consulting a manual
@item reasonably fast
@item simple to install and to maintain.
@end enumerate")
(license license:bsd-3)))
;; this package is not reproducible. This is related to temporary filenames
;; such as findlib_initxxxxx where xxxxx is random.
(define-public ocaml-ppx-deriving
(package
(name "ocaml-ppx-deriving")
(version "4.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/whitequark/ppx_deriving//archive/v"
version ".tar.gz"))
(sha256 (base32
"1fr16g121j6zinwcprzlhx2py4271n9jzs2m9hq2f3qli2b1p0vl"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("cppo" ,ocaml-cppo)
("ounit" ,ocaml-ounit)
("opam" ,opam)))
(propagated-inputs
`(("result" ,ocaml-result)
("ppx-tools" ,ocaml-ppx-tools)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'fix-environment
(lambda* (#:key outputs #:allow-other-keys)
;; the installation procedures looks for the installed module
(setenv "OCAMLPATH"
(string-append (getenv "OCAMLPATH") ":"
(getenv "OCAMLFIND_DESTDIR"))))))))
(home-page "https://github.com/whitequark/ppx_deriving/")
(synopsis "Type-driven code generation for OCaml >=4.02")
(description "Ppx_deriving provides common infrastructure for generating
code based on type definitions, and a set of useful plugins for common tasks.")
(license license:expat)))
(define-public ocaml-ppx-type-conv
(package
(name "ocaml-ppx-type-conv")
(version "113.33.03")
(source
(janestreet-origin "ppx_type_conv" version
"1sp602ads2f250nv4d4rgw54d14k7flyhb4w8ff084f657hhmxv2"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)))
(propagated-inputs
`(("ppx-deriving" ,ocaml-ppx-deriving)
("ppx-tools" ,ocaml-ppx-tools)
("result" ,ocaml-result)
("ppx-core" ,ocaml-ppx-core)
("ppx-driver" ,ocaml-ppx-driver)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_type_conv/")
(synopsis "Support Library for type-driven code generators")
(description "The type_conv library factors out functionality needed by
different preprocessors that generate code from type specifications.")
(license license:asl2.0)))
(define-public ocaml-ppx-inline-test
(package
(name "ocaml-ppx-inline-test")
(version "113.33.03")
(source (janestreet-origin "ppx_inline_test" version
"0859ni43fl39dd5g6cxfhq0prxmx59bd2bfq8jafp593ba4q0icq"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)
("ppx-core" ,ocaml-ppx-core)))
(propagated-inputs
`(("ppx-driver" ,ocaml-ppx-driver)
("ppx-tools" ,ocaml-ppx-tools)
("ppx-core" ,ocaml-ppx-core)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_inline_test/")
(synopsis "Syntax extension for writing in-line tests in ocaml code")
(description "Syntax extension for writing in-line tests in ocaml code.")
(license license:asl2.0)))
(define-public ocaml-ppx-bench
(package
(name "ocaml-ppx-bench")
(version "113.33.03")
(source (janestreet-origin "ppx_bench" version
"1hky3y17qpb925rymf97wv54di9gaqdmkix7wpkjw14qzl512b68"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)
("ppx-core" ,ocaml-ppx-core)))
(propagated-inputs
`(("ppx-driver" ,ocaml-ppx-driver)
("ppx-tools" ,ocaml-ppx-tools)
("ppx-inline-test" ,ocaml-ppx-inline-test)
("ppx-core" ,ocaml-ppx-core)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_bench/")
(synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
(description "Syntax extension for writing in-line benchmarks in ocaml code.")
(license license:asl2.0)))
(define-public ocaml-ppx-compare
(package
(name "ocaml-ppx-compare")
(version "113.33.03")
(source (janestreet-origin "ppx_compare" version
"0bfhi33kq9l4q6zzc6svki2csracz5j4731c3npcy6cs73jynn0z"))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml-js-build-tools)
("opam" ,opam)
("ppx-core" ,ocaml-ppx-core)))
(propagated-inputs
`(("ppx-driver" ,ocaml-ppx-driver)
("ppx-tools" ,ocaml-ppx-tools)
("ppx-core" ,ocaml-ppx-core)
("ppx-type-conv" ,ocaml-ppx-type-conv)))
(arguments janestreet-arguments)
(home-page "https://github.com/janestreet/ppx_compare/")
(synopsis "Generation of comparison functions from types")
(description "Generation of fast comparison functions from type expressions
and definitions. Ppx_compare is a ppx rewriter that derives comparison functions
from type representations. The scaffolded functions are usually much faster
than ocaml's Pervasives.compare. Scaffolding functions also gives you more
flexibility by allowing you to override them for a specific type and more safety
by making sure that you only compare comparable values.")
(license license:asl2.0)))

View File

@ -92,7 +92,7 @@ and they are executed on lists of files, hosts, users or other items.")
(define-public slurm
(package
(name "slurm")
(version "15.08.7.1")
(version "16.05.9.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -101,7 +101,7 @@ and they are executed on lists of files, hosts, users or other items.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rmi35l4img00dr4vic8cv8s7b6n1yx1mkq2s7kjf5hvqdh6s2ki"))
"1zx5y2lyjknnca4aw7cbawn00mjhsqzy3h35w7s757cykfjqr8gv"))
(patches (search-patches
"slurm-configure-remove-nonfree-contribs.patch"))
(modules '((guix build utils)))

View File

@ -0,0 +1,13 @@
Traverse the entities hash's keys in sorted order to ensure reproducibility.
--- libhubbub-0.3.3/build/make-entities.pl
+++ libhubbub-0.3.3/build/make-entities.pl
@@ -86,7 +86,7 @@
my $trie;
-foreach my $key (keys %entities) {
+foreach my $key (sort keys %entities) {
$trie = insert_node($trie, $key, $entities{$key});
}

View File

@ -1,26 +0,0 @@
--- netsurf-all-3.5/netsurf/gtk/about.c
+++ netsurf-all-3.5/netsurf/gtk/about.c
@@ -79,11 +79,11 @@
switch (response_id) {
case ABOUT_RESPONSE_ID_LICENCE:
- about_open("about:credits");
+ about_open("about:licence");
break;
case ABOUT_RESPONSE_ID_CREDITS:
- about_open("about:licence");
+ about_open("about:credits");
break;
}
--- netsurf-all-3.5/netsurf/desktop/version.c
+++ netsurf-all-3.5/netsurf/desktop/version.c
@@ -20,6 +20,6 @@
#include "desktop/version.h"
-const char * const netsurf_version = "3.5 (6th April 1016)";
+const char * const netsurf_version = "3.5 (6th April 2016)";
const int netsurf_version_major = 3;
const int netsurf_version_minor = 5;

View File

@ -0,0 +1,20 @@
Increase the timeout on dictionary tests to accommodate slower machines.
--- netsurf-3.6/test/hashtable.c
+++ netsurf-3.6/test/hashtable.c
@@ -286,6 +286,7 @@
tcase_add_checked_fixture(tc_dict_s,
dicts_hashtable_create,
dict_hashtable_teardown);
+ tcase_set_timeout(tc_dict_s, 30);
tcase_add_test(tc_dict_s, hashtable_dict_test);
@@ -297,6 +298,7 @@
tcase_add_checked_fixture(tc_dict_l,
dictl_hashtable_create,
dict_hashtable_teardown);
+ tcase_set_timeout(tc_dict_l, 30);
tcase_add_test(tc_dict_l, hashtable_dict_test);

View File

@ -0,0 +1,64 @@
Use upstream utf8proc package, as suggested in
http://source.netsurf-browser.org/libutf8proc.git/commit/?id=770e329cceaf0620c7b482589a9b17ed1d19c16d
Work around upstream's lack of a pkg-config file and update API.
--- netsurf-3.6/Makefile
+++ netsurf-3.6/Makefile
@@ -527,10 +527,9 @@
$(eval $(call pkg_config_find_and_add,libcss,CSS))
$(eval $(call pkg_config_find_and_add,libdom,DOM))
$(eval $(call pkg_config_find_and_add,libnsutils,nsutils))
-$(eval $(call pkg_config_find_and_add,libutf8proc,utf8proc))
# Common libraries without pkg-config support
-LDFLAGS += -lz
+LDFLAGS += -lz -lutf8proc
# Optional libraries with pkgconfig
--- netsurf-3.6/utils/idna.c
+++ netsurf-3.6/utils/idna.c
@@ -26,7 +26,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
-#include <libutf8proc/utf8proc.h>
+#include <utf8proc.h>
#include "utils/errors.h"
#include "utils/idna.h"
@@ -250,7 +250,7 @@
return NSERROR_NOMEM;
}
- nfc_size = utf8proc_normalise(nfc_label, nfc_size,
+ nfc_size = utf8proc_normalize_utf32(nfc_label, nfc_size,
UTF8PROC_STABLE | UTF8PROC_COMPOSE);
if (nfc_size < 0) {
return NSERROR_NOMEM;
@@ -565,7 +565,7 @@
}
/* Perform NFC normalisation */
- ucs4_len = utf8proc_normalise(ucs4, u_ucs4_len,
+ ucs4_len = utf8proc_normalize_utf32(ucs4, u_ucs4_len,
UTF8PROC_STABLE | UTF8PROC_COMPOSE);
if (ucs4_len < 0) {
free(ucs4);
--- netsurf-3.6/test/Makefile
+++ netsurf-3.6/test/Makefile
@@ -112,11 +112,11 @@
-D_XOPEN_SOURCE=600 \
-Itest -Iinclude -Icontent/handlers -Ifrontends -I. -I.. \
-Dnsgtk \
- $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc libidn) \
+ $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libidn) \
$(LIB_CFLAGS) \
$(COV_CFLAGS)
-TESTLDFLAGS := $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc libidn) -lz \
+TESTLDFLAGS := $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libidn) -lz -lutf8proc \
$(LIB_LDFLAGS)\
$(COV_LDFLAGS)

View File

@ -0,0 +1,25 @@
These two test cases fail for us on i686.
See https://en.wikipedia.org/wiki/Year_2038_problem
--- netsurf-3.6/test/time.c
+++ netsurf-3.6/test/time.c
@@ -77,18 +77,10 @@
.expected = "Tue, 12 Jun 2001 12:12:12 GMT"
},
{
- .test = "Thu, 16 Jul 2207 12:45:12 GMT",
- .expected = "Thu, 16 Jul 2207 12:45:12 GMT"
- },
- {
.test = "Thu, 16 Aug 2007 19:45:12 GMT",
.expected = "Thu, 16 Aug 2007 19:45:12 GMT"
},
{
- .test = "Tue, 16 Sep 3456 00:45:12 GMT",
- .expected = "Tue, 16 Sep 3456 00:45:12 GMT"
- },
- {
.test = "Sun, 16 Oct 1988 19:45:59 GMT",
.expected = "Sun, 16 Oct 1988 19:45:59 GMT"
},

View File

@ -2,25 +2,26 @@ Fix CVE-2017-0358:
http://seclists.org/oss-sec/2017/q1/259
This patch was copied from the above URL.
diff -ur ntfs-3g.old/src/lowntfs-3g.c ntfs-3g/src/lowntfs-3g.c
--- ntfs-3g.old/src/lowntfs-3g.c 2017-02-09 15:01:04.074331542 -0500
+++ ntfs-3g/src/lowntfs-3g.c 2017-02-09 15:06:35.757580937 -0500
@@ -3827,13 +3827,14 @@
struct stat st;
pid_t pid;
const char *cmd = "/sbin/modprobe";
diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c
index 0bb38f9..c6d1dad 100644
--- a/src/lowntfs-3g.c
+++ b/src/lowntfs-3g.c
@@ -3827,13 +3827,14 @@ static fuse_fstype load_fuse_module(void)
struct stat st;
pid_t pid;
const char *cmd = "/sbin/modprobe";
+ char *env = (char*)NULL;
struct timespec req = { 0, 100000000 }; /* 100 msec */
fuse_fstype fstype;
if (!stat(cmd, &st) && !geteuid()) {
pid = fork();
if (!pid) {
struct timespec req = { 0, 100000000 }; /* 100 msec */
fuse_fstype fstype;
if (!stat(cmd, &st) && !geteuid()) {
pid = fork();
if (!pid) {
- execl(cmd, cmd, "fuse", NULL);
+ execle(cmd, cmd, "fuse", NULL, &env);
_exit(1);
} else if (pid != -1)
waitpid(pid, NULL, 0);
_exit(1);
} else if (pid != -1)
waitpid(pid, NULL, 0);
diff -ur ntfs-3g.old/src/ntfs-3g.c ntfs-3g/src/ntfs-3g.c
--- ntfs-3g.old/src/ntfs-3g.c 2017-02-09 15:01:04.074331542 -0500
+++ ntfs-3g/src/ntfs-3g.c 2017-02-09 15:06:26.077252571 -0500

View File

@ -0,0 +1,46 @@
Fix CVE-2017-5667 (sdhci OOB access during multi block SDMA transfer):
http://seclists.org/oss-sec/2017/q1/243
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5667
Patch copied from upstream source repository:
http://git.qemu-project.org/?p=qemu.git;a=commitdiff;h=42922105beb14c2fc58185ea022b9f72fb5465e9
From 42922105beb14c2fc58185ea022b9f72fb5465e9 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 7 Feb 2017 18:29:59 +0000
Subject: [PATCH] sd: sdhci: check data length during dma_memory_read
While doing multi block SDMA transfer in routine
'sdhci_sdma_transfer_multi_blocks', the 's->fifo_buffer' starting
index 'begin' and data length 's->data_count' could end up to be same.
This could lead to an OOB access issue. Correct transfer data length
to avoid it.
Cc: qemu-stable@nongnu.org
Reported-by: Jiang Xin <jiangxin1@huawei.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20170130064736.9236-1-ppandit@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/sd/sdhci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 01fbf228be..5bd5ab6319 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -536,7 +536,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s)
boundary_count -= block_size - begin;
}
dma_memory_read(&address_space_memory, s->sdmasysad,
- &s->fifo_buffer[begin], s->data_count);
+ &s->fifo_buffer[begin], s->data_count - begin);
s->sdmasysad += s->data_count - begin;
if (s->data_count == block_size) {
for (n = 0; n < block_size; n++) {
--
2.11.1

View File

@ -0,0 +1,44 @@
Fix CVE-2017-5898 (integer overflow in emulated_apdu_from_guest):
http://seclists.org/oss-sec/2017/q1/328
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5898
Patch copied from upstream source repository:
http://git.qemu-project.org/?p=qemu.git;a=commitdiff;h=c7dfbf322595ded4e70b626bf83158a9f3807c6a
From c7dfbf322595ded4e70b626bf83158a9f3807c6a Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Fri, 3 Feb 2017 00:52:28 +0530
Subject: [PATCH] usb: ccid: check ccid apdu length
CCID device emulator uses Application Protocol Data Units(APDU)
to exchange command and responses to and from the host.
The length in these units couldn't be greater than 65536. Add
check to ensure the same. It'd also avoid potential integer
overflow in emulated_apdu_from_guest.
Reported-by: Li Qiang <liqiang6-s@360.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-id: 20170202192228.10847-1-ppandit@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/usb/dev-smartcard-reader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
index 89e11b68c4..1325ea1659 100644
--- a/hw/usb/dev-smartcard-reader.c
+++ b/hw/usb/dev-smartcard-reader.c
@@ -967,7 +967,7 @@ static void ccid_on_apdu_from_guest(USBCCIDState *s, CCID_XferBlock *recv)
DPRINTF(s, 1, "%s: seq %d, len %d\n", __func__,
recv->hdr.bSeq, len);
ccid_add_pending_answer(s, (CCID_Header *)recv);
- if (s->card) {
+ if (s->card && len <= BULK_OUT_DATA_SIZE) {
ccid_card_apdu_from_guest(s->card, recv->abData, len);
} else {
DPRINTF(s, D_WARN, "warning: discarded apdu\n");
--
2.11.1

View File

@ -0,0 +1,55 @@
Fix CVE-2017-5931 (integer overflow in handling virtio-crypto requests):
http://seclists.org/oss-sec/2017/q1/337
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5931
Patch copied from upstream source repository:
http://git.qemu-project.org/?p=qemu.git;a=commit;h=a08aaff811fb194950f79711d2afe5a892ae03a4
From a08aaff811fb194950f79711d2afe5a892ae03a4 Mon Sep 17 00:00:00 2001
From: Gonglei <arei.gonglei@huawei.com>
Date: Tue, 3 Jan 2017 14:50:03 +0800
Subject: [PATCH] virtio-crypto: fix possible integer and heap overflow
Because the 'size_t' type is 4 bytes in 32-bit platform, which
is the same with 'int'. It's easy to make 'max_len' to zero when
integer overflow and then cause heap overflow if 'max_len' is zero.
Using uint_64 instead of size_t to avoid the integer overflow.
Cc: qemu-stable@nongnu.org
Reported-by: Li Qiang <liqiang6-s@360.cn>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Tested-by: Li Qiang <liqiang6-s@360.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/virtio/virtio-crypto.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
index 2f2467e859..c23e1ad458 100644
--- a/hw/virtio/virtio-crypto.c
+++ b/hw/virtio/virtio-crypto.c
@@ -416,7 +416,7 @@ virtio_crypto_sym_op_helper(VirtIODevice *vdev,
uint32_t hash_start_src_offset = 0, len_to_hash = 0;
uint32_t cipher_start_src_offset = 0, len_to_cipher = 0;
- size_t max_len, curr_size = 0;
+ uint64_t max_len, curr_size = 0;
size_t s;
/* Plain cipher */
@@ -441,7 +441,7 @@ virtio_crypto_sym_op_helper(VirtIODevice *vdev,
return NULL;
}
- max_len = iv_len + aad_len + src_len + dst_len + hash_result_len;
+ max_len = (uint64_t)iv_len + aad_len + src_len + dst_len + hash_result_len;
if (unlikely(max_len > vcrypto->conf.max_size)) {
virtio_error(vdev, "virtio-crypto too big length");
return NULL;
--
2.11.1

View File

@ -0,0 +1,40 @@
Fixes CVE-2017-5618 (privilege escalation via opening the logfile when
screen is installed setuid root):
https://savannah.gnu.org/bugs/?50142
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5618
This patch reverts the upstream commit that introduced the bug:
https://git.savannah.gnu.org/cgit/screen.git/commit/?id=5460f5d28c01a9a58e021eb1dffef2965e629d58
From f55b0cc29a0ac2a1c54e8a5e886b7393edd4a76c Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sat, 11 Feb 2017 22:40:24 -0500
Subject: [PATCH] Revert "adding permissions check for the logfile name"
This reverts commit 5460f5d28c01a9a58e021eb1dffef2965e629d58.
---
src/screen.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/screen.c b/src/screen.c
index 64650e9..283c305 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -673,12 +673,6 @@ int main(int ac, char** av)
Panic(0, "-L: logfile name can not start with \"-\" symbol");
if (strlen(screenlogfile) > PATH_MAX)
Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
-
- FILE *w_check;
- if ((w_check = fopen(screenlogfile, "w")) == NULL)
- Panic(0, "-L: logfile name access problem");
- else
- fclose(w_check);
}
nwin_options.Lflag = 1;
break;
--
2.11.1

View File

@ -0,0 +1,31 @@
Patch copied from upstream source repository:
https://github.com/shadow-maint/shadow/commit/67d2bb6e0a5ac124ce1f026dd5723217b1493194
From 67d2bb6e0a5ac124ce1f026dd5723217b1493194 Mon Sep 17 00:00:00 2001
From: Serge Hallyn <serge@hallyn.com>
Date: Sun, 18 Sep 2016 21:31:18 -0500
Subject: [PATCH] su.c: fix missing length argument to snprintf
---
src/su.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/su.c b/src/su.c
index 0c50a9456afd..93ffd2fbe2b4 100644
--- a/src/su.c
+++ b/src/su.c
@@ -373,8 +373,8 @@ static void prepare_pam_close_session (void)
stderr);
(void) kill (-pid_child, caught);
- snprintf (kill_msg, _(" ...killed.\n"));
- snprintf (wait_msg, _(" ...waiting for child to terminate.\n"));
+ snprintf (kill_msg, 256, _(" ...killed.\n"));
+ snprintf (wait_msg, 256, _(" ...waiting for child to terminate.\n"));
(void) signal (SIGALRM, kill_child);
(void) alarm (2);
--
2.11.0.rc2

View File

@ -1,19 +1,19 @@
From 53eda9102b969a4be2882cea4befee03591a7436 Mon Sep 17 00:00:00 2001
From: Pjotr Prins <pjotr.public01@thebird.nl>
Date: Fri, 12 Feb 2016 12:43:33 +0100
Subject: [PATCH] Remove contribs
From 49d83e24a8e66977056fc9920812265c16806500 Mon Sep 17 00:00:00 2001
From: carolili <carolili@iki.fi>
Date: Thu, 9 Feb 2017 19:24:49 +0000
Subject: [PATCH] Removing contribs
---
configure.ac | 20 --------------------
1 file changed, 20 deletions(-)
configure.ac | 22 ----------------------
1 file changed, 22 deletions(-)
diff --git a/configure.ac b/configure.ac
index fedf354..e010732 100644
index 1cf1051..5d76b44 100644
--- a/configure.ac
+++ b/configure.ac
@@ -438,26 +438,6 @@ dnl All slurm Makefiles:
@@ -435,28 +435,6 @@ dnl All slurm Makefiles:
AC_CONFIG_FILES([Makefile
config.xml
auxdir/Makefile
- contribs/Makefile
- contribs/cray/Makefile
@ -27,7 +27,9 @@ index fedf354..e010732 100644
- contribs/perlapi/libslurm/perl/Makefile.PL
- contribs/perlapi/libslurmdb/Makefile
- contribs/perlapi/libslurmdb/perl/Makefile.PL
- contribs/seff/Makefile
- contribs/torque/Makefile
- contribs/openlava/Makefile
- contribs/phpext/Makefile
- contribs/phpext/slurm_php/config.m4
- contribs/sgather/Makefile
@ -39,5 +41,5 @@ index fedf354..e010732 100644
doc/man/Makefile
doc/man/man1/Makefile
--
2.1.4
2.11.0

View File

@ -0,0 +1,33 @@
Prevent buffer overflow when reading large messages.
https://bugzilla.redhat.com/show_bug.cgi?id=1401603
https://access.redhat.com/security/cve/CVE-2016-9577
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9577
https://security-tracker.debian.org/tracker/CVE-2016-9577
Patch copied from upstream source repository:
https://cgit.freedesktop.org/spice/spice/commit/?h=0.12&id=5f96b596353d73bdf4bb3cd2de61e48a7fd5b4c3
From 5f96b596353d73bdf4bb3cd2de61e48a7fd5b4c3 Mon Sep 17 00:00:00 2001
From: Frediano Ziglio <fziglio@redhat.com>
Date: Tue, 29 Nov 2016 16:46:56 +0000
Subject: main-channel: Prevent overflow reading messages from client
diff --git a/server/main_channel.c b/server/main_channel.c
index 0ecc9df..1fc3915 100644
--- a/server/main_channel.c
+++ b/server/main_channel.c
@@ -1026,6 +1026,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc,
if (type == SPICE_MSGC_MAIN_AGENT_DATA) {
return reds_get_agent_data_buffer(mcc, size);
+ } else if (size > sizeof(main_chan->recv_buf)) {
+ /* message too large, caller will log a message and close the connection */
+ return NULL;
} else {
return main_chan->recv_buf;
}
--
cgit v0.10.2

View File

@ -0,0 +1,33 @@
Prevent possible DoS during protocol handshake.
https://bugzilla.redhat.com/show_bug.cgi?id=1399566
https://access.redhat.com/security/cve/CVE-2016-9578
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9578
https://security-tracker.debian.org/tracker/CVE-2016-9578
Patch copied from upstream source repository:
https://cgit.freedesktop.org/spice/spice/commit/?h=0.12&id=f66dc643635518e53dfbe5262f814a64eec54e4a
From 1c6517973095a67c8cb57f3550fc1298404ab556 Mon Sep 17 00:00:00 2001
From: Frediano Ziglio <fziglio@redhat.com>
Date: Tue, 13 Dec 2016 14:39:48 +0000
Subject: Prevent possible DoS attempts during protocol handshake
diff --git a/server/reds.c b/server/reds.c
index f40b65c..86a33d5 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2202,7 +2202,8 @@ static void reds_handle_read_header_done(void *opaque)
reds->peer_minor_version = header->minor_version;
- if (header->size < sizeof(SpiceLinkMess)) {
+ /* the check for 4096 is to avoid clients to cause arbitrary big memory allocations */
+ if (header->size < sizeof(SpiceLinkMess) || header->size > 4096) {
reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA);
spice_warning("bad size %u", header->size);
reds_link_free(link);
--
cgit v0.10.2

View File

@ -0,0 +1,38 @@
Fixes a potential buffer overflow in the protocol handling.
https://bugzilla.redhat.com/show_bug.cgi?id=1399566
https://access.redhat.com/security/cve/CVE-2016-9578
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9578
https://security-tracker.debian.org/tracker/CVE-2016-9578
Patch copied from upstream source repository:
https://cgit.freedesktop.org/spice/spice/commit/?h=0.12&id=f66dc643635518e53dfbe5262f814a64eec54e4a
From f66dc643635518e53dfbe5262f814a64eec54e4a Mon Sep 17 00:00:00 2001
From: Frediano Ziglio <fziglio@redhat.com>
Date: Tue, 13 Dec 2016 14:40:10 +0000
Subject: Prevent integer overflows in capability checks
diff --git a/server/reds.c b/server/reds.c
index 86a33d5..9150454 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2110,6 +2110,14 @@ static void reds_handle_read_link_done(void *opaque)
link_mess->num_channel_caps = GUINT32_FROM_LE(link_mess->num_channel_caps);
link_mess->num_common_caps = GUINT32_FROM_LE(link_mess->num_common_caps);
+ /* Prevent DoS. Currently we defined only 13 capabilities,
+ * I expect 1024 to be valid for quite a lot time */
+ if (link_mess->num_channel_caps > 1024 || link_mess->num_common_caps > 1024) {
+ reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA);
+ reds_link_free(link);
+ return;
+ }
+
num_caps = link_mess->num_common_caps + link_mess->num_channel_caps;
caps = (uint32_t *)((uint8_t *)link_mess + link_mess->caps_offset);
--
cgit v0.10.2

View File

@ -0,0 +1,42 @@
Fix test failures caused by some build machines running more slowly than
expected, which manifest like this:
------
> raise FailedHealthCheck(message)
E hypothesis.errors.FailedHealthCheck: Data generation is extremely slow: Only produced 4 valid examples in 1.08 seconds (1 invalid ones and 0 exceeded maximum size). Try decreasing size of the data you're generating (with e.g.average_size or max_leaves parameters).
E See http://hypothesis.readthedocs.org/en/latest/healthchecks.html for more information about this. If you want to disable just this health check, add HealthCheck.too_slowto the suppress_health_check settings for this test.
/gnu/store/b8d1r8bilvm3jkncgrpvmg3dni9cgcr1-python-hypothesis-3.1.0/lib/python3.5/site-packages/hypothesis/core.py:296: FailedHealthCheck
------
Patch copied from upstream source repository:
https://github.com/pimutils/vdirsyncer/commit/10490a12f13f03495e0945eb9d45d7aed9ab0a6c
From 10490a12f13f03495e0945eb9d45d7aed9ab0a6c Mon Sep 17 00:00:00 2001
From: Markus Unterwaditzer <markus@unterwaditzer.net>
Date: Sat, 18 Feb 2017 15:45:06 +0100
Subject: [PATCH] Unconditionally disable HealthCheck.too_slow
---
tests/conftest.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index e0a07d5..3afd7cd 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -26,10 +26,12 @@ def benchmark():
else:
del pytest_benchmark
+
+settings.suppress_health_check = [HealthCheck.too_slow]
+
settings.register_profile("ci", settings(
max_examples=1000,
verbosity=Verbosity.verbose,
- suppress_health_check=[HealthCheck.too_slow]
))
settings.register_profile("deterministic", settings(
derandomize=True,

View File

@ -0,0 +1,24 @@
Fix CVE-2017-5953:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953
https://groups.google.com/forum/#!topic/vim_dev/t-3RSdEnrHY
Patch adapted from upstream commit, correcting the transcription error
in the bounds check:
https://github.com/vim/vim/commit/399c297aa93afe2c0a39e2a1b3f972aebba44c9d
diff --git a/src/spellfile.c b/src/spellfile.c
index c7d87c6..8b1a3a6 100644
--- a/src/spellfile.c
+++ b/src/spellfile.c
@@ -1595,6 +1595,9 @@ spell_read_tree(
len = get4c(fd);
if (len < 0)
return SP_TRUNCERROR;
+ if (len >= 0x3fffffff)
+ /* Invalid length, multiply with sizeof(int) would overflow. */
+ return SP_FORMERROR;
if (len > 0)
{
/* Allocate the byte array. */

View File

@ -5746,6 +5746,26 @@ access the DOM object, create and access Javascript, and generate SMIL
animation content.")
(license (package-license perl))))
(define-public perl-switch
(package
(name "perl-switch")
(version "2.17")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/Switch-"
version ".tar.gz"))
(sha256
(base32
"0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Switch")
(synopsis "Switch statement for Perl")
(description "Switch is a Perl module which implements a generalized case
mechanism. The module augments the standard Perl syntax with two new
statements: @code{switch} and @code{case}.")
(license (package-license perl))))
(define-public perl-sys-cpu
(package
(name "perl-sys-cpu")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
@ -31,7 +31,7 @@
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
@ -3602,6 +3602,36 @@ transcendental functions).")
(define-public python2-numexpr
(package-with-python2 python-numexpr))
(define-public python-cycler
(package
(name "python-cycler")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "cycler" version))
(sha256
(base32
"1n69n23fak1gjxlrbhqisi2b9pv3ckrfj98llx3p53953082syyd"))))
(build-system python-build-system)
(arguments
;; XXX: The current version requires 'coveralls' which we don't have.
;; Enable this for the next release which uses 'python-pytest'.
'(#:tests? #f))
(propagated-inputs
`(("python-six" ,python-six)))
(home-page "http://matplotlib.org/cycler/")
(synopsis "Composable keyword argument iterator")
(description
"When using @code{matplotlib} and plotting more than one line, it is
common to want to be able to want to be able to cycle over one or more artist
styles; but the plotting logic can quickly become involved.
To address this and enable easy cycling over arbitrary @code{kwargs}, the
@code{Cycler} class was developed.")
(license license:bsd-3)))
(define-public python2-cycler
(package-with-python2 python-cycler))
(define-public python-matplotlib
(package
(name "python-matplotlib")
@ -5160,6 +5190,24 @@ features useful for text console applications.")
(define-public python2-urwid
(package-with-python2 python-urwid))
(define-public python-openid
(package
(name "python-openid")
(version "3.0.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python3-openid" version))
(sha256
(base32
"1x3nh3fycqfn43jp5j5pb4q4y2jxp4mdka4absaa3bc0078qd758"))))
(build-system python-build-system)
(home-page "https://github.com/necaris/python3-openid")
(synopsis "OpenID support for servers and consumers")
(description "This library provides OpenID authentication for Python, both
for clients and servers.")
(license license:asl2.0)))
(define-public python2-openid
(package
(name "python2-openid")
@ -5357,9 +5405,9 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
(strip-python2-variant python-beautifulsoup4)))
(arguments `(#:python ,python-2))))
(define-public python2-cssutils
(define-public python-cssutils
(package
(name "python2-cssutils")
(name "python-cssutils")
(version "1.0.1")
(source
(origin
@ -5370,12 +5418,9 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
"0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq"))))
(build-system python-build-system)
(native-inputs
`(("python2-mock" ,python2-mock) ; for the tests
("unzip" ,unzip))) ; for unpacking the source
`(("unzip" ,unzip))) ; for unpacking the source
(arguments
`(#:python ,python-2 ; Otherwise tests fail with a syntax error.
#:tests? #f ; The tests apparently download an external URL.
))
`(#:tests? #f)) ;tests require python-pbr < 1.7.0
(home-page "http://cthedot.de/cssutils/")
(synopsis
"CSS Cascading Style Sheets library for Python")
@ -5385,6 +5430,9 @@ Cascading Style Sheets. Currently it provides a DOM only and no rendering
options.")
(license license:lgpl3+)))
(define-public python2-cssutils
(package-with-python2 python-cssutils))
(define-public python-cssselect
(package
(name "python-cssselect")
@ -8329,13 +8377,13 @@ processes across test runs.")
(define-public python-icalendar
(package
(name "python-icalendar")
(version "3.11.2")
(version "3.11.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "icalendar" version))
(sha256
(base32
"17rcy6rb9kqjf4p707ivmx7phjq7ngcz3bf7zriwxrqgrjagj7ag"))))
"086jslw8cg2hni79j267p1dy6d27m7q5hi39ni2clh9waqbdf5v3"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil-2" ,python-dateutil-2)
@ -8752,14 +8800,14 @@ document.")
(define-public python-botocore
(package
(name "python-botocore")
(version "1.4.62")
(version "1.5.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "botocore" version))
(sha256
(base32
"1zxczlwqy9bl27d9bc5x99mb5mcsxm350240lp5nx7014xb311lj"))))
"1hqvqwhgfcch4knm1l02ynx7qd1igxk3pj34c1x2b0r79jca524n"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil" ,python-dateutil-2)
@ -8783,14 +8831,14 @@ interface to the Amazon Web Services (AWS) API.")
(define-public awscli
(package
(name "awscli")
(version "1.11.43")
(version "1.11.47")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"1x94jmy8ygld8g4pf35zdankh4dx8g8qn3q9j3hrbawqw0vkrp3y"))))
"0p0pila0k99fm87q1gb24wyd34ags0vkh37h1fa6hklq4mi69i1w"))))
(build-system python-build-system)
(propagated-inputs
`(("python-colorama" ,python-colorama)
@ -12668,3 +12716,26 @@ Sorted dictionaries are also provided. Currently only with @dfn{Key Sorted
Order} (KSO, no sorting function can be specified, but a transform can be
specified to apply on the key before comparison (e.g. @code{string.lower})).")
(license license:expat)))
(define-public python-pypeg2
(package
(name "python-pypeg2")
(version "2.15.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyPEG2" version))
(sha256
(base32
"0v8ziaam2r637v94ra4dbjw6jzxz99gs5x4i585kgag1v204yb9b"))))
(build-system python-build-system)
(propagated-inputs `(("python-lxml" ,python-lxml)))
(arguments
;;https://bitbucket.org/fdik/pypeg/issues/36/test-failures-on-py35
'(#:tests? #f))
(home-page "https://fdik.org/pyPEG/")
(synopsis "Parsering Expression Grammars in Python")
(description "PyPEG is an intrinsic parser interpreter framework for
Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can
parse many formal languages.")
(license license:gpl2)))

View File

@ -84,7 +84,10 @@
"qemu-CVE-2017-5552.patch"
"qemu-CVE-2017-5578.patch"
"qemu-CVE-2017-5579.patch"
"qemu-CVE-2017-5856.patch"))))
"qemu-CVE-2017-5667.patch"
"qemu-CVE-2017-5856.patch"
"qemu-CVE-2017-5898.patch"
"qemu-CVE-2017-5931.patch"))))
(build-system gnu-build-system)
(arguments
'(;; Running tests in parallel can occasionally lead to failures, like:

View File

@ -1215,8 +1215,9 @@ module provides support functions to the automatically generated code.")
(patches (search-patches "pyqt-configure.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("python-sip" ,python-sip)
("qtbase" ,qtbase))) ; for qmake
`(("qtbase" ,qtbase))) ; for qmake
(propagated-inputs
`(("python-sip" ,python-sip)))
(inputs
`(("python" ,python-wrapper)
("qtbase" ,qtbase)

View File

@ -426,13 +426,13 @@ expectations and mocks frameworks.")
(define-public bundler
(package
(name "bundler")
(version "1.14.3")
(version "1.14.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bundler" version))
(sha256
(base32
"1znvh83phzvp97l3kcgk9vbwsnq45qc8nrb4dnqv17mrhgcwfqcx"))))
"1hafmb7p41pm40a2z7f4x5zpgrb72xvgwlvkxnflmzqkvq2prkfv"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -805,3 +805,42 @@ Using Scheme, a dialect of the Lisp programming language, the book explains
core computer science concepts such as abstraction in programming,
metalinguistic abstraction, recursion, interpreters, and modular programming.")
(license cc-by-sa4.0))))
(define-public scheme48-rx
(let* ((commit "d3231ad13de2b44e3ee173b1c9d09ff165e8b6d5")
(revision "1"))
(package
(name "scheme48-rx")
(version (string-append "0.0.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/scheme/rx")
(commit commit)))
(sha256
(base32
"1nmziaibgmfi346kzidj6xyad0vm7724qymbzgxvdzyrqji6v6yz"))
(file-name (string-append name "-" version "-checkout"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((share (string-append %output
"/share/scheme48-"
,(package-version scheme48)
"/rx")))
(chdir (assoc-ref %build-inputs "source"))
(mkdir-p share)
(copy-recursively "." share)))))
(native-inputs
`(("source" ,source)
("scheme48" ,scheme48)))
(home-page "https://github.com/scheme/rx/")
(synopsis "SRE String pattern-matching library for scheme48")
(description
"String pattern-matching library for scheme48 based on the SRE
regular-expression notation.")
(license bsd-3))))

View File

@ -40,6 +40,8 @@
(method url-fetch)
(uri (string-append "mirror://gnu/screen/screen-"
version ".tar.gz"))
(patches (search-patches "screen-CVE-2017-5618.patch"))
(patch-flags '("-p2"))
(sha256
(base32 "1c7grw03a9iwvqbxfd6hmjb681rp8gb55zsxm7b3apqqcb1sghq1"))))
(build-system gnu-build-system)

View File

@ -217,10 +217,10 @@ conflict with slocate compatibility.")
(version "2.4.7")
(source (origin
(method url-fetch)
(uri (list (string-append "http://swish-e.org/distribution/"
"swish-e-" version ".tar.gz")
;; The upstream swish-e.org appears to be down... so
;; use debian's copy as a fallback.
(uri (list (string-append
"https://web.archive.org/web/20160730145202/"
"http://swish-e.org/distribution/"
"swish-e-" version ".tar.gz")
(string-append "http://http.debian.net/debian/pool/"
"main/s/swish-e/swish-e_" version
".orig.tar.gz")))
@ -264,7 +264,8 @@ conflict with slocate compatibility.")
(list (string-append out "/lib/swish-e/swishspider")
(string-append out "/bin/swish-filter-test")))
#t))))))
(home-page "http://swish-e.org")
(home-page (string-append "https://web.archive.org/web/20160730145202/"
"http://swish-e.org"))
(synopsis "Web indexing system")
(description
"Swish-e is Simple Web Indexing System for Humans - Enhanced. Swish-e

View File

@ -37,6 +37,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages scheme)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
@ -90,7 +91,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
version "/fish-" version ".tar.gz"))
(sha256
(base32
"0kn2n9qr9cksg2cl78f3w0yd24368d35djhi6w5x3gbdxk23ywq3"))
"19djav128nkhjxgfhwhc32i5y9d9c3karbh5yg67kqrdranyvh7q"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
(snippet
@ -98,12 +99,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
((".*INSTALL.*sysconfdir.*fish.*") "")))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)
;; XXX These are needed to bootstrap the 2.5.0 tarball, and can probably
;; be removed along with the bootstrap phase on the next update.
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
`(("doxygen" ,doxygen)))
(inputs
`(("bc" ,bc)
("ncurses" ,ncurses)
@ -124,10 +120,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
"/bin/bc")))
(substitute* "share/functions/fish_update_completions.fish"
(("python") (which "python")))
#t))
(add-before 'configure 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
#t)))))
(synopsis "The friendly interactive shell")
(description
"Fish (friendly interactive shell) is a shell focused on interactive use,
@ -373,3 +366,51 @@ primitives that you are used to from Bash and IPython. It works on all major
systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily
use of experts and novices alike.")
(license bsd-2)))
(define-public scsh
(let ((commit "114432435e4eadd54334df6b37fcae505079b49f")
(revision "1"))
(package
(name "scsh")
(version (string-append "0.0.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/scheme/scsh")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ghk08akiz7hff1pndi8rmgamgcrn2mv9asbss9l79d3c2iaav3q"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-rx
(lambda* (#:key inputs #:allow-other-keys)
(let* ((rx (assoc-ref inputs "scheme48-rx"))
(rxpath (string-append rx "/share/scheme48-"
,(package-version scheme48)
"/rx")))
(delete-file-recursively "rx")
(symlink rxpath "rx"))
#t))
(add-before 'configure 'autoreconf
(lambda _
(zero? (system* "autoreconf")))))))
(inputs
`(("scheme48" ,scheme48)
("scheme48-rx" ,scheme48-rx)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://github.com/scheme/scsh")
(synopsis "Unix shell embedded in Scheme")
(description
"Scsh is a Unix shell embedded in Scheme. Scsh has two main
components: a process notation for running programs and setting up pipelines
and redirections, and a complete syscall library for low-level access to the
operating system.")
(license bsd-3))))

96
gnu/packages/simh.scm Normal file
View File

@ -0,0 +1,96 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.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 simh)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages admin))
(define-public simh
(package
(name "simh")
(version "3.9-0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/" name "/" name
"/archive/v" version ".tar.gz"))
(sha256
(base32
"1ymfy8j15d1aa4ai5xv9w7mk6lk4zx3zhfv0mfn66pdhrc8jlh0g"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libpcap" ,libpcap)))
(arguments
'(#:tests? #f
#:make-flags (list
"LDFLAGS=-lm"
(string-append "INCPATH="
(assoc-ref %build-inputs "libpcap")
"/include")
(string-append "LIBPATH="
(assoc-ref %build-inputs "libpcap")
"/lib"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'prepare-build
(lambda _
(mkdir "BIN")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(lib (string-append out "/lib/simh/")))
(mkdir-p bin)
(mkdir-p lib)
(for-each
(lambda (file)
(copy-file file (string-append bin
"simh-"
(basename file))))
(find-files "BIN"))
(for-each
(lambda (file)
(copy-file file (string-append lib
(basename file))))
(find-files "VAX" "bin$"))))))))
(home-page "http://simh.trailing-edge.com")
(synopsis "Collection of simulators from The Computer History Simulation
Project")
(description
"SIMH is a highly portable, multi-system simulator. SIMH implements
simulators for:
@itemize
@item Data General Nova, Eclipse.
@item Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10,
PDP-11, PDP-15, VAX.
@item GRI Corporation GRI-909, GRI-99.
@item IBM 1401, 1620, 1130, 7090/7094, System 3.
@item Interdata (Perkin-Elmer) 16b and 32b systems.
@item Hewlett-Packard 2114, 2115, 2116, 2100, 21MX, 1000.
@item Honeywell H316/H516.
@item MITS Altair 8800, with both 8080 and Z80.
@item Royal-Mcbee LGP-30, LGP-21.
@item Scientific Data Systems SDS 940.
@item SWTP 6800.
@end itemize")
(license license:expat)))

View File

@ -96,7 +96,7 @@
(define-public virglrenderer
(package
(name "virglrenderer")
(version "0.5.0")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -104,7 +104,7 @@
"virglrenderer-" version ".tar.bz2"))
(sha256
(base32
"1dj0j8nbyr7nrpds4dqlp43ji8ixjyqhgw6ywlz1r9dn6cs5m5d1"))))
"06kf0q4l52gzx5p63l8850hff8pmhp7xv1hk8zgx2apbw18y6jd5"))))
(build-system gnu-build-system)
(inputs
`(("libepoxy" ,libepoxy)
@ -121,35 +121,35 @@ system to use the host GPU to accelerate 3D rendering.")
(define-public spice-protocol
(package
(name "spice-protocol")
(version "0.12.11")
(version "0.12.12")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.spice-space.org/download/releases/"
"https://www.spice-space.org/download/releases/"
"spice-protocol-" version ".tar.bz2"))
(sha256
(base32
"0c33kg3vdz3nnl2wjfbgmszz5hbjbvsw6map35dj9hxnpwwf9fi2"))))
"00wx81f2ml62g3maw63jq9w217zym921rdi38h7lpm5m8ckxraqp"))))
(build-system gnu-build-system)
(synopsis "Protocol headers for the SPICE protocol")
(description "SPICE (the Simple Protocol for Independent Computing
Environments) is a remote-display system built for virtual environments
which allows users to view a desktop computing environment.")
(home-page "http://www.spice-space.org")
(home-page "https://www.spice-space.org")
(license (list license:bsd-3 license:lgpl2.1+))))
(define-public spice-gtk
(package
(name "spice-gtk")
(version "0.32")
(version "0.33")
(source (origin
(method url-fetch)
(uri (string-append
"http://spice-space.org/download/gtk/"
"https://spice-space.org/download/gtk/"
"spice-gtk-" version ".tar.bz2"))
(sha256
(base32
"00pf94xh2xf0h1g13lnavxrysd0d0x22l5jl108cvq1mjc4z8j2c"))))
"0fdgx9k4vgmasp8i2n0swrkapq8f212igcg7wsgvr3mbhsvk7bvx"))))
(build-system gnu-build-system)
(propagated-inputs
`(("gstreamer" ,gstreamer)
@ -194,7 +194,7 @@ which allows users to view a desktop computing environment.")
#t)))))
(synopsis "Gtk client and libraries for SPICE remote desktop servers")
(description "Gtk client and libraries for SPICE remote desktop servers.")
(home-page "http://www.spice-space.org")
(home-page "https://www.spice-space.org")
(license (list license:lgpl2.1+ license:lgpl2.0+))))
(define-public spice
@ -208,7 +208,11 @@ which allows users to view a desktop computing environment.")
"spice-" version ".tar.bz2"))
(sha256
(base32
"0za03i77j8i3g5l2np2j7vy8cqsdbkm9wbv4hjnaqq9xhz2sa0gr"))))
"0za03i77j8i3g5l2np2j7vy8cqsdbkm9wbv4hjnaqq9xhz2sa0gr"))
(patches
(search-patches "spice-CVE-2016-9577.patch"
"spice-CVE-2016-9578-1.patch"
"spice-CVE-2016-9578-2.patch"))))
(build-system gnu-build-system)
(propagated-inputs
`(("openssl" ,openssl)

View File

@ -215,7 +215,8 @@ internet.")
(base32
"1w2g623qkd7gdyydglx2hr4s2y237lg0nszjmy7z8d2iq8hvb9sn"))))
(native-inputs
`(("procps" ,procps)))
`(("psmisc" ,psmisc) ;some tests require 'killall'
("procps" ,procps)))
(build-system gnu-build-system)
(arguments
'(#:test-target "runtest"
@ -234,8 +235,8 @@ internet.")
(substitute* "test/rtpw.c"
(("/usr/share/dict/words")
(string-append (assoc-ref %build-inputs "procps")
"/share/doc/procps-ng"))
(("words.txt") "FAQ"))
"/share/doc/procps-ng/FAQ"))
(("words.txt") "FAQ"))
#t)))))
(synopsis "Secure RTP (SRTP) Reference Implementation")
(description "This package provides an implementation of the Secure

View File

@ -8,6 +8,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -109,7 +110,7 @@ libenca and several charset conversion libraries and tools.")
(define-public utf8proc
(package
(name "utf8proc")
(version "2.0.2")
(version "2.1.0")
(source
(origin
(method url-fetch)
@ -118,15 +119,38 @@ libenca and several charset conversion libraries and tools.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "140vib1m6n5kwzkw1n9fbsi5gl6xymbd7yndwqx1sj15aakak776"))))
(base32 "0q1jhdkk4f9b0zb8s2ql3sba3br5nvjsmbsaybmgj064k9hwbk15"))))
(build-system gnu-build-system)
(inputs ;test data that is otherwise downloaded with curl
`(("NormalizationTest.txt"
,(origin
(method url-fetch)
(uri (string-append "http://www.unicode.org/Public/9.0.0/ucd/"
"NormalizationTest.txt"))
(sha256
(base32 "1fxrz0bilsbwl685336aqi88k62i6nqhm62rvy4zhg3bcm4dhj1d"))))
("GraphemeBreakTest.txt"
,(origin
(method url-fetch)
(uri (string-append "http://www.unicode.org/Public/9.0.0/ucd/"
"auxiliary/GraphemeBreakTest.txt"))
(sha256
(base32 "0qbhyhmf0778lc2hcwlpizrvmdxwpk959v2q2wb8abv09ba7wvn7"))))))
(arguments
'(#:tests? #f ;no "check" target
#:make-flags (list "CC=gcc"
'(#:make-flags (list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(delete 'configure)
(add-before 'check 'check-data
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (i)
(copy-file (assoc-ref inputs i)
(string-append "data/" i)))
'("NormalizationTest.txt" "GraphemeBreakTest.txt"))
(substitute* "data/GraphemeBreakTest.txt"
(("÷") "/")
(("×") "+")))))))
(home-page "http://julialang.org/utf8proc/")
(synopsis "C library for processing UTF-8 Unicode data")
(description "utf8proc is a small C library that provides Unicode

View File

@ -389,7 +389,7 @@ required structures.")
(inherit openssl)
(replacement #f)
(name "openssl")
(version "1.1.0d")
(version "1.1.0e")
(source (origin
(method url-fetch)
(uri (list (string-append "ftp://ftp.openssl.org/source/"
@ -400,7 +400,7 @@ required structures.")
(patches (search-patches "openssl-1.1.0-c-rehash-in.patch"))
(sha256
(base32
"1pv0zql3r73qpjini90hn29l28d65b7i777zav0larbmi6gbnpkx"))))
"0k47sdd9gs6yxfv6ldlgpld2lyzrkcv9kz4cf88ck04xjwc8dgjp"))))
(outputs '("out"
"doc" ;1.3MiB of man3 pages
"static")) ; 5.5MiB of .a files

View File

@ -348,10 +348,13 @@ everything from small to very large projects with speed and efficiency.")
(inputs
`(("libssh2" ,libssh2)
("libcurl" ,curl)
("python" ,python-wrapper)
("openssl" ,openssl)))
("python" ,python-wrapper)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; These two libraries are in 'Requires.private' in libgit2.pc.
`(("openssl" ,openssl)
("zlib" ,zlib)))
(home-page "https://libgit2.github.com/")
(synopsis "Library providing Git core methods")
(description

View File

@ -444,14 +444,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg
(package
(name "ffmpeg")
(version "3.2.3")
(version "3.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"1ifwjh68zw0mwq9swmfjqk2ck84gysi0w8hrkw2yddqhr8m51kjl"))))
"0ymg1mkg1n0770gmjfqp79p5ijxq04smfrsrrxc8pjc0y0agyf3f"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
@ -473,6 +473,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("mesa" ,mesa)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("sdl" ,sdl2)
("soxr" ,soxr)
("speex" ,speex)
("twolame" ,twolame)
@ -612,14 +613,14 @@ audio/video codec library.")
(define-public ffmpeg-2.8
(package
(inherit ffmpeg)
(version "2.8.10")
(version "2.8.11")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"1ca84kc715xm7wmbnj1z4jfhxj8c7rxhy4cqwrd8cnih0l196j1c"))))
"1rhz7rhmhhh8bjcj3dc82haisn3qjbzqlr7k6d6v7064jgn3maiq"))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
@ -974,7 +975,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2017.02.07")
(version "2017.02.16")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@ -982,7 +983,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"1grq3aqa1zc0xdq1y6vqnk0y0vcd1j2jjn85696hw98mi0w1am73"))))
"1c2rx8hj960wg2sffpvg2513rl9grkwcpn4xk612ibfq4m7h3991"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View File

@ -63,6 +63,7 @@
(uri (string-append "https://github.com/vim/vim/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(patches (search-patches "vim-CVE-2017-5953.patch"))
(sha256
(base32
"04samk2bakyixbxyc3p0g6ypls45105sikibg0wc6lmak9bqjs85"))))

View File

@ -5,7 +5,7 @@
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
@ -51,6 +51,7 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages apr)
#:use-module (gnu packages check)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages autotools)
@ -64,11 +65,13 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnu-doc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages libidn)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages base)
@ -76,6 +79,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml)
#:use-module (gnu packages curl)
@ -3727,49 +3731,389 @@ can easily be invoked on a single file. Your partner can access the file with
tools they trust (e.g. wget).")
(license l:gpl2+)))
(define-public netsurf
(define netsurf-buildsystem
(package
(name "netsurf")
(version "3.5")
(name "netsurf-buildsystem")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.netsurf-browser.org/"
"netsurf/releases/source-full/netsurf-all-"
version ".tar.gz"))
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
"buildsystem-" version ".tar.gz"))
(sha256
(base32
"1vdldzcv42wykajmw8vbql0f1yd44gbx30kywfrrh2x3064ly609"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "Makefile"
;; Do not clobber PKG_CONFIG_PATH from the environment
(("PKG_CONFIG_PATH = \\$")
"PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$")
;; Honor make variables
(("shell cc") "shell $(CC)"))))
(patches (search-patches "netsurf-about.patch"))))
"0wdgvasrjik1dgvvpqbppbpyfzkqd1v45x3g9rq7p67n773azinv"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
'(#:make-flags (list (string-append "PREFIX=" %output))
#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build))))
(home-page "http://www.netsurf-browser.org")
(synopsis "Build system for the Netsurf project")
(description
"This package provides the shared build system for Netsurf project
libraries.")
(license l:expat)))
(define netsurf-buildsystem-arguments
`(#:make-flags `("COMPONENT_TYPE=lib-shared"
"CC=gcc" "BUILD_CC=gcc"
,(string-append "PREFIX=" %output)
,(string-append "NSSHARED="
(assoc-ref %build-inputs
"netsurf-buildsystem")
"/share/netsurf-buildsystem"))
#:test-target "test"
#:phases (modify-phases %standard-phases
(delete 'configure))))
(define-public libparserutils
(package
(name "libparserutils")
(version "0.2.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
("perl" ,perl))) ;for test harness
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libparserutils/")
(synopsis "Parser building library")
(description
"LibParserUtils is a library for building efficient parsers, written in
C. It is developed as part of the NetSurf project.")
(license l:expat)))
(define-public hubbub
(package
(name "hubbub")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
"lib" name "-" version "-src.tar.gz"))
(sha256
(base32
"101781iw32p47386fxqr01nrkywi12w17ajh02k2vlga4z8zyv86"))
(patches (search-patches "hubbub-sort-entities.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
("doxygen" ,doxygen)
("json-c" ,json-c)
("perl" ,perl)))
(propagated-inputs
`(("libparserutils" ,libparserutils))) ;for libhubbub.pc
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/hubbub/")
(synopsis "HTML5 compliant parsing library")
(description
"Hubbub is an HTML5 compliant parsing library, written in C, which can
parse both valid and invalid web content. It is developed as part of the
NetSurf project.")
(license l:expat)))
(define-public libwapcaplet
(package
(name "libwapcaplet")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0cs1dd2afjgc3wf5gqg434hv6jdabrp9qvlpl4dp53nhkyfywna3"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
("check" ,check))) ;for tests
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libwapcaplet/")
(synopsis "String internment library")
(description
"LibWapcaplet provides a reference counted string internment system
designed to store small strings and allow rapid comparison of them. It is
developed as part of the Netsurf project.")
(license l:expat)))
(define-public libcss
(package
(name "libcss")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0qp4p1q1dwgdra4pkrzd081zjzisxkgwx650ijx323j8bj725daf"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
("perl" ,perl)))
(propagated-inputs ;needed for libcss.pc
`(("libparserutils" ,libparserutils)
("libwapcaplet" ,libwapcaplet)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libcss/")
(synopsis "CSS parser and selection library")
(description
"LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,
written in C. It is developed as part of the NetSurf project.")
(license l:expat)))
(define-public libdom
(package
(name "libdom")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0qy7c8b229aiamyqqjgp6m1jlzc3fpl8s9dk33kxzkj70na8l7hv"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
("perl" ,perl) ;for test harness
("perl-libxml" ,perl-libxml)
("perl-switch" ,perl-switch)
("perl-xml-xpath" ,perl-xml-xpath)))
(inputs
`(("libparserutils" ,libparserutils)
("libwapcaplet" ,libwapcaplet)))
(propagated-inputs
`(("expat" ,expat) ;needed for headers and linking
("hubbub" ,hubbub))) ;for libdom.pc
(arguments
`(#:tests? #f ;TODO: re-enable. tests take a looong time.
,@netsurf-buildsystem-arguments))
(home-page "http://www.netsurf-browser.org/projects/libdom/")
(synopsis "Implementation of the W3C DOM")
(description
"LibDOM is an implementation of the W3C DOM, written in C. It is
developed as part of the NetSurf project.")
(license l:expat)))
(define-public libsvgtiny
(package
(name "libsvgtiny")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0w5hab9x1saz4lq2s9w47x1r64fbzcsl5bvdjph9c9dq68qv3f8a"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
("gperf" ,gperf)))
(inputs
`(("libwapcaplet" ,libwapcaplet)))
(propagated-inputs
`(("libdom" ,libdom))) ;for libsvgtiny.pc
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libsvgtiny/")
(synopsis "Library for parsing SVG files")
(description
"Libsvgtiny takes some SVG as input and returns a list of paths and texts
which can be rendered easily, as defined in
@url{http://www.w3.org/TR/SVGMobile/}. It is developed as part of the NetSurf
project.")
(license l:expat)))
(define-public libnsbmp
(package
(name "libnsbmp")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0y4a0gn4l6lq4z9183wix0mdsgalqyw24k19k8jr8sz4h3lb7jrb"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libnsbmp/")
(synopsis "Decoding library for BMP and ICO files")
(description
"Libnsbmp is a decoding library for BMP and ICO image file formats,
written in C. It is developed as part of the NetSurf project.")
(license l:expat)))
(define-public libnsgif
(package
(name "libnsgif")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"1ldsyscsgqwc8g5481h9nqmwirpp1pp57hmss450hr0mqra26g0k"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/projects/libnsgif/")
(synopsis "Decoding library for GIF files")
(description
"Libnsgif is a decoding library for the GIF image file format, written in
C. It is developed as part of the NetSurf project.")
(license l:expat)))
(define-public libnsutils
(package
(name "libnsutils")
(version "0.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0wrxn4rcn7xrfnkmf60jafqn3n1kicgsdpnakd821q56bmqvzf0m"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/")
(synopsis "Utility library for NetSurf")
(description
"Libnsutils provides a small number of useful utility routines. It is
developed as part of the NetSurf project.")
(license l:expat)))
(define-public libnspsl
(package
(name "libnspsl")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0x3frscrp9bzxlm9ama5laxjr3zi8cg20r8lhsamw4x4zyyk145y"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
(home-page "http://www.netsurf-browser.org/")
(synopsis "Library to generate a static Public Suffix List")
(description
"Libnspsl is a library to generate a static code representation of the
Public Suffix List. It is developed as part of the NetSurf project.")
(license l:expat)))
(define-public nsgenbind
(package
(name "nsgenbind")
(version "0.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"078gpbfcs96bgcba0ygha0ph9jzqr6ry5s3a8p6sl61px2908s66"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("bison" ,bison)
("flex" ,flex)))
(arguments
(substitute-keyword-arguments netsurf-buildsystem-arguments
((#:make-flags flags)
`(delete "COMPONENT_TYPE=lib-shared" ,flags))))
(home-page "http://www.netsurf-browser.org/")
(synopsis "Generate JavaScript to DOM bindings")
(description
"@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from
w3c webidl files and a binding configuration file.")
(license l:expat)))
(define-public netsurf
(package
(name "netsurf")
(version "3.6")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.netsurf-browser.org/netsurf/"
"releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
"174sjx0566agckwmlj4w2cip5qbxdiafyhlp185a1qprxx84pbjr"))
(patches (search-patches "netsurf-system-utf8proc.patch"
"netsurf-y2038-tests.patch"
"netsurf-longer-test-timeout.patch"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("nsgenbind" ,nsgenbind)
("libidn" ,libidn) ;only for tests
("check" ,check)
("perl" ,perl)
("perl-html-parser" ,perl-html-parser)
("flex" ,flex)
("bison" ,bison)))
("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+-2)
("gperf" ,gperf)
("curl" ,curl)
`(("curl" ,curl)
("gtk+" ,gtk+-2)
("openssl" ,openssl)
("utf8proc" ,utf8proc)
("libpng" ,libpng)
("libjpeg" ,libjpeg)
("expat" ,expat)))
("libcss" ,libcss)
("libdom" ,libdom)
("libnsbmp" ,libnsbmp)
("libnsgif" ,libnsgif)
("libnspsl" ,libnspsl)
("libnsutils" ,libnsutils)
("libsvgtiny" ,libsvgtiny)
("miscfiles" ,miscfiles)))
(arguments
`(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
,(string-append "PREFIX=" %output))
#:parallel-build? #f ;parallel builds not supported
#:tests? #f ;no way to easily run from release tarball
,(string-append "PREFIX=" %output)
,(string-append "NSSHARED="
(assoc-ref %build-inputs
"netsurf-buildsystem")
"/share/netsurf-buildsystem"))
#:test-target "test"
#:modules ((ice-9 rdelim)
(ice-9 match)
(srfi srfi-1)
@ -3777,18 +4121,11 @@ tools they trust (e.g. wget).")
,@%glib-or-gtk-build-system-modules)
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(call-with-output-file "netsurf/Makefile.config"
(lambda (port)
(format port "~
NETSURF_GTK_RESOURCES := $(PREFIX)/share/netsurf/~@
")))
#t))
(delete 'configure)
(add-after 'build 'adjust-welcome
(lambda _
;; First, fix some unended tags and simple substitutions
(substitute* "netsurf/gtk/res/welcome.html"
(substitute* "frontends/gtk/res/welcome.html"
(("<(img|input)([^>]*)>" _ tag contents)
(string-append "<" tag contents " />"))
(("Licence") "License") ;prefer GNU spelling
@ -3799,7 +4136,7 @@ tools they trust (e.g. wget).")
(("Google Search") "DuckDuckGo Search")
(("name=\"btnG\"") ""))
;; Remove default links so it doesn't seem we're endorsing them
(with-atomic-file-replacement "netsurf/gtk/res/welcome.html"
(with-atomic-file-replacement "frontends/gtk/res/welcome.html"
(lambda (in out)
;; Leave the DOCTYPE header as is
(display (read-line in 'concat) out)
@ -3815,22 +4152,28 @@ tools they trust (e.g. wget).")
(x x)))
out)))
#t))
(add-before 'check 'patch-check
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("test/bloom.c" "test/hashtable.c")
(("/usr/share/dict/words")
(string-append (assoc-ref inputs "miscfiles") "/share/web2")))
#t))
(add-after 'install 'install-more
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(desktop (string-append out "/share/applications/"
"netsurf.desktop")))
(mkdir-p (dirname desktop))
(copy-file "netsurf/gtk/res/netsurf-gtk.desktop"
(copy-file "frontends/gtk/res/netsurf-gtk.desktop"
desktop)
(substitute* desktop
(("netsurf-gtk") (string-append out "/bin/netsurf"))
(("netsurf.png") (string-append out "/share/netsurf/"
"netsurf.xpm")))
(install-file "netsurf/Docs/netsurf-gtk.1"
(install-file "Docs/netsurf-gtk.1"
(string-append out "/share/man/man1/"))
#t))))))
(home-page "https://www.netsurf-browser.org")
(home-page "http://www.netsurf-browser.org")
(synopsis "Web browser")
(description
"NetSurf is a lightweight web browser that has its own layout and
@ -4066,3 +4409,68 @@ Tidy also provides @code{libtidy}, a C static and dynamic library that
developers can integrate into their applications to make use of the
functions of Tidy.")
(license l:bsd-3)))
(define-public qutebrowser
(package
(name "qutebrowser")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/The-Compiler/"
"qutebrowser/releases/download/v" version "/"
"qutebrowser-" version ".tar.gz"))
(sha256
(base32
"0pf91nc0xcykahc3x7ww525c9czm8zpg80nxl8n2mrzc4ilgvass"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml)
("libxml2" ,libxml2) ;for xmllint
("libxslt" ,libxslt))) ;for xsltproc
(inputs
`(("python-colorama" ,python-colorama)
("python-cssutils" ,python-cssutils)
("python-jinja2" ,python-jinja2)
("python-markupsafe" ,python-markupsafe)
("python-pygments" ,python-pygments)
("python-pypeg2" ,python-pypeg2)
("python-pyyaml" ,python-pyyaml)
("python-pyqt" ,python-pyqt)
("qtwebkit" ,qtwebkit)))
(arguments
`(#:tests? #f ;no tests
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-more
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(app (string-append out "/share/applications"))
(hicolor (string-append out "/share/icons/hicolor")))
(system* "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
(install-file "doc/qutebrowser.1"
(string-append out "/share/man/man1"))
(for-each
(lambda (i)
(let ((src (format #f "icons/qutebrowser-~dx~d.png" i i))
(dest (format #f "~a/~dx~d/apps/qutebrowser.png"
hicolor i i)))
(mkdir-p (dirname dest))
(copy-file src dest)))
'(16 24 32 48 64 128 256 512))
(install-file "icons/qutebrowser.svg"
(string-append hicolor "/scalable/apps"))
(substitute* "qutebrowser.desktop"
(("Exec=qutebrowser")
(string-append "Exec=" out "/bin/qutebrowser")))
(install-file "qutebrowser.desktop" app)
#t))))))
(home-page "https://qutebrowser.org/")
(synopsis "Minimal, keyboard-focused, vim-like web browser")
(description "qutebrowser is a keyboard-focused browser with a minimal
GUI. It is based on PyQt5 and QtWebKit.")
(license l:gpl3+)))

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,14 +53,14 @@
(define-public webkitgtk
(package
(name "webkitgtk")
(version "2.14.4")
(version "2.14.5")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
"1b73rcyfqjyg5rqw6f4760b2h1kixwva88clp2wl9vnl3psjvbni"))))
"17rnjs7yl198bkghzcc2cgh30sb5i03irb6wag3xchwv7b1z3a1w"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no tests

View File

@ -33,7 +33,7 @@
(define-public wget
(package
(name "wget")
(version "1.19")
(version "1.19.1")
(source
(origin
(method url-fetch)
@ -41,7 +41,7 @@
version ".tar.xz"))
(sha256
(base32
"1133c14g19ysv74j7am66jwgwrr0rdn0rdyxw7rikbnsyjxmf48g"))))
"1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)

View File

@ -124,14 +124,14 @@ the leaves of a full binary tree.")
(define-public i3status
(package
(name "i3status")
(version "2.10")
(version "2.11")
(source (origin
(method url-fetch)
(uri (string-append "https://i3wm.org/i3status/i3status-"
version ".tar.bz2"))
(sha256
(base32
"1497dsvb32z9xljmxz95dnyvsbayn188ilm3l4ys8m5h25vd1xfs"))))
"0pwcy599fw8by1a1sf91crkqba7679qhvhbacpmhis8c1xrpxnwq"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))

View File

@ -756,14 +756,14 @@ Escape key when Left Control is pressed and released on its own.")
(define-public libwacom
(package
(name "libwacom")
(version "0.12")
(version "0.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
name "-" version ".tar.bz2"))
(sha256
(base32
"022d0097dk2glgb6772zpcsqm1w42sbsbr3i72pdhzq6naqawys8"))))
"0qiikh95b9crybkwgcbbv9y80hb7lsbvvmvaia4gbgbdyagwb2m0"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -607,14 +607,14 @@ a schema.")
(define-public perl-xml-compile-soap
(package
(name "perl-xml-compile-soap")
(version "3.20")
(version "3.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
"XML-Compile-SOAP-" version ".tar.gz"))
(sha256
(base32
"0qplb77qr97pc9yis51jmphl9gbq9xyf8abldpxkwvdn6iqlbgx5"))))
"0rxidh7kjyhnw2y789bqbwccnp8n0m3xskn524y9c752s64qpjcz"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
@ -635,14 +635,14 @@ used.")
(define-public perl-xml-compile-wsdl11
(package
(name "perl-xml-compile-wsdl11")
(version "3.05")
(version "3.06")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
"XML-Compile-WSDL11-" version ".tar.gz"))
(sha256
(base32
"1a50in1qrbzx3924wvrhgfm5fcxz5cd95f3z9z2xgln27q1zssc4"))))
"0vbq05cpynm3jj81fw1k4nsb3wv4zngi6blvi1jhdarmh2rfg1x2"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-log-report" ,perl-log-report)
@ -724,7 +724,7 @@ the form of functions.")
(define-public pugixml
(package
(name "pugixml")
(version "1.7")
(version "1.8.1")
(source
(origin
(method url-fetch)
@ -732,17 +732,10 @@ the form of functions.")
version "/pugixml-" version ".tar.gz"))
(sha256
(base32
"1jpml475kbhs1aqwa48g2cbfxlrb9qp115m2j9yryxhxyr30vqgv"))))
"0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
#:out-of-source? #f
#:phases (modify-phases %standard-phases
(add-before
'configure 'chdir
(lambda _
(chdir "scripts")
#t)))))
`(#:tests? #f)) ; no tests
(home-page "http://pugixml.org")
(synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
(description

View File

@ -2906,32 +2906,6 @@ the same level of support for generic VGA or 8514/A adapters.")
"xf86-video-mga is a Matrox video driver for the Xorg X server.")
(license license:x11)))
(define-public xf86-video-modesetting
(package
(name "xf86-video-modesetting")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/driver/xf86-video-modesetting-"
version ".tar.bz2"))
(sha256
(base32
"0p6pjn5bnd2wr3lmas4b12zcq12d9ilvssga93fzlg90fdahikwh"))))
(build-system gnu-build-system)
(inputs `(("libdrm" ,libdrm)
("xf86driproto" ,xf86driproto)
("libx11" ,libx11)
("xorg-server" ,xorg-server)))
(native-inputs `(("pkg-config" ,pkg-config)))
(home-page "https://www.x.org/wiki/")
(synopsis "\"Modesetting\" video driver for X server")
(description
"This is a generic \"modesetting\" video driver, that relies on the Linux
kernel mode setting (KMS).")
(license license:x11)))
(define-public xf86-video-neomagic
(package
(name "xf86-video-neomagic")

View File

@ -40,7 +40,8 @@
mod-muc-configuration
ssl-configuration
%default-modules-enabled))
%default-modules-enabled
prosody-configuration-pidfile))
;;; Commentary:
;;;
@ -592,7 +593,7 @@ See also @url{http://prosody.im/doc/modules/mod_muc}."
(zero? (system* #$prosodyctl-bin #$@args))))))
(list (shepherd-service
(documentation "Run the Prosody XMPP server")
(provision '(prosody))
(provision '(prosody xmpp-daemon))
(requirement '(networking syslogd user-processes))
(start (prosodyctl-action "start"))
(stop (prosodyctl-action "stop"))))))

View File

@ -31,6 +31,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages tor)
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
#:use-module (gnu packages ntp)
#:use-module (gnu packages wicd)
#:use-module (gnu packages gnome)
@ -80,7 +81,10 @@
network-manager-service-type
connman-service
wpa-supplicant-service-type))
wpa-supplicant-service-type
openvswitch-service-type
openvswitch-configuration))
;;; Commentary:
;;;
@ -885,4 +889,62 @@ configure networking."
(service-extension dbus-root-service-type list)
(service-extension profile-service-type list)))))
;;;
;;; Open vSwitch
;;;
(define-record-type* <openvswitch-configuration>
openvswitch-configuration make-openvswitch-configuration
openvswitch-configuration?
(package openvswitch-configuration-package
(default openvswitch)))
(define openvswitch-activation
(match-lambda
(($ <openvswitch-configuration> package)
(let ((ovsdb-tool (file-append package "/bin/ovsdb-tool")))
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/run/openvswitch")
(mkdir-p "/var/lib/openvswitch")
(let ((conf.db "/var/lib/openvswitch/conf.db"))
(unless (file-exists? conf.db)
(system* #$ovsdb-tool "create" conf.db)))))))))
(define openvswitch-shepherd-service
(match-lambda
(($ <openvswitch-configuration> package)
(let ((ovsdb-server (file-append package "/sbin/ovsdb-server"))
(ovs-vswitchd (file-append package "/sbin/ovs-vswitchd")))
(list
(shepherd-service
(provision '(ovsdb))
(documentation "Run the Open vSwitch database server.")
(start #~(make-forkexec-constructor
(list #$ovsdb-server "--pidfile"
"--remote=punix:/var/run/openvswitch/db.sock")
#:pid-file "/var/run/openvswitch/ovsdb-server.pid"))
(stop #~(make-kill-destructor)))
(shepherd-service
(provision '(vswitchd))
(requirement '(ovsdb))
(documentation "Run the Open vSwitch daemon.")
(start #~(make-forkexec-constructor
(list #$ovs-vswitchd "--pidfile")
#:pid-file "/var/run/openvswitch/ovs-vswitchd.pid"))
(stop #~(make-kill-destructor))))))))
(define openvswitch-service-type
(service-type
(name 'openvswitch)
(extensions
(list (service-extension activation-service-type
openvswitch-activation)
(service-extension profile-service-type
(compose list openvswitch-configuration-package))
(service-extension shepherd-root-service-type
openvswitch-shepherd-service)))))
;;; networking.scm ends here

View File

@ -109,7 +109,6 @@ Section \"Files\"
ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-fbdev "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-ati "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-modesetting "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-cirrus "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\"
@ -147,7 +146,6 @@ EndSection
(list xf86-video-vesa
xf86-video-fbdev
xf86-video-ati
xf86-video-modesetting
xf86-video-cirrus
xf86-video-intel
xf86-video-mach64

View File

@ -8,7 +8,7 @@
(operating-system
(host-name "komputilo")
(timezone "Europe/Berlin")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
;; the label of the target root file system.

View File

@ -9,7 +9,7 @@
(operating-system
(host-name "antelope")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root"
;; is the label of the target root file system.

View File

@ -9,7 +9,7 @@
(operating-system
(host-name "antelope")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root"
;; is the label of the target root file system.

194
gnu/tests/messaging.scm Normal file
View File

@ -0,0 +1,194 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.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 tests messaging)
#:use-module (gnu tests)
#:use-module (gnu system)
#:use-module (gnu system grub)
#:use-module (gnu system file-systems)
#:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services messaging)
#:use-module (gnu services networking)
#:use-module (gnu packages messaging)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
#:export (%test-prosody))
(define %base-os
(operating-system
(host-name "komputilo")
(timezone "Europe/Berlin")
(locale "en_US.UTF-8")
(bootloader (grub-configuration (device "/dev/sdX")))
(file-systems %base-file-systems)
(firmware '())
(users %base-user-accounts)
(services (cons (dhcp-client-service)
%base-services))))
(define (os-with-service service)
"Return a test operating system that runs SERVICE."
(operating-system
(inherit %base-os)
(services (cons service
(operating-system-user-services %base-os)))))
(define (run-xmpp-test name xmpp-service pid-file create-account)
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
(mlet* %store-monad ((os -> (marionette-operating-system
(os-with-service xmpp-service)
#:imported-modules '((gnu services herd))))
(command (system-qemu-image/shared-store-script
os #:graphic? #f))
(username -> "alice")
(server -> "localhost")
(jid -> (string-append username "@" server))
(password -> "correct horse battery staple")
(port -> 15222)
(message -> "hello world")
(witness -> "/tmp/freetalk-witness"))
(define script.ft
(scheme-file
"script.ft"
#~(begin
(define (handle-received-message time from nickname message)
(define (touch file-name)
(call-with-output-file file-name (const #t)))
(when (equal? message #$message)
(touch #$witness)))
(add-hook! ft-message-receive-hook handle-received-message)
(ft-set-jid! #$jid)
(ft-set-password! #$password)
(ft-set-server! #$server)
(ft-set-port! #$port)
(ft-set-sslconn! #f)
(ft-connect-blocking)
(ft-send-message #$jid #$message)
(ft-set-daemon)
(ft-main-loop))))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (gnu build marionette)
(srfi srfi-64))
(define marionette
;; Enable TCP forwarding of the guest's port 5222.
(make-marionette (list #$command "-net"
(string-append "user,hostfwd=tcp::"
(number->string #$port)
"-:5222"))))
(define (guest-wait-for-file file)
;; Wait until FILE exists in the guest; 'read' its content and
;; return it.
(marionette-eval
`(let loop ((i 10))
(cond ((file-exists? ,file)
(call-with-input-file ,file read))
((> i 0)
(begin
(sleep 1))
(loop (- i 1)))
(else
(error "file didn't show up" ,file))))
marionette))
(define (host-wait-for-file file)
;; Wait until FILE exists in the host.
(let loop ((i 60))
(cond ((file-exists? file)
#t)
((> i 0)
(begin
(sleep 1))
(loop (- i 1)))
(else
(error "file didn't show up" file)))))
(mkdir #$output)
(chdir #$output)
(test-begin "xmpp")
;; Wait for XMPP service to be up and running.
(test-eq "service running"
'running!
(marionette-eval
'(begin
(use-modules (gnu services herd))
(start-service 'xmpp-daemon)
'running!)
marionette))
;; Check XMPP service's PID.
(test-assert "service process id"
(let ((pid (number->string (guest-wait-for-file #$pid-file))))
(marionette-eval `(file-exists? (string-append "/proc/" ,pid))
marionette)))
;; Alice sends an XMPP message to herself, with Freetalk.
(test-assert "client-to-server communication"
(let ((freetalk-bin (string-append #$freetalk "/bin/freetalk")))
(marionette-eval '(system* #$create-account #$jid #$password)
marionette)
;; Freetalk requires write access to $HOME.
(setenv "HOME" "/tmp")
(system* freetalk-bin "-s" #$script.ft)
(host-wait-for-file #$witness)))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation name test)))
(define %create-prosody-account
(program-file
"create-account"
#~(begin
(use-modules (ice-9 match))
(match (command-line)
((command jid password)
(let ((password-input (format #f "\"~a~%~a\"" password password))
(prosodyctl #$(file-append prosody "/bin/prosodyctl")))
(system (string-join
`("echo" ,password-input "|" ,prosodyctl "adduser" ,jid)
" "))))))))
(define %test-prosody
(let* ((config (prosody-configuration
(virtualhosts
(list
(virtualhost-configuration
(domain "localhost")))))))
(system-test
(name "prosody")
(description "Connect to a running Prosody daemon.")
(value (run-xmpp-test name
(service prosody-service-type config)
(prosody-configuration-pidfile config)
%create-prosody-account)))))

View File

@ -91,9 +91,7 @@
(grep* "sourceLibrary" "dub.sdl") ; note: format is different!
(grep* "sourceLibrary" "dub.json"))
#t
(let ((status (zero? (apply system* `("dub" "build" ,@dub-build-flags)))))
(system* "dub" "run") ; might fail for "targetType": "library"
status)))
(zero? (apply system* `("dub" "build" ,@dub-build-flags)))))
(define* (check #:key tests? #:allow-other-keys)
(if tests?

View File

@ -21,12 +21,13 @@
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (guix import json)
#:use-module (guix import hackage)
#:use-module (guix memoization)
#:use-module (guix packages)
#:use-module (guix upstream)
#:use-module (guix ui)
#:export (stackage->guix-package
%stackage-updater))
@ -49,6 +50,9 @@
((_ ("packages" pkg ...)) pkg)
(_ '())))
(define (leave-with-message fmt . args)
(raise (condition (&message (message (apply format #f fmt args))))))
(define stackage-lts-info-fetch
;; "Retrieve the information about the LTS Stackage release VERSION."
(memoize
@ -59,7 +63,7 @@
(lts-info (json-fetch url)))
(if lts-info
(reverse lts-info)
(leave (_ "LTS release version not found: ~A~%") version))))))
(leave-with-message "LTS release version not found: ~a" version))))))
(define (stackage-package-name pkg-info)
(assoc-ref pkg-info "name"))
@ -99,7 +103,7 @@ included in the Stackage LTS release."
(hackage->guix-package name-version
#:include-test-dependencies?
include-test-dependencies?)
(leave (_ "package not found: ~A~%") package-name))))
(leave-with-message "~a: Stackage package not found" package-name))))
;;;

View File

@ -98,15 +98,16 @@ Import and convert the LTS Stackage package for PACKAGE-NAME.\n"))
(reverse opts))))
(match args
((package-name)
(let ((sexp (stackage->guix-package
package-name
#:include-test-dependencies?
(assoc-ref opts 'include-test-dependencies?)
#:lts-version (assoc-ref opts 'lts-version))))
(unless sexp
(leave (_ "failed to download cabal file for package '~a'~%")
package-name))
sexp))
(with-error-handling
(let ((sexp (stackage->guix-package
package-name
#:include-test-dependencies?
(assoc-ref opts 'include-test-dependencies?)
#:lts-version (assoc-ref opts 'lts-version))))
(unless sexp
(leave (_ "failed to download cabal file for package '~a'~%")
package-name))
sexp)))
(()
(leave (_ "too few arguments~%")))
((many ...)

View File

@ -72,7 +72,7 @@
test-source)
(_ (error "Unexpected URL: " url))))))))
(mock ((guix http-client) http-fetch
(lambda (url)
(lambda (url . rest)
(match url
("https://api.metacpan.org/release/Foo-Bar"
(values (open-input-string test-json)

View File

@ -65,7 +65,7 @@
(test-assert "crate->guix-package"
;; Replace network resources with sample data.
(mock ((guix http-client) http-fetch
(lambda (url)
(lambda (url . rest)
(match url
("https://crates.io/api/v1/crates/foo"
(open-input-string test-crate))

View File

@ -47,7 +47,7 @@
(test-assert "gem->guix-package"
;; Replace network resources with sample data.
(mock ((guix http-client) http-fetch
(lambda (url)
(lambda (url . rest)
(match url
("https://rubygems.org/api/v1/gems/foo.json"
(values (open-input-string test-json)

View File

@ -118,7 +118,7 @@ baz > 13.37")
("https://example.com/foo-1.0.0-py2.py3-none-any.whl" #f)
(_ (error "Unexpected URL: " url)))))
(mock ((guix http-client) http-fetch
(lambda (url)
(lambda (url . rest)
(match url
("https://pypi.python.org/pypi/foo/json"
(values (open-input-string test-json)
@ -181,7 +181,7 @@ baz > 13.37")
(delete-file-recursively "foo-1.0.0.dist-info")))
(_ (error "Unexpected URL: " url)))))
(mock ((guix http-client) http-fetch
(lambda (url)
(lambda (url . rest)
(match url
("https://pypi.python.org/pypi/foo/json"
(values (open-input-string test-json)

View File

@ -447,7 +447,8 @@
(every (lambda (entry)
(match (utmpx-user entry)
((? string?)
(> (utmpx-pid entry) 0))
(or (eqv? (login-type BOOT_TIME) (utmpx-login-type entry))
(> (utmpx-pid entry) 0)))
(#f ;might be DEAD_PROCESS
#t)))
entries))))