Merge branch 'master' into core-updates

master
Marius Bakke 2018-05-06 15:56:24 +02:00
commit 12bd588346
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
77 changed files with 4355 additions and 1687 deletions

View File

@ -235,6 +235,7 @@ Services
* X Window:: Graphical display.
* Printing Services:: Local and remote printer support.
* Desktop Services:: D-Bus and desktop services.
* Sound Services:: ALSA and Pulseaudio services.
* Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that.
* Messaging Services:: Messaging services.
@ -9697,6 +9698,7 @@ declaration.
* X Window:: Graphical display.
* Printing Services:: Local and remote printer support.
* Desktop Services:: D-Bus and desktop services.
* Sound Services:: ALSA and Pulseaudio services.
* Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that.
* Messaging Services:: Messaging services.
@ -12842,6 +12844,48 @@ bluetooth keyboard or mouse.
Users need to be in the @code{lp} group to access the D-Bus service.
@end deffn
@node Sound Services
@subsubsection Sound Services
@cindex sound support
@cindex ALSA
@cindex PulseAudio, sound support
The @code{(gnu services sound)} module provides an
@code{alsa-service-type} service to generate an ALSA
@file{/etc/asound.conf} configuration file. This configuration file is
what allows applications that produce sound using ALSA to be correctly
handled.
@deffn {Scheme Variable} alsa-service-type
This is the type for the @uref{https://alsa-project.org/, ALSA},
@command{alsa-configuration} record as in this example:
@example
(service alsa-service-type)
@end example
See below for details about @code{alsa-configuration}.
@end deffn
@deftp {Data Type} alsa-configuration
Data type representing the configuration for @code{alsa-service}.
@table @asis
@item @code{pulseaudio?} (default: @var{#t})
Whether ALSA applications should transparently be made to use the
@uref{http://www.pulseaudio.org/, PulseAudio} sound server.
Using PulseAudio allows you to run several sound-producing applications
at the same time and to individual control them @i{via}
@command{pavucontrol}, among other things.
@item @code{extra-options} (default: @var{""})
String to append to the @file{asound.conf} file.
@end table
@end deftp
@node Database Services
@subsubsection Database Services

View File

@ -480,6 +480,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/networking.scm \
%D%/services/nfs.scm \
%D%/services/shepherd.scm \
%D%/services/sound.scm \
%D%/services/herd.scm \
%D%/services/pm.scm \
%D%/services/rsync.scm \
@ -557,6 +558,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegis-test-fixup-1.patch \
%D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/ansible-wrap-program-hack.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
@ -697,7 +699,6 @@ dist_patch_DATA = \
%D%/packages/patches/gd-CVE-2018-5711.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gegl-CVE-2012-4433.patch \
%D%/packages/patches/gemma-intel-compat.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
@ -707,11 +708,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/ghostscript-runpath.patch \
%D%/packages/patches/giflib-make-reallocarray-private.patch \
%D%/packages/patches/gimp-CVE-2017-17784.patch \
%D%/packages/patches/gimp-CVE-2017-17785.patch \
%D%/packages/patches/gimp-CVE-2017-17786.patch \
%D%/packages/patches/gimp-CVE-2017-17787.patch \
%D%/packages/patches/gimp-CVE-2017-17789.patch \
%D%/packages/patches/glib-networking-ssl-cert-file.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
@ -857,7 +853,6 @@ dist_patch_DATA = \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/liboop-mips64-deplibs-fix.patch \
%D%/packages/patches/libotr-test-auth-fix.patch \
%D%/packages/patches/liblxqt-include.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
@ -1090,7 +1085,6 @@ dist_patch_DATA = \
%D%/packages/patches/scotch-graph-induce-type-64.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/shadow-CVE-2018-7169.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \

View File

@ -358,16 +358,15 @@ hostname.")
(define-public shadow
(package
(name "shadow")
(version "4.5")
(version "4.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz"))
(patches (search-patches "shadow-CVE-2018-7169.patch"))
(sha256
(base32
"0hdpai78n63l3v3fgr3kkiqzhd0awrpfnnzz4mf7lmxdh61qb37w"))))
"10smy01km2bqjjvsd2jz17zvrxbzj89qczyb1amk38j28bcci609"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
@ -959,7 +958,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.8.22")
(version "1.8.23")
(source (origin
(method url-fetch)
(uri
@ -969,7 +968,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj"))
"0yg62wq8rcrbr7qvh3wgfg2g4bwanbi50cr2lf2cfyy8dydx4qyq"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -51,15 +51,15 @@ formats.")
(define-public qrencode
(package
(name "qrencode")
(version "3.4.4")
(version "4.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://fukuchi.org/works/qrencode/qrencode-" version
".tar.gz"))
".tar.bz2"))
(sha256
(base32
"0wiagx7i8p9zal53smf5abrnh9lr31mv0p36wg017401jrmf5577"))))
"02vx69fl52jbcrmnydsaxcmy6nxqm9jyxzd7hr07s491d7hka069"))))
(build-system gnu-build-system)
(inputs `(("libpng" ,libpng)))
(native-inputs `(("pkg-config" ,pkg-config)))

View File

@ -211,7 +211,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(define-public giac-xcas
(package
(name "giac-xcas")
(version "1.4.9-45")
(version "1.4.9-59")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -223,7 +223,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"11za5rznr2dgy6598y4iwrcyi86w7f601ci9i794kl8k22pqhcd8"))))
"0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
@ -572,16 +572,7 @@ based on human speech recordings.")
(modify-phases %standard-phases
(add-after 'unpack 'remove-compiler-flags
(lambda _
(substitute* '("src/casynth/CMakeLists.txt"
"src/cheapdist/CMakeLists.txt"
"src/duffer/CMakeLists.txt"
"src/envfollower/CMakeLists.txt"
"src/ewham/CMakeLists.txt"
"src/hip2b/CMakeLists.txt"
"src/lushlife/CMakeLists.txt"
"src/powercut/CMakeLists.txt"
"src/powerup/CMakeLists.txt"
"src/stuck/CMakeLists.txt")
(substitute* (find-files "." "CMakeLists.txt")
(("-msse2 -mfpmath=sse") ""))
#t)))))
(inputs

View File

@ -77,7 +77,7 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
(define-public nss-mdns
(package
(name "nss-mdns")
(version "0.12")
(version "0.14.1")
(home-page "https://github.com/lathiat/nss-mdns")
(source (origin
(method url-fetch)
@ -85,32 +85,13 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
name "-" version ".tar.gz"))
(sha256
(base32
"1p2vj9fz4kzrjrj81ipf4qwgnr2n7a8cbzw4bpk18xyqhdx8h775"))
(patches
(list (origin
;; See
;; <https://github.com/lathiat/nss-mdns/issues/26#issuecomment-364781799>.
(uri (string-append
home-page
"/commit/31ccbec3b4f054e590c7c880d8a8a50cfc97127d.patch"))
(sha256
(base32
"0b1jmhnkpsczbph4ala7x3rafwxdg93277s30iaxh37jnvgjnhsd"))
(method url-fetch))))))
"134wdr0n9cm5ab4g6dwq76lvzqns9dcylr470i2xxjimnw0l22d2"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'set-avahi-socket-name
(lambda _
;; The Avahi daemon socket is expected by
;; src/Makefile.am to be at
;; "$(localstatedir)/run/avahi-daemon/socket", but
;; nowadays it lives in /run/avahi-daemon/socket.
;; Remove the "$(localstatedir)" bit.
(substitute* "src/Makefile.in"
(("\\$\\(localstatedir)/run/avahi-daemon/socket")
"/run/avahi-daemon/socket"))
#t)))))
;; The Avahi daemon socket is expected by 'configure.ac' to be at
;; "$(localstatedir)/run/avahi-daemon/socket", but nowadays it lives in
;; /run/avahi-daemon/socket. Remove the "$(localstatedir)" bit.
'(#:configure-flags '("AVAHI_SOCKET=/run/avahi-daemon/socket")))
(synopsis "Multicast DNS Name Service Switch (@dfn{NSS}) plug-in")
(description
"Nss-mdns is a plug-in for the GNU C Library's Name Service Switch

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -151,14 +152,14 @@ processing to visualization and annotation.")
(define-public r-multtest
(package
(name "r-multtest")
(version "2.34.0")
(version "2.36.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "multtest" version))
(sha256
(base32
"0n11rd49xl2vn3ldmfips7d3yb70l8npjcqsxyswr9ypjhgzkv9j"))))
"11949h2kglw13x8haaj4clg4jim1mwh5n98n9zxp9mmgn01z1lp0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-survival" ,r-survival)

View File

@ -11748,7 +11748,7 @@ accurate as existing quantification tools.")
code that is used in the Cufflinks codebase. The goal of this library is to
provide this functionality without the necessity of drawing in a heavy-weight
dependency like SeqAn.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"))))
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))
(define-public libdivsufsort
(package

View File

@ -62,7 +62,7 @@
(define-public transmission
(package
(name "transmission")
(version "2.93")
(version "2.94")
(source (origin
(method url-fetch)
(uri (string-append
@ -70,7 +70,7 @@
"master/transmission-" version ".tar.xz"))
(sha256
(base32
"02xrp49gsv4jkbzp37qrwlnb9nlja08s92dyvgdbr6a4187945c8"))))
"0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface

View File

@ -111,12 +111,12 @@
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags))))))
(home-page "http://www.boost.org")
(home-page "https://www.boost.org")
(synopsis "Peer-reviewed portable C++ source libraries")
(description
"A collection of libraries intended to be widely useful, and usable
across a broad spectrum of applications.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
(define-public boost-sync
@ -149,7 +149,7 @@ across a broad spectrum of applications.")
(description "The Boost.Sync library provides mutexes, semaphores, locks
and events and other thread related facilities. Boost.Sync originated from
Boost.Thread.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))))
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt")))))
(define-public mdds
(package

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@ -83,7 +83,7 @@ standard.")
(build-system trivial-build-system)
(native-inputs '())
(inputs `(("tcc" ,tcc)
("guile" ,guile-2.0)))
("guile" ,guile-2.2)))
;; By default TCC does not honor any search path environment variable.
;; This wrapper adds them.

View File

@ -396,6 +396,8 @@ test coverage and has a web user interface that will refresh automatically.")
(home-page "https://github.com/smartystreets/goconvey")
(license license:expat)))
;; XXX When updating, check whether ZNC's GOOGLETEST-SOURCES can be
;; switched back to simply using (PACKAGE-SOURCE ...).
(define-public googletest
(package
(name "googletest")

View File

@ -653,14 +653,14 @@ rows, dropping names) to see if the modified versions are identical.")
(define-public r-dendextend
(package
(name "r-dendextend")
(version "1.7.0")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "dendextend" version))
(sha256
(base32
"1krvqadnnh53xx5ql7bwzxaif6a317jzbs1m00gnc6jnj03rfl5d"))))
"1virn3c232xwcq3d0hhkgjh5gpzl01s39iwii5gxcm9mnsxjzdrh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-fpc" ,r-fpc)
@ -1537,14 +1537,14 @@ Delaunay triangulation and convex hull computation.")
(define-public r-ddalpha
(package
(name "r-ddalpha")
(version "1.3.2")
(version "1.3.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "ddalpha" version))
(sha256
(base32
"1i2zcz20zy9xd42kdz09njbkq07mj2pp6f07z6dnwi5hrmvhbh9r"))))
"0g4iqhrz2gym05q40ih6srilyajw2l2mv46pchn65bc7hw4vkgrk"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bh" ,r-bh)
@ -2370,14 +2370,14 @@ timeout. It can also poll several processes at once.")
(define-public r-tsp
(package
(name "r-tsp")
(version "1.1-5")
(version "1.1-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "TSP" version))
(sha256
(base32
"03xxfr5kk4zhzpb1q1pwncdp0dhchm9b48wzhvvxn2dxf3mnby2w"))))
"1ym97xl2icjpfkrici0wig29w06bb704hp51v7h5liygjlwpkhlc"))))
(properties `((upstream-name . "TSP")))
(build-system r-build-system)
(propagated-inputs `(("r-foreach" ,r-foreach)))
@ -3125,18 +3125,19 @@ creation and manipulation of WAVE audio files.")
(define-public r-np
(package
(name "r-np")
(version "0.60-6")
(version "0.60-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "np" version))
(sha256
(base32
"1y72x5j9j9mcgcy2xizk31gl843hfkngxdn8s4qw7yhw2qj79hsr"))))
"02h62n5xclr01fx88ayp7y1s9gcnb11zb1vqshvdcq31v18h7kf2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-boot" ,r-boot)
("r-cubature" ,r-cubature)
("r-quadprog" ,r-quadprog)
("r-quantreg" ,r-quantreg)))
(home-page "https://github.com/JeffreyRacine/R-Package-np")
(synopsis "Non-parametric kernel smoothing methods for mixed data types")
@ -3853,14 +3854,14 @@ exchanging spatial objects with other R packages.")
(define-public r-later
(package
(name "r-later")
(version "0.7.1")
(version "0.7.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "later" version))
(sha256
(base32
"0z9jymmclkq9zcg1fd8p6gsnm5z1sn3n9pfz3bs03qjrkbizgrvz"))))
"0l5ln7sjyi2rj7bx8iamxykqlfarv05zb9882ikizppb1cr1hgyw"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bh" ,r-bh)

File diff suppressed because it is too large Load Diff

View File

@ -1046,7 +1046,7 @@ emulation community. It provides highly accurate emulation.")
(define-public retroarch
(package
(name "retroarch")
(version "1.7.2")
(version "1.7.3")
(source
(origin
(method url-fetch)
@ -1054,7 +1054,7 @@ emulation community. It provides highly accurate emulation.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1y9fakr41h6xpddpkj12mcw1kgldvy76nzvxm5jk5v7iyiks4c6k"))))
(base32 "1si78dbwbsq4i0r42q94nmlpaxdyqch113nxavdprf4vc1224356"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
@ -1088,6 +1088,7 @@ emulation community. It provides highly accurate emulation.")
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("python" ,python)
("qtbase" ,qtbase)
("sdl" ,sdl2)
("udev" ,eudev)
("vulkan-icd-loader" ,vulkan-icd-loader)

View File

@ -1082,14 +1082,14 @@ bindings for Python, Java, OCaml and more.")
(define-public radare2
(package
(name "radare2")
(version "1.6.0")
(version "2.5.0")
(source (origin
(method url-fetch)
(uri (string-append "http://radare.mikelloc.com/get/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
"16ggsk40zz6hyvclvqj1r4bh4hb78jf0d6ppry1jk4r0j30wm7cm"))
"17h4ba5qqahfi8mi4x2dcvq87cqpir5v2dlaqbvmay6vby4zh4v7"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -262,8 +262,7 @@ Libraries with some extra bells and whistles.")
"16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-mount-eeze")
#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-system-actions
(lambda* (#:key inputs #:allow-other-keys)
@ -275,6 +274,8 @@ Libraries with some extra bells and whistles.")
(("/usr/share/X11/xkb/rules/xorg.lst")
(string-append xkeyboard
"/share/X11/xkb/rules/base.lst")))
(substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") ""))
(substitute* "configure"
(("/bin/mount") (string-append utils "/bin/mount"))
(("/bin/umount") (string-append utils "/bin/umount"))

View File

@ -27,14 +27,14 @@
(define-public freeipmi
(package
(name "freeipmi")
(version "1.6.1")
(version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
"0jdm1nwsnkj0nzjmcqprmjk25449mhjj25khwzpq3mpjw440wmd2"))))
"0jhjf21gn1m9lhjsc1ard9zymq25mk7rxcyygjfxgy0vb4j36l9i"))))
(build-system gnu-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)))

View File

@ -233,10 +233,19 @@ PCM data.")
(base32
"13j1m92zhxwkaaja3lg5x0h0b28mrrawdzk9d3hd19031akfxwb3"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'build 'no-Werror
(lambda _
;; Don't abort builds due to things like GLib
;; deprecation warnings.
(substitute* (find-files "." "^Makefile\\.in$")
(("-Werror") ""))
#t)))))
(native-inputs `(("pkgconfig" ,pkg-config)))
(inputs `(("bdb" ,bdb)
("glib" ,glib)
("guile" ,guile-2.0)
("guile" ,guile-2.2)
("libmicrohttpd" ,libmicrohttpd)
("ncurses" ,ncurses)
("sdl" ,sdl)
@ -541,22 +550,15 @@ archive on a per-file basis.")
(define-public love
(package
(name "love")
(version "0.10.2")
(version "11.1")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/rude/love/downloads/"
"love-" version "-linux-src.tar.gz"))
(sha256
(base32
"11x346pw0gqad8nmkmywzx4xpcbfc3dslbrdw5x94n1i25mk0sxj"))
(modules '((guix build utils)))
(snippet
'(begin
;; Build with luajit 2.1.0-beta3. Fixed in love 0.11.
;; See <https://bitbucket.org/rude/love/issues/1277>.
(substitute* "src/libraries/luasocket/libluasocket/lua.h"
(("> 501") ">= 501"))
#t))))
"1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw"))
(modules '((guix build utils)))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -777,90 +777,110 @@ utilizing the art assets from the @code{SuperTux} project.")
license:gpl3+))))
(define-public roguebox-adventures
(let ((commit "19a2c340b34d5b4e7cc89118c7aedc058babbd93")
(revision "1"))
(package
(name "roguebox-adventures")
(version (git-version "2.1.2" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://git.postactiv.com/themightyglider/RogueBoxAdventures.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0afmg8fjdcs3sqdp5rc7irgr7riil8jwysfjn1imfxslf1wcx5ah"))))
(build-system python-build-system)
(arguments
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no setup.py script
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append
out "/share/games/roguebox-adventures")))
;; Use the correct data directory.
(substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py")
(("basic_path + os\\.sep + 'DATA'")
(string-append "'" data "'"))
(("^basic_path.*$")
(string-append "basic_path ='" data "'\n")))
(substitute* "LIB/gra_files.py"
(("basic_path = b_path\\.replace\\('/LIB',''\\)")
(string-append "basic_path ='" data "'\n")))
(package
(name "roguebox-adventures")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.tuxfamily.org/rba/RogueBoxAdventures_v"
(string-join (string-split version #\.) "_") "_Source.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0kmzdgnik8fsf3bg55546l77p3mfxn2awkzfzzdn20n82rd2babw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(and (invoke "unzip" source)
;; The actual source is buried a few directories deep.
(chdir (string-append "RogueBoxAdventures_v"
(string-join
(string-split ,version #\.) "_")
"_Source")))))
;; no setup.py script
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append
out "/share/games/roguebox-adventures")))
;; Use the correct data directory.
(substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py")
(("basic_path + os\\.sep + 'DATA'")
(string-append "'" data "'"))
(("^basic_path.*$")
(string-append "basic_path ='" data "'\n")))
(substitute* "LIB/gra_files.py"
(("basic_path = b_path\\.replace\\('/LIB',''\\)")
(string-append "basic_path ='" data "'\n")))
;; The game must save in the user's home directory because
;; the store is read-only.
(substitute* "main.py"
(("home_save = False") "home_save = True")
(("'icon_small.png'")
(string-append "'" data "/icon_small.png'"))))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append
out "/share/games/roguebox-adventures"))
(doc (string-append
out "/share/doc/roguebox-adventures")))
(mkdir-p bin)
(mkdir-p doc)
(copy-file "main.py"
(string-append bin "/roguebox-adventures"))
(chmod (string-append bin "/roguebox-adventures") #o555)
;; The game must save in the user's home directory because
;; the store is read-only.
(substitute* "main.py"
(("home_save = False") "home_save = True")
(("'icon_small.png'")
(string-append "'" data "/icon_small.png'"))))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(roguebox-adventures
(string-append bin "/roguebox-adventures"))
(data (string-append
out "/share/games/roguebox-adventures"))
(lib (string-append data "/LIB"))
(doc (string-append
out "/share/doc/roguebox-adventures")))
(mkdir-p bin)
(mkdir-p doc)
(for-each (lambda (file)
(copy-recursively file
(string-append data "/" file)))
'("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE"
"icon_big.png" "icon_small.png"))
(for-each (lambda (file)
(copy-recursively file
(string-append data "/" file)))
'("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE"
"icon_big.png" "icon_small.png"))
(for-each (lambda (file)
(chmod file #o555)
(install-file file lib))
'("main.py" "run.py"))
(copy-recursively "DOC" doc)
(copy-recursively "DOC" doc)
(wrap-program (string-append bin "/roguebox-adventures")
`("PYTHONPATH" ":" prefix (,(string-append data "/LIB")))))
#t)))))
(inputs
`(("python-pygame" ,python-pygame)
("python-tmx" ,python-tmx)))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "A classical roguelike/sandbox game")
(description
"RogueBox Adventures is a graphical roguelike with strong influences
(call-with-output-file
roguebox-adventures
(lambda (p)
(format p "\
#!~a
export PYTHONPATH=~a/LIB:~a
exec -a \"~a\" ~a \"$@\"\n"
(which "bash") data (getenv "PYTHONPATH")
(which "python3")
(string-append lib "/main.py"))))
(chmod roguebox-adventures #o555))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(inputs
`(("python-pygame" ,python-pygame)
("python-tmx" ,python-tmx)))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "A classical roguelike/sandbox game")
(description
"RogueBox Adventures is a graphical roguelike with strong influences
from sandbox games like Minecraft or Terraria. The main idea of RogueBox
Adventures is to offer the player a kind of roguelike toy-world. This world
can be explored and changed freely.")
;; The GPL3+ is for code, the rest are for art.
(license (list license:cc0
license:cc-by3.0
license:gpl3+
license:silofl1.1)))))
;; The GPL3+ is for code, the rest are for art.
(license (list license:cc0
license:cc-by3.0
license:gpl3+
license:silofl1.1))))
(define-public xshogi
(package

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,6 +29,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
@ -39,12 +41,13 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
#:use-module (gnu packages python)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg))
(define-public babl
(package
(name "babl")
(version "0.1.40")
(version "0.1.46")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -58,7 +61,7 @@
"/babl-" version ".tar.bz2")))
(sha256
(base32
"08cdl6rcfvkhqsnhb214xzr0wbrv0956xzlrzqxcb1k1madgjanh"))))
"0nwyhvfca6m35wjcccvwca7fcihzgdfyc012qi703y5d3cxl1hmv"))))
(build-system gnu-build-system)
(home-page "http://gegl.org/babl/")
(synopsis "Image pixel format conversion library")
@ -75,43 +78,25 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
(version "0.2.0")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (list (string-append "http://download.gimp.org/pub/gegl/"
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
(string-take version 3)
"/" name "-" version ".tar.bz2")))
(sha256
(base32
"09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz"))
(patches (search-patches "gegl-CVE-2012-4433.patch"))))
"1ighk4z8nlqrzyj8w97s140hzj59564l3xv6fpzbr97m1zx2nkfh"))))
(build-system gnu-build-system)
(arguments
'(;; More than just the one test disabled below now fails; disable them
;; all according to the rationale given below.
#:tests? #f
#:configure-flags '("LDFLAGS=-lm")
#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda _
;; This test program seems to crash on exit. Specifically, whilst
;; g_object_unreffing bufferA and bufferB - This seems to be a bug
;; in the destructor. This is just a test program so will not have
;; any wider effect, although might be hiding another problem.
;; According to advice received on irc.gimp.org#gegl although 0.2.0
;; is the latest released version, any bug reports against it will
;; be ignored. So we are on our own.
(substitute* "tools/img_cmp.c"
(("g_object_unref \\(buffer.\\);") ""))
(substitute* "tests/compositions/Makefile"
(("/bin/sh") (which "sh")))
#t)))))
(inputs
'(#:configure-flags '("LDFLAGS=-lm")))
;; These are propagated to satisfy 'gegl-0.4.pc'.
(propagated-inputs
`(("babl" ,babl)
("glib" ,glib)
("cairo" ,cairo)
("json-glib" ,json-glib)))
(inputs
`(("cairo" ,cairo)
("pango" ,pango)
("libpng" ,libpng)
("libjpeg" ,libjpeg-8)))
@ -131,23 +116,18 @@ buffers.")
(define-public gimp
(package
(name "gimp")
(version "2.8.22")
(version "2.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.gimp.org/pub/gimp/v"
(uri (string-append "https://download.gimp.org/pub/gimp/v"
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(patches (search-patches "gimp-CVE-2017-17784.patch"
"gimp-CVE-2017-17785.patch"
"gimp-CVE-2017-17786.patch"
"gimp-CVE-2017-17787.patch"
"gimp-CVE-2017-17789.patch"))
(sha256
(base32
"12k3lp938qdc9cqj29scg55f3bb8iav2fysd29w0s49bqmfa71wi"))))
"1qkxaigbfkx26xym5nzrgfrmn97cbnhn63v1saaha2nbi3xrdk3z"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
"doc")) ;9 MiB of gtk-doc HTML
(arguments
'(#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
@ -171,21 +151,27 @@ buffers.")
(inputs
`(("babl" ,babl)
("glib" ,glib)
("glib-networking" ,glib-networking)
("libtiff" ,libtiff)
("libjpeg" ,libjpeg-8)
("atk" ,atk)
("gexiv2" ,gexiv2)
("gtk+" ,gtk+-2)
("libmypaint" ,libmypaint)
("mypaint-brushes" ,mypaint-brushes)
("exif" ,libexif) ; optional, EXIF + XMP support
("lcms" ,lcms) ; optional, color management
("librsvg" ,librsvg) ; optional, SVG support
("poppler" ,poppler) ; optional, PDF support
("poppler-data" ,poppler-data)
("python" ,python-2) ; optional, Python support
("python2-pygtk" ,python2-pygtk) ; optional, Python support
("gegl" ,gegl)))
(native-inputs
`(("pkg-config" ,pkg-config)
`(("glib:bin" ,glib "bin") ; for glib-compile-resources and gdbus-codegen
("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(home-page "http://gimp.org")
(home-page "https://www.gimp.org")
(synopsis "GNU Image Manipulation Program")
(description
"GIMP is an application for image manipulation tasks such as photo
@ -243,3 +229,58 @@ an image, allowing you to work with the transformed image inside GIMP. You
can draw or apply filters in fourier space and get the modified image with an
inverse fourier transform.")
(license license:gpl3+)))
(define-public libmypaint
(package
(name "libmypaint")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mypaint/libmypaint/"
"releases/download/v" version "/libmypaint-"
version ".tar.xz"))
(sha256
(base32
"0wd6jk69vmhsq1mdw96v0fh7b28n3glkr5ca466zcq7agzaxj1va"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
;; As needed by 'libmypaint.pc'.
(propagated-inputs
`(("json-c" ,json-c)
("gobject-introspection" ,gobject-introspection)))
(inputs
`(("glib" ,glib)))
(synopsis "Artistic brushes library")
(description "Libmypaint, also called \"brushlib\", is a library for making
brushstrokes which is used by MyPaint and GIMP.")
(home-page "http://mypaint.org")
(license license:isc)))
(define-public mypaint-brushes
(package
(name "mypaint-brushes")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Jehan/mypaint-brushes/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"055j2rgkav2024zl6y5hxb2ra0vbx58607d6sz7ml2351r1bcjvh"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _ (invoke "sh" "./autogen.sh"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(synopsis "Default brushes for MyPaint")
(description "This package provides the default set of brushes for
MyPaint.")
(home-page "https://github.com/Jehan/mypaint-brushes")
(license license:cc0)))

View File

@ -55,7 +55,8 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match))
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:hide (zip)))
(define-public glu
(package
@ -211,7 +212,8 @@ also known as DXTn or DXTC) for Mesa.")
(package
(inherit libva)
(name "libva-without-mesa")
(inputs (alist-delete "mesa" (package-inputs libva)))
(inputs `(,@(fold alist-delete (package-inputs libva)
'("mesa" "wayland"))))
(arguments
(strip-keyword-arguments
'(#:make-flags)

View File

@ -29,6 +29,7 @@
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -146,6 +147,7 @@
#:use-module (gnu packages virtualization)
#:use-module (gnu packages vpn)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public brasero
@ -5815,7 +5817,7 @@ files.")
(define-public baobab
(package
(name "baobab")
(version "3.26.1")
(version "3.28.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -5824,11 +5826,15 @@ files.")
name "-" version ".tar.xz"))
(sha256
(base32
"0zkqxyqyxd6j270jf5hbcrb3yh4k31ddh40v4cjhgngm8mcsnnbs"))))
(build-system glib-or-gtk-build-system)
"0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("itstool" ,itstool)
("xmllint" ,libxml2)
("glib" ,glib "bin")
@ -7192,3 +7198,86 @@ into audio files that a personal computer or digital audio player can play.
It supports ripping to any audio codec supported by a GStreamer plugin, such as
mp3, Ogg Vorbis and FLAC")
(license license:gpl2+)))
(define-public workrave
(let ((commit "v1_10_20"))
(package
(name "workrave")
(version (string-map (match-lambda
(#\_ #\.)
(chr chr))
(string-drop commit 1)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rcaelers/workrave.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"099a87zkrkmsgfz9isrfm89dh545x52891jh6qxmn19h6wwsi941"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh")
#t)))))
(propagated-inputs `(("glib" ,glib)
("gtk+" ,gtk+)
("gdk-pixbuf" ,gdk-pixbuf)
("gtkmm" ,gtkmm)
("glibmm" ,glibmm)
("libx11" ,libx11)
("libxtst" ,libxtst)
("dconf" ,dconf)
("libice" ,libice)))
(inputs `(("libsm", libsm)
("python-cheetah" ,python2-cheetah)))
(native-inputs `(("glib" ,glib "bin")
("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)
("autoconf" ,autoconf)
("autoconf-archive" , autoconf-archive)
("automake" ,automake)
("libtool" ,libtool)
("intltool" ,intltool)
("libxscrnsaver" ,libxscrnsaver)
("gobject-introspection" ,gobject-introspection)
("python2" ,python-2)))
(synopsis "Tool to help prevent repetitive strain injury (RSI)")
(description "Workrave is a program that assists in the recovery and
prevention of repetitive strain injury (RSI). The program frequently alerts
you to take micro-pauses, rest breaks and restricts you to your daily limit")
(home-page "http://www.workrave.org")
(license license:gpl3+))))
(define-public ghex
(package
(name "ghex")
(version "3.18.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1lq8920ad2chi9ibmyq0x9hg9yk63b0kdbzid03w42cwdzw50x66"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("gnome-common" ,gnome-common)
("which" ,which)
("intltool" ,intltool)
("yelp-tools" ,yelp-tools)
("desktop-file-utils" ,desktop-file-utils))) ;for 'desktop-file-validate'
(inputs
`(("atk" ,atk)
("gtk" ,gtk+)))
(synopsis "GNOME hexadecimal editor")
(description "The GHex program can view and edit files in two ways:
hexadecimal or ASCII. It is useful for editing binary files in general.")
(home-page "https://wiki.gnome.org/Apps/Ghex")
(license license:gpl2)))

View File

@ -14,6 +14,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -91,6 +92,20 @@ Daemon and possibly more in the future.")
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/libgpg-error")))))
;; Some packages (e.g. GPGME) require a newer libgpg-error to deal with
;; error codes from recent GnuPG. Remove this in the next rebuild cycle.
(define-public libgpg-error-1.31
(package
(inherit libgpg-error)
(version "1.31")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-"
version ".tar.bz2"))
(sha256
(base32
"1vx4nw6rxh2biy3h8n96fyr86q29h8gjl6837437i51jr4isil20"))))))
(define-public libgcrypt
(package
(name "libgcrypt")
@ -216,14 +231,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.2.6")
(version "2.2.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"110rf476l3cgn52gh9ia5y0y06y2ialq9dqc12jkhnfhl9gqqkg6"))))
"0vlpis0q7gvq9mhdc43hkyn3cdriz4mwgj20my3gyzpgwqg3cnyr"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -361,7 +376,7 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme
(package
(name "gpgme")
(version "1.10.0")
(version "1.11.1")
(source
(origin
(method url-fetch)
@ -369,13 +384,13 @@ libskba (working with X.509 certificates and CMS data).")
".tar.bz2"))
(sha256
(base32
"14q619lxbk64vz7lih5gjb928qm28jrnn1h3yhsrrff3jw8yv3qs"))))
"0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd"))))
(build-system gnu-build-system)
(native-inputs
`(("gnupg" ,gnupg)))
(propagated-inputs
;; Needs to be propagated because gpgme.h includes gpg-error.h.
`(("libgpg-error" ,libgpg-error)))
`(("libgpg-error" ,libgpg-error-1.31)))
(inputs
`(("libassuan" ,libassuan)))
(home-page "https://www.gnupg.org/related_software/gpgme/")

View File

@ -551,7 +551,7 @@ security standards.")
("libxcomposite" ,libxcomposite)
("libxt" ,libxt)
("libffi" ,libffi)
("ffmpeg" ,ffmpeg)
("ffmpeg" ,ffmpeg-3.4)
("libvpx" ,libvpx)
("icu4c" ,icu4c)
("pixman" ,pixman)

View File

@ -101,7 +101,7 @@ is usually the formatter of \"man\" documentation pages.")
;; Keep only the programs that man-db needs at run time,
;; and make sure we don't pull in Perl.
(let ((out (assoc-ref outputs "out"))
(kept '("eqn" "neqn" "pic" "tbl" "refer"
(kept '("eqn" "neqn" "pic" "tbl" "refer" "preconv"
"nroff" "groff" "troff" "grotty")))
(for-each (lambda (file)
(unless (member (basename file) kept)

View File

@ -723,16 +723,16 @@ format is also supported.")
(define-public guile-ics
(package
(name "guile-ics")
(version "0.1.1")
(version "0.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/guile-ics")
(commit "v0.1.1")))
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1pvg6j48inpbq47hq00yh5hhl2qd2srvrx5yjl7w7ky1jsjadp86"))))
"0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@ -749,8 +749,8 @@ format is also supported.")
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.0) ("which" ,which)))
(propagated-inputs `(("guile-lib" ,guile2.0-lib)))
(inputs `(("guile" ,guile-2.2) ("which" ,which)))
(propagated-inputs `(("guile-lib" ,guile-lib)))
(home-page "https://github.com/artyom-poptsov/guile-ics")
(synopsis "Guile parser library for the iCalendar format")
(description
@ -919,7 +919,7 @@ specification. These are the main features:
#t))))
(inputs
`(("guile" ,guile-2.0)))
`(("guile" ,guile-2.2)))
(home-page "https://github.com/ijp/minikanren")
(synopsis "MiniKanren declarative logic system, packaged for Guile")
(description
@ -934,8 +934,11 @@ slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.")
(license license:expat)))
(define-public guile2.0-minikanren
(package-for-guile-2.0 guile-minikanren))
(define-public guile2.2-minikanren
(package-for-guile-2.2 guile-minikanren))
(deprecated-package "guile2.2-minikanren" guile-minikanren))
(define-public guile-miniadapton
(let ((commit "1b5749422304567c96ac5367f2221dda9eff5880")
@ -1076,7 +1079,7 @@ understand, extend, and port to host languages other than Scheme.")
(install-file "irregex.html" doc)
#t))))))
(inputs
`(("guile" ,guile-2.0)))
`(("guile" ,guile-2.2)))
(home-page "http://synthcode.com/scheme/irregex")
(synopsis "S-expression based regular expressions")
(description
@ -1085,8 +1088,11 @@ string-based regular expressions. It implements SRFI 115 and is deeply
inspired by the SCSH regular expression system.")
(license license:bsd-3)))
(define-public guile2.0-irregex
(package-for-guile-2.0 guile-irregex))
(define-public guile2.2-irregex
(package-for-guile-2.2 guile-irregex))
(deprecated-package "guile2.2-irregex" guile-irregex))
;; There are two guile-gdbm packages, one using the FFI and one with
;; direct C bindings, hence the verbose name.
@ -1368,15 +1374,18 @@ above command-line parameters.")
#t))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.0)))
`(("guile" ,guile-2.2)))
(home-page "https://savannah.nongnu.org/projects/guile-redis/")
(synopsis "Redis client library for Guile")
(description "Guile-redis provides a Scheme interface to the Redis
key-value cache and store.")
(license license:lgpl3+)))
(define-public guile2.0-redis
(package-for-guile-2.0 guile-redis))
(define-public guile2.2-redis
(package-for-guile-2.2 guile-redis))
(deprecated-package "guile2.2-redis" guile-redis))
(define-public guile-wisp
(package
@ -1559,19 +1568,19 @@ provides access to that interface and its types from the Scheme level.")
(arguments
'(#:configure-flags
(list (string-append
"--with-guile-site-dir=" %output "/share/guile/site/2.0"))
"--with-guile-site-dir=" %output "/share/guile/site/2.2"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'patch-extension-path
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dbi.scm (string-append
out "/share/guile/site/2.0/dbi/dbi.scm"))
out "/share/guile/site/2.2/dbi/dbi.scm"))
(ext (string-append out "/lib/libguile-dbi")))
(substitute* dbi.scm (("libguile-dbi") ext))
#t))))))
(propagated-inputs
`(("guile" ,guile-2.0)))
`(("guile" ,guile-2.2)))
(synopsis "Guile database abstraction layer")
(home-page "http://home.gna.org/guile-dbi/guile-dbi.html")
(description

View File

@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.")
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.16.6")
(define %linux-libre-hash "069bxqx27xib1gz4aayy8ar2hfp68cpdi8h51g6453k0w14pkchn")
(define %linux-libre-version "4.16.7")
(define %linux-libre-hash "145hv7paw5zd6bnkk0agxyg2a37066xhrxszbq3d03mjvi8ap117")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@ -401,8 +401,8 @@ It has been modified to remove all non-free binary blobs.")
%linux-compatible-systems
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.38")
(define %linux-libre-4.14-hash "09lmz8zbd3c1qf8z3d2lkhcqcwawajh76s85zdhgqdmd2idpwach")
(define %linux-libre-4.14-version "4.14.39")
(define %linux-libre-4.14-hash "0r6fydsgspnskh5n1hfrkyrlrmql635zqr44ajafmqimldc0bplz")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -411,14 +411,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.97"
"1xc3mj1qi51n1kr5bxmdf1rlpyj78x9imhfc7gihn8qjc6zsf1sp"
(make-linux-libre "4.9.98"
"14mqg2hvxg4zwajwly18akyaca821sp4iz5w3xmikwndn2j8y1lw"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.130"
"15cayafj7d9y5fs9flg115kzrcrjycbvax9hgfzz6yym94v9k8lk"
(make-linux-libre "4.4.131"
"1phah297rxjwy22wfaqlzpbk71ddp3drma5dx3i8xv6g8vijd08x"
%intel-compatible-systems
#:configuration-file kernel-config))
@ -1937,17 +1937,27 @@ for systems using the Linux kernel. This includes commands such as
(define-public inotify-tools
(package
(name "inotify-tools")
(version "3.13")
(version "3.20.1")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/inotify-tools/inotify-tools/"
version "/inotify-tools-" version ".tar.gz"))
"https://github.com/rvoicilas/inotify-tools/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6"))))
"1b22c8x4pjnz3abx4dikpbj43zprjw79pdkd4xw111dsxlfwqcx4"))))
(build-system gnu-build-system)
(home-page "http://inotify-tools.sourceforge.net/")
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(invoke "autoreconf" "-vif"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://github.com/rvoicilas/inotify-tools/wiki")
(synopsis "Monitor file accesses")
(description
"The inotify-tools packages provides a C library and command-line tools

View File

@ -19,7 +19,7 @@
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -397,7 +397,7 @@ It adds a large amount of new and improved features to mutt.")
(define-public gmime
(package
(name "gmime")
(version "2.6.23")
(version "3.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
@ -405,7 +405,7 @@ It adds a large amount of new and improved features to mutt.")
"/gmime-" version ".tar.xz"))
(sha256
(base32
"0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi"))))
"1q6palbpf6lh6bvy9ly26q5apl5k0z0r4mvl6zzqh90rz4rn1v3m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -429,8 +429,8 @@ It adds a large amount of new and improved features to mutt.")
(let* ((base (basename prog-path))
(prog (which base)))
(string-append pre
(or prog (error "not found: " base))))))
#t))))))
(or prog (error "not found: " base)))))))
#t)))))
(home-page "http://spruce.sourceforge.net/gmime/")
(synopsis "MIME message parser and creator library")
(description
@ -439,6 +439,20 @@ the creation and parsing of messages using the Multipurpose Internet Mail
Extension (MIME).")
(license (list lgpl2.1+ gpl2+ gpl3+))))
;; Some packages are not ready for GMime 3 yet.
(define-public gmime-2.6
(package
(inherit gmime)
(version "2.6.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
(version-major+minor version)
"/gmime-" version ".tar.xz"))
(sha256
(base32
"0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi"))))))
(define-public bogofilter
(package
(name "bogofilter")
@ -598,7 +612,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
`(("xapian" ,xapian)
("guile" ,guile-2.2)
("glib" ,glib)
("gmime" ,gmime)))
("gmime" ,gmime-2.6)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@ -2429,7 +2443,7 @@ tools and applications:
`(("cyrus-sasl" ,cyrus-sasl)
("enchant" ,enchant)
("gdk-pixbuf" ,gdk-pixbuf)
("gmime" ,gmime)
("gmime" ,gmime-2.6)
("gnutls" ,gnutls)
("gpgme" ,gpgme)
("gtk+" ,gtk+)
@ -2506,7 +2520,7 @@ killed threads.")
"/bin/gpg\"")))
#t)))))
(inputs
`(("gmime" ,gmime)
`(("gmime" ,gmime-2.6)
("gnupg" ,gnupg)
("gnutls" ,gnutls)
("gtk+" ,gtk+)

View File

@ -5,6 +5,7 @@
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -81,11 +82,19 @@ a flexible and convenient way.")
(remove file-is-directory?
(find-files "src/tests" ".*")))
#t)))
(add-after 'unpack 'patch-iconv-path
(add-after 'unpack 'patch-absolute-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/man.c"
(("\"iconv\"")
(string-append "\"" (which "iconv") "\"")))
;; Embed an absolute reference to "preconv", otherwise it
;; falls back to searching in PATH and ultimately fails
;; to render unicode data (see <https://bugs.gnu.org/30785>).
(substitute* "lib/encodings.c"
(("groff_preconv = NULL")
(string-append "groff_preconv = \""
(assoc-ref inputs "groff-minimal")
"/bin/preconv\"")))
#t)))
#:configure-flags
(let ((groff (assoc-ref %build-inputs "groff"))
@ -151,7 +160,7 @@ the traditional flat-text whatis databases.")
(define-public man-pages
(package
(name "man-pages")
(version "4.15")
(version "4.16")
(source (origin
(method url-fetch)
(uri
@ -164,7 +173,7 @@ the traditional flat-text whatis databases.")
"man-pages-" version ".tar.xz")))
(sha256
(base32
"01n1rq1kvambax85xamriawbga94mh63s5mgjmjljjgf50m7yw6f"))))
"1d2d6llazg3inwjiz22cn46mbm5ydpbyh9qb55z4j3nm4w6wrzs7"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -25,6 +25,8 @@
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,6 +55,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
#:use-module (gnu packages algebra)
@ -564,7 +567,7 @@ singular value problems.")
(define-public gnuplot
(package
(name "gnuplot")
(version "5.0.6")
(version "5.2.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
@ -572,7 +575,7 @@ singular value problems.")
version ".tar.gz"))
(sha256
(base32
"0q5lr6nala3ln6f3yp6g17ziymb9r9gx9zylnw1y3hjmwl9lggjv"))))
"18diyy7aib9mn098x07g25c7jij1x7wbfpicz0z8gwxx08px45m4"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)
@ -582,6 +585,9 @@ singular value problems.")
(native-inputs
`(("pkg-config" ,pkg-config)
("texlive" ,texlive-tiny)))
(arguments `(#:configure-flags (list (string-append
"--with-texdir=" %output
"/texmf-local/tex/latex/gnuplot"))))
(home-page "http://www.gnuplot.info")
(synopsis "Command-line driven graphing utility")
(description "Gnuplot is a portable command-line driven graphing
@ -1677,6 +1683,31 @@ scientific applications modeled by partial differential equations.")
,@(delete "--with-mpi=0" ,cf)))))
(synopsis "Library to solve PDEs (with complex scalars and MPI support)")))
(define-public python-kiwisolver
(package
(name "python-kiwisolver")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "kiwisolver" version))
(sha256
(base32
"0y22ci86znwwwfhbmvbgdfnbi6lv5gv2xkdlxvjw7lml43ayafyf"))))
(build-system python-build-system)
(home-page "https://github.com/nucleic/kiwi")
(synopsis "Fast implementation of the Cassowary constraint solver")
(description
"Kiwi is an efficient C++ implementation of the Cassowary constraint
solving algorithm. Kiwi has been designed from the ground up to be
lightweight and fast. Kiwi ranges from 10x to 500x faster than the original
Cassowary solver with typical use cases gaining a 40x improvement. Memory
savings are consistently > 5x.")
(license license:bsd-3)))
(define-public python2-kiwisolver
(package-with-python2 python-kiwisolver))
(define-public slepc
(package
(name "slepc")

View File

@ -440,32 +440,48 @@ compromised.")
(define-public znc
(package
(name "znc")
(version "1.6.6")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-"
version ".tar.gz"))
(sha256
(base32
"09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z"))))
"0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0"))))
;; TODO: autotools support has been deprecated, and new features like i18n
;; are only supported when building with cmake.
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "tar" "xf"
(assoc-ref inputs "googletest-source"))))))
(mkdir-p "googletest")
(copy-recursively (assoc-ref inputs "googletest-source")
"googletest")
#t)))
#:configure-flags '("--enable-python"
"--enable-perl"
"--enable-cyrus"
,(string-append "--with-gtest="
"googletest-release-"
(package-version googletest)
"/googletest"))
"--with-gmock=googletest/googlemock"
"--with-gtest=googletest/googletest")
#:test-target "test"))
(native-inputs
`(("googletest-source" ,(package-source googletest))
`(("googletest-source"
;; ZNC 1.7 needs a newer, unreleased googletest (a release is planned
;; <https://github.com/google/googletest/issues/1583>, so don't update
;; the public GOOGLETEST to an unstable version). The commit is taken
;; from third_party/googletest in the ZNC git repository.
,(let ((commit "9737e63c69e94ac5777caa0bc77c77d5206467f3"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/googletest")
(commit commit)))
(file-name (git-file-name "googletest-for-znc" commit))
(sha256
(base32
"0ya36n8d62zbxk6p22yffgx43mqhx2fz41gqqwbpdshjryf3wvxj")))))
("pkg-config" ,pkg-config)
("perl" ,perl)
("python" ,python)))
@ -476,9 +492,9 @@ compromised.")
("cyrus-sasl" ,cyrus-sasl)))
(home-page "https://znc.in")
(synopsis "IRC network bouncer")
(description "ZNC is an IRC network bouncer or BNC. It can detach the
client from the actual IRC server, and also from selected channels. Multiple
clients from different locations can connect to a single ZNC account
(description "ZNC is an @dfn{IRC network bouncer} or @dfn{BNC}. It can
detach the client from the actual IRC server, and also from selected channels.
Multiple clients from different locations can connect to a single ZNC account
simultaneously and therefore appear under the same nickname on IRC.")
(license license:asl2.0)))

View File

@ -30,7 +30,7 @@
(define-public nano
(package
(name "nano")
(version "2.9.5")
(version "2.9.6")
(source
(origin
(method url-fetch)
@ -38,7 +38,7 @@
version ".tar.xz"))
(sha256
(base32
"06af9dzhgab53drpyq430fv5kf5sdba9mfw0lf3glhkznlf1i3bv"))))
"1inl8ljkc711969ncwy7irf0464psasikg1g42l0g4sfpdz50wx3"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)

View File

@ -19,6 +19,7 @@
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -56,6 +57,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
@ -66,6 +68,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
@ -84,6 +87,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages wm)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
@ -1702,3 +1706,62 @@ file for more details.")
;; src/libstrongswan/plugins/blowfish/blowfish_crypter.c
;; src/libstrongswan/plugins/des/des_crypter.c
license:bsd-4))))
(define-public amule
(package
(name "amule")
(version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/amule-project/amule/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1wvcj0n9xz03xz5c2xwp6dwfp7sqjhhwbki3m0lwikskpn9lkzk2"))
;; Patch for adopting crypto++ >= 6.0.
(patches (search-patches "amule-crypto-6.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'autogen
(lambda _
(invoke "sh" "autogen.sh")
#t)))
#:configure-flags
'("--disable-rpath"
"--enable-wxcas"
"--enable-cas"
"--enable-alc"
"--enable-alcc"
"--enable-xas"
"--enable-amulecmd"
"--enable-geoip"
"--enable-ccache"
"--enable-nls"
"--enable-optimize"
"--enable-amule-gui"
"--enable-amule-daemon"
"--enable-webserver"
"--with-denoise-level=0")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext-minimal" ,gettext-minimal)
("perl" ,perl)))
(inputs
`(("zlib" ,zlib)
("crypto++" ,crypto++)
("libpng" ,libpng)
("wxwidgets-gtk2", wxwidgets-gtk2)))
(home-page "http://amule.org/")
(synopsis "Peer-to-peer client for the eD2K and Kademlia networks")
(description
"aMule is an eMule-like client for the eD2k and Kademlia peer-to-peer
file sharing networks. It includes a graphical user interface (GUI), a daemon
allowing you to run a client with no graphical interface, and a Web GUI for
remote access. The @command{amulecmd} command allows you to control aMule
remotely.")
(license license:gpl2+)))

View File

@ -456,14 +456,15 @@ written in Objective Caml.")
(define-public coq
(package
(name "coq")
(version "8.7.0")
(version "8.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://coq.inria.fr/distrib/V" version
"/files/" name "-" version ".tar.gz"))
(uri (string-append "https://github.com/coq/coq/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"15wjngjd5pyfqdl5yw92rvdxvy15xcjlpx0rqlkzvcsis1z20xpk"))))
"0g96k2x6lbddlmkmdaczvcpb2gwqi1ydbq9bv4gf9q38kv9w3xya"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
@ -3874,15 +3875,15 @@ cross-platform SDL C library.")
(define-public coq-flocq
(package
(name "coq-flocq")
(version "2.6.0")
(version "2.6.1")
(source (origin
(method url-fetch)
;; Use the Latest version link for a stable URI across releases.
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"latestfile/2228/flocq-" version ".tar.gz"))
"file/37454/flocq-" version ".tar.gz"))
(sha256
(base32
"13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3"))))
"06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
@ -3924,14 +3925,14 @@ inside Coq.")
(define-public coq-gappa
(package
(name "coq-gappa")
(version "1.3.1")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/36351/gappa-"
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-"
version ".tar.gz"))
(sha256
(base32
"0924jr6f15fx22qfsvim5vc0qxqg30ivg9zxj34lf6slbgdl3j39"))))
"19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
@ -3976,14 +3977,14 @@ assistant.")
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
(version "1.6.2")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-"
version ".tar.gz"))
(sha256
(base32
"0lg5ncr7p4y8qqq6pfw6brqc6a9xzlfa0drprwfdn0rnyaq5nca6"))))
"05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
@ -4039,6 +4040,12 @@ part of the distribution.")
"/lib/coq/user-contrib/Coquelicot"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-coq8.8
(lambda _
; appcontext has been removed from coq 8.8
(substitute* "theories/AutoDerive.v"
(("appcontext") "context"))
#t))
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
@ -4068,7 +4075,7 @@ theorems between the two libraries.")
(define-public coq-bignums
(package
(name "coq-bignums")
(version "8.7.0")
(version "8.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/bignums/archive/V"
@ -4076,7 +4083,7 @@ theorems between the two libraries.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"03iw9jiwq9jx45gsvp315y3lxr8m9ksppmcjvxs5c23qnky6zqjx"))))
"08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)

View File

@ -295,6 +295,15 @@ the Nix package manager.")
(inherit guix)
(properties `((hidden? . #t)))
(name "guix-register")
;; Use a minimum set of dependencies.
(native-inputs
(fold alist-delete (package-native-inputs guix)
'("po4a" "graphviz" "help2man")))
(propagated-inputs
`(("gnutls" ,gnutls)
("guile-git" ,guile-git)))
(arguments
(substitute-keyword-arguments (package-arguments guix)
((#:tests? #f #f)

View File

@ -0,0 +1,45 @@
From d1d1368c7909ffd8423730afaa811ce7b6a3a8aa Mon Sep 17 00:00:00 2001
From: Tommy Jerry Mairo <tommy.mairo@gmail.com>
Date: Sun, 4 Feb 2018 12:42:00 -0800
Subject: [PATCH 1/2] Bugfix: API mismatch with crypto++ 6.0.0
---
src/ClientCreditsList.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ClientCreditsList.cpp b/src/ClientCreditsList.cpp
index 3bea9fe2d..a7ae1e34c 100644
--- a/src/ClientCreditsList.cpp
+++ b/src/ClientCreditsList.cpp
@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting()
// calculate and store public key
CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey));
CryptoPP::ArraySink asink(m_abyMyPublicKey, 80);
- pubkey.DEREncode(asink);
+ pubkey.AccessMaterial().Save(asink);
m_nMyPublicKeyLen = asink.TotalPutLength();
asink.MessageEnd();
} catch (const CryptoPP::Exception& e) {
From 88ba0ac952b78382445f2fff73c6792c0474dc62 Mon Sep 17 00:00:00 2001
From: Tommy Jerry Mairo <tommy.mairo@gmail.com>
Date: Wed, 21 Mar 2018 11:56:28 -0700
Subject: [PATCH 2/2] Update: Change AccessMaterial to GetMaterial
---
src/ClientCreditsList.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ClientCreditsList.cpp b/src/ClientCreditsList.cpp
index a7ae1e34c..69e881fd8 100644
--- a/src/ClientCreditsList.cpp
+++ b/src/ClientCreditsList.cpp
@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting()
// calculate and store public key
CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey));
CryptoPP::ArraySink asink(m_abyMyPublicKey, 80);
- pubkey.AccessMaterial().Save(asink);
+ pubkey.GetMaterial().Save(asink);
m_nMyPublicKeyLen = asink.TotalPutLength();
asink.MessageEnd();
} catch (const CryptoPP::Exception& e) {

View File

@ -1,117 +0,0 @@
From: Michael Gilbert <mgilbert@debian.org>
Date: Mon, 9 Sep 2013 17:34:32 +0200
Subject: Fix_CVE-2012-4433
Multiple buffer overflow issues.
Closes: #692435
---
operations/external/ppm-load.c | 62 ++++++++++++++++++++++++++++++++++++------
1 file changed, 53 insertions(+), 9 deletions(-)
diff --git a/operations/external/ppm-load.c b/operations/external/ppm-load.c
index efe6d56..465096d 100644
--- a/operations/external/ppm-load.c
+++ b/operations/external/ppm-load.c
@@ -36,6 +36,7 @@ gegl_chant_file_path (path, _("File"), "", _("Path of file to load."))
#include "gegl-chant.h"
#include <stdio.h>
#include <stdlib.h>
+#include <errno.h>
typedef enum {
PIXMAP_ASCII = 51,
@@ -44,8 +45,8 @@ typedef enum {
typedef struct {
map_type type;
- gint width;
- gint height;
+ glong width;
+ glong height;
gsize numsamples; /* width * height * channels */
gsize bpc; /* bytes per channel */
guchar *data;
@@ -82,12 +83,33 @@ ppm_load_read_header(FILE *fp,
}
/* Get Width and Height */
- img->width = strtol (header,&ptr,0);
- img->height = atoi (ptr);
- img->numsamples = img->width * img->height * CHANNEL_COUNT;
+ errno = 0;
+ img->width = strtol (header,&ptr,10);
+ if (errno)
+ {
+ g_warning ("Error reading width: %s", strerror(errno));
+ return FALSE;
+ }
+ else if (img->width < 0)
+ {
+ g_warning ("Error: width is negative");
+ return FALSE;
+ }
+
+ img->height = strtol (ptr,&ptr,10);
+ if (errno)
+ {
+ g_warning ("Error reading height: %s", strerror(errno));
+ return FALSE;
+ }
+ else if (img->width < 0)
+ {
+ g_warning ("Error: height is negative");
+ return FALSE;
+ }
fgets (header,MAX_CHARS_IN_ROW,fp);
- maxval = strtol (header,&ptr,0);
+ maxval = strtol (header,&ptr,10);
if ((maxval != 255) && (maxval != 65535))
{
@@ -109,6 +131,16 @@ ppm_load_read_header(FILE *fp,
g_warning ("%s: Programmer stupidity error", G_STRLOC);
}
+ /* Later on, img->numsamples is multiplied with img->bpc to allocate
+ * memory. Ensure it doesn't overflow. */
+ if (!img->width || !img->height ||
+ G_MAXSIZE / img->width / img->height / CHANNEL_COUNT < img->bpc)
+ {
+ g_warning ("Illegal width/height: %ld/%ld", img->width, img->height);
+ return FALSE;
+ }
+ img->numsamples = img->width * img->height * CHANNEL_COUNT;
+
return TRUE;
}
@@ -229,12 +261,24 @@ process (GeglOperation *operation,
if (!ppm_load_read_header (fp, &img))
goto out;
- rect.height = img.height;
- rect.width = img.width;
-
/* Allocating Array Size */
+
+ /* Should use g_try_malloc(), but this causes crashes elsewhere because the
+ * error signalled by returning FALSE isn't properly acted upon. Therefore
+ * g_malloc() is used here which aborts if the requested memory size can't be
+ * allocated causing a controlled crash. */
img.data = (guchar*) g_malloc (img.numsamples * img.bpc);
+ /* No-op without g_try_malloc(), see above. */
+ if (! img.data)
+ {
+ g_warning ("Couldn't allocate %" G_GSIZE_FORMAT " bytes, giving up.", ((gsize)img.numsamples * img.bpc));
+ goto out;
+ }
+
+ rect.height = img.height;
+ rect.width = img.width;
+
switch (img.bpc)
{
case 1:

View File

@ -1,41 +0,0 @@
Fix CVE-2017-17784:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17784
https://bugzilla.gnome.org/show_bug.cgi?id=790784
Patch copied from upstream source repository:
https://git.gnome.org/browse/gimp/commit/?id=c57f9dcf1934a9ab0cd67650f2dea18cb0902270
From c57f9dcf1934a9ab0cd67650f2dea18cb0902270 Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Thu, 21 Dec 2017 12:25:32 +0100
Subject: [PATCH] Bug 790784 - (CVE-2017-17784) heap overread in gbr parser /
load_image.
We were assuming the input name was well formed, hence was
nul-terminated. As any data coming from external input, this has to be
thorougly checked.
Similar to commit 06d24a79af94837d615d0024916bb95a01bf3c59 but adapted
to older gimp-2-8 code.
---
plug-ins/common/file-gbr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/plug-ins/common/file-gbr.c b/plug-ins/common/file-gbr.c
index b028100bef..d3f01d9c56 100644
--- a/plug-ins/common/file-gbr.c
+++ b/plug-ins/common/file-gbr.c
@@ -443,7 +443,8 @@ load_image (const gchar *filename,
{
gchar *temp = g_new (gchar, bn_size);
- if ((read (fd, temp, bn_size)) < bn_size)
+ if ((read (fd, temp, bn_size)) < bn_size ||
+ temp[bn_size - 1] != '\0')
{
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
_("Error in GIMP brush file '%s'"),
--
2.15.1

View File

@ -1,171 +0,0 @@
Fix CVE-2017-17785:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17785
https://bugzilla.gnome.org/show_bug.cgi?id=739133
Patch copied from upstream source repository:
https://git.gnome.org/browse/gimp/commit/?id=1882bac996a20ab5c15c42b0c5e8f49033a1af54
From 1882bac996a20ab5c15c42b0c5e8f49033a1af54 Mon Sep 17 00:00:00 2001
From: Tobias Stoeckmann <tobias@stoeckmann.org>
Date: Sun, 29 Oct 2017 15:19:41 +0100
Subject: [PATCH] Bug 739133 - (CVE-2017-17785) Heap overflow while parsing FLI
files.
It is possible to trigger a heap overflow while parsing FLI files. The
RLE decoder is vulnerable to out of boundary writes due to lack of
boundary checks.
The variable "framebuf" points to a memory area which was allocated
with fli_header->width * fli_header->height bytes. The RLE decoder
therefore must never write beyond that limit.
If an illegal frame is detected, the parser won't stop, which means
that the next valid sequence is properly parsed again. This should
allow GIMP to parse FLI files as good as possible even if they are
broken by an attacker or by accident.
While at it, I changed the variable xc to be of type size_t, because
the multiplication of width and height could overflow a 16 bit type.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
(cherry picked from commit edb251a7ef1602d20a5afcbf23f24afb163de63b)
---
plug-ins/file-fli/fli.c | 50 ++++++++++++++++++++++++++++++++++---------------
1 file changed, 35 insertions(+), 15 deletions(-)
diff --git a/plug-ins/file-fli/fli.c b/plug-ins/file-fli/fli.c
index 313efeb977..ffb651e2af 100644
--- a/plug-ins/file-fli/fli.c
+++ b/plug-ins/file-fli/fli.c
@@ -25,6 +25,8 @@
#include "config.h"
+#include <glib/gstdio.h>
+
#include <string.h>
#include <stdio.h>
@@ -461,23 +463,27 @@ void fli_read_brun(FILE *f, s_fli_header *fli_header, unsigned char *framebuf)
unsigned short yc;
unsigned char *pos;
for (yc=0; yc < fli_header->height; yc++) {
- unsigned short xc, pc, pcnt;
+ unsigned short pc, pcnt;
+ size_t n, xc;
pc=fli_read_char(f);
xc=0;
pos=framebuf+(fli_header->width * yc);
+ n=(size_t)fli_header->width * (fli_header->height-yc);
for (pcnt=pc; pcnt>0; pcnt--) {
unsigned short ps;
ps=fli_read_char(f);
if (ps & 0x80) {
unsigned short len;
- for (len=-(signed char)ps; len>0; len--) {
+ for (len=-(signed char)ps; len>0 && xc<n; len--) {
pos[xc++]=fli_read_char(f);
}
} else {
unsigned char val;
+ size_t len;
+ len=MIN(n-xc,ps);
val=fli_read_char(f);
- memset(&(pos[xc]), val, ps);
- xc+=ps;
+ memset(&(pos[xc]), val, len);
+ xc+=len;
}
}
}
@@ -564,25 +570,34 @@ void fli_read_lc(FILE *f, s_fli_header *fli_header, unsigned char *old_framebuf,
memcpy(framebuf, old_framebuf, fli_header->width * fli_header->height);
firstline = fli_read_short(f);
numline = fli_read_short(f);
+ if (numline > fli_header->height || fli_header->height-numline < firstline)
+ return;
+
for (yc=0; yc < numline; yc++) {
- unsigned short xc, pc, pcnt;
+ unsigned short pc, pcnt;
+ size_t n, xc;
pc=fli_read_char(f);
xc=0;
pos=framebuf+(fli_header->width * (firstline+yc));
+ n=(size_t)fli_header->width * (fli_header->height-firstline-yc);
for (pcnt=pc; pcnt>0; pcnt--) {
unsigned short ps,skip;
skip=fli_read_char(f);
ps=fli_read_char(f);
- xc+=skip;
+ xc+=MIN(n-xc,skip);
if (ps & 0x80) {
unsigned char val;
+ size_t len;
ps=-(signed char)ps;
val=fli_read_char(f);
- memset(&(pos[xc]), val, ps);
- xc+=ps;
+ len=MIN(n-xc,ps);
+ memset(&(pos[xc]), val, len);
+ xc+=len;
} else {
- fread(&(pos[xc]), ps, 1, f);
- xc+=ps;
+ size_t len;
+ len=MIN(n-xc,ps);
+ fread(&(pos[xc]), len, 1, f);
+ xc+=len;
}
}
}
@@ -689,7 +704,8 @@ void fli_read_lc_2(FILE *f, s_fli_header *fli_header, unsigned char *old_framebu
yc=0;
numline = fli_read_short(f);
for (lc=0; lc < numline; lc++) {
- unsigned short xc, pc, pcnt, lpf, lpn;
+ unsigned short pc, pcnt, lpf, lpn;
+ size_t n, xc;
pc=fli_read_short(f);
lpf=0; lpn=0;
while (pc & 0x8000) {
@@ -700,26 +716,30 @@ void fli_read_lc_2(FILE *f, s_fli_header *fli_header, unsigned char *old_framebu
}
pc=fli_read_short(f);
}
+ yc=MIN(yc, fli_header->height);
xc=0;
pos=framebuf+(fli_header->width * yc);
+ n=(size_t)fli_header->width * (fli_header->height-yc);
for (pcnt=pc; pcnt>0; pcnt--) {
unsigned short ps,skip;
skip=fli_read_char(f);
ps=fli_read_char(f);
- xc+=skip;
+ xc+=MIN(n-xc,skip);
if (ps & 0x80) {
unsigned char v1,v2;
ps=-(signed char)ps;
v1=fli_read_char(f);
v2=fli_read_char(f);
- while (ps>0) {
+ while (ps>0 && xc+1<n) {
pos[xc++]=v1;
pos[xc++]=v2;
ps--;
}
} else {
- fread(&(pos[xc]), ps, 2, f);
- xc+=ps << 1;
+ size_t len;
+ len=MIN((n-xc)/2,ps);
+ fread(&(pos[xc]), len, 2, f);
+ xc+=len << 1;
}
}
if (lpf) pos[xc]=lpn;
--
2.15.1

View File

@ -1,94 +0,0 @@
Fix CVE-2017-17786:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17786
https://bugzilla.gnome.org/show_bug.cgi?id=739134
Both patches copied from upstream source repository:
https://git.gnome.org/browse/gimp/commit/?id=ef9c821fff8b637a2178eab1c78cae6764c50e12
https://git.gnome.org/browse/gimp/commit/?id=22e2571c25425f225abdb11a566cc281fca6f366
From ef9c821fff8b637a2178eab1c78cae6764c50e12 Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Wed, 20 Dec 2017 13:02:38 +0100
Subject: [PATCH] Bug 739134 - (CVE-2017-17786) Out of bounds read / heap
overflow in...
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
... TGA importer.
Be more thorough on valid TGA RGB and RGBA images.
In particular current TGA plug-in can import RGBA as 32 bits (8 bits per
channel) and 16 bits (5 bits per color channel and 1 bit for alpha), and
RGB as 15 and 24 bits.
Maybe there exist more variants, but if they do exist, we simply don't
support them yet.
Thanks to Hanno Böck for the report and a first patch attempt.
(cherry picked from commit 674b62ad45b6579ec6d7923dc3cb1ef4e8b5498b)
---
plug-ins/common/file-tga.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/plug-ins/common/file-tga.c b/plug-ins/common/file-tga.c
index aef98702d4..426acc2925 100644
--- a/plug-ins/common/file-tga.c
+++ b/plug-ins/common/file-tga.c
@@ -564,12 +564,16 @@ load_image (const gchar *filename,
}
break;
case TGA_TYPE_COLOR:
- if (info.bpp != 15 && info.bpp != 16 &&
- info.bpp != 24 && info.bpp != 32)
+ if ((info.bpp != 15 && info.bpp != 16 &&
+ info.bpp != 24 && info.bpp != 32) ||
+ ((info.bpp == 15 || info.bpp == 24) &&
+ info.alphaBits != 0) ||
+ (info.bpp == 16 && info.alphaBits != 1) ||
+ (info.bpp == 32 && info.alphaBits != 8))
{
- g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u)",
+ g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)",
gimp_filename_to_utf8 (filename),
- info.imageType, info.bpp);
+ info.imageType, info.bpp, info.alphaBits);
return -1;
}
break;
--
2.15.1
From 22e2571c25425f225abdb11a566cc281fca6f366 Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Wed, 20 Dec 2017 13:26:26 +0100
Subject: [PATCH] plug-ins: TGA 16-bit RGB (without alpha bit) is also valid.
According to some spec on the web, 16-bit RGB is also valid. In this
case, the last bit is simply ignored (at least that's how it is
implemented right now).
(cherry picked from commit 8ea316667c8a3296bce2832b3986b58d0fdfc077)
---
plug-ins/common/file-tga.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/plug-ins/common/file-tga.c b/plug-ins/common/file-tga.c
index 426acc2925..eb14a1dadc 100644
--- a/plug-ins/common/file-tga.c
+++ b/plug-ins/common/file-tga.c
@@ -568,7 +568,8 @@ load_image (const gchar *filename,
info.bpp != 24 && info.bpp != 32) ||
((info.bpp == 15 || info.bpp == 24) &&
info.alphaBits != 0) ||
- (info.bpp == 16 && info.alphaBits != 1) ||
+ (info.bpp == 16 && info.alphaBits != 1 &&
+ info.alphaBits != 0) ||
(info.bpp == 32 && info.alphaBits != 8))
{
g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)",
--
2.15.1

View File

@ -1,42 +0,0 @@
Fix CVE-2017-17787:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17787
https://bugzilla.gnome.org/show_bug.cgi?id=790853
Patch copied from upstream source repository:
https://git.gnome.org/browse/gimp/commit/?id=87ba505fff85989af795f4ab6a047713f4d9381d
From 87ba505fff85989af795f4ab6a047713f4d9381d Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Thu, 21 Dec 2017 12:49:41 +0100
Subject: [PATCH] Bug 790853 - (CVE-2017-17787) heap overread in psp importer.
As any external data, we have to check that strings being read at fixed
length are properly nul-terminated.
(cherry picked from commit eb2980683e6472aff35a3117587c4f814515c74d)
---
plug-ins/common/file-psp.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c
index 4cbafe37b1..e350e4d88d 100644
--- a/plug-ins/common/file-psp.c
+++ b/plug-ins/common/file-psp.c
@@ -890,6 +890,12 @@ read_creator_block (FILE *f,
g_free (string);
return -1;
}
+ if (string[length - 1] != '\0')
+ {
+ g_message ("Creator keyword data not nul-terminated");
+ g_free (string);
+ return -1;
+ }
switch (keyword)
{
case PSP_CRTR_FLD_TITLE:
--
2.15.1

View File

@ -1,48 +0,0 @@
Fix CVE-2017-17789:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17789
https://bugzilla.gnome.org/show_bug.cgi?id=790849
Patch copied from upstream source repository:
https://git.gnome.org/browse/gimp/commit/?id=01898f10f87a094665a7fdcf7153990f4e511d3f
From 01898f10f87a094665a7fdcf7153990f4e511d3f Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Wed, 20 Dec 2017 16:44:20 +0100
Subject: [PATCH] Bug 790849 - (CVE-2017-17789) CVE-2017-17789 Heap buffer
overflow...
... in PSP importer.
Check if declared block length is valid (i.e. within the actual file)
before going further.
Consider the file as broken otherwise and fail loading it.
(cherry picked from commit 28e95fbeb5720e6005a088fa811f5bf3c1af48b8)
---
plug-ins/common/file-psp.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c
index ac0fff78f0..4cbafe37b1 100644
--- a/plug-ins/common/file-psp.c
+++ b/plug-ins/common/file-psp.c
@@ -1771,6 +1771,15 @@ load_image (const gchar *filename,
{
block_start = ftell (f);
+ if (block_start + block_total_len > st.st_size)
+ {
+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
+ _("Could not open '%s' for reading: %s"),
+ gimp_filename_to_utf8 (filename),
+ _("invalid block size"));
+ goto error;
+ }
+
if (id == PSP_IMAGE_BLOCK)
{
if (block_number != 0)
--
2.15.1

View File

@ -1,17 +0,0 @@
Patch configure script to choose pass_all deplibs check method for
linux-gnu* systems on mips64. This is a temporary hack until liboop
bootstraps their build system with a newer libtool.
Patch by Mark H Weaver <mhw@netris.org>.
--- liboop/configure.orig 2003-10-26 11:41:19.000000000 -0500
+++ liboop/configure 2013-11-02 18:09:11.079995796 -0400
@@ -3395,7 +3395,7 @@
# This must be Linux ELF.
linux*)
case $host_cpu in
- alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*)
+ alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | mips64 | mips64el | powerpc* | sparc* | s390* | sh*)
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM

View File

@ -1,191 +0,0 @@
Fix CVE-2018-7169:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7169
Patch copied from upstream source repository:
https://github.com/shadow-maint/shadow/commit/fb28c99b8a66ff2605c5cb96abc0a4d975f92de0
From fb28c99b8a66ff2605c5cb96abc0a4d975f92de0 Mon Sep 17 00:00:00 2001
From: Aleksa Sarai <asarai@suse.de>
Date: Thu, 15 Feb 2018 23:49:40 +1100
Subject: [PATCH] newgidmap: enforce setgroups=deny if self-mapping a group
This is necessary to match the kernel-side policy of "self-mapping in a
user namespace is fine, but you cannot drop groups" -- a policy that was
created in order to stop user namespaces from allowing trivial privilege
escalation by dropping supplementary groups that were "blacklisted" from
certain paths.
This is the simplest fix for the underlying issue, and effectively makes
it so that unless a user has a valid mapping set in /etc/subgid (which
only administrators can modify) -- and they are currently trying to use
that mapping -- then /proc/$pid/setgroups will be set to deny. This
workaround is only partial, because ideally it should be possible to set
an "allow_setgroups" or "deny_setgroups" flag in /etc/subgid to allow
administrators to further restrict newgidmap(1).
We also don't write anything in the "allow" case because "allow" is the
default, and users may have already written "deny" even if they
technically are allowed to use setgroups. And we don't write anything if
the setgroups policy is already "deny".
Ref: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1729357
Fixes: CVE-2018-7169
Reported-by: Craig Furman <craig.furman89@gmail.com>
Signed-off-by: Aleksa Sarai <asarai@suse.de>
---
src/newgidmap.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 80 insertions(+), 9 deletions(-)
diff --git a/src/newgidmap.c b/src/newgidmap.c
index b1e33513..59a2e75c 100644
--- a/src/newgidmap.c
+++ b/src/newgidmap.c
@@ -46,32 +46,37 @@
*/
const char *Prog;
-static bool verify_range(struct passwd *pw, struct map_range *range)
+
+static bool verify_range(struct passwd *pw, struct map_range *range, bool *allow_setgroups)
{
/* An empty range is invalid */
if (range->count == 0)
return false;
- /* Test /etc/subgid */
- if (have_sub_gids(pw->pw_name, range->lower, range->count))
+ /* Test /etc/subgid. If the mapping is valid then we allow setgroups. */
+ if (have_sub_gids(pw->pw_name, range->lower, range->count)) {
+ *allow_setgroups = true;
return true;
+ }
- /* Allow a process to map its own gid */
- if ((range->count == 1) && (pw->pw_gid == range->lower))
+ /* Allow a process to map its own gid. */
+ if ((range->count == 1) && (pw->pw_gid == range->lower)) {
+ /* noop -- if setgroups is enabled already we won't disable it. */
return true;
+ }
return false;
}
static void verify_ranges(struct passwd *pw, int ranges,
- struct map_range *mappings)
+ struct map_range *mappings, bool *allow_setgroups)
{
struct map_range *mapping;
int idx;
mapping = mappings;
for (idx = 0; idx < ranges; idx++, mapping++) {
- if (!verify_range(pw, mapping)) {
+ if (!verify_range(pw, mapping, allow_setgroups)) {
fprintf(stderr, _( "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n"),
Prog,
mapping->upper,
@@ -89,6 +94,70 @@ static void usage(void)
exit(EXIT_FAILURE);
}
+void write_setgroups(int proc_dir_fd, bool allow_setgroups)
+{
+ int setgroups_fd;
+ char *policy, policy_buffer[4096];
+
+ /*
+ * Default is "deny", and any "allow" will out-rank a "deny". We don't
+ * forcefully write an "allow" here because the process we are writing
+ * mappings for may have already set themselves to "deny" (and "allow"
+ * is the default anyway). So allow_setgroups == true is a noop.
+ */
+ policy = "deny\n";
+ if (allow_setgroups)
+ return;
+
+ setgroups_fd = openat(proc_dir_fd, "setgroups", O_RDWR|O_CLOEXEC);
+ if (setgroups_fd < 0) {
+ /*
+ * If it's an ENOENT then we are on too old a kernel for the setgroups
+ * code to exist. Emit a warning and bail on this.
+ */
+ if (ENOENT == errno) {
+ fprintf(stderr, _("%s: kernel doesn't support setgroups restrictions\n"), Prog);
+ goto out;
+ }
+ fprintf(stderr, _("%s: couldn't open process setgroups: %s\n"),
+ Prog,
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+
+ /*
+ * Check whether the policy is already what we want. /proc/self/setgroups
+ * is write-once, so attempting to write after it's already written to will
+ * fail.
+ */
+ if (read(setgroups_fd, policy_buffer, sizeof(policy_buffer)) < 0) {
+ fprintf(stderr, _("%s: failed to read setgroups: %s\n"),
+ Prog,
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ if (!strncmp(policy_buffer, policy, strlen(policy)))
+ goto out;
+
+ /* Write the policy. */
+ if (lseek(setgroups_fd, 0, SEEK_SET) < 0) {
+ fprintf(stderr, _("%s: failed to seek setgroups: %s\n"),
+ Prog,
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ if (dprintf(setgroups_fd, "%s", policy) < 0) {
+ fprintf(stderr, _("%s: failed to setgroups %s policy: %s\n"),
+ Prog,
+ policy,
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+
+out:
+ close(setgroups_fd);
+}
+
/*
* newgidmap - Set the gid_map for the specified process
*/
@@ -103,6 +172,7 @@ int main(int argc, char **argv)
struct stat st;
struct passwd *pw;
int written;
+ bool allow_setgroups = false;
Prog = Basename (argv[0]);
@@ -145,7 +215,7 @@ int main(int argc, char **argv)
(unsigned long) getuid ()));
return EXIT_FAILURE;
}
-
+
/* Get the effective uid and effective gid of the target process */
if (fstat(proc_dir_fd, &st) < 0) {
fprintf(stderr, _("%s: Could not stat directory for target %u\n"),
@@ -177,8 +247,9 @@ int main(int argc, char **argv)
if (!mappings)
usage();
- verify_ranges(pw, ranges, mappings);
+ verify_ranges(pw, ranges, mappings, &allow_setgroups);
+ write_setgroups(proc_dir_fd, allow_setgroups);
write_mapping(proc_dir_fd, ranges, mappings, "gid_map");
sub_gid_close();
--
2.16.2

View File

@ -10,7 +10,7 @@
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@ -124,6 +124,36 @@
(license license:gpl2+)
(home-page "https://poppler.freedesktop.org/")))
(define-public poppler-data
(package
(name "poppler-data")
(version "0.4.9")
(source (origin
(method url-fetch)
(uri (string-append "https://poppler.freedesktop.org/poppler-data"
"-" version ".tar.gz"))
(sha256
(base32
"04i0wgdkn5lhda8cyxd1ll4a2p41pwqrwd47n9mdpl7cx5ypx70z"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
;; The package only provides some data files, so there is nothing to
;; build.
(delete 'configure)
(delete 'build))))
(synopsis "Poppler encoding files for rendering of CJK and Cyrillic text")
(description "This package provides optional encoding files for Poppler.
When present, Poppler is able to correctly render CJK and Cyrillic text.")
(home-page (package-home-page poppler))
;; See COPYING in the source distribution for more information about
;; the licensing.
(license (list license:bsd-3
license:gpl2))))
(define-public poppler-qt4
(package (inherit poppler)
(name "poppler-qt4")

View File

@ -6003,7 +6003,7 @@ building is done in @code{MooX::ConfigFromFile::Role}---using
(define-public perl-moox-file-configdir
(package
(name "perl-moox-file-configdir")
(version "0.006")
(version "0.007")
(source
(origin
(method url-fetch)
@ -6011,7 +6011,7 @@ building is done in @code{MooX::ConfigFromFile::Role}---using
"MooX-File-ConfigDir-" version ".tar.gz"))
(sha256
(base32
"0f808sq3627ymgf63zwgh705vv0nhwclxp89clhx8yl6hybcv7kx"))))
"074v150wrbddhy1n0qc8s80zrb71l3c4is968cnr06ac5l9kmshz"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-file-configdir" ,perl-file-configdir)

View File

@ -69,14 +69,14 @@
(define-public libraw
(package
(name "libraw")
(version "0.18.9")
(version "0.18.10")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libraw.org/data/LibRaw-"
version ".tar.gz"))
(sha256
(base32
"0kmjfdr409k9q9n17k9ywims5z4kqc16s81ba7y09n7669q1gvyj"))))
"0klrzg1cn8ksxqbhx52dldi5bbmad190npnhhgkyr2jzpgrbpj88"))))
(build-system gnu-build-system)
(home-page "https://www.libraw.org")
(synopsis "Raw image decoder")

View File

@ -179,14 +179,14 @@ colors, styles, options and details.")
(define-public asymptote
(package
(name "asymptote")
(version "2.42")
(version "2.44")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32
"0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95"))))
"1rs9v95g19ri6ra2m921jf2yr9avqnzfybrqxilsld98xpqx56vg"))))
(build-system gnu-build-system)
;; Note: The 'asy' binary retains a reference to docdir for use with its
;; "help" command in interactive mode, so adding a "doc" output is not

View File

@ -2588,6 +2588,36 @@ sources.")
(propagated-inputs `(("python2-pytz" ,python2-pytz)
,@(package-propagated-inputs base))))))
(define-public python-sphinx-gallery
(package
(name "python-sphinx-gallery")
(version "0.1.13")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/sphinx-gallery/sphinx-gallery"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"03fs99mcb1r7qp0xixqv07vcz98sk21yq19ffdysi0infdcpzfkd"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests attempt to download <https://docs.python.org/3/objects.inv>,
;; <https://docs.scipy.org/doc/numpy/objects.inv>, and
;; <https://matplotlib.org/objects.inv>.
`(#:tests? #f))
(native-inputs
`(("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://sphinx-gallery.github.io/")
(synopsis "Generate an examples gallery automatically")
(description
"@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
from any set of Python scripts and puts it into an examples gallery.")
(license license:bsd-3)))
(define-public python2-sphinx-gallery
(package-with-python2 python-sphinx-gallery))
(define-public python-sphinx-rtd-theme
(package
(name "python-sphinx-rtd-theme")
@ -2869,7 +2899,7 @@ between language specification and implementation aspects.")
(define-public python-numpy
(package
(name "python-numpy")
(version "1.14.0")
(version "1.14.3")
(source
(origin
(method url-fetch)
@ -2878,7 +2908,7 @@ between language specification and implementation aspects.")
version "/numpy-" version ".tar.gz"))
(sha256
(base32
"1kh7y2ay21s9mcc11mq59g2f1yc75v152z2k2vlh0xmh9c9rjpf4"))))
"1yim2bxlycn4dhxmfxid6slplpmcb4ynhp411b37ahmsm2lwgkyg"))))
(build-system python-build-system)
(inputs
`(("openblas" ,openblas)
@ -3430,17 +3460,18 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(define-public python-matplotlib
(package
(name "python-matplotlib")
(version "2.0.2")
(version "2.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
"1w8z2a1l7s72p1byfz7g03wqhygqxi8w82619dqb3a1lm97w9yqg"))))
"1s6dv225w3k4fv52h8lfjc7qq5y56i9755ayx0mz48ddi99fzisd"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
("python-kiwisolver" ,python-kiwisolver)
("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
@ -3520,6 +3551,8 @@ toolkits.")
;; of those automatically rewritten by package-with-python2.
(propagated-inputs
`(("python2-pycairo" ,python2-pycairo)
("python2-backports-functools-lru-cache"
,python2-backports-functools-lru-cache)
("python2-functools32" ,python2-functools32)
("python2-pygobject-2" ,python2-pygobject-2)
("python2-subprocess32" ,python2-subprocess32)
@ -3536,7 +3569,8 @@ toolkits.")
(native-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-colorspacious" ,python-colorspacious)
("python-sphinx" ,python-sphinx)
("python-sphinx" ,python-sphinx-1.6)
("python-sphinx-gallery" ,python-sphinx-gallery)
("python-numpydoc" ,python-numpydoc)
("python-ipython" ,python-ipython)
("python-mock" ,python-mock)
@ -3559,7 +3593,7 @@ toolkits.")
(("latex_elements\\['pointsize'\\] = '11pt'" match)
;; insert at a point where latex_elements{} is defined:
(string-append match "\nlatex_elements['papersize'] = 'a4paper'")))
(zero? (system* "python" "make.py" "html" "latex" "texinfo"))))
(invoke "make" "SPHINXBUILD=sphinx-build" "html" "latex" "texinfo")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "out") "/share"))
@ -3693,14 +3727,14 @@ functions.")
(define-public python-scipy
(package
(name "python-scipy")
(version "1.0.0")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
(base32
"043djb3vyk6qripmyw30jhl0g8qza0fmar6wck10iv79l08izsl7"))))
"1fj0r7bg0cfk5clvl57ga06y9bfh05iwlv1dqqs1r6pd89wccfc7"))))
(build-system python-build-system)
(propagated-inputs
`(("python-numpy" ,python-numpy)
@ -10503,6 +10537,10 @@ a file-like object from which an arbitrarly-sized key can be read.")
`(("python-lxml" ,python-lxml) ; for SVG output
("python-pillow" ,python-pillow) ; for PNG output
("python-six" ,python-six)))
(inputs
`(;; The setup.cfg file needs to be used, and support for this requires
;; at least version 30.3.0 of setuptools
("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/lincolnloop/python-qrcode")
(synopsis "QR Code image generator")
(description "This package provides a pure Python QR Code generator

View File

@ -1712,7 +1712,7 @@ contain over 620 classes.")
(define-public qscintilla
(package
(name "qscintilla")
(version "2.10.2")
(version "2.10.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pyqt/QScintilla2/"
@ -1720,7 +1720,7 @@ contain over 620 classes.")
version ".tar.gz"))
(sha256
(base32
"1l2ylsv6s3wfhyx7qr5cxgkwwwhvbrpd2k7akgm9bvbyf4h1vcql"))))
"1rw1nlwnyzj5pb86cc5kk56qhrvwvrjvjzgrkwh3g7b9wxl7lrfj"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -1005,13 +1005,13 @@ interfaces.")
(define-public ruby-lumberjack
(package
(name "ruby-lumberjack")
(version "1.0.12")
(version "1.0.13")
(source (origin
(method url-fetch)
(uri (rubygems-uri "lumberjack" version))
(sha256
(base32
"0yz26k9mi0djx1qvlmvdw1xw2yf7a2rkfmnb2j0d28kms33xpibp"))))
"06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-rspec" ,ruby-rspec)
@ -2068,14 +2068,14 @@ instance, it provides @code{assert_true}, @code{assert_false} and
(define-public ruby-minitest-hooks
(package
(name "ruby-minitest-hooks")
(version "1.4.1")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "minitest-hooks" version))
(sha256
(base32
"05bngfyxwq1cflk568nhddgfrmws5ff6kiqax4skklsjnh71ykbi"))))
"0lnpvzijbjrvxjc43d155jnbk2mkfshrz22an711wh004scavlzc"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
@ -2924,13 +2924,13 @@ a native C extension.")
(define-public ruby-rb-fsevent
(package
(name "ruby-rb-fsevent")
(version "0.10.2")
(version "0.10.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rb-fsevent" version))
(sha256
(base32
"1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf"))))
"1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"))))
(build-system ruby-build-system)
;; Tests need "guard-rspec", which needs "guard". However, "guard" needs
;; "listen", which needs "rb-fsevent" at runtime.
@ -3694,17 +3694,17 @@ application.")
(define-public ruby-eventmachine
(package
(name "ruby-eventmachine")
(version "1.2.5")
(version "1.2.6")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "eventmachine" version))
(sha256
(base32
"075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z"))))
"08477hl609rmmngwfy8dmsqz5zvsg8xrsrrk6xi70jf48majwli0"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; test suite tries to connect to google.com
'(#:tests? #f)) ; test suite tries to connect to google.com
(native-inputs
`(("ruby-rake-compiler" ,ruby-rake-compiler)))
(synopsis "Single-threaded network event framework for Ruby")
@ -3882,14 +3882,14 @@ definitions.")
(define-public ruby-fivemat
(package
(name "ruby-fivemat")
(version "1.3.5")
(version "1.3.6")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "fivemat" version))
(sha256
(base32
"0ij7n250gk5c1g34rsbwjnpcv64gk4vsas8lkz8fac4wbygvk6z1"))))
"006n7b09vviv5bs5hv2ccmjxw9iw3brcsm3xh3dhzfncsknz4jp7"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ; no tests

View File

@ -150,14 +150,14 @@ anywhere.")
(define-public samba
(package
(name "samba")
(version "4.7.7")
(version "4.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32
"0c81x2ncnvz3mi6fjj81clm1mh049d3ip3fj031l44qclxpx3yi9"))))
"17bqgxyv34hjnb4hfamag75gwhqipp6mpvba5xg7lszi0xskdxwf"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -192,8 +192,8 @@ anywhere.")
(add-before 'install 'disable-etc-samba-directory-creation
(lambda _
(substitute* "dynconfig/wscript"
(("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}")
"bld.INSTALL_DIRS(\"\", \""))
(("bld\\.INSTALL_DIR\\(\"\\$\\{CONFIGDIR\\}\"\\)")
""))
#t)))
;; XXX: The test infrastructure attempts to set password with
;; smbpasswd, which fails with "smbpasswd -L can only be used by root."
@ -206,14 +206,16 @@ anywhere.")
("gnutls" ,gnutls)
("iniparser" ,iniparser)
("libaio" ,libaio)
("ldb" ,ldb)
("linux-pam" ,linux-pam)
("openldap" ,openldap)
("popt" ,popt)
("readline" ,readline)
("talloc" ,talloc)
("tevent" ,tevent)
("tdb" ,tdb)))
(propagated-inputs
;; In Requires or Requires.private of pkg-config files.
`(("ldb" ,ldb)
("talloc" ,talloc)
("tevent" ,tevent)))
(native-inputs
`(("docbook-xsl" ,docbook-xsl) ;for generating manpages
("xsltproc" ,libxslt) ;ditto
@ -340,14 +342,14 @@ many event types, including timers, signals, and the classic file descriptor eve
(define-public ldb
(package
(name "ldb")
(version "1.3.2")
(version "1.3.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
version ".tar.gz"))
(sha256
(base32
"1avn4fl393kc80krbc47phbp0argdkys62ycs8vm934a6nvz0gnf"))))
"14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -6,6 +6,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,14 +32,20 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages autotools)
#:use-module (gnu packages curl)
#:use-module (gnu packages check)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages networking)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages readline)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml))
@ -202,3 +209,86 @@ one-time-password (OTP) YubiKey against Yubicos servers. See the Yubico
website for more information about Yubico and the YubiKey.")
(home-page "https://developers.yubico.com/yubico-c-client/")
(license license:bsd-2)))
(define-public opensc
(package
(name "opensc")
(version "0.17.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/OpenSC/OpenSC/releases/download/"
version "/opensc-" version ".tar.gz"))
(sha256
(base32
"0043jh5g7q2lyd5vnb0akwb5y349isx7vbm9wqhlgav7d20wcwxy"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; By setting an absolute path here, we arrange for OpenSC to
;; successfully dlopen libpcsclite.so.1 by default. The user can
;; still override this if they want to, by specifying a custom OpenSC
;; configuration file at runtime.
(add-after 'unpack 'set-default-libpcsclite.so.1-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((libpcsclite (string-append (assoc-ref inputs "pcsc-lite")
"/lib/libpcsclite.so.1")))
(substitute* "configure"
(("DEFAULT_PCSC_PROVIDER=\"libpcsclite\\.so\\.1\"")
(string-append
"DEFAULT_PCSC_PROVIDER=\"" libpcsclite "\"")))
#t))))))
(inputs
`(("readline" ,readline)
("openssl" ,openssl)
("pcsc-lite" ,pcsc-lite)
("ccid" ,ccid)))
(native-inputs
`(("libxslt" ,libxslt)
("docbook-xsl" ,docbook-xsl)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/OpenSC/OpenSC/wiki")
(synopsis "Tools and libraries related to smart cards")
(description
"OpenSC is a set of software tools and libraries to work with smart
cards, with the focus on smart cards with cryptographic capabilities. OpenSC
facilitate the use of smart cards in security applications such as
authentication, encryption and digital signatures. OpenSC implements the PKCS
#15 standard and the PKCS #11 API.")
(license license:lgpl2.1+)))
(define-public yubico-piv-tool
(package
(name "yubico-piv-tool")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://developers.yubico.com/yubico-piv-tool/Releases/"
name "-" version ".tar.gz"))
(sha256
(base32
"1axa0lnky5gsc8yack6mpfbjh49z0czr1cv52gbgjnx2kcbpb0y1"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)
("pcsc-lite" ,pcsc-lite)
("openssl" ,openssl)))
(native-inputs
`(("doxygen" ,doxygen)
("graphviz" ,graphviz)
("check" ,check)
("texlive-bin" ,texlive-bin)
("pkg-config" ,pkg-config)))
(home-page "https://developers.yubico.com/yubico-piv-tool/")
(synopsis "Interact with the PIV application on a YubiKey")
(description
"The Yubico PIV tool is used for interacting with the Privilege and
Identification Card (PIV) application on a YubiKey. With it you may generate
keys on the device, import keys and certificates, create certificate requests,
and other operations. It includes a library and a command-line tool.")
;; The file ykcs11/pkcs11.h also declares an additional, very short free
;; license for that one file. Please see it for details. The vast
;; majority of files are licensed under bsd-2.
(license license:bsd-2)))

View File

@ -248,7 +248,7 @@ that implements both the msgpack and msgpack-rpc specifications.")
(define-public yaml-cpp
(package
(name "yaml-cpp")
(version "0.6.1")
(version "0.6.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -256,12 +256,10 @@ that implements both the msgpack and msgpack-rpc specifications.")
"yaml-cpp-" version ".tar.gz"))
(sha256
(base32
"038ddf771d1zrdfiwqzq2lsjdis1fxbaasbdja2w9f1av3k3gv15"))))
"01gxn7kc8pzyh4aadjxxzq8cignmbwmm9rfrsmgqfg9w2q75dn74"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(inputs
`(("boost" ,boost)))
(native-inputs
`(("python" ,python)))
(home-page "https://github.com/jbeder/yaml-cpp")

View File

@ -356,14 +356,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
(version "0.6.1")
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
"09rrfcwpirbxmjjqnsbyn7lwm1wyn41z5zhkbnv57i5hcgs72kx6"))
"0c2bbmdg0n10q54vq9k1z5n53l0mh1hb1q5xprfhilvrbr6hlcwr"))
(modules '((guix build utils)))
(snippet
`(begin

View File

@ -444,16 +444,15 @@ particularly useful for embedded systems, such as wireless routers.")
(define-public liboop
(package
(name "liboop")
(version "1.0")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.ofb.net/liboop/liboop-"
version ".tar.gz"))
(uri (string-append "http://ftp.lysator.liu.se/pub/liboop/"
name "-" version ".tar.gz"))
(sha256
(base32
"0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))
(patches (search-patches "liboop-mips64-deplibs-fix.patch"))))
"1q0p1l72pq9k3bi7a366j2rishv7dzzkg3i6r2npsfg7cnnidbsn"))))
(build-system gnu-build-system)
(home-page "http://www.lysator.liu.se/liboop/")
(synopsis "Event loop library")

View File

@ -318,14 +318,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.")
(define-public r-mass
(package
(name "r-mass")
(version "7.3-49")
(version "7.3-50")
(source
(origin
(method url-fetch)
(uri (cran-uri "MASS" version))
(sha256
(base32
"1yjbnj1p4z0vw84wga8q5fyqiw4n6r7pc6rdwam7vsbiamyzfcqs"))))
"16hasv9k4n773jsyzvh8s3gbga49hwdj8n5hxij6zqisy4i0kxq6"))))
(properties `((upstream-name . "MASS")))
(build-system r-build-system)
(home-page "http://www.stats.ox.ac.uk/pub/MASS4/")
@ -939,14 +939,14 @@ solution for sending email, including attachments, from within R.")
(define-public r-stringi
(package
(name "r-stringi")
(version "1.1.7")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "stringi" version))
(sha256
(base32
"0nck1s2iglmkrn15ay2chrrwsy5lngcylz2sc87fxy5skxaahxdl"))))
"1z8yqnh3alq0xriz77vifgl27msf3av6maz07fld78m90ajb6y8r"))))
(build-system r-build-system)
(inputs `(("icu4c" ,icu4c)))
(native-inputs `(("pkg-config" ,pkg-config)))
@ -1188,13 +1188,13 @@ evaluation (NSE) in R.")
(define-public r-dbi
(package
(name "r-dbi")
(version "0.8")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (cran-uri "DBI" version))
(sha256
(base32
"16nf8flxr5vdz8yrpprfbzydy3ajixkp9hc8ibd9n7r9nc29waym"))))
"1x8wy2vg2gcgd9bww04qmf0dsn3kp0rfjd8q8j1r2x9zxccg25pz"))))
(build-system r-build-system)
(home-page "https://github.com/rstats-db/DBI")
(synopsis "R database interface")
@ -1331,13 +1331,13 @@ syntax that can be converted to XHTML or other formats.")
(define-public r-yaml
(package
(name "r-yaml")
(version "2.1.18")
(version "2.1.19")
(source (origin
(method url-fetch)
(uri (cran-uri "yaml" version))
(sha256
(base32
"15m4q5krfqg0avvqg9i2g6ns4757lk6zbyrwbx5c5bgh51glvd8v"))))
"04bzrnfgbpk0rhkvzwp3k3ip7jpq26bjxz71bx5mwxmcjdb07nz5"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/yaml/")
(synopsis "Methods to convert R data to YAML and back")
@ -1681,14 +1681,14 @@ transformations.")
(define-public r-formula
(package
(name "r-formula")
(version "1.2-2")
(version "1.2-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "Formula" version))
(sha256
(base32
"0ad49bzip1zqmpj1d8jajwl4bd81fm3k6dq8p26x6mvlzc04dvwd"))))
"0wiqh8rr9d5ciy80wj8f5fnmiiw0ywanvvnhkwd622dx42dk848l"))))
(properties `((upstream-name . "Formula")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/Formula")
@ -1742,13 +1742,13 @@ times.")
(define-public r-data-table
(package
(name "r-data-table")
(version "1.10.4-3")
(version "1.11.0")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
"12caklgr19vy9wprdks6zh825vr1iw1cajgwcnbpyvmijqdlz2xs"))))
"0n1p35c9sni2272ykxsfbsy7xma62br7v668a5bvc37g75xf10df"))))
(build-system r-build-system)
(home-page "https://github.com/Rdatatable/data.table/wiki")
(synopsis "Enhanced version of data.frame R object")
@ -2157,14 +2157,14 @@ module, Java Server Pages, and Python's psp module.")
(define-public r-desc
(package
(name "r-desc")
(version "1.1.1")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "desc" version))
(sha256
(base32
"0k07qighac1xzmm8k988zi7i88a0yfvia3gk5hbz0fyvb2v9kzrj"))))
"1s6s13fk6sxwcj8wzkwxl9vr33153xx11p5wi9avqx3rzkabavz6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@ -2182,14 +2182,14 @@ other packages.")
(define-public r-commonmark
(package
(name "r-commonmark")
(version "1.4")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "commonmark" version))
(sha256
(base32
"1vb8r9khpvcf0q7acv8rsplfjjwcll302bg5kp596cvn6aacypl6"))))
"1jwx5rgm0ypd9a3v4jd9za4a644rdzhk1n4dvmgkj9hdpwsida3z"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/commonmark")
(synopsis "CommonMark and Github Markdown Rendering in R")
@ -2482,13 +2482,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.8.400.0.0")
(version "0.8.500.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"11y2ksf46zw6fcz0kk70szyfn7qqxwwd33xylrxvnyb7ldmbc5yr"))))
"1sh36dx6inmb56m40nigy94gxlgjva816qnlmjwg7y2bdvqj8vsi"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(native-inputs
@ -3986,14 +3986,14 @@ hierarchical clustering dendrograms.")
(define-public r-preprocesscore
(package
(name "r-preprocesscore")
(version "1.40.0")
(version "1.42.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "preprocessCore" version))
(sha256
(base32
"0mrdgbkb9dcfr9gsqyxfpshnxx60mq97pl98b8yl00l2gfwz48ph"))))
"1afar1z7959v7mbzsqa77vqfh0yc7y3nv5ayx71485a8scwsfwbk"))))
(properties
`((upstream-name . "preprocessCore")))
(build-system r-build-system)

View File

@ -29,7 +29,7 @@
(define-public syncthing
(package
(name "syncthing")
(version "0.14.46")
(version "0.14.47")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -37,7 +37,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"0h5b2mp0li0qzrz3wggzavdfqfaz9b79hx6wds84ya2i9maw80cl"))
"1wz6cwq3la5676z1c20sh4fykmjwhs410xzcnb2jfyzaldf57cwj"))
(modules '((guix build utils)))
;; Delete bundled ("vendored") free software source code.
(snippet '(begin
@ -145,7 +145,7 @@
("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
("go-golang-org-x-text" ,(go-golang-org-x-text-union))
("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
("go-github-com-zillode-notify" ,go-github-com-zillode-notify)
("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
;; For tests
("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
(synopsis "Decentralized continuous file system synchronization")
@ -507,7 +507,10 @@ address of the default LAN gateway.")
"056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/kardianos/osext"))
`(#:import-path "github.com/kardianos/osext"
;; The tests are flaky:
;; <https://github.com/kardianos/osext/issues/21>
#:tests? #f))
(synopsis "Find the running executable")
(description "Osext provides a method for finding the current executable
file that is running. This can be used for upgrading the current executable or
@ -910,7 +913,6 @@ libraries are in the same directory.")
(define* (go-golang-org-x-net-union #:optional
(packages (list go-golang-org-x-net-ipv4
go-golang-org-x-net-bpf
go-golang-org-x-net-context
go-golang-org-x-net-ipv6
go-golang-org-x-net-proxy
go-golang-org-x-net-internal-iana)))
@ -1111,30 +1113,30 @@ using sh's word-splitting rules.")
(home-page "https://github.com/kballard/go-shellquote")
(license expat))))
(define-public go-github-com-zillode-notify
(let ((commit "53dd6873a851fc377c87d82f994b1fecdf25aadb")
(revision "3"))
(define-public go-github-com-syncthing-notify
(let ((commit "b9ceffc925039c77cd9e0d38f248279ccc4399e2")
(revision "0"))
(package
(name "go-github-com-zillode-notify")
(name "go-github-com-syncthing-notify")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/calmh/notify")
(url "https://github.com/syncthing/notify")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0ar6mj6s91y7hc5gdp88lz3i7xi29cqkx9f090xj899ir21a8djn"))))
"1scha9b2r35bvqzqx86sarzjxf72ywvj3g6n9pm3xq4i4xzpylxf"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/Zillode/notify"))
'(#:import-path "github.com/syncthing/notify"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "File system event notification library")
(description "This package provides @code{notify}, a file system event
notification library in Go.")
(home-page "https://github.com/zillode/notify")
(home-page "https://github.com/syncthing/notify")
(license expat))))
(define-public go-github-com-beorn7-perks-quantile

View File

@ -493,13 +493,13 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
(version "0.23.0")
(version "0.24.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
"0l257dq1i2gka6ynldidpwaz1aa726643crqqckga1w5awsndh88"))))
"1jq1nlly5146k08dw31fc1pw78plya5jswznnd512c08giif0mfn"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -548,7 +548,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version))
(sha256
(base32
"0gh5fr61c3mj5vdkn68k17wcvri9rdj506cmmz6631i2l5flrzvc"))))
"0w3dbz74rpabjnc3l3ybnzjdypbr65lsjqf9yn243b5kid9d8wm0"))))
(build-system python-build-system)
(arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme)
@ -634,18 +634,20 @@ servers or clients for more complicated applications.")
(define-public perl-crypt-openssl-rsa
(package
(name "perl-crypt-openssl-rsa")
(version "0.28")
(version "0.30")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/P/PE/PERLER/Crypt-OpenSSL-RSA-"
"mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-"
version
".tar.gz"))
(sha256
(base32
"1gnpvv09b2gpifwdzc5jnhama3d1a4c39lzj9hcaicsb8rvzjmsk"))))
"1b19kaaw4wda8dy6kjiwqa2prpbs2dqcyjyj9zdh5wbs74qkbq93"))))
(build-system perl-build-system)
(native-inputs
`(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess)))
(inputs
`(("perl-crypt-openssl-bignum" ,perl-crypt-openssl-bignum)
("perl-crypt-openssl-random" ,perl-crypt-openssl-random)
@ -793,7 +795,7 @@ then ported to the GNU / Linux environment.")
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
(version "2.7.2")
(version "2.7.3")
(source
(origin
(method url-fetch)
@ -803,7 +805,7 @@ then ported to the GNU / Linux environment.")
version "-apache.tgz"))
(sha256
(base32
"1mvkqlxxvl6yp1g5g9dk4l7h3wl6149p3pfwgwzgs7xybyxw4f7x"))))
"0rfpcc4i01qsl66iy1z9vaw00s34h4qgx3r41i1v5vazv7vjla05"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags

View File

@ -29,14 +29,14 @@
(define-public miniupnpc
(package
(name "miniupnpc")
(version "2.0.20180410")
(version "2.0.20180503")
(source
(origin
(method url-fetch)
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
name "-" version ".tar.gz"))
(sha256
(base32 "08vs9012bahdwid4nsf3mi2kawcq1hvz7lzpdmiynxcbpip6sk0f"))))
(base32 "0dv906ibjdrv4wfrccj36z3lvpvgmcg0dwakhi66fqg6y5l97a5k"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))

View File

@ -564,7 +564,8 @@ libebml is a C++ library to read and write EBML files.")
("libx11" ,libx11)
("libxext" ,libxext)
("libxfixes" ,libxfixes)
("mesa" ,mesa)))
("mesa" ,mesa)
("wayland" ,wayland)))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -383,14 +383,14 @@ manage system or application containers.")
(define-public libvirt
(package
(name "libvirt")
(version "4.2.0")
(version "4.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://libvirt.org/sources/libvirt-"
version ".tar.xz"))
(sha256
(base32
"0nq1iz5iic466qahp0i8dlvyd6li0b0pdrvvrz9286l12x2fm61s"))))
"1dy243dqaj174hcka0my7q781wf0dvyi7f9328nwnplqicnf4cd5"))))
(build-system gnu-build-system)
(arguments
`(;; FAIL: virshtest

View File

@ -519,7 +519,7 @@ data.")
(define-public json-c
(package
(name "json-c")
(version "0.13")
(version "0.13.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -527,7 +527,7 @@ data.")
version ".tar.gz"))
(sha256
(base32
"0kf2594kxcfga6x0mvwzj2qg8pgxhjkibc16ghnw85mdx45ph5h3"))
"0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq"))
(modules '((guix build utils)))
(snippet
'(begin
@ -536,14 +536,8 @@ data.")
;; run 'autoheader'.
(set-file-time "config.h.in"
(stat "aclocal.m4"))
;; Don't try to build with -Werror.
(substitute* (find-files "." "Makefile\\.in")
(("-Werror") ""))
#t))))
(build-system gnu-build-system)
(arguments '(#:parallel-build? #f
#:parallel-tests? #f))
(home-page "https://github.com/json-c/json-c/wiki")
(synopsis "JSON implementation in C")
(description
@ -1818,15 +1812,15 @@ number, file name, and code context surrounding the line number.")
(define-public perl-catalyst-plugin-static-simple
(package
(name "perl-catalyst-plugin-static-simple")
(version "0.33")
(version "0.36")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"Catalyst-Plugin-Static-Simple-" version ".tar.gz"))
(sha256
(base32
"1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy"))))
"0m4l627p2fvzr4i6sgdxhdvsx4wpa6qmaibsbxlg5x5yjs7k7drn"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-install" ,perl-module-install)))
@ -2439,7 +2433,7 @@ composed of HTML::Element style components.")
(define-public perl-html-scrubber
(package
(name "perl-html-scrubber")
(version "0.15")
(version "0.17")
(source
(origin
(method url-fetch)
@ -2449,11 +2443,12 @@ composed of HTML::Element style components.")
".tar.gz"))
(sha256
(base32
"1m1f8gm2jry42zxja05dxp2ck7y66m7i8vc38nj6hccnwlby6cvi"))))
"06p7w4zd42b2yh541mlzyqj40lwmvvn3fyqi8big4mf34la7m2jm"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-test-cpan-meta" ,perl-test-cpan-meta)
("perl-test-differences" ,perl-test-differences)
("perl-test-eol" ,perl-test-eol)
("perl-test-memory-cycle" ,perl-test-memory-cycle)
("perl-test-notabs" ,perl-test-notabs)))
@ -3412,7 +3407,7 @@ either mocked HTTP or a locally spawned server.")
(define-public perl-test-www-mechanize
(package
(name "perl-test-www-mechanize")
(version "1.48")
(version "1.50")
(source
(origin
(method url-fetch)
@ -3420,17 +3415,12 @@ either mocked HTTP or a locally spawned server.")
"Test-WWW-Mechanize-" version ".tar.gz"))
(sha256
(base32
"1d11fx9155d5v17d5w7q3kj37b01l8yj2yb0g6b0z1vh938rrlcr"))))
"097pl87vdbxbb56vawzvs6ikrlb8nz3dx223kjjbdn3jlli3jjhg"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-exception" ,perl-test-exception)))
(native-inputs
`(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-carp-assert-more" ,perl-carp-assert-more)
("perl-html-form" ,perl-html-form)
("perl-html-lint" ,perl-html-lint)
("perl-html-tree" ,perl-html-tree)
("perl-http-server-simple" ,perl-http-server-simple)
("perl-libwww" ,perl-libwww)
("perl-test-longstring" ,perl-test-longstring)
@ -3480,7 +3470,7 @@ testing of Catalyst applications without needing to start up a web server.")
(define-public perl-test-www-mechanize-psgi
(package
(name "perl-test-www-mechanize-psgi")
(version "0.37")
(version "0.38")
(source
(origin
(method url-fetch)
@ -3488,7 +3478,7 @@ testing of Catalyst applications without needing to start up a web server.")
"Test-WWW-Mechanize-PSGI-" version ".tar.gz"))
(sha256
(base32
"0c9a9w0d2whadnrich7f09w37fgq5hws4gq04zgz4jsdjcvr3qv2"))))
"0fsh2i05kf1kfavv2r9kmnjl7qlyqrd11ikc0qcqzzxsqzzjkg9r"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-pod" ,perl-test-pod)))

View File

@ -16,6 +16,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -967,3 +968,47 @@ It is inspired by Xmonad and dwm. Its major features include:
(description "Cwm is a stacking window manager for X11. It is an OpenBSD
project derived from the original Calm Window Manager.")
(license license:isc)))
(define-public nitrogen
(package
(name "nitrogen")
(version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append "http://github.com/l3ib/nitrogen/"
"releases/download/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
"0zc3fl1mbhq0iyndy4ysmy8vv5c7xwf54rbgamzfhfvsgdq160pl"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+-2)
("gtkmm" ,gtkmm-2)
("glib" ,glib)
("glibmm" ,glibmm)))
(native-inputs
`(("pkg-config", pkg-config)))
(arguments
`(#:configure-flags (list
(string-append "--prefix=" %output)
"CXXFLAGS=-std=c++11")))
(home-page "http://projects.l3ib.org/nitrogen/")
(synopsis "Background browser and setter for X windows")
(description
"This package is a background browser and setter for X windows. It's
features are:
@itemize
@item Multihead and Xinerama aware
@item Recall mode to used via startup script
@item Uses freedesktop.org standard for thumbnails
@item Can set GNOME background
@item Command lie set modes for script use
@item Inotify monitoring of browse directory
@item Lazy loading of thumbnails - conserves memory
@item \"Automatic\" set mode - determines best mode to set an image based on
its size
@item Display preview images in a tiled icon layout
@end itemize")
(license license:gpl2+)))

View File

@ -2908,12 +2908,11 @@ X server.")
(define-public xf86-video-intel
(let ((commit "af6d8e9e8f546e5cba60e3a62765c2dbd0328e83")
(revision "9"))
(let ((commit "d7dfab62a9853b44bbcd67dac08391d8e5114c97")
(revision "10"))
(package
(name "xf86-video-intel")
(version (string-append "2.99.917-" revision "-"
(string-take commit 7)))
(version (git-version "2.99.917" revision commit))
(source
(origin
;; there's no current tarball
@ -2923,8 +2922,8 @@ X server.")
(commit commit)))
(sha256
(base32
"0f6sbkgykvvdggy8z6y7blf7yharg9vmiixxy190643bjxlnpp2s"))
(file-name (string-append name "-" version))))
"1vcfal4xr9q6016p28lnlyg709da6d305dysyyrj3fjp9fj48sva"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)
("udev" ,eudev)

View File

@ -691,7 +691,14 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
(service-extension account-service-type
(const %prosody-accounts))
(service-extension activation-service-type
prosody-activation)))))
prosody-activation)))
(default-value (prosody-configuration
(virtualhosts
(list
(virtualhost-configuration
(domain "localhost"))))))
(description
"Run Prosody, a modern XMPP communication server.")))
;; A little helper to make it easier to document all those fields.
(define (generate-documentation)

86
gnu/services/sound.scm Normal file
View File

@ -0,0 +1,86 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu services sound)
#:use-module (gnu services base)
#:use-module (gnu services configuration)
#:use-module (gnu services shepherd)
#:use-module (gnu services)
#:use-module (gnu system shadow)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (gnu packages pulseaudio)
#:use-module (ice-9 match)
#:export (alsa-configuration
alsa-service-type))
;;; Commentary:
;;;
;;; Sound services.
;;;
;;; Code:
;;;
;;; ALSA
;;;
(define-record-type* <alsa-configuration>
alsa-configuration make-alsa-configuration alsa-configuration?
(pulseaudio? alsa-configuration-pulseaudio? ;boolean
(default #t))
(extra-options alsa-configuration-extra-options ;string
(default "")))
(define (alsa-config-file config)
"Return the ALSA configuration file corresponding to CONFIG."
(plain-file "asound.conf"
(string-append "# Generated by 'alsa-service'.\n\n"
(if (alsa-configuration-pulseaudio? config)
"# Use PulseAudio by default
pcm.!default {
type pulse
fallback \"sysdefault\"
hint {
show on
description \"Default ALSA Output (currently PulseAudio Sound Server)\"
}
}
ctl.!default {
type pulse
fallback \"sysdefault\"
}
"
"")
(alsa-configuration-extra-options config))))
(define (alsa-etc-service config)
(list `("asound.conf" ,(alsa-config-file config))))
(define alsa-service-type
(service-type
(name 'alsa)
(extensions
(list (service-extension etc-service-type alsa-etc-service)))
(default-value (alsa-configuration))
(description "Configure low-level Linux sound support, ALSA.")))
;;; sound.scm ends here

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -120,6 +120,28 @@ front."
(lambda ()
(set! path initial-value)))))
(define (call/exit-on-exception thunk)
"Evaluate THUNK and exit right away if an exception is thrown."
(catch #t
thunk
(const #f)
(lambda (key . args)
(false-if-exception
;; Duplicate stderr to avoid thread-safety issues.
(let* ((port (duplicate-port (current-error-port) "w0"))
(stack (make-stack #t))
(depth (stack-length stack))
(frame (and (> depth 1) (stack-ref stack 1))))
(false-if-exception (display-backtrace stack port))
(print-exception port frame key args)))
;; Don't go any further.
(primitive-exit 1))))
(define-syntax-rule (exit-on-exception exp ...)
"Evaluate EXP and exit if an exception is thrown."
(call/exit-on-exception (lambda () exp ...)))
(define* (compile-files source-directory build-directory files
#:key
(host %host-type)
@ -139,15 +161,18 @@ files are for HOST, a GNU triplet such as \"x86_64-linux-gnu\"."
(define (build file)
(with-mutex progress-lock
(report-compilation file total completed))
(with-fluids ((*current-warning-prefix* ""))
(with-target host
(lambda ()
(let ((relative (relative-file source-directory file)))
(compile-file file
#:output-file (string-append build-directory "/"
(scm->go relative))
#:opts (append warning-options
(optimization-options relative)))))))
;; Exit as soon as something goes wrong.
(exit-on-exception
(with-fluids ((*current-warning-prefix* ""))
(with-target host
(lambda ()
(let ((relative (relative-file source-directory file)))
(compile-file file
#:output-file (string-append build-directory "/"
(scm->go relative))
#:opts (append warning-options
(optimization-options relative))))))))
(with-mutex progress-lock
(set! completed (+ 1 completed))))

View File

@ -60,7 +60,9 @@
(define* (emacs-byte-compile-directory dir)
"Byte compile all files in DIR and its sub-directories."
(let ((expr `(byte-recompile-directory (file-name-as-directory ,dir) 0)))
(let ((expr `(progn
(setq byte-compile-debug t) ; for proper exit status
(byte-recompile-directory (file-name-as-directory ,dir) 0 1))))
(emacs-batch-eval expr)))
(define-syntax emacs-substitute-sexps

View File

@ -661,43 +661,47 @@ build."
(define system (assoc-ref opts 'system))
(define graft? (assoc-ref opts 'graft?))
(parameterize ((%graft? graft?))
(append-map (match-lambda
((? package? p)
(let ((p (or (and graft? (package-replacement p)) p)))
(match src
(#f
(list (package->derivation store p system)))
(#t
(match (package-source p)
(#f
(format (current-error-port)
(G_ "~a: warning: \
;; We may get 'unbound-variable' errors while evaluating the 'inputs' fields
;; of user packages. Since 'guix build' is the primary tool for people
;; testing new packages, report such errors gracefully.
(with-unbound-variable-handling
(parameterize ((%graft? graft?))
(append-map (match-lambda
((? package? p)
(let ((p (or (and graft? (package-replacement p)) p)))
(match src
(#f
(list (package->derivation store p system)))
(#t
(match (package-source p)
(#f
(format (current-error-port)
(G_ "~a: warning: \
package '~a' has no source~%")
(location->string (package-location p))
(package-name p))
'())
(s
(list (package-source-derivation store s)))))
(proc
(map (cut package-source-derivation store <>)
(proc p))))))
((? derivation? drv)
(list drv))
((? procedure? proc)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(proc))
#:system system)))
((? gexp? gexp)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(gexp->derivation "gexp" gexp
#:system system))))))
(map (cut transform store <>)
(options->things-to-build opts)))))
(location->string (package-location p))
(package-name p))
'())
(s
(list (package-source-derivation store s)))))
(proc
(map (cut package-source-derivation store <>)
(proc p))))))
((? derivation? drv)
(list drv))
((? procedure? proc)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(proc))
#:system system)))
((? gexp? gexp)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(gexp->derivation "gexp" gexp
#:system system))))))
(map (cut transform store <>)
(options->things-to-build opts))))))
(define (show-build-log store file urls)
"Show the build log for FILE, falling back to remote logs from URLS if

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -59,10 +60,8 @@ provided TYPE has a default value."
(define (service-type-shepherd-names type)
"Return the default names of Shepherd services created for TYPE."
(match (map shepherd-service-provision
(service-type-default-shepherd-services type))
(((names . _) ...)
names)))
(append-map shepherd-service-provision
(service-type-default-shepherd-services type)))
(define* (service-type->recutils type port
#:optional (width (%text-width))

View File

@ -208,10 +208,10 @@ unavailable)~%"))
0 queue)))
(newline)
(unless (null? missing)
(let ((missing (length missing)))
(match (queued-subset queue missing)
(#f #f)
((= length queued)
(match (queued-subset queue missing)
(#f #f)
((= length queued)
(let ((missing (length missing)))
(format #t (G_ " ~,1f% (~h out of ~h) of the missing items \
are queued~%")
(* 100. (/ queued missing))

View File

@ -82,6 +82,7 @@
show-manifest-transaction
call-with-error-handling
with-error-handling
with-unbound-variable-handling
leave-on-EPIPE
read/eval
read/eval-package-expression
@ -164,7 +165,7 @@ messages."
((proc message (variable) _ ...)
;; We can always omit PROC because when it's useful (i.e., different from
;; "module-lookup"), it gets displayed before.
(format port (G_ "~a: unbound variable") variable))
(format port (G_ "error: ~a: unbound variable") variable))
(_
(default-printer))))
@ -179,9 +180,9 @@ messages."
modules)
module))
(define* (load* file user-module
#:key (on-error 'nothing-special))
"Load the user provided Scheme source code FILE."
(define (last-frame-with-source stack)
"Walk stack upwards and return the last frame that has source location
information, or #f if it could not be found."
(define (frame-with-source frame)
;; Walk from FRAME upwards until source location information is found.
(let loop ((frame frame)
@ -192,6 +193,15 @@ messages."
frame
(loop (frame-previous frame) frame)))))
(let* ((depth (stack-length stack))
(last (and (> depth 0) (stack-ref stack 0))))
(frame-with-source (if (> depth 1)
(stack-ref stack 1) ;skip the 'throw' frame
last))))
(define* (load* file user-module
#:key (on-error 'nothing-special))
"Load the user provided Scheme source code FILE."
(define (error-string frame args)
(call-with-output-string
(lambda (port)
@ -244,12 +254,7 @@ messages."
;; Capture the stack up to this procedure call, excluded, and pass
;; the faulty stack frame to 'report-load-error'.
(let* ((stack (make-stack #t handle-error tag))
(depth (stack-length stack))
(last (and (> depth 0) (stack-ref stack 0)))
(frame (frame-with-source
(if (> depth 1)
(stack-ref stack 1) ;skip the 'throw' frame
last))))
(frame (last-frame-with-source stack)))
(report-load-error file args frame)
@ -311,6 +316,21 @@ PORT."
(- (terminal-columns) 5))))
(texi->plain-text message))))
(define* (report-unbound-variable-error args #:key frame)
"Return the given unbound-variable error, where ARGS is the list of 'throw'
arguments."
(match args
((key . args)
(print-exception (current-error-port) frame key args)))
(match args
(('unbound-variable proc message (variable) _ ...)
(match (known-variable-definition variable)
(#f
(display-hint (G_ "Did you forget a @code{use-modules} form?")))
((? module? module)
(display-hint (format #f (G_ "Did you forget @code{(use-modules ~a)}?")
(module-name module))))))))
(define* (report-load-error file args #:optional frame)
"Report the failure to load FILE, a user-provided Scheme file.
ARGS is the list of arguments received by the 'throw' handler."
@ -331,16 +351,8 @@ ARGS is the list of arguments received by the 'throw' handler."
(let ((loc (source-properties->location properties)))
(format (current-error-port) (G_ "~a: error: ~a~%")
(location->string loc) message)))
(('unbound-variable proc message (variable) _ ...)
(match args
((key . args)
(print-exception (current-error-port) frame key args)))
(match (known-variable-definition variable)
(#f
(display-hint (G_ "Did you forget a @code{use-modules} form?")))
(module
(display-hint (format #f (G_ "Did you forget @code{(use-modules ~a)}?")
(module-name module))))))
(('unbound-variable _ ...)
(report-unbound-variable-error args #:frame frame))
(('srfi-34 obj)
(if (message-condition? obj)
(if (error-location? obj)
@ -381,6 +393,27 @@ exiting. ARGS is the list of arguments received by the 'throw' handler."
(warning (G_ "failed to load '~a':~%") file)
(apply display-error #f (current-error-port) args))))
(define (call-with-unbound-variable-handling thunk)
(define tag
(make-prompt-tag "user-code"))
(catch 'unbound-variable
(lambda ()
(call-with-prompt tag
thunk
(const #f)))
(const #t)
(rec (handle-error . args)
(let* ((stack (make-stack #t handle-error tag))
(frame (and stack (last-frame-with-source stack))))
(report-unbound-variable-error args #:frame frame)
(exit 1)))))
(define-syntax-rule (with-unbound-variable-handling exp ...)
"Capture 'unbound-variable' exceptions in the dynamic extent of EXP... and
report them in a user-friendly way."
(call-with-unbound-variable-handling (lambda () exp ...)))
(define (install-locale)
"Install the current locale settings."
(catch 'system-error

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@ -138,6 +138,25 @@ test `guix build -d --sources=transitive foo \
| grep -e 'foo\.tar\.gz' -e 'bar\.tar\.gz' -e 'bar\.dat' \
| wc -l` -eq 3
# Unbound variables.
cat > "$module_dir/foo.scm"<<EOF
(define-module (foo)
#:use-module (guix tests)
#:use-module (guix build-system trivial))
(define-public foo
(dummy-package "package-with-something-wrong"
(build-system trivial-build-system)
(inputs (quasiquote (("sed" ,sed)))))) ;unbound variable
EOF
if guix build package-with-something-wrong -n; then false; else true; fi
guix build package-with-something-wrong -n 2> "$module_dir/err" || true
grep "unbound" "$module_dir/err" # actual error
grep "forget.*(gnu packages base)" "$module_dir/err" # hint
rm -f "$module_dir"/*
# Should all return valid log files.
drv="`guix build -d -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'`"
out="`guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'`"