summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-12-09 18:11:14 +0100
committerLudovic Courtès <ludo@gnu.org>2016-12-09 18:11:14 +0100
commitf80b4d2ce09b0b7770cbdf2f90704d41b0a168c5 (patch)
treeec47c7ee5d5579cfa00f13b5038ff3d8c87e4a48 /gnu/packages
parent13b5f44b475aa385d580f7e19b907210bc1d6d99 (diff)
parent2608e40988ba8cf51723fe0d21bdedf6b3997c9c (diff)
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm7
-rw-r--r--gnu/packages/aspell.scm9
-rw-r--r--gnu/packages/base.scm13
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/bittorrent.scm35
-rw-r--r--gnu/packages/cross-base.scm292
-rw-r--r--gnu/packages/dav.scm8
-rw-r--r--gnu/packages/emacs.scm38
-rw-r--r--gnu/packages/enlightenment.scm8
-rw-r--r--gnu/packages/gnome.scm36
-rw-r--r--gnu/packages/guile.scm13
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/irc.scm93
-rw-r--r--gnu/packages/libreoffice.scm12
-rw-r--r--gnu/packages/libunistring.scm6
-rw-r--r--gnu/packages/links.scm4
-rw-r--r--gnu/packages/linux.scm48
-rw-r--r--gnu/packages/lua.scm36
-rw-r--r--gnu/packages/mail.scm16
-rw-r--r--gnu/packages/make-bootstrap.scm67
-rw-r--r--gnu/packages/mingw.scm84
-rw-r--r--gnu/packages/mtools.scm4
-rw-r--r--gnu/packages/multiprecision.scm9
-rw-r--r--gnu/packages/music.scm78
-rw-r--r--gnu/packages/ncurses.scm231
-rw-r--r--gnu/packages/onc-rpc.scm8
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch11
-rw-r--r--gnu/packages/patches/httpd-CVE-2016-8740.patch36
-rw-r--r--gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch218
-rw-r--r--gnu/packages/patches/readline-7.0-mingw.patch28
-rw-r--r--gnu/packages/patches/seq24-rename-mutex.patch124
-rw-r--r--gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch31
-rw-r--r--gnu/packages/php.scm4
-rw-r--r--gnu/packages/python.scm93
-rw-r--r--gnu/packages/qt.scm40
-rw-r--r--gnu/packages/readline.scm14
-rw-r--r--gnu/packages/ruby.scm3
-rw-r--r--gnu/packages/samba.scm10
-rw-r--r--gnu/packages/shells.scm10
-rw-r--r--gnu/packages/terminals.scm31
-rw-r--r--gnu/packages/text-editors.scm77
-rw-r--r--gnu/packages/tor.scm4
-rw-r--r--gnu/packages/version-control.scm7
-rw-r--r--gnu/packages/video.scm41
-rw-r--r--gnu/packages/vim.scm4
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/packages/wm.scm40
-rw-r--r--gnu/packages/xorg.scm5
50 files changed, 1531 insertions, 477 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f1c283c7c20..2079bf9e0f3 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -141,14 +141,14 @@ and provides a \"top-like\" mode (monitoring).")
141(define-public shepherd 141(define-public shepherd
142 (package 142 (package
143 (name "shepherd") 143 (name "shepherd")
144 (version "0.3.1") 144 (version "0.3.2")
145 (source (origin 145 (source (origin
146 (method url-fetch) 146 (method url-fetch)
147 (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-" 147 (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-"
148 version ".tar.gz")) 148 version ".tar.gz"))
149 (sha256 149 (sha256
150 (base32 150 (base32
151 "0f3yi3n4sl9myiay95yhv2a9an338qddfjrbv7da753ip66dkfz6")))) 151 "174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))))
152 (build-system gnu-build-system) 152 (build-system gnu-build-system)
153 (arguments 153 (arguments
154 '(#:configure-flags '("--localstatedir=/var"))) 154 '(#:configure-flags '("--localstatedir=/var")))
@@ -161,7 +161,8 @@ the execution of system services, replacing similar functionality found in
161typical init systems. It provides dependency-handling through a convenient 161typical init systems. It provides dependency-handling through a convenient
162interface and is based on GNU Guile.") 162interface and is based on GNU Guile.")
163 (license license:gpl3+) 163 (license license:gpl3+)
164 (home-page "http://www.gnu.org/software/shepherd/"))) 164 (home-page "https://www.gnu.org/software/shepherd/")
165 (properties '((ftp-server . "alpha.gnu.org")))))
165 166
166(define-public dfc 167(define-public dfc
167 (package 168 (package
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 04a91978390..f39205714c3 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> 3;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
4;;; Copyright © 2016 John Darrington <jmd@gnu.org> 4;;; Copyright © 2016 John Darrington <jmd@gnu.org>
5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -163,3 +164,11 @@ dictionaries, including personal ones.")
163 #:sha256 164 #:sha256
164 (base32 165 (base32
165 "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"))) 166 "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
167
168(define-public aspell-dict-sv
169 (aspell-dictionary "sv" "Swedish"
170 #:version "0.51-0"
171 #:prefix "aspell-"
172 #:sha256
173 (base32
174 "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v")))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2dd17a9ebb0..c2430f656f9 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -46,7 +46,8 @@
46 #:use-module (guix build-system gnu) 46 #:use-module (guix build-system gnu)
47 #:use-module (guix build-system trivial) 47 #:use-module (guix build-system trivial)
48 #:use-module (ice-9 match) 48 #:use-module (ice-9 match)
49 #:export (glibc)) 49 #:export (glibc
50 libiconv-if-needed))
50 51
51;;; Commentary: 52;;; Commentary:
52;;; 53;;;
@@ -1032,6 +1033,16 @@ program. It supports a wide variety of different encodings.")
1032 (home-page "http://www.gnu.org/software/libiconv/") 1033 (home-page "http://www.gnu.org/software/libiconv/")
1033 (license lgpl3+))) 1034 (license lgpl3+)))
1034 1035
1036(define* (libiconv-if-needed #:optional (target (%current-target-system)))
1037 "Return either a libiconv package specification to include in a dependency
1038list for platforms that have an incomplete libc, or the empty list. If a
1039package needs iconv ,@(libiconv-if-needed) should be added."
1040 ;; POSIX C libraries provide iconv. Platforms with an incomplete libc
1041 ;; without iconv, such as MinGW, must return the then clause.
1042 (if (target-mingw? target)
1043 `(("libiconv" ,libiconv))
1044 '()))
1045
1035(define-public (canonical-package package) 1046(define-public (canonical-package package)
1036 ;; Avoid circular dependency by lazily resolving 'commencement'. 1047 ;; Avoid circular dependency by lazily resolving 'commencement'.
1037 (let* ((iface (resolve-interface '(gnu packages commencement))) 1048 (let* ((iface (resolve-interface '(gnu packages commencement)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4fac8e16c06..625935dfd75 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5629,7 +5629,7 @@ track. The database is exposed as a @code{TxDb} object.")
5629(define-public vsearch 5629(define-public vsearch
5630 (package 5630 (package
5631 (name "vsearch") 5631 (name "vsearch")
5632 (version "2.3.0") 5632 (version "2.3.3")
5633 (source 5633 (source
5634 (origin 5634 (origin
5635 (method url-fetch) 5635 (method url-fetch)
@@ -5639,7 +5639,7 @@ track. The database is exposed as a @code{TxDb} object.")
5639 (file-name (string-append name "-" version ".tar.gz")) 5639 (file-name (string-append name "-" version ".tar.gz"))
5640 (sha256 5640 (sha256
5641 (base32 5641 (base32
5642 "1r8fk3whkil348y5hfsd4r56qjmchhq4nxm6s7ra5rlisw0mf9fy")) 5642 "1d3670apjy15c9l40fpq71lifxga6j9z2gisdirycwk18s4mvcp2"))
5643 (modules '((guix build utils))) 5643 (modules '((guix build utils)))
5644 (snippet 5644 (snippet
5645 '(begin 5645 '(begin
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 4d2fd997440..76c48353bda 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -4,6 +4,7 @@
4;;; Copyright © 2016 Leo Famulari <leo@famulari.name> 4;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org> 6;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
7;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
7;;; 8;;;
8;;; This file is part of GNU Guix. 9;;; This file is part of GNU Guix.
9;;; 10;;;
@@ -257,7 +258,6 @@ download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
257Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") 258Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
258 (license l:gpl2+))) 259 (license l:gpl2+)))
259 260
260
261(define-public uget 261(define-public uget
262 (package 262 (package
263 (name "uget") 263 (name "uget")
@@ -292,3 +292,36 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
292HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection 292HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection
293downloads, download scheduling, download rate limiting.") 293downloads, download scheduling, download rate limiting.")
294 (license l:lgpl2.1+))) 294 (license l:lgpl2.1+)))
295
296(define-public mktorrent
297 (package
298 (name "mktorrent")
299 (version "1.0")
300 (source (origin
301 (method url-fetch)
302 (uri (string-append "mirror://sourceforge/mktorrent/mktorrent/"
303 version "/" name "-" version ".tar.gz"))
304 (sha256
305 (base32
306 "17qi3nfky240pq6qcmf5qg324mxm83vk9r3nvsdhsvinyqm5d3kg"))))
307 (build-system gnu-build-system)
308 (arguments
309 `(#:phases (modify-phases %standard-phases
310 (delete 'configure)) ; no configure script
311 #:make-flags (list "CC=gcc"
312 (string-append "PREFIX=" (assoc-ref %outputs "out"))
313 "NO_HASH_CHECK=1"
314 "USE_LARGE_FILES=1"
315 "USE_LONG_OPTIONS=1"
316 "USE_PTHREADS=1")
317 #:tests? #f)) ; no tests
318 (home-page "http://mktorrent.sourceforge.net/")
319 (synopsis "Utility to create BitTorrent metainfo files")
320 (description "mktorrent is a simple command-line utility to create
321BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from
322both single files and whole directories. It can add multiple trackers and web
323seed URLs, and set the @code{private} flag to disallow advertisement through
324the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded
325and will take advantage of multiple processor cores where possible.")
326 (license (list l:public-domain ; sha1.*, used to build without OpenSSL
327 l:gpl2+)))) ; with permission to link with OpenSSL
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index e6553dcd34e..763bbf50e20 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -20,12 +20,12 @@
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22(define-module (gnu packages cross-base) 22(define-module (gnu packages cross-base)
23 #:use-module (guix licenses)
24 #:use-module (gnu packages) 23 #:use-module (gnu packages)
25 #:use-module (gnu packages gcc) 24 #:use-module (gnu packages gcc)
26 #:use-module (gnu packages base) 25 #:use-module (gnu packages base)
27 #:use-module (gnu packages linux) 26 #:use-module (gnu packages linux)
28 #:use-module (gnu packages hurd) 27 #:use-module (gnu packages hurd)
28 #:use-module (gnu packages mingw)
29 #:use-module (guix packages) 29 #:use-module (guix packages)
30 #:use-module (guix download) 30 #:use-module (guix download)
31 #:use-module (guix utils) 31 #:use-module (guix utils)
@@ -37,13 +37,26 @@
37 #:use-module (ice-9 regex) 37 #:use-module (ice-9 regex)
38 #:export (cross-binutils 38 #:export (cross-binutils
39 cross-libc 39 cross-libc
40 cross-gcc)) 40 cross-gcc
41 cross-newlib?))
41 42
42(define %xgcc 43(define %xgcc
43 ;; GCC package used as the basis for cross-compilation. It doesn't have to 44 ;; GCC package used as the basis for cross-compilation. It doesn't have to
44 ;; be 'gcc' and can be a specific variant such as 'gcc-4.8'. 45 ;; be 'gcc' and can be a specific variant such as 'gcc-4.8'.
45 gcc) 46 gcc)
46 47
48(define %gcc-include-paths
49 ;; Environment variables for header search paths.
50 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
51 '("C_INCLUDE_PATH"
52 "CPLUS_INCLUDE_PATH"
53 "OBJC_INCLUDE_PATH"
54 "OBJCPLUS_INCLUDE_PATH"))
55
56(define %gcc-cross-include-paths
57 ;; Search path for target headers when cross-compiling.
58 (map (cut string-append "CROSS_" <>) %gcc-include-paths))
59
47(define (cross p target) 60(define (cross p target)
48 (package (inherit p) 61 (package (inherit p)
49 (name (string-append (package-name p) "-cross-" target)) 62 (name (string-append (package-name p) "-cross-" target))
@@ -104,7 +117,7 @@ may be either a libc package or #f.)"
104 `(append (list ,(string-append "--target=" target) 117 `(append (list ,(string-append "--target=" target)
105 ,@(if libc 118 ,@(if libc
106 `( ;; Disable libcilkrts because it is not 119 `( ;; Disable libcilkrts because it is not
107 ;; ported to GNU/Hurd. 120 ;; ported to GNU/Hurd.
108 "--disable-libcilkrts") 121 "--disable-libcilkrts")
109 `( ;; Disable features not needed at this stage. 122 `( ;; Disable features not needed at this stage.
110 "--disable-shared" "--enable-static" 123 "--disable-shared" "--enable-static"
@@ -131,7 +144,12 @@ may be either a libc package or #f.)"
131 "--disable-libitm" 144 "--disable-libitm"
132 "--disable-libvtv" 145 "--disable-libvtv"
133 "--disable-libsanitizer" 146 "--disable-libsanitizer"
134 ))) 147 ))
148
149 ;; For a newlib (non-glibc) target
150 ,@(if (cross-newlib? target)
151 '("--with-newlib")
152 '()))
135 153
136 ,(if libc 154 ,(if libc
137 flags 155 flags
@@ -146,80 +164,24 @@ may be either a libc package or #f.)"
146 ,flags)) 164 ,flags))
147 flags)) 165 flags))
148 ((#:phases phases) 166 ((#:phases phases)
149 (let ((phases 167 `(cross-gcc-build-phases ,target ,phases))))))
150 `(alist-cons-after
151 'install 'make-cross-binutils-visible
152 (lambda* (#:key outputs inputs #:allow-other-keys)
153 (let* ((out (assoc-ref outputs "out"))
154 (libexec (string-append out "/libexec/gcc/"
155 ,target))
156 (binutils (string-append
157 (assoc-ref inputs "binutils-cross")
158 "/bin/" ,target "-"))
159 (wrapper (string-append
160 (assoc-ref inputs "ld-wrapper-cross")
161 "/bin/" ,target "-ld")))
162 (for-each (lambda (file)
163 (symlink (string-append binutils file)
164 (string-append libexec "/"
165 file)))
166 '("as" "nm"))
167 (symlink wrapper (string-append libexec "/ld"))
168 #t))
169 (alist-replace
170 'install
171 (lambda _
172 ;; Unlike our 'strip' phase, this will do the right thing
173 ;; for cross-compilers.
174 (zero? (system* "make" "install-strip")))
175 ,phases))))
176 (if libc
177 `(alist-cons-before
178 'configure 'set-cross-path
179 (lambda* (#:key inputs #:allow-other-keys)
180 ;; Add the cross kernel headers to CROSS_CPATH, and remove them
181 ;; from CPATH.
182 (let ((libc (assoc-ref inputs "libc"))
183 (kernel (assoc-ref inputs "xkernel-headers")))
184 (define (cross? x)
185 ;; Return #t if X is a cross-libc or cross Linux.
186 (or (string-prefix? libc x)
187 (string-prefix? kernel x)))
188 (let ((cpath (string-append
189 libc "/include"
190 ":" kernel "/include")))
191 (for-each (cut setenv <> cpath)
192 '("CROSS_C_INCLUDE_PATH"
193 "CROSS_CPLUS_INCLUDE_PATH"
194 "CROSS_OBJC_INCLUDE_PATH"
195 "CROSS_OBJCPLUS_INCLUDE_PATH")))
196 (setenv "CROSS_LIBRARY_PATH"
197 (string-append libc "/lib:"
198 kernel "/lib")) ;for Hurd's libihash
199 (for-each
200 (lambda (var)
201 (and=> (getenv var)
202 (lambda (value)
203 (let* ((path (search-path-as-string->list value))
204 (native-path (list->search-path-as-string
205 (remove cross? path) ":")))
206 (setenv var native-path)))))
207 '("C_INCLUDE_PATH"
208 "CPLUS_INCLUDE_PATH"
209 "OBJC_INCLUDE_PATH"
210 "OBJCPLUS_INCLUDE_PATH"
211 "LIBRARY_PATH"))
212 #t))
213 ,phases)
214 phases)))))))
215 168
216(define (cross-gcc-patches target) 169(define (cross-gcc-patches target)
217 "Return GCC patches needed for TARGET." 170 "Return GCC patches needed for TARGET."
218 (cond ((string-prefix? "xtensa-" target) 171 (cond ((string-prefix? "xtensa-" target)
219 ;; Patch by Qualcomm needed to build the ath9k-htc firmware. 172 ;; Patch by Qualcomm needed to build the ath9k-htc firmware.
220 (search-patches "ath9k-htc-firmware-gcc.patch")) 173 (search-patches "ath9k-htc-firmware-gcc.patch"))
174 ((target-mingw? target)
175 (search-patches "gcc-4.9.3-mingw-gthr-default.patch"))
221 (else '()))) 176 (else '())))
222 177
178(define (cross-gcc-snippet target)
179 "Return GCC snippet needed for TARGET."
180 (cond ((target-mingw? target)
181 '(copy-recursively "libstdc++-v3/config/os/mingw32-w64"
182 "libstdc++-v3/config/os/newlib"))
183 (else #f)))
184
223(define* (cross-gcc target 185(define* (cross-gcc target
224 #:optional (xbinutils (cross-binutils target)) libc) 186 #:optional (xbinutils (cross-binutils target)) libc)
225 "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use 187 "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use
@@ -234,7 +196,10 @@ GCC that does not target a libc; otherwise, target that libc."
234 (append 196 (append
235 (origin-patches (package-source %xgcc)) 197 (origin-patches (package-source %xgcc))
236 (cons (search-patch "gcc-cross-environment-variables.patch") 198 (cons (search-patch "gcc-cross-environment-variables.patch")
237 (cross-gcc-patches target)))))) 199 (cross-gcc-patches target))))
200 (modules '((guix build utils)))
201 (snippet
202 (cross-gcc-snippet target))))
238 203
239 ;; For simplicity, use a single output. Otherwise libgcc_s & co. are not 204 ;; For simplicity, use a single output. Otherwise libgcc_s & co. are not
240 ;; found by default, etc. 205 ;; found by default, etc.
@@ -242,11 +207,14 @@ GCC that does not target a libc; otherwise, target that libc."
242 207
243 (arguments 208 (arguments
244 `(#:implicit-inputs? #f 209 `(#:implicit-inputs? #f
210 #:imported-modules ((gnu build cross-toolchain)
211 ,@%gnu-build-system-modules)
245 #:modules ((guix build gnu-build-system) 212 #:modules ((guix build gnu-build-system)
246 (guix build utils) 213 (guix build utils)
247 (ice-9 regex) 214 (gnu build cross-toolchain)
248 (srfi srfi-1) 215 (srfi srfi-1)
249 (srfi srfi-26)) 216 (srfi srfi-26)
217 (ice-9 regex))
250 218
251 ,@(cross-gcc-arguments target libc))) 219 ,@(cross-gcc-arguments target libc)))
252 220
@@ -264,34 +232,32 @@ GCC that does not target a libc; otherwise, target that libc."
264 ;; Remaining inputs. 232 ;; Remaining inputs.
265 ,@(let ((inputs (append (package-inputs %xgcc) 233 ,@(let ((inputs (append (package-inputs %xgcc)
266 (alist-delete "libc" (%final-inputs))))) 234 (alist-delete "libc" (%final-inputs)))))
267 (if libc 235 (cond
268 `(("libc" ,libc) 236 ((target-mingw? target)
269 ("xkernel-headers" ;the target headers 237 (if libc
270 ,@(assoc-ref (package-propagated-inputs libc) 238 `(("libc" ,mingw-w64)
271 "kernel-headers")) 239 ,@inputs)
272 ,@inputs) 240 `(("mingw-source" ,(package-source mingw-w64))
273 inputs)))) 241 ,@inputs)))
242 (libc
243 `(("libc" ,libc)
244 ("xkernel-headers" ;the target headers
245 ,@(assoc-ref (package-propagated-inputs libc)
246 "kernel-headers"))
247 ,@inputs))
248 (else inputs)))))
274 249
275 (inputs '()) 250 (inputs '())
276 251
277 ;; Only search target inputs, not host inputs. 252 ;; Only search target inputs, not host inputs.
278 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. 253 (search-paths (cons (search-path-specification
279 (search-paths 254 (variable "CROSS_LIBRARY_PATH")
280 (list (search-path-specification 255 (files '("lib" "lib64")))
281 (variable "CROSS_C_INCLUDE_PATH") 256 (map (lambda (variable)
282 (files '("include"))) 257 (search-path-specification
283 (search-path-specification 258 (variable variable)
284 (variable "CROSS_CPLUS_INCLUDE_PATH") 259 (files '("include"))))
285 (files '("include"))) 260 %gcc-cross-include-paths)))
286 (search-path-specification
287 (variable "CROSS_OBJC_INCLUDE_PATH")
288 (files '("include")))
289 (search-path-specification
290 (variable "CROSS_OBJCPLUS_INCLUDE_PATH")
291 (files '("include")))
292 (search-path-specification
293 (variable "CROSS_LIBRARY_PATH")
294 (files '("lib" "lib64")))))
295 (native-search-paths '()))) 261 (native-search-paths '())))
296 262
297(define* (cross-kernel-headers target 263(define* (cross-kernel-headers target
@@ -344,10 +310,7 @@ GCC that does not target a libc; otherwise, target that libc."
344 (let* ((mach (assoc-ref inputs "cross-gnumach-headers")) 310 (let* ((mach (assoc-ref inputs "cross-gnumach-headers"))
345 (cpath (string-append mach "/include"))) 311 (cpath (string-append mach "/include")))
346 (for-each (cut setenv <> cpath) 312 (for-each (cut setenv <> cpath)
347 '("CROSS_C_INCLUDE_PATH" 313 ',%gcc-cross-include-paths)))
348 "CROSS_CPLUS_INCLUDE_PATH"
349 "CROSS_OBJC_INCLUDE_PATH"
350 "CROSS_OBJCPLUS_INCLUDE_PATH"))))
351 %standard-phases) 314 %standard-phases)
352 #:configure-flags (list ,(string-append "--target=" target)) 315 #:configure-flags (list ,(string-append "--target=" target))
353 ,@(package-arguments mig))) 316 ,@(package-arguments mig)))
@@ -362,7 +325,6 @@ GCC that does not target a libc; otherwise, target that libc."
362 (name (string-append (package-name hurd-headers) 325 (name (string-append (package-name hurd-headers)
363 "-cross-" target)) 326 "-cross-" target))
364 327
365 (propagated-inputs `(("cross-mig" ,xmig)))
366 (native-inputs `(("cross-gcc" ,xgcc) 328 (native-inputs `(("cross-gcc" ,xgcc)
367 ("cross-binutils" ,xbinutils) 329 ("cross-binutils" ,xbinutils)
368 ("cross-mig" ,xmig) 330 ("cross-mig" ,xmig)
@@ -388,10 +350,7 @@ GCC that does not target a libc; otherwise, target that libc."
388 (cpath (string-append mach "/include:" 350 (cpath (string-append mach "/include:"
389 hurd "/include"))) 351 hurd "/include")))
390 (for-each (cut setenv <> cpath) 352 (for-each (cut setenv <> cpath)
391 '("CROSS_C_INCLUDE_PATH" 353 ',%gcc-cross-include-paths)))
392 "CROSS_CPLUS_INCLUDE_PATH"
393 "CROSS_OBJC_INCLUDE_PATH"
394 "CROSS_OBJCPLUS_INCLUDE_PATH"))))
395 ,phases)))) 354 ,phases))))
396 355
397 (propagated-inputs `(("gnumach-headers" ,xgnumach-headers) 356 (propagated-inputs `(("gnumach-headers" ,xgnumach-headers)
@@ -419,10 +378,7 @@ GCC that does not target a libc; otherwise, target that libc."
419 (let* ((glibc-headers (assoc-ref inputs "cross-glibc-hurd-headers")) 378 (let* ((glibc-headers (assoc-ref inputs "cross-glibc-hurd-headers"))
420 (cpath (string-append glibc-headers "/include"))) 379 (cpath (string-append glibc-headers "/include")))
421 (for-each (cut setenv <> cpath) 380 (for-each (cut setenv <> cpath)
422 '("CROSS_C_INCLUDE_PATH" 381 ',%gcc-cross-include-paths)))
423 "CROSS_CPLUS_INCLUDE_PATH"
424 "CROSS_OBJC_INCLUDE_PATH"
425 "CROSS_OBJCPLUS_INCLUDE_PATH"))))
426 ,phases)))) 382 ,phases))))
427 383
428 (inputs `(("cross-glibc-hurd-headers" ,xglibc/hurd-headers))) 384 (inputs `(("cross-glibc-hurd-headers" ,xglibc/hurd-headers)))
@@ -464,61 +420,69 @@ XBINUTILS and the cross tool chain."
464 (_ glibc/linux))) 420 (_ glibc/linux)))
465 421
466 ;; Use (cross-libc-for-target ...) to determine the correct libc to use. 422 ;; Use (cross-libc-for-target ...) to determine the correct libc to use.
467 (let ((libc (cross-libc-for-target target)))
468 (package (inherit libc)
469 (name (string-append "glibc-cross-" target))
470 (arguments
471 (substitute-keyword-arguments
472 `(;; Disable stripping (see above.)
473 #:strip-binaries? #f
474
475 ;; This package is used as a target input, but it should not have
476 ;; the usual cross-compilation inputs since that would include
477 ;; itself.
478 #:implicit-cross-inputs? #f
479
480 ;; We need SRFI 26.
481 #:modules ((guix build gnu-build-system)
482 (guix build utils)
483 (srfi srfi-26))
484 423
485 ,@(package-arguments libc)) 424 (if (cross-newlib? target)
486 ((#:configure-flags flags) 425 (native-libc target)
487 `(cons ,(string-append "--host=" target) 426 (let ((libc (cross-libc-for-target target)))
488 ,flags)) 427 (package (inherit libc)
489 ((#:phases phases) 428 (name (string-append "glibc-cross-" target))
490 `(alist-cons-before 429 (arguments
491 'configure 'set-cross-kernel-headers-path 430 (substitute-keyword-arguments
492 (lambda* (#:key inputs #:allow-other-keys) 431 `(;; Disable stripping (see above.)
493 (let* ((kernel (assoc-ref inputs "kernel-headers")) 432 #:strip-binaries? #f
494 (cpath (string-append kernel "/include"))) 433
495 (for-each (cut setenv <> cpath) 434 ;; This package is used as a target input, but it should not have
496 '("CROSS_C_INCLUDE_PATH" 435 ;; the usual cross-compilation inputs since that would include
497 "CROSS_CPLUS_INCLUDE_PATH" 436 ;; itself.
498 "CROSS_OBJC_INCLUDE_PATH" 437 #:implicit-cross-inputs? #f
499 "CROSS_OBJCPLUS_INCLUDE_PATH")) 438
500 (setenv "CROSS_LIBRARY_PATH" 439 ;; We need SRFI 26.
501 (string-append kernel "/lib")) ;for Hurd's libihash 440 #:modules ((guix build gnu-build-system)
502 #t)) 441 (guix build utils)
503 ,phases)))) 442 (srfi srfi-26))
504 443
505 ;; Shadow the native "kernel-headers" because glibc's recipe expects the 444 ,@(package-arguments libc))
506 ;; "kernel-headers" input to point to the right thing. 445 ((#:configure-flags flags)
507 (propagated-inputs `(("kernel-headers" ,xheaders))) 446 `(cons ,(string-append "--host=" target)
508 447 ,flags))
509 ;; FIXME: 'static-bash' should really be an input, not a native input, but 448 ((#:phases phases)
510 ;; to do that will require building an intermediate cross libc. 449 `(alist-cons-before
511 (inputs '()) 450 'configure 'set-cross-kernel-headers-path
512 451 (lambda* (#:key inputs #:allow-other-keys)
513 (native-inputs `(("cross-gcc" ,xgcc) 452 (let* ((kernel (assoc-ref inputs "kernel-headers"))
514 ("cross-binutils" ,xbinutils) 453 (cpath (string-append kernel "/include")))
515 ,@(if (string-match (or "i586-pc-gnu" "i586-gnu") target) 454 (for-each (cut setenv <> cpath)
516 `(("cross-mig" 455 ',%gcc-cross-include-paths)
517 ,@(assoc-ref (package-native-inputs xheaders) 456 (setenv "CROSS_LIBRARY_PATH"
518 "cross-mig"))) 457 (string-append kernel "/lib")) ;for Hurd's libihash
519 '()) 458 #t))
520 ,@(package-inputs libc) ;FIXME: static-bash 459 ,phases))))
521 ,@(package-native-inputs libc)))))) 460
461 ;; Shadow the native "kernel-headers" because glibc's recipe expects the
462 ;; "kernel-headers" input to point to the right thing.
463 (propagated-inputs `(("kernel-headers" ,xheaders)))
464
465 ;; FIXME: 'static-bash' should really be an input, not a native input, but
466 ;; to do that will require building an intermediate cross libc.
467 (inputs '())
468
469 (native-inputs `(("cross-gcc" ,xgcc)
470 ("cross-binutils" ,xbinutils)
471 ,@(if (string-match (or "i586-pc-gnu" "i586-gnu") target)
472 `(("cross-mig"
473 ,@(assoc-ref (package-native-inputs xheaders)
474 "cross-mig")))
475 '())
476 ,@(package-inputs libc) ;FIXME: static-bash
477 ,@(package-native-inputs libc)))))))
478
479(define (native-libc target)
480 (if (target-mingw? target)
481 mingw-w64
482 glibc))
483
484(define (cross-newlib? target)
485 (not (eq? (native-libc target) glibc)))
522 486
523 487
524;;; Concrete cross tool chains are instantiated like this: 488;;; Concrete cross tool chains are instantiated like this:
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index a06878dc92c..985a2e071e2 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -35,13 +35,7 @@
35 "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2")))) 35 "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2"))))
36 (build-system python-build-system) 36 (build-system python-build-system)
37 (arguments 37 (arguments
38 `(#:phases 38 '(#:tests? #f)) ; The tests are not distributed in the PyPi release.
39 (modify-phases %standard-phases
40 (replace 'check
41 (lambda _
42 (zero? (system* "py.test")))))))
43 (native-inputs
44 `(("python-pytest" ,python-pytest)))
45 (propagated-inputs 39 (propagated-inputs
46 ;; TODO: Add python-pam 40 ;; TODO: Add python-pam
47 `(("python-requests" ,python-requests))) 41 `(("python-requests" ,python-requests)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 4afe67a7f53..5e6b99ff2f2 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -273,7 +273,7 @@ editor (without an X toolkit)" )
273 "/geiser-" version ".tar.gz")) 273 "/geiser-" version ".tar.gz"))
274 (sha256 274 (sha256
275 (base32 275 (base32
276 "1n772ysl1dmn0vy3gk230ymyjm14h93zw99y6h2rqp1ixy7v43dm")))) 276 "0phz9d8wjk4p13vqannv0003fwh8qqrp0gfzcs2hgq1mrmv1srss"))))
277 (build-system gnu-build-system) 277 (build-system gnu-build-system)
278 (arguments 278 (arguments
279 '(#:phases (alist-cons-after 279 '(#:phases (alist-cons-after
@@ -298,36 +298,8 @@ metadata.")
298 (license license:bsd-3))) 298 (license license:bsd-3)))
299 299
300(define-public geiser-next 300(define-public geiser-next
301 ;; Geiser's upcoming version supports Chibi and Chez, while it was forgot to 301 ;; This has become "geiser".
302 ;; include some required files in 0.9. When the next Geiser release comes 302 (deprecated-package "geiser-next" geiser))
303 ;; out, we can remove this.
304 (let ((commit "16035b9fa475496f7f89a57fa81455057af749a0")
305 (revision "1"))
306 (package
307 (inherit geiser)
308 (name "geiser-next")
309 (version (string-append "0.9-" revision "." (string-take commit 7)))
310 (source (origin
311 (method git-fetch)
312 (file-name (string-append name "-" version ".tar.gz"))
313 (uri (git-reference
314 (url "git://git.sv.gnu.org/geiser.git")
315 (commit commit)))
316 (sha256
317 (base32
318 "1rrafizrhjkai0msryjiz4c5dcdyihf0i2wmgiy8br74rwbxpyl5"))))
319 (native-inputs
320 `(("autoconf" ,autoconf)
321 ("automake" ,automake)
322 ("texinfo" ,texinfo)
323 ,@(package-native-inputs geiser)))
324 (arguments
325 (substitute-keyword-arguments (package-arguments geiser)
326 ((#:phases phases)
327 `(modify-phases ,phases
328 (add-after 'unpack 'autogen
329 (lambda _
330 (zero? (system* "sh" "autogen.sh")))))))))))
331 303
332(define-public paredit 304(define-public paredit
333 (package 305 (package
@@ -1442,7 +1414,7 @@ mode, which displays information about Elasticsearch clusters.")
1442(define-public emacs-expand-region 1414(define-public emacs-expand-region
1443 (package 1415 (package
1444 (name "emacs-expand-region") 1416 (name "emacs-expand-region")
1445 (version "0.10.0") 1417 (version "0.11.0")
1446 (source 1418 (source
1447 (origin 1419 (origin
1448 (method url-fetch) 1420 (method url-fetch)
@@ -1451,7 +1423,7 @@ mode, which displays information about Elasticsearch clusters.")
1451 (file-name (string-append name "-" version ".tar.gz")) 1423 (file-name (string-append name "-" version ".tar.gz"))
1452 (sha256 1424 (sha256
1453 (base32 1425 (base32
1454 "1zfiaqyb3zqiyqjkpqsjw660j09805nqsg25q6ars2h8gs0rnvxb")))) 1426 "08dy1f411sh9wwww53rjw80idcf3vpki6ba2arl4hl5jcw9651g0"))))
1455 (build-system emacs-build-system) 1427 (build-system emacs-build-system)
1456 (home-page "https://github.com/magnars/expand-region.el") 1428 (home-page "https://github.com/magnars/expand-region.el")
1457 (synopsis "Increase selected region by semantic units") 1429 (synopsis "Increase selected region by semantic units")
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 6f081cf19b6..77814960ee0 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -57,7 +57,7 @@
57(define-public efl 57(define-public efl
58 (package 58 (package
59 (name "efl") 59 (name "efl")
60 (version "1.18.3") 60 (version "1.18.4")
61 (source (origin 61 (source (origin
62 (method url-fetch) 62 (method url-fetch)
63 (uri (string-append 63 (uri (string-append
@@ -65,7 +65,7 @@
65 version ".tar.xz")) 65 version ".tar.xz"))
66 (sha256 66 (sha256
67 (base32 67 (base32
68 "1h347sfxajyb5s931m9qga14wwiqci7aicww2imxjhzm8w4fqj07")))) 68 "09c0ajszjarcs6d62zlgnf1aha2f921mfr0gxg6nwza36xzc1srr"))))
69 (build-system gnu-build-system) 69 (build-system gnu-build-system)
70 (native-inputs 70 (native-inputs
71 `(("pkg-config" ,pkg-config))) 71 `(("pkg-config" ,pkg-config)))
@@ -197,7 +197,7 @@ Libraries with some extra bells and whistles.")
197(define-public enlightenment 197(define-public enlightenment
198 (package 198 (package
199 (name "enlightenment") 199 (name "enlightenment")
200 (version "0.21.3") 200 (version "0.21.4")
201 (source (origin 201 (source (origin
202 (method url-fetch) 202 (method url-fetch)
203 (uri 203 (uri
@@ -205,7 +205,7 @@ Libraries with some extra bells and whistles.")
205 name "/" name "-" version ".tar.xz")) 205 name "/" name "-" version ".tar.xz"))
206 (sha256 206 (sha256
207 (base32 207 (base32
208 "1ljzcq775njhbcaj8vdnypf2rgc6yqqdwfkf7c22603qvv9if1dr")))) 208 "085zn6vdy904fxa9krx7ljv61yg96b2xk56g0bx2lyq1d33sgl8f"))))
209 (build-system gnu-build-system) 209 (build-system gnu-build-system)
210 (arguments 210 (arguments
211 `(#:configure-flags '("--enable-mount-eeze"))) 211 `(#:configure-flags '("--enable-mount-eeze")))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6f2a98b5b3a..fe38b841eea 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5688,3 +5688,39 @@ only know by its Unicode name or code point.")
5688with many options to write web sites, scripts and other code. 5688with many options to write web sites, scripts and other code.
5689Bluefish supports many programming and markup languages.") 5689Bluefish supports many programming and markup languages.")
5690 (license license:gpl3+))) 5690 (license license:gpl3+)))
5691
5692(define-public gnome-system-monitor
5693 (package
5694 (name "gnome-system-monitor")
5695 (version "3.20.1")
5696 (source
5697 (origin
5698 (method url-fetch)
5699 (uri (string-append "mirror://gnome/sources/" name "/"
5700 (version-major+minor version) "/"
5701 name "-" version ".tar.xz"))
5702 (sha256
5703 (base32
5704 "1ya41b58syf8g5pc12gw1xm6jhdx3crap803bjwm086r7x2an8wv"))))
5705 (build-system glib-or-gtk-build-system)
5706 (native-inputs
5707 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
5708 ("intltool" ,intltool)
5709 ("itstool" ,itstool)
5710 ("libgtop" ,libgtop)
5711 ("pkg-config" ,pkg-config)))
5712 (inputs
5713 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
5714 ("gtk+" ,gtk+)
5715 ("gtkmm" ,gtkmm)
5716 ("librsvg" ,librsvg)
5717 ("libxml2" ,libxml2)))
5718 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
5719 (synopsis "Process viewer and system resource monitor for GNOME")
5720 (description
5721 "GNOME System Monitor is a GNOME process viewer and system monitor with
5722an attractive, easy-to-use interface. It has features, such as a tree view
5723for process dependencies, icons for processes, the ability to hide processes,
5724graphical time histories of CPU/memory/swap usage and the ability to
5725kill/reinice processes.")
5726 (license license:gpl2+)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 4572544ec3c..1c1b35c34b2 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -146,8 +146,8 @@ without requiring the source code to be rewritten.")
146 (native-inputs `(("pkgconfig" ,pkg-config))) 146 (native-inputs `(("pkgconfig" ,pkg-config)))
147 (inputs `(("libffi" ,libffi) 147 (inputs `(("libffi" ,libffi)
148 ("readline" ,readline) 148 ("readline" ,readline)
149 ("bash" ,bash))) 149 ,@(libiconv-if-needed)
150 150 ,@(if (target-mingw?) '() `(("bash" ,bash)))))
151 (propagated-inputs 151 (propagated-inputs
152 `( ;; These ones aren't normally needed here, but since `libguile-2.0.la' 152 `( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
153 ;; reads `-lltdl -lunistring', adding them here will add the needed 153 ;; reads `-lltdl -lunistring', adding them here will add the needed
@@ -176,8 +176,15 @@ without requiring the source code to be rewritten.")
176 ;; Tell (ice-9 popen) the file name of Bash. 176 ;; Tell (ice-9 popen) the file name of Bash.
177 (let ((bash (assoc-ref inputs "bash"))) 177 (let ((bash (assoc-ref inputs "bash")))
178 (substitute* "module/ice-9/popen.scm" 178 (substitute* "module/ice-9/popen.scm"
179 ;; If bash is #f allow fallback for user to provide
180 ;; "bash" in PATH. This happens when cross-building to
181 ;; MinGW for which we do not have Bash yet.
179 (("/bin/sh") 182 (("/bin/sh")
180 (string-append bash "/bin/bash"))))) 183 ,@(if (target-mingw?)
184 '((if bash
185 (string-append bash "/bin/bash")
186 "bash"))
187 '((string-append bash "/bin/bash")))))))
181 %standard-phases))) 188 %standard-phases)))
182 189
183 (native-search-paths 190 (native-search-paths
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 4e70212133c..6f450a373b3 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -43,14 +43,14 @@
43(define-public imagemagick 43(define-public imagemagick
44 (package 44 (package
45 (name "imagemagick") 45 (name "imagemagick")
46 (version "6.9.6-6") 46 (version "6.9.6-7")
47 (source (origin 47 (source (origin
48 (method url-fetch) 48 (method url-fetch)
49 (uri (string-append "mirror://imagemagick/ImageMagick-" 49 (uri (string-append "mirror://imagemagick/ImageMagick-"
50 version ".tar.xz")) 50 version ".tar.xz"))
51 (sha256 51 (sha256
52 (base32 52 (base32
53 "02hd0xvpm99wrix2didg8xnra4fla04y9vaks2vnijry3l0gxlcw")))) 53 "1ls3g4gpdh094n03szr9arpr0rfwd1krv2s9gnck8j0ab10ccgs5"))))
54 (build-system gnu-build-system) 54 (build-system gnu-build-system)
55 (arguments 55 (arguments
56 `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") 56 `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 3b63c899eb7..1a02fbeebca 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -3,7 +3,7 @@
3;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net> 3;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
4;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> 4;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
5;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 6;;; Copyright © 2016 ng0 <ng0@libertad.pw>
7;;; 7;;;
8;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
9;;; 9;;;
@@ -32,9 +32,11 @@
32 #:use-module (gnu packages autogen) 32 #:use-module (gnu packages autogen)
33 #:use-module (gnu packages autotools) 33 #:use-module (gnu packages autotools)
34 #:use-module (gnu packages base) 34 #:use-module (gnu packages base)
35 #:use-module (gnu packages backup)
35 #:use-module (gnu packages compression) 36 #:use-module (gnu packages compression)
36 #:use-module (gnu packages curl) 37 #:use-module (gnu packages curl)
37 #:use-module (gnu packages cyrus-sasl) 38 #:use-module (gnu packages cyrus-sasl)
39 #:use-module (gnu packages databases)
38 #:use-module (gnu packages file) 40 #:use-module (gnu packages file)
39 #:use-module (gnu packages gettext) 41 #:use-module (gnu packages gettext)
40 #:use-module (gnu packages glib) 42 #:use-module (gnu packages glib)
@@ -47,6 +49,7 @@
47 #:use-module (gnu packages perl) 49 #:use-module (gnu packages perl)
48 #:use-module (gnu packages pkg-config) 50 #:use-module (gnu packages pkg-config)
49 #:use-module (gnu packages python) 51 #:use-module (gnu packages python)
52 #:use-module (gnu packages ruby)
50 #:use-module (gnu packages qt) 53 #:use-module (gnu packages qt)
51 #:use-module (gnu packages tcl) 54 #:use-module (gnu packages tcl)
52 #:use-module (gnu packages tls) 55 #:use-module (gnu packages tls)
@@ -329,3 +332,91 @@ and extensible with plugins and scripts.")
329embedded web server, translations (fr, fi, it, hu, de), and many 332embedded web server, translations (fr, fi, it, hu, de), and many
330other enhancements and bug fixes.") 333other enhancements and bug fixes.")
331 (license license:bsd-3))) 334 (license license:bsd-3)))
335
336(define-public epic5
337 (package
338 (name "epic5")
339 (version "2.0.1")
340 (source (origin
341 (method url-fetch)
342 (uri (string-append "http://ftp.epicsol.org/pub/"
343 "epic/EPIC5-PRODUCTION/"
344 name "-" version ".tar.xz"))
345 (sha256
346 (base32
347 "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
348 (build-system gnu-build-system)
349 (arguments
350 `(#:test-target "test"
351 #:phases
352 (modify-phases %standard-phases
353 (add-after 'unpack 'patch-perl
354 (lambda _
355 (substitute* "regress/crash-irc"
356 (("perl5") (which "perl")))
357 #t))
358 (add-after 'unpack 'patch-bsdinstall
359 ;; If we just remove /bin/ some part of the bsdinstall breaks.
360 ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
361 ;; means if we leave /etc/ in, install fails.
362 (lambda _
363 (substitute* "bsdinstall"
364 (("/bin/strip") "strip")
365 (("/bin/cp") "cp")
366 (("/bin/chmod") "chmod")
367 (("/bin/chgrp") "chgrp")
368 (("/bin/mkdir") "mkdir")
369 (("/bin/rm") "rm")
370 (("/bin/mv") "mv")
371 (("/etc/") ""))
372 #t))
373 (replace 'configure
374 (lambda* (#:key outputs #:allow-other-keys)
375 ;; The tarball uses a very old version of autconf. It does not
376 ;; understand extra flags like `--enable-fast-install', so
377 ;; we need to invoke it with just what it understands.
378 (let ((out (assoc-ref outputs "out")))
379 ;; 'configure' doesn't understand '--host'.
380 ,@(if (%current-target-system)
381 `((setenv "CHOST" ,(%current-target-system)))
382 '())
383 (setenv "CONFIG_SHELL" (which "bash"))
384 (setenv "SHELL" (which "bash"))
385 (zero?
386 (system* "./configure"
387 (string-append "--prefix=" out)
388 "--with-ipv6" "--with-libarchive"
389 ;; We use libressl because openssl does not come
390 ;; with the lib/libssl.a which is needed for epic5.
391 ;; XXX: No matter which implementation is chosen,
392 ;; epic5 fails to connect to tls ports of roundrobin
393 ;; irc networks. This however is believed to be an
394 ;; protocol issue at epic5 related to ircd.
395 (string-append "--with-ssl="
396 (assoc-ref %build-inputs "libressl"))
397 (string-append "--with-tcl="
398 (assoc-ref %build-inputs "tcl")
399 "/lib/tclConfig.sh")))))))))
400 (inputs
401 `(("libressl" ,libressl)
402 ("ncurses" ,ncurses)
403 ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
404 ("perl" ,perl)
405 ("tcl" ,tcl)
406 ("ruby" ,ruby)))
407 (native-inputs
408 `(("pkg-config" ,pkg-config)))
409 (home-page "http://epicsol.org")
410 (synopsis "Epic5 IRC Client")
411 (description
412 "EPIC is a IRC client that has been under active development for
413over 20 years. It is stable and mature, and offers an excellent ircII
414interface for those who are accustomed to the ircII way of doing things.")
415 (license (list license:bsd-3
416 license:isc
417 license:bsd-4
418 ;; The epic license is equal to the standard three-clause
419 ;; BSD license except that you are not permitted to remove the
420 ;; "Redistribution is permitted" clause of the license if you
421 ;; distribute binaries.
422 license:non-copyleft "http://epicsol.org/copyright"))))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index e02e4f4cdce..279e8e2d228 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -820,14 +820,16 @@ and to return information on pronunciations, meanings and synonyms.")
820 (("./configure") "$(CONFIG_SHELL) ./configure" )) 820 (("./configure") "$(CONFIG_SHELL) ./configure" ))
821 #t))) 821 #t)))
822 (add-after 'install 'bin-install 822 (add-after 'install 'bin-install
823 ;; Create a symlink bin/soffice to the executable script. 823 ;; Create 'soffice' and 'libreoffice' symlinks to the executable
824 ;; script.
824 (lambda* (#:key outputs #:allow-other-keys) 825 (lambda* (#:key outputs #:allow-other-keys)
825 (let* ((out (assoc-ref outputs "out")) 826 (let* ((out (assoc-ref outputs "out"))
826 (bin (string-append out "/bin"))) 827 (bin (string-append out "/bin"))
828 (soffice (string-append
829 out "/lib/libreoffice/program/soffice")))
827 (mkdir bin) 830 (mkdir bin)
828 (symlink 831 (symlink soffice (string-append bin "/soffice"))
829 (string-append out "/lib/libreoffice/program/soffice") 832 (symlink soffice (string-append bin "/libreoffice")))
830 (string-append bin "/soffice")))
831 #t))) 833 #t)))
832 #:configure-flags 834 #:configure-flags
833 (list 835 (list
diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm
index f29b7424de0..a9779d4ffd5 100644
--- a/gnu/packages/libunistring.scm
+++ b/gnu/packages/libunistring.scm
@@ -1,6 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
4;;; 5;;;
5;;; This file is part of GNU Guix. 6;;; This file is part of GNU Guix.
6;;; 7;;;
@@ -21,7 +22,8 @@
21 #:use-module (guix licenses) 22 #:use-module (guix licenses)
22 #:use-module (guix packages) 23 #:use-module (guix packages)
23 #:use-module (guix download) 24 #:use-module (guix download)
24 #:use-module (guix build-system gnu)) 25 #:use-module (guix build-system gnu)
26 #:use-module (gnu packages base))
25 27
26(define-public libunistring 28(define-public libunistring
27 (package 29 (package
@@ -35,7 +37,7 @@
35 (sha256 37 (sha256
36 (base32 38 (base32
37 "0ixxmgpgh2v8ifm6hbwsjxl023myk3dfnj7wnvmqjivza31fw9cn")))) 39 "0ixxmgpgh2v8ifm6hbwsjxl023myk3dfnj7wnvmqjivza31fw9cn"))))
38 (propagated-inputs '()) ; FIXME: add libiconv when !glibc 40 (propagated-inputs (libiconv-if-needed))
39 (build-system gnu-build-system) 41 (build-system gnu-build-system)
40 (arguments 42 (arguments
41 ;; Work around parallel build issue whereby C files may be compiled before 43 ;; Work around parallel build issue whereby C files may be compiled before
diff --git a/gnu/packages/links.scm b/gnu/packages/links.scm
index 2f0c12a7869..145ed761ee8 100644
--- a/gnu/packages/links.scm
+++ b/gnu/packages/links.scm
@@ -33,13 +33,13 @@
33(define-public links 33(define-public links
34 (package 34 (package
35 (name "links") 35 (name "links")
36 (version "2.13") 36 (version "2.14")
37 (source (origin 37 (source (origin
38 (method url-fetch) 38 (method url-fetch)
39 (uri (string-append "http://links.twibright.com/download/" 39 (uri (string-append "http://links.twibright.com/download/"
40 name "-" version ".tar.bz2")) 40 name "-" version ".tar.bz2"))
41 (sha256 41 (sha256
42 (base32 "01a4mbpvf7450ymqarjkpmzrm0z2zyd9lvqwg7x9kcd36i9hjln2")))) 42 (base32 "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp"))))
43 (build-system gnu-build-system) 43 (build-system gnu-build-system)
44 (arguments 44 (arguments
45 `(#:phases 45 `(#:phases
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index fca86cf3f67..3c24987aae8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2563,55 +2563,21 @@ is flexible, efficient and uses a modular implementation.")
2563(define-public fuse-exfat 2563(define-public fuse-exfat
2564 (package 2564 (package
2565 (name "fuse-exfat") 2565 (name "fuse-exfat")
2566 (version "1.1.0") 2566 (version "1.2.5")
2567 (source (origin 2567 (source (origin
2568 (method url-fetch) 2568 (method url-fetch)
2569 (uri "https://docs.google.com/uc?export=download&\ 2569 (uri (string-append
2570id=0B7CLI-REKbE3VTdaa0EzTkhYdU0") 2570 "https://github.com/relan/exfat/releases/download/v"
2571 version "/" name "-" version ".tar.gz"))
2571 (sha256 2572 (sha256
2572 (base32 2573 (base32
2573 "0glmgwrf0nv09am54i6s35ksbvrywrwc51w6q32mv5by8475530r")) 2574 "1i0sh0s6wnm4dqxli3drva871wgbbm57qjf592vnswna9hc6bvim"))))
2574 (file-name (string-append name "-" version ".tar.gz"))))
2575 (build-system gnu-build-system) 2575 (build-system gnu-build-system)
2576 (native-inputs 2576 (native-inputs
2577 `(("scons" ,scons) 2577 `(("pkg-config" ,pkg-config)))
2578 ("pkg-config" ,pkg-config)))
2579 (inputs 2578 (inputs
2580 `(("fuse" ,fuse))) 2579 `(("fuse" ,fuse)))
2581 (arguments 2580 (home-page "https://github.com/relan/exfat")
2582 '(#:tests? #f ;no test suite
2583
2584 ;; XXX: Factorize with 'exfat-utils'.
2585 #:phases (modify-phases %standard-phases
2586 (delete 'configure)
2587 (add-after 'unpack 'scons-propagate-environment
2588 (lambda _
2589 ;; Modify the SConstruct file to arrange for
2590 ;; environment variables to be propagated.
2591 (substitute* "SConstruct"
2592 (("^env = Environment\\(")
2593 "env = Environment(ENV=os.environ, "))))
2594 (replace 'build
2595 (lambda _
2596 (zero? (system* "scons"))))
2597 (replace 'install
2598 (lambda* (#:key outputs #:allow-other-keys)
2599 (let* ((out (assoc-ref outputs "out"))
2600 (bin (string-append out "/bin"))
2601 (man8 (string-append out
2602 "/share/man/man8")))
2603 (mkdir-p bin)
2604 (mkdir-p man8)
2605 (for-each (lambda (file)
2606 (copy-file
2607 file
2608 (string-append man8 "/"
2609 (basename file))))
2610 (find-files "." "\\.8$"))
2611 (zero? (system* "scons" "install"
2612 (string-append "DESTDIR="
2613 bin)))))))))
2614 (home-page "http://code.google.com/p/exfat/")
2615 (synopsis "Mount exFAT file systems") 2581 (synopsis "Mount exFAT file systems")
2616 (description 2582 (description
2617 "This package provides a FUSE-based file system that provides read and 2583 "This package provides a FUSE-based file system that provides read and
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index f95da3587d8..65c335d3733 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -7,6 +7,7 @@
7;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> 7;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
8;;; Copyright © 2016 doncatnip <gnopap@gmail.com> 8;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
9;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> 9;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
10;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
10;;; 11;;;
11;;; This file is part of GNU Guix. 12;;; This file is part of GNU Guix.
12;;; 13;;;
@@ -27,6 +28,7 @@
27 #:use-module ((guix licenses) #:prefix license:) 28 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages) 29 #:use-module (guix packages)
29 #:use-module (guix download) 30 #:use-module (guix download)
31 #:use-module (guix utils)
30 #:use-module (guix build-system gnu) 32 #:use-module (guix build-system gnu)
31 #:use-module (gnu packages) 33 #:use-module (gnu packages)
32 #:use-module (gnu packages readline) 34 #:use-module (gnu packages readline)
@@ -365,3 +367,37 @@ secure session between the peers.")
365based libraries. It allows using GObject-based libraries directly from Lua. 367based libraries. It allows using GObject-based libraries directly from Lua.
366Notable examples are GTK+, GStreamer and Webkit.") 368Notable examples are GTK+, GStreamer and Webkit.")
367 (license license:expat))) 369 (license license:expat)))
370
371(define-public lua-lpeg
372 (package
373 (name "lua-lpeg")
374 (version "1.0.0")
375 (source (origin
376 (method url-fetch)
377 (uri (string-append "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-"
378 version ".tar.gz"))
379 (sha256
380 (base32 "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h"))))
381 (build-system gnu-build-system)
382 (arguments
383 `(#:phases
384 (modify-phases %standard-phases
385 (delete 'configure)
386 ;; `make install` isn't available, so we have to do it manually
387 (replace 'install
388 (lambda* (#:key outputs #:allow-other-keys)
389 (let ((out (assoc-ref outputs "out"))
390 (lua-version ,(version-major+minor (package-version lua))))
391 (install-file "lpeg.so"
392 (string-append out "/lib/lua/" lua-version))
393 (install-file "re.lua"
394 (string-append out "/share/lua/" lua-version))
395 #t))))
396 #:test-target "test"))
397 (inputs `(("lua", lua)))
398 (synopsis "Pattern-matching library for Lua")
399 (description
400 "LPeg is a pattern-matching library for Lua, based on Parsing Expression
401Grammars (PEGs).")
402 (home-page "http://www.inf.puc-rio.br/~roberto/lpeg")
403 (license license:expat)))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a8359d572ce..4b8e07cd11e 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -453,7 +453,7 @@ attachments, create new maildirs, and so on.")
453(define-public alot 453(define-public alot
454 (package 454 (package
455 (name "alot") 455 (name "alot")
456 (version "0.3.7") 456 (version "0.4")
457 (source (origin 457 (source (origin
458 (method url-fetch) 458 (method url-fetch)
459 ;; package author intends on distributing via github rather 459 ;; package author intends on distributing via github rather
@@ -464,12 +464,12 @@ attachments, create new maildirs, and so on.")
464 (file-name (string-append "alot-" version ".tar.gz")) 464 (file-name (string-append "alot-" version ".tar.gz"))
465 (sha256 465 (sha256
466 (base32 466 (base32
467 "09md9llg38r6xby8l0y0zf8nhlh91cr4xs0r15b294hhp8hl2bgx")))) 467 "0sl1kl2fhkv208llnbny4blcvrfdk4vx6bcw5pnyh9ylwb0pipi2"))))
468 (build-system python-build-system) 468 (build-system python-build-system)
469 (arguments 469 (arguments
470 `(#:tests? #f ; no tests 470 `(#:tests? #f ; no tests
471 ;; python 3 is unsupported, more info: 471 ;; python 3 is currently unsupported, more info:
472 ;; https://github.com/pazz/alot/blob/0.3.7/docs/source/faq.rst 472 ;; https://github.com/pazz/alot/blob/master/docs/source/faq.rst
473 #:python ,python-2)) 473 #:python ,python-2))
474 (inputs 474 (inputs
475 `(("python2-magic" ,python2-magic) 475 `(("python2-magic" ,python2-magic)
@@ -933,15 +933,15 @@ facilities for checking incoming mail.")
933(define-public dovecot 933(define-public dovecot
934 (package 934 (package
935 (name "dovecot") 935 (name "dovecot")
936 (version "2.2.26.0") 936 (version "2.2.27")
937 (source 937 (source
938 (origin 938 (origin
939 (method url-fetch) 939 (method url-fetch)
940 (uri (string-append "http://www.dovecot.org/releases/" 940 (uri (string-append "https://www.dovecot.org/releases/"
941 (version-major+minor version) "/" 941 (version-major+minor version) "/"
942 name "-" version ".tar.gz")) 942 name "-" version ".tar.gz"))
943 (sha256 (base32 943 (sha256 (base32
944 "01bgj8b2whi35ghbxb19nmr3xvx2zgjzxxw1crgx2v73kprs34pn")))) 944 "1s8qvr6fa9d0n179kdwgpsi72zkvpbh9q57q8fr2fjysgjl94zw9"))))
945 (build-system gnu-build-system) 945 (build-system gnu-build-system)
946 (native-inputs 946 (native-inputs
947 `(("pkg-config" ,pkg-config))) 947 `(("pkg-config" ,pkg-config)))
@@ -973,7 +973,7 @@ facilities for checking incoming mail.")
973 (("/bin/cat") (which "cat")) 973 (("/bin/cat") (which "cat"))
974 (("/bin/false") (which "false"))) 974 (("/bin/false") (which "false")))
975 #t))))) 975 #t)))))
976 (home-page "http://www.dovecot.org") 976 (home-page "https://www.dovecot.org")
977 (synopsis "Secure POP3/IMAP server") 977 (synopsis "Secure POP3/IMAP server")
978 (description 978 (description
979 "Dovecot is a mail server whose major goals are security and reliability. 979 "Dovecot is a mail server whose major goals are security and reliability.
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index f31db6aaefe..44a7fd3a16c 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -32,6 +32,7 @@
32 #:use-module (gnu packages guile) 32 #:use-module (gnu packages guile)
33 #:use-module (gnu packages bdw-gc) 33 #:use-module (gnu packages bdw-gc)
34 #:use-module (gnu packages linux) 34 #:use-module (gnu packages linux)
35 #:use-module (gnu packages hurd)
35 #:use-module (gnu packages multiprecision) 36 #:use-module (gnu packages multiprecision)
36 #:use-module (ice-9 match) 37 #:use-module (ice-9 match)
37 #:use-module (srfi srfi-1) 38 #:use-module (srfi srfi-1)
@@ -332,61 +333,39 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
332 #t)))) 333 #t))))
333 (inputs `(("binutils" ,%binutils-static))))) 334 (inputs `(("binutils" ,%binutils-static)))))
334 335
335(define %glibc-stripped 336(define (%glibc-stripped)
336 ;; GNU libc's essential shared libraries, dynamic linker, and headers, 337 ;; GNU libc's essential shared libraries, dynamic linker, and headers,
337 ;; with all references to store directories stripped. As a result, 338 ;; with all references to store directories stripped. As a result,
338 ;; libc.so is unusable and need to be patched for proper relocation. 339 ;; libc.so is unusable and need to be patched for proper relocation.
340 (define (hurd-triplet? triplet)
341 (and (string-suffix? "-gnu" triplet)
342 (not (string-contains triplet "linux"))))
343
339 (let ((glibc (glibc-for-bootstrap))) 344 (let ((glibc (glibc-for-bootstrap)))
340 (package (inherit glibc) 345 (package (inherit glibc)
341 (name "glibc-stripped") 346 (name "glibc-stripped")
342 (build-system trivial-build-system) 347 (build-system trivial-build-system)
343 (arguments 348 (arguments
344 `(#:modules ((guix build utils)) 349 `(#:modules ((guix build utils)
350 (guix build make-bootstrap))
345 #:builder 351 #:builder
346 (begin 352 (begin
347 (use-modules (guix build utils)) 353 (use-modules (guix build make-bootstrap))
348 354 (make-stripped-libc (assoc-ref %outputs "out")
349 (setvbuf (current-output-port) _IOLBF) 355 (assoc-ref %build-inputs "libc")
350 (let* ((out (assoc-ref %outputs "out")) 356 (assoc-ref %build-inputs "kernel-headers")))))
351 (libdir (string-append out "/lib")) 357 (inputs `(("kernel-headers"
352 (incdir (string-append out "/include")) 358 ,(if (or (and (%current-target-system)
353 (libc (assoc-ref %build-inputs "libc")) 359 (hurd-triplet? (%current-target-system)))
354 (linux (assoc-ref %build-inputs "kernel-headers"))) 360 (string-suffix? "-hurd" (%current-system)))
355 (mkdir-p libdir) 361 gnumach-headers
356 (for-each (lambda (file) 362 linux-libre-headers))
357 (let ((target (string-append libdir "/" 363 ("libc" ,(let ((target (%current-target-system)))
358 (basename file))))
359 (copy-file file target)
360 (remove-store-references target)))
361 (find-files (string-append libc "/lib")
362 "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|util).*\\.so(\\..*)?|libc_nonshared\\.a)$"))
363
364 (copy-recursively (string-append libc "/include") incdir)
365
366 ;; Copy some of the Linux-Libre headers that glibc headers
367 ;; refer to.
368 (mkdir (string-append incdir "/linux"))
369 (for-each (lambda (file)
370 (copy-file (string-append linux "/include/linux/" file)
371 (string-append incdir "/linux/"
372 (basename file))))
373 '("limits.h" "errno.h" "socket.h" "kernel.h"
374 "sysctl.h" "param.h" "ioctl.h" "types.h"
375 "posix_types.h" "stddef.h"))
376
377 (copy-recursively (string-append linux "/include/asm")
378 (string-append incdir "/asm"))
379 (copy-recursively (string-append linux "/include/asm-generic")
380 (string-append incdir "/asm-generic"))
381
382 #t))))
383 (inputs `(("libc" ,(let ((target (%current-target-system)))
384 (if target 364 (if target
385 (glibc-for-bootstrap 365 (glibc-for-bootstrap
386 (parameterize ((%current-target-system #f)) 366 (parameterize ((%current-target-system #f))
387 (cross-libc target))) 367 (cross-libc target)))
388 glibc))) 368 glibc)))))
389 ("kernel-headers" ,linux-libre-headers)))
390 369
391 ;; Only one output. 370 ;; Only one output.
392 (outputs '("out"))))) 371 (outputs '("out")))))
@@ -647,9 +626,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
647 ;; A tarball with the statically-linked Binutils programs. 626 ;; A tarball with the statically-linked Binutils programs.
648 (tarball-package %binutils-static-stripped)) 627 (tarball-package %binutils-static-stripped))
649 628
650(define %glibc-bootstrap-tarball 629(define (%glibc-bootstrap-tarball)
651 ;; A tarball with GNU libc's shared libraries, dynamic linker, and headers. 630 ;; A tarball with GNU libc's shared libraries, dynamic linker, and headers.
652 (tarball-package %glibc-stripped)) 631 (tarball-package (%glibc-stripped)))
653 632
654(define %gcc-bootstrap-tarball 633(define %gcc-bootstrap-tarball
655 ;; A tarball with a dynamic-linked GCC and its headers. 634 ;; A tarball with a dynamic-linked GCC and its headers.
@@ -689,7 +668,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
689 (inputs `(("guile-tarball" ,%guile-bootstrap-tarball) 668 (inputs `(("guile-tarball" ,%guile-bootstrap-tarball)
690 ("gcc-tarball" ,%gcc-bootstrap-tarball) 669 ("gcc-tarball" ,%gcc-bootstrap-tarball)
691 ("binutils-tarball" ,%binutils-bootstrap-tarball) 670 ("binutils-tarball" ,%binutils-bootstrap-tarball)
692 ("glibc-tarball" ,%glibc-bootstrap-tarball) 671 ("glibc-tarball" ,(%glibc-bootstrap-tarball))
693 ("coreutils&co-tarball" ,%bootstrap-binaries-tarball))) 672 ("coreutils&co-tarball" ,%bootstrap-binaries-tarball)))
694 (synopsis "Tarballs containing all the bootstrap binaries") 673 (synopsis "Tarballs containing all the bootstrap binaries")
695 (description synopsis) 674 (description synopsis)
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
new file mode 100644
index 00000000000..6a348da611d
--- /dev/null
+++ b/gnu/packages/mingw.scm
@@ -0,0 +1,84 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages mingw)
20 #:use-module ((guix licenses) #:prefix license:)
21 #:use-module (gnu packages)
22 #:use-module (gnu packages base)
23 #:use-module (gnu packages cross-base)
24 #:use-module (gnu packages gcc)
25 #:use-module (gnu packages compression)
26 #:use-module (gnu packages multiprecision)
27 #:use-module (guix build-system gnu)
28 #:use-module (guix packages)
29 #:use-module (guix download)
30 #:use-module (guix utils)
31 #:use-module (ice-9 match))
32
33(define %mingw-triplet
34 "i686-w64-mingw32")
35
36(define-public mingw-w64
37 (package
38 (name "mingw-w64")
39 (version "5.0-rc2")
40 (source (origin
41 (method url-fetch)
42 (uri (string-append
43 "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/"
44 "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
45 (sha256
46 (base32 "0imdary8j07if8ih73pfgxiclpf2ax8h3mz8mxln07i8sbbd30c9"))
47 (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch"))))
48 (native-inputs `(("xgcc-core" ,(cross-gcc %mingw-triplet))
49 ("xbinutils" ,(cross-binutils %mingw-triplet))))
50 (build-system gnu-build-system)
51 (search-paths
52 (list (search-path-specification
53 (variable "CROSS_C_INCLUDE_PATH")
54 (files '("include" "i686-w64-mingw32/include")))
55 (search-path-specification
56 (variable "CROSS_LIBRARY_PATH")
57 (files
58 '("lib" "lib64" "i686-w64-mingw32/lib" "i686-w64-mingw32/lib64")))))
59 (arguments
60 `(#:configure-flags '("--host=i686-w64-mingw32")
61 #:phases
62 (modify-phases %standard-phases
63 (add-before 'configure 'setenv
64 (lambda* (#:key inputs #:allow-other-keys)
65 (let ((xgcc-core (assoc-ref inputs "xgcc-core"))
66 (mingw-headers (string-append (getcwd) "/mingw-w64-headers")))
67 (setenv "CPP"
68 (string-append xgcc-core "/bin/i686-w64-mingw32-cpp"))
69 (setenv "CROSS_C_INCLUDE_PATH"
70 (string-append
71 mingw-headers
72 ":" mingw-headers "/include"
73 ":" mingw-headers "/crt"
74 ":" mingw-headers "/defaults/include"
75 ":" mingw-headers "/direct-x/include"))))))
76 #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1")
77 #:tests? #f ; compiles and includes glibc headers
78 #:strip-binaries? #f))
79 (home-page "http://mingw.org")
80 (synopsis "Minimalist GNU for Windows")
81 (description "MinGW provides a complete Open Source programming tool set
82which is suitable for the development of native MS-Windows applications, and
83which does not depend on any 3rd-party C-Runtime dlls.")
84 (license license:fdl1.3+)))
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index a95b8ef5e9a..947c6068531 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -49,7 +49,7 @@ FAT-specific file attributes.")
49(define-public exfat-utils 49(define-public exfat-utils
50 (package 50 (package
51 (name "exfat-utils") 51 (name "exfat-utils")
52 (version "1.2.4") 52 (version "1.2.5")
53 (source (origin 53 (source (origin
54 (method url-fetch) 54 (method url-fetch)
55 (uri (string-append 55 (uri (string-append
@@ -57,7 +57,7 @@ FAT-specific file attributes.")
57 version "/" name "-" version ".tar.gz")) 57 version "/" name "-" version ".tar.gz"))
58 (sha256 58 (sha256
59 (base32 59 (base32
60 "04dvrdmwmj9ggad8aq6inbjcq2yi9i62z42nnivhk7bb84k1k9ba")))) 60 "1qhvjd6dmzhxjdnm4cklajbr03wsjjvkxrsjij517a33napcl93s"))))
61 (build-system gnu-build-system) 61 (build-system gnu-build-system)
62 (home-page "https://github.com/relan/exfat") 62 (home-page "https://github.com/relan/exfat")
63 (synopsis "Utilities to manipulate exFAT file systems") 63 (synopsis "Utilities to manipulate exFAT file systems")
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 23ae68a28f3..36e35ca00c4 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
5;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> 5;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
6;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -49,7 +50,13 @@
49 '(;; Build a "fat binary", with routines for several 50 '(;; Build a "fat binary", with routines for several
50 ;; sub-architectures. 51 ;; sub-architectures.
51 "--enable-fat" 52 "--enable-fat"
52 "--enable-cxx"))) 53 "--enable-cxx"
54 ,@(cond ((target-mingw?)
55 ;; Static and shared cannot be built in one go:
56 ;; they produce different headers. We need shared.
57 `("--disable-static"
58 "--enable-shared"))
59 (else '())))))
53 (synopsis "Multiple-precision arithmetic library") 60 (synopsis "Multiple-precision arithmetic library")
54 (description 61 (description
55 "GMP is a library for arbitrary precision arithmetic, operating on 62 "GMP is a library for arbitrary precision arithmetic, operating on
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 7a9cb5f6de1..34beb09f449 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1498,7 +1498,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
1498(define-public zynaddsubfx 1498(define-public zynaddsubfx
1499 (package 1499 (package
1500 (name "zynaddsubfx") 1500 (name "zynaddsubfx")
1501 (version "3.0.0") 1501 (version "3.0.1")
1502 (source (origin 1502 (source (origin
1503 (method url-fetch) 1503 (method url-fetch)
1504 (uri (string-append 1504 (uri (string-append
@@ -1506,7 +1506,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
1506 version "/zynaddsubfx-" version ".tar.bz2")) 1506 version "/zynaddsubfx-" version ".tar.bz2"))
1507 (sha256 1507 (sha256
1508 (base32 1508 (base32
1509 "0p640hlw28264nzrnd2lm4bi5snas4fvh80p8lpxvph2hjw3sncl")))) 1509 "1qijvlbv41lnqaqbp6gh1i42xzf1syviyxz8wr39xbz55cw7y0d8"))))
1510 (build-system cmake-build-system) 1510 (build-system cmake-build-system)
1511 (arguments 1511 (arguments
1512 `(#:phases 1512 `(#:phases
@@ -1711,7 +1711,17 @@ follows a traditional multi-track tape recorder control paradigm.")
1711 (base32 1711 (base32
1712 "1392spswkhfd38fggf584wb3m8aqpg7csfrs9zxnzyvhgmp0fgqk")))) 1712 "1392spswkhfd38fggf584wb3m8aqpg7csfrs9zxnzyvhgmp0fgqk"))))
1713 (build-system waf-build-system) 1713 (build-system waf-build-system)
1714 (arguments `(#:tests? #f)) ; no tests 1714 (arguments
1715 `(#:phases
1716 (modify-phases %standard-phases
1717 (add-after 'unpack 'remove-sse-flags
1718 (lambda* (#:key system #:allow-other-keys)
1719 (when (not (or (string-prefix? "x86_64" system)
1720 (string-prefix? "i686" system)))
1721 (substitute* "wscript"
1722 (("'-msse', '-mfpmath=sse', ") ""))
1723 #t))))
1724 #:tests? #f)) ; no tests
1715 (inputs 1725 (inputs
1716 `(("lv2" ,lv2) 1726 `(("lv2" ,lv2)
1717 ("lvtk" ,lvtk) 1727 ("lvtk" ,lvtk)
@@ -2566,6 +2576,68 @@ plugin on any system where Ingen is installed. This allows users to visually
2566develop custom plugins for use in other applications without programming.") 2576develop custom plugins for use in other applications without programming.")
2567 (license license:agpl3+)))) 2577 (license license:agpl3+))))
2568 2578
2579(define-public qmidiarp
2580 (package
2581 (name "qmidiarp")
2582 (version "0.6.4")
2583 (source (origin
2584 (method url-fetch)
2585 (uri (string-append "mirror://sourceforge/qmidiarp/qmidiarp/"
2586 version "/qmidiarp-" version ".tar.bz2"))
2587 (sha256
2588 (base32
2589 "1gkfv8ajgf86kbn6j5ilfc1zlz17gdi9yxzywqd6jwff4xlm75hx"))))
2590 (build-system gnu-build-system)
2591 (arguments
2592 `(#:configure-flags
2593 (list "--enable-qt5"
2594 "CXXFLAGS=-std=gnu++11")))
2595 (inputs
2596 `(("qtbase" ,qtbase)
2597 ("alsa-lib" ,alsa-lib)
2598 ("jack" ,jack-1)
2599 ("liblo" ,liblo)
2600 ("lv2" ,lv2)))
2601 (native-inputs
2602 `(("pkg-config" ,pkg-config)
2603 ("qttools" ,qttools)))
2604 (home-page "http://qmidiarp.sourceforge.net/")
2605 (synopsis "MIDI arpeggiator")
2606 (description "QMidiArp is an advanced MIDI arpeggiator, programmable step
2607sequencer and LFO. It can hold any number of arpeggiator, sequencer, or LFO
2608modules running in parallel.")
2609 (license license:gpl2+)))
2610
2611(define-public seq24
2612 (package
2613 (name "seq24")
2614 (version "0.9.3")
2615 (source (origin
2616 (method url-fetch)
2617 (uri (string-append "https://launchpad.net/seq24/trunk/"
2618 version "/+download/seq24-"
2619 version ".tar.bz2"))
2620 (sha256
2621 (base32
2622 "12dphdhnvfk1k0vmagi1v2lhyxjyj1j3cz6ksjw0ydcvid1x8ap2"))
2623 (patches (search-patches "seq24-rename-mutex.patch"))))
2624 (build-system gnu-build-system)
2625 (arguments
2626 `(#:configure-flags
2627 (list "CXXFLAGS=-std=gnu++11")))
2628 (inputs
2629 `(("gtkmm" ,gtkmm-2)
2630 ("alsa-lib" ,alsa-lib)
2631 ("jack" ,jack-1)
2632 ("lash" ,lash)))
2633 (native-inputs
2634 `(("pkg-config" ,pkg-config)))
2635 (home-page "https://edge.launchpad.net/seq24/")
2636 (synopsis "Real-time MIDI sequencer")
2637 (description "Seq24 is a real-time MIDI sequencer. It was created to
2638provide a very simple interface for editing and playing MIDI loops.")
2639 (license license:gpl2+)))
2640
2569(define-public python-discogs-client 2641(define-public python-discogs-client
2570 (package 2642 (package
2571 (name "python-discogs-client") 2643 (name "python-discogs-client")
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index e21e477f4f5..6949e1e03fe 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -1,9 +1,10 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2015 Leo Famulari <leo@famulari.name> 4;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
5;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 5;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
6;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 6;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
7;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
7;;; 8;;;
8;;; This file is part of GNU Guix. 9;;; This file is part of GNU Guix.
9;;; 10;;;
@@ -21,6 +22,7 @@
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 23
23(define-module (gnu packages ncurses) 24(define-module (gnu packages ncurses)
25 #:use-module (gnu packages)
24 #:use-module (guix licenses) 26 #:use-module (guix licenses)
25 #:use-module (guix packages) 27 #:use-module (guix packages)
26 #:use-module (guix download) 28 #:use-module (guix download)
@@ -28,121 +30,146 @@
28 #:use-module (guix build-system perl) 30 #:use-module (guix build-system perl)
29 #:use-module (gnu packages) 31 #:use-module (gnu packages)
30 #:use-module (gnu packages perl) 32 #:use-module (gnu packages perl)
31 #:use-module (gnu packages swig)) 33 #:use-module (gnu packages swig)
34 #:use-module (guix utils))
32 35
33(define-public ncurses 36(define-public ncurses
34 (let ((patch-makefile-phase 37 (package
35 '(lambda _ 38 (name "ncurses")
36 (for-each patch-makefile-SHELL 39 (version "6.0")
37 (find-files "." "Makefile.in")))) 40 (source (origin
38 (configure-phase
39 ;; The 'configure' script does not understand '--docdir', so we must
40 ;; override that and use '--mandir' instead.
41 '(lambda* (#:key build target outputs configure-flags
42 #:allow-other-keys)
43 (let ((out (assoc-ref outputs "out"))
44 (doc (assoc-ref outputs "doc")))
45 (zero? (apply system* "./configure"
46 (string-append "SHELL=" (which "sh"))
47 (string-append "--build=" build)
48 (string-append "--prefix=" out)
49 (string-append "--mandir=" doc "/share/man")
50 (if target
51 (cons (string-append "--host=" target)
52 configure-flags)
53 configure-flags))))))
54 (remove-shebang-phase
55 '(lambda _
56 ;; To avoid retaining a reference to the bootstrap Bash via the
57 ;; shebang of the 'ncursesw6-config' script, simply remove that
58 ;; shebang: it'll work just as well without it. Likewise, do not
59 ;; retain a reference to the "doc" output.
60 (substitute* "misc/ncurses-config.in"
61 (("#!@SHELL@")
62 "# No shebang here, use /bin/sh!\n")
63 (("@SHELL@ \\$0")
64 "$0")
65 (("mandir=.*$")
66 "mandir=share/man"))
67 #t))
68 (post-install-phase
69 '(lambda* (#:key outputs #:allow-other-keys)
70 (let ((out (assoc-ref outputs "out")))
71 ;; When building a wide-character (Unicode) build, create backward
72 ;; compatibility links from the the "normal" libraries to the
73 ;; wide-character libraries (e.g. libncurses.so to libncursesw.so).
74 (with-directory-excursion (string-append out "/lib")
75 (for-each (lambda (lib)
76 (define libw.a
77 (string-append "lib" lib "w.a"))
78 (define lib.a
79 (string-append "lib" lib ".a"))
80 (define libw.so.x
81 (string-append "lib" lib "w.so.6"))
82 (define lib.so.x
83 (string-append "lib" lib ".so.6"))
84 (define lib.so
85 (string-append "lib" lib ".so"))
86
87 (when (file-exists? libw.a)
88 (format #t "creating symlinks for `lib~a'~%" lib)
89 (symlink libw.a lib.a)
90 (symlink libw.so.x lib.so.x)
91 (false-if-exception (delete-file lib.so))
92 (call-with-output-file lib.so
93 (lambda (p)
94 (format p "INPUT (-l~aw)~%" lib)))))
95 '("curses" "ncurses" "form" "panel" "menu")))))))
96 (package
97 (name "ncurses")
98 (version "6.0")
99 (source (origin
100 (method url-fetch) 41 (method url-fetch)
101 (uri (string-append "mirror://gnu/ncurses/ncurses-" 42 (uri (string-append "mirror://gnu/ncurses/ncurses-"
102 version ".tar.gz")) 43 version ".tar.gz"))
103 (sha256 44 (sha256
104 (base32 45 (base32
105 "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm")))) 46 "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm"))))
106 (build-system gnu-build-system) 47 (build-system gnu-build-system)
107 (outputs '("out" 48 (outputs '("out"
108 "doc")) ;1 MiB of man pages 49 "doc")) ;1 MiB of man pages
109 (arguments 50 (arguments
110 `(#:configure-flags 51 (let ((patch-makefile-phase
111 `("--with-shared" "--without-debug" "--enable-widec" 52 '(lambda _
53 (for-each patch-makefile-SHELL
54 (find-files "." "Makefile.in"))))
55 (configure-phase
56 ;; The 'configure' script does not understand '--docdir', so we must
57 ;; override that and use '--mandir' instead.
58 '(lambda* (#:key build target outputs configure-flags
59 #:allow-other-keys)
60 (let ((out (assoc-ref outputs "out"))
61 (doc (assoc-ref outputs "doc")))
62 (zero? (apply system* "./configure"
63 (string-append "SHELL=" (which "sh"))
64 (string-append "--build=" build)
65 (string-append "--prefix=" out)
66 (string-append "--mandir=" doc "/share/man")
67 (if target
68 (cons (string-append "--host=" target)
69 configure-flags)
70 configure-flags))))))
71 (remove-shebang-phase
72 '(lambda _
73 ;; To avoid retaining a reference to the bootstrap Bash via the
74 ;; shebang of the 'ncursesw6-config' script, simply remove that
75 ;; shebang: it'll work just as well without it. Likewise, do not
76 ;; retain a reference to the "doc" output.
77 (substitute* "misc/ncurses-config.in"
78 (("#!@SHELL@")
79 "# No shebang here, use /bin/sh!\n")
80 (("@SHELL@ \\$0")
81 "$0")
82 (("mandir=.*$")
83 "mandir=share/man"))
84 #t))
85 (post-install-phase
86 `(lambda* (#:key outputs #:allow-other-keys)
87 (let ((out (assoc-ref outputs "out")))
88 ;; When building a wide-character (Unicode) build, create backward
89 ;; compatibility links from the the "normal" libraries to the
90 ;; wide-character libraries (e.g. libncurses.so to libncursesw.so).
91 ,@(if (target-mingw?)
92 '( ;; TODO: create .la files to link to the .dll?
93 (with-directory-excursion (string-append out "/bin")
94 (for-each
95 (lambda (lib)
96 (define lib.dll
97 (string-append "lib" lib ".dll"))
98 (define libw6.dll
99 (string-append "lib" lib "w6.dll"))
100
101 (when (file-exists? libw6.dll)
102 (format #t "creating symlinks for `lib~a'~%" lib)
103 (symlink libw6.dll lib.dll)))
104 '("curses" "ncurses" "form" "panel" "menu"))))
105 '())
106 (with-directory-excursion (string-append out "/lib")
107 (for-each (lambda (lib)
108 (define libw.a
109 (string-append "lib" lib "w.a"))
110 (define lib.a
111 (string-append "lib" lib ".a"))
112 112
113 ;; By default headers land in an `ncursesw' subdir, which is not 113 ,@(if (not (target-mingw?))
114 ;; what users expect. 114 '((define libw.so.x
115 ,(string-append "--includedir=" (assoc-ref %outputs "out") 115 (string-append "lib" lib "w.so.6"))
116 "/include") 116 (define lib.so.x
117 "--enable-overwrite" ;really honor --includedir 117 (string-append "lib" lib ".so.6"))
118 (define lib.so
119 (string-append "lib" lib ".so")))
120 '())
118 121
119 ;; Make sure programs like 'tic', 'reset', and 'clear' have a 122 (when (file-exists? libw.a)
120 ;; correct RUNPATH. 123 (format #t "creating symlinks for `lib~a'~%" lib)
121 ,(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") 124 (symlink libw.a lib.a)
122 "/lib")) 125 ,@(if (not (target-mingw?))
123 #:tests? #f ; no "check" target 126 '((symlink libw.so.x lib.so.x)
124 #:phases (modify-phases %standard-phases 127 (false-if-exception (delete-file lib.so))
125 (replace 'configure ,configure-phase) 128 (call-with-output-file lib.so
126 (add-after 'install 'post-install 129 (lambda (p)
127 ,post-install-phase) 130 (format p "INPUT (-l~aw)~%" lib))))
128 (add-before 'configure 'patch-makefile-SHELL 131 '())))
129 ,patch-makefile-phase) 132 '("curses" "ncurses" "form" "panel" "menu")))))))
130 (add-after 'unpack 'remove-unneeded-shebang 133 `(#:configure-flags
131 ,remove-shebang-phase)))) 134 ,(cons*
132 (self-native-input? #t) ; for `tic' 135 'quasiquote
133 (native-search-paths 136 `(("--with-shared" "--without-debug" "--enable-widec"
134 (list (search-path-specification 137
135 (variable "TERMINFO_DIRS") 138 ;; By default headers land in an `ncursesw' subdir, which is not
136 (files '("share/terminfo"))))) 139 ;; what users expect.
137 (synopsis "Terminal emulation (termcap, terminfo) library") 140 ,(list 'unquote '(string-append "--includedir=" (assoc-ref %outputs "out")
138 (description 141 "/include"))
139 "GNU Ncurses is a library which provides capabilities to write text to 142 "--enable-overwrite" ;really honor --includedir
143
144 ;; Make sure programs like 'tic', 'reset', and 'clear' have a
145 ;; correct RUNPATH.
146 ,(list 'unquote '(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out")
147 "/lib"))
148 ;; MinGW: Use term-driver created for the MinGW port.
149 ,@(if (target-mingw?) '("--enable-term-driver") '()))))
150 #:tests? #f ; no "check" target
151 #:phases (modify-phases %standard-phases
152 (replace 'configure ,configure-phase)
153 (add-after 'install 'post-install
154 ,post-install-phase)
155 (add-before 'configure 'patch-makefile-SHELL
156 ,patch-makefile-phase)
157 (add-after 'unpack 'remove-unneeded-shebang
158 ,remove-shebang-phase)))))
159 (self-native-input? #t) ; for `tic'
160 (native-search-paths
161 (list (search-path-specification
162 (variable "TERMINFO_DIRS")
163 (files '("share/terminfo")))))
164 (synopsis "Terminal emulation (termcap, terminfo) library")
165 (description
166 "GNU Ncurses is a library which provides capabilities to write text to
140a terminal in a terminal-independent manner. It supports pads and color as 167a terminal in a terminal-independent manner. It supports pads and color as
141well as multiple highlights and forms characters. It is typically used to 168well as multiple highlights and forms characters. It is typically used to
142implement user interfaces for command-line applications. The accompanying 169implement user interfaces for command-line applications. The accompanying
143ncursesw library provides wide character support.") 170ncursesw library provides wide character support.")
144 (license x11) 171 (license x11)
145 (home-page "http://www.gnu.org/software/ncurses/")))) 172 (home-page "http://www.gnu.org/software/ncurses/")))
146 173
147(define-public dialog 174(define-public dialog
148 (package 175 (package
diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm
index 0bcc885c39c..8ef3e9f1125 100644
--- a/gnu/packages/onc-rpc.scm
+++ b/gnu/packages/onc-rpc.scm
@@ -43,6 +43,14 @@
43 (modify-phases %standard-phases 43 (modify-phases %standard-phases
44 (add-after 'unpack 'remote-dangling-symlink 44 (add-after 'unpack 'remote-dangling-symlink
45 (lambda _ 45 (lambda _
46 (substitute* '("man/netconfig.5"
47 "man/getnetconfig.3t"
48 "man/getnetpath.3t"
49 "man/rpc.3t"
50 "src/getnetconfig.c"
51 "tirpc/netconfig.h")
52 (("/etc/netconfig") (string-append %output "/etc/netconfig")))
53
46 ;; Remove the dangling symlinks since it breaks the 54 ;; Remove the dangling symlinks since it breaks the
47 ;; 'patch-source-shebangs' file tree traversal. 55 ;; 'patch-source-shebangs' file tree traversal.
48 (delete-file "INSTALL")))))) 56 (delete-file "INSTALL"))))))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ac7c26d40c0..099cbb64d83 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -226,9 +226,9 @@ the Nix package manager.")
226 ;; 226 ;;
227 ;; Note: use a very short commit id; with a longer one, the limit on 227 ;; Note: use a very short commit id; with a longer one, the limit on
228 ;; hash-bang lines would be exceeded while running the tests. 228 ;; hash-bang lines would be exceeded while running the tests.
229 (let ((commit "463fb7d0c86fb9957c527272e6cec5ee23585366")) 229 (let ((commit "8d125cfc2e5cb0825bb40893ec3e940f85f1b235"))
230 (package (inherit guix-0.11.0) 230 (package (inherit guix-0.11.0)
231 (version (string-append "0.11.0-5." (string-take commit 4))) 231 (version (string-append "0.11.0-8." (string-take commit 4)))
232 (source (origin 232 (source (origin
233 (method git-fetch) 233 (method git-fetch)
234 (uri (git-reference 234 (uri (git-reference
@@ -238,7 +238,7 @@ the Nix package manager.")
238 (commit commit))) 238 (commit commit)))
239 (sha256 239 (sha256
240 (base32 240 (base32
241 "0k74j6m5hy055knirnry75qrgph4zywypxjyaqv6saixb6yx7av3")) 241 "0h73m1zad67qqn7ygypcqscicvqj31wwkxsr85d5lr77v6bx7b6z"))
242 (file-name (string-append "guix-" version "-checkout")))) 242 (file-name (string-append "guix-" version "-checkout"))))
243 (arguments 243 (arguments
244 (substitute-keyword-arguments (package-arguments guix-0.11.0) 244 (substitute-keyword-arguments (package-arguments guix-0.11.0)
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 89195f31c2a..1a4ea8a0363 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -45,7 +45,7 @@
45(define-public parallel 45(define-public parallel
46 (package 46 (package
47 (name "parallel") 47 (name "parallel")
48 (version "20161022") 48 (version "20161122")
49 (source 49 (source
50 (origin 50 (origin
51 (method url-fetch) 51 (method url-fetch)
@@ -53,7 +53,7 @@
53 version ".tar.bz2")) 53 version ".tar.bz2"))
54 (sha256 54 (sha256
55 (base32 55 (base32
56 "1mz82chm5qav6h64rcckxzabr7w4ma0sjx61xav85x0swgcbjdsr")))) 56 "0z5c4r35d926ac04ilaivx67cmflr1rsvmjb2ci7hmab948m0ng2"))))
57 (build-system gnu-build-system) 57 (build-system gnu-build-system)
58 (arguments 58 (arguments
59 `(#:phases 59 `(#:phases
diff --git a/gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch b/gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch
new file mode 100644
index 00000000000..0ea008a7cb0
--- /dev/null
+++ b/gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch
@@ -0,0 +1,11 @@
1--- a/libgcc/config/i386/gthr-win32.h 2016-03-30 07:45:33.388684463 +0200
2+++ b/libgcc/config/i386/gthr-win32.h 2016-03-30 15:51:24.123896436 +0200
3@@ -30,7 +30,7 @@
4
5 /* Make sure CONST_CAST2 (origin in system.h) is declared. */
6 #ifndef CONST_CAST2
7-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq)
8+#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)X)
9 #endif
10
11 /* Windows32 threads specific definitions. The windows32 threading model
diff --git a/gnu/packages/patches/httpd-CVE-2016-8740.patch b/gnu/packages/patches/httpd-CVE-2016-8740.patch
new file mode 100644
index 00000000000..17ba323ccf4
--- /dev/null
+++ b/gnu/packages/patches/httpd-CVE-2016-8740.patch
@@ -0,0 +1,36 @@
1This patch applies against httpd-2.4.23 and shouldn't be needed in later releases
2http://openwall.com/lists/oss-security/2016/12/05/17
3Index: modules/http2/h2_stream.c
4===================================================================
5--- modules/http2/h2_stream.c (revision 1771866)
6+++ modules/http2/h2_stream.c (working copy)
7@@ -322,18 +322,18 @@
8 HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE);
9 }
10 }
11- }
12-
13- if (h2_stream_is_scheduled(stream)) {
14- return h2_request_add_trailer(stream->request, stream->pool,
15- name, nlen, value, vlen);
16- }
17- else {
18- if (!input_open(stream)) {
19- return APR_ECONNRESET;
20+
21+ if (h2_stream_is_scheduled(stream)) {
22+ return h2_request_add_trailer(stream->request, stream->pool,
23+ name, nlen, value, vlen);
24 }
25- return h2_request_add_header(stream->request, stream->pool,
26- name, nlen, value, vlen);
27+ else {
28+ if (!input_open(stream)) {
29+ return APR_ECONNRESET;
30+ }
31+ return h2_request_add_header(stream->request, stream->pool,
32+ name, nlen, value, vlen);
33+ }
34 }
35 }
36
diff --git a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch b/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch
new file mode 100644
index 00000000000..e8f841c4fd3
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch
@@ -0,0 +1,218 @@
1This patch includes
2
3 * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3
4 * mingw-w64-headers/crt/math.h: Likewise
5 * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add
6 symbols.
7 * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK):
8 Add symbols.
9 (lstat): Add function.
10 * mingw-w64-headers/crt/_mingw_stat64.h: Likewise
11 * mingw-w64-headers/crt/stdlib.h (realpath): Add function.
12
13Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6.
14
15Upstream status: not yet presented upstream.
16
17index 9c5cf87..74a8541 100644
18--- a/mingw-w64-crt/misc/dirname.c
19+++ b/mingw-w64-crt/misc/dirname.c
20@@ -29,6 +29,12 @@
21 #define __cdecl /* this may not be defined. */
22 #endif
23
24+char *__cdecl
25+realpath(const char *name, char *resolved)
26+{
27+ return resolved ? strcpy (resolved, name) : strdup (name);
28+}
29+
30 char * __cdecl
31 dirname(char *path)
32 {
33diff --git a/mingw-w64-headers/crt/_mingw_stat64.h b/mingw-w64-headers/crt/_mingw_stat64.h
34index 17e754c..7d2339b 100644
35--- a/mingw-w64-headers/crt/_mingw_stat64.h
36+++ b/mingw-w64-headers/crt/_mingw_stat64.h
37@@ -2,13 +2,17 @@
38
39 #ifdef _USE_32BIT_TIME_T
40 #define _fstat32 _fstat
41+#define _lstat32 _lstat
42 #define _stat32 _stat
43 #define _wstat32 _wstat
44 #define _fstat32i64 _fstati64
45+#define _lstat32i64 _lstati64
46 #define _stat32i64 _stati64
47 #define _wstat32i64 _wstati64
48 #else
49 #define _fstat _fstat64i32
50+#define _lstat _lstat64i32
51+#define _lstati64 _lstat64
52 #define _fstati64 _fstat64
53 #define _stat _stat64i32
54 #define _stati64 _stat64
55diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h
56index 5874f4e..bdf4ead 100644
57--- a/mingw-w64-headers/crt/float.h
58+++ b/mingw-w64-headers/crt/float.h
59@@ -22,6 +22,15 @@
60 #if (__GNUC__ < 4)
61 #error Corrupt install of gcc-s internal headers, or search order was changed.
62 #else
63+
64+ /* From gcc-4.9.3 float.h. */
65+ #undef FLT_EPSILON
66+ #undef DBL_EPSILON
67+ #undef LDBL_EPSILON
68+ #define FLT_EPSILON __FLT_EPSILON__
69+ #define DBL_EPSILON __DBL_EPSILON__
70+ #define LDBL_EPSILON __LDBL_EPSILON__
71+
72 /* #include_next <float_ginclude.h> */
73
74 /* Number of decimal digits, q, such that any floating-point number with q
75diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h
76index 1e970f4..99a332f 100644
77--- a/mingw-w64-headers/crt/math.h
78+++ b/mingw-w64-headers/crt/math.h
79@@ -216,6 +216,7 @@ extern "C" {
80 #endif
81 }
82
83+#if 0
84 __CRT_INLINE long double __cdecl fabsl (long double x)
85 {
86 #ifdef __arm__
87@@ -226,6 +227,7 @@ extern "C" {
88 return res;
89 #endif
90 }
91+#endif
92
93 __CRT_INLINE double __cdecl fabs (double x)
94 {
95@@ -905,7 +907,7 @@ __mingw_choose_expr ( \
96 /* 7.12.7.3 */
97 extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */
98 extern float __cdecl hypotf (float x, float y);
99-#ifndef __CRT__NO_INLINE
100+#if 0 //ndef __CRT__NO_INLINE
101 __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);}
102 #endif
103 extern long double __cdecl hypotl (long double, long double);
104diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h
105index dfc5ae4..6f0fee3 100644
106--- a/mingw-w64-headers/crt/stdlib.h
107+++ b/mingw-w64-headers/crt/stdlib.h
108@@ -8,6 +8,7 @@
109
110 #include <crtdefs.h>
111 #include <limits.h>
112+#include <string.h>
113
114 #if defined (__USE_MINGW_ANSI_STDIO) && ((__USE_MINGW_ANSI_STDIO + 0) != 0) && !defined (__USE_MINGW_STRTOX)
115 #define __USE_MINGW_STRTOX 1
116@@ -676,6 +677,8 @@ unsigned long __cdecl _lrotr(unsigned long,int);
117
118 #endif /* !__NO_ISOCEXT */
119
120+char *__cdecl realpath (const char *name, char *resolved);
121+
122 #ifdef __cplusplus
123 }
124 #endif
125diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h
126index ed60219..d88b4f1 100644
127--- a/mingw-w64-headers/crt/sys/stat.h
128+++ b/mingw-w64-headers/crt/sys/stat.h
129@@ -58,16 +58,21 @@ extern "C" {
130 #include <_mingw_stat64.h>
131
132 #define _S_IFMT 0xF000
133+#define _S_IFLNK 0xA000
134+#define _S_IFSOCK 0xC000
135 #define _S_IFDIR 0x4000
136 #define _S_IFCHR 0x2000
137 #define _S_IFIFO 0x1000
138 #define _S_IFREG 0x8000
139+#define _S_ISUID 0x0400
140+#define _S_ISGID 0x0200
141 #define _S_IREAD 0x0100
142 #define _S_IWRITE 0x0080
143 #define _S_IEXEC 0x0040
144
145 _CRTIMP int __cdecl _fstat32(int _FileDes,struct _stat32 *_Stat);
146 _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat);
147+ static inline int __cdecl _lstat32(const char *_Name,struct _stat32 *_Stat) {return _stat32(_Name, _Stat);}
148 _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat);
149 _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat);
150 int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat);
151@@ -97,6 +102,9 @@ extern "C" {
152 _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat);
153 _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat);
154 int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat);
155+ static inline int __cdecl _lstat64(const char *_Name,struct _stat64 *_Stat) {return _stat64(_Name, _Stat);}
156+ static inline int __cdecl _lstat32i64(const char *_Name,struct _stat32i64 *_Stat) {return _stat32i64(_Name, _Stat);}
157+ static inline int __cdecl _lstat64i32(const char *_Name,struct _stat64i32 *_Stat) {return _stat64i32(_Name, _Stat);}
158 #ifndef __CRT__NO_INLINE
159 __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat)
160 {
161@@ -132,6 +140,8 @@ extern "C" {
162 #ifndef NO_OLDNAMES
163 #define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */
164
165+#define S_IFLNK _S_IFLNK
166+#define S_IFSOCK _S_IFSOCK
167 #define S_IFMT _S_IFMT
168 #define S_IFDIR _S_IFDIR
169 #define S_IFCHR _S_IFCHR
170@@ -162,6 +172,11 @@ extern "C" {
171 #define S_IXOTH (S_IXGRP >> 3)
172 #define S_IRWXO (S_IRWXG >> 3)
173
174+#define S_ISUID _S_ISUID
175+#define S_ISGID _S_ISGID
176+
177+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
178+#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
179 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
180 #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
181 #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
182@@ -174,6 +189,7 @@ extern "C" {
183 int __cdecl stat(const char *_Filename,struct stat *_Stat);
184 int __cdecl fstat(int _Desc,struct stat *_Stat);
185 int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat);
186+static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);}
187
188 #ifndef __CRT__NO_INLINE
189 #ifdef _USE_32BIT_TIME_T
190@@ -262,9 +278,11 @@ __CRT_INLINE int __cdecl
191
192 #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
193 #ifdef _USE_32BIT_TIME_T
194+#define lstat _lstat32i64
195 #define stat _stat32i64
196 #define fstat _fstat32i64
197 #else
198+#define lstat _lstat64
199 #define stat _stat64
200 #define fstat _fstat64
201 #endif
202diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
203index 52af29b..8626396 100644
204--- a/mingw-w64-headers/include/winnt.h
205+++ b/mingw-w64-headers/include/winnt.h
206@@ -6895,7 +6895,12 @@ __buildmemorybarrier()
207 DWORD Reg : 3;
208 DWORD R : 1;
209 DWORD L : 1;
210+/* C is used as a const specifier */
211+#define save_C C
212+#undef C
213 DWORD C : 1;
214+#define C save_C
215+#undef save_C
216 DWORD StackAdjust : 10;
217 } DUMMYSTRUCTNAME;
218 } DUMMYUNIONNAME;
diff --git a/gnu/packages/patches/readline-7.0-mingw.patch b/gnu/packages/patches/readline-7.0-mingw.patch
new file mode 100644
index 00000000000..1dc491d556f
--- /dev/null
+++ b/gnu/packages/patches/readline-7.0-mingw.patch
@@ -0,0 +1,28 @@
1Configure checks for chown; add missing shields in code.
2
3Upstream status: not yet presented upstream.
4
5--- readline-7.0/histfile.c.orig 2016-12-06 20:04:10.058901731 +0100
6+++ readline-7.0/histfile.c 2016-12-06 20:05:09.220083801 +0100
7@@ -610,8 +610,10 @@
8 user is running this, it's a no-op. If the shell is running after sudo
9 with a shared history file, we don't want to leave the history file
10 owned by root. */
11+#if HAVE_CHOWN
12 if (rv == 0 && exists)
13 r = chown (filename, finfo.st_uid, finfo.st_gid);
14+#endif
15
16 xfree (filename);
17 FREE (tempname);
18@@ -757,8 +759,10 @@
19 user is running this, it's a no-op. If the shell is running after sudo
20 with a shared history file, we don't want to leave the history file
21 owned by root. */
22+#if HAVE_CHOWN
23 if (rv == 0 && exists)
24 mode = chown (histname, finfo.st_uid, finfo.st_gid);
25+#endif
26
27 FREE (histname);
28 FREE (tempname);
diff --git a/gnu/packages/patches/seq24-rename-mutex.patch b/gnu/packages/patches/seq24-rename-mutex.patch
new file mode 100644
index 00000000000..ddc59101199
--- /dev/null
+++ b/gnu/packages/patches/seq24-rename-mutex.patch
@@ -0,0 +1,124 @@
1The custom mutex definition in Seq24 clashes with the mutex defined in gtkmm.
2This patch renames the custom definition.
3
4See https://bugs.launchpad.net/seq24/+bug/1647614 for upstream bug report.
5
6diff --git a/src/midibus.h b/src/midibus.h
7index 2cdf8e8..1bb02bd 100644
8--- a/src/midibus.h
9+++ b/src/midibus.h
10@@ -90,7 +90,7 @@ class midibus
11
12
13 /* locking */
14- mutex m_mutex;
15+ seq24mutex m_mutex;
16
17 /* mutex */
18 void lock();
19@@ -208,7 +208,7 @@ class mastermidibus
20 sequence *m_seq;
21
22 /* locking */
23- mutex m_mutex;
24+ seq24mutex m_mutex;
25
26 /* mutex */
27 void lock();
28diff --git a/src/midibus_portmidi.h b/src/midibus_portmidi.h
29index 0119e9c..8c6a27a 100644
30--- a/src/midibus_portmidi.h
31+++ b/src/midibus_portmidi.h
32@@ -65,7 +65,7 @@ class midibus
33 long m_lasttick;
34
35 /* locking */
36- mutex m_mutex;
37+ seq24mutex m_mutex;
38
39 /* mutex */
40 void lock();
41@@ -164,7 +164,7 @@ class mastermidibus
42 sequence *m_seq;
43
44 /* locking */
45- mutex m_mutex;
46+ seq24mutex m_mutex;
47
48 /* mutex */
49 void lock();
50diff --git a/src/mutex.cpp b/src/mutex.cpp
51index b3f23fd..914114f 100644
52--- a/src/mutex.cpp
53+++ b/src/mutex.cpp
54@@ -20,23 +20,23 @@
55
56 #include "mutex.h"
57
58-const pthread_mutex_t mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
59+const pthread_mutex_t seq24mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
60 const pthread_cond_t condition_var::cond = PTHREAD_COND_INITIALIZER;
61
62-mutex::mutex( )
63+seq24mutex::seq24mutex( )
64 {
65 m_mutex_lock = recmutex;
66 }
67
68 void
69-mutex::lock( )
70+seq24mutex::lock( )
71 {
72 pthread_mutex_lock( &m_mutex_lock );
73 }
74
75
76 void
77-mutex::unlock( )
78+seq24mutex::unlock( )
79 {
80 pthread_mutex_unlock( &m_mutex_lock );
81 }
82diff --git a/src/mutex.h b/src/mutex.h
83index 399f8a3..4f1b867 100644
84--- a/src/mutex.h
85+++ b/src/mutex.h
86@@ -24,7 +24,7 @@
87
88 #include <pthread.h>
89
90-class mutex {
91+class seq24mutex {
92
93 private:
94
95@@ -37,14 +37,14 @@ protected:
96
97 public:
98
99- mutex();
100+ seq24mutex();
101
102 void lock();
103 void unlock();
104
105 };
106
107-class condition_var : public mutex {
108+class condition_var : public seq24mutex {
109
110 private:
111
112diff --git a/src/sequence.h b/src/sequence.h
113index 2943946..9da8700 100644
114--- a/src/sequence.h
115+++ b/src/sequence.h
116@@ -153,7 +153,7 @@ class sequence
117 long m_rec_vol;
118
119 /* locking */
120- mutex m_mutex;
121+ seq24mutex m_mutex;
122
123 /* used to idenfity which events are ours in the out queue */
124 //unsigned char m_tag;
diff --git a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch b/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch
new file mode 100644
index 00000000000..48c294f78ec
--- /dev/null
+++ b/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch
@@ -0,0 +1,31 @@
1Fix out-of-bounds read in c_substitute():
2
3http://seclists.org/oss-sec/2016/q4/612
4
5Patch copied from upstream source repository:
6
7https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596
8
9From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001
10From: christos <christos>
11Date: Fri, 2 Dec 2016 16:59:28 +0000
12Subject: [PATCH] Fix out of bounds read (Brooks Davis) (reproduce by starting
13 tcsh and hitting tab at the prompt)
14
15---
16 ed.chared.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/ed.chared.c b/ed.chared.c
20index 1277e53..310393e 100644
21--- ed.chared.c
22+++ ed.chared.c
23@@ -750,7 +750,7 @@ c_substitute(void)
24 /*
25 * If we found a history character, go expand it.
26 */
27- if (HIST != '\0' && *p == HIST)
28+ if (p >= InputBuf && HIST != '\0' && *p == HIST)
29 nr_exp = c_excl(p);
30 else
31 nr_exp = 0;
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index 9ccbede873c..a84ff43d77c 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -64,7 +64,7 @@
64(define-public php 64(define-public php
65 (package 65 (package
66 (name "php") 66 (name "php")
67 (version "7.0.13") 67 (version "7.0.14")
68 (home-page "https://secure.php.net/") 68 (home-page "https://secure.php.net/")
69 (source (origin 69 (source (origin
70 (method url-fetch) 70 (method url-fetch)
@@ -72,7 +72,7 @@
72 name "-" version ".tar.xz")) 72 name "-" version ".tar.xz"))
73 (sha256 73 (sha256
74 (base32 74 (base32
75 "1gzihbpcp51jc587gs1ryn59hsnr7vf5427dmcvdimvm77wsfyrm")) 75 "12ccgbrfchgvmcfb88rcknq7xmrf19c5ysdr4v8jxk51j9izy78g"))
76 (modules '((guix build utils))) 76 (modules '((guix build utils)))
77 (snippet 77 (snippet
78 '(with-directory-excursion "ext" 78 '(with-directory-excursion "ext"
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8f8b0de721b..b0e23b5c1dc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3924,14 +3924,14 @@ both of which are installed automatically if you install this library.")
3924(define-public python-sqlalchemy-utils 3924(define-public python-sqlalchemy-utils
3925 (package 3925 (package
3926 (name "python-sqlalchemy-utils") 3926 (name "python-sqlalchemy-utils")
3927 (version "0.32.9") 3927 (version "0.32.11")
3928 (source 3928 (source
3929 (origin 3929 (origin
3930 (method url-fetch) 3930 (method url-fetch)
3931 (uri (pypi-uri "SQLAlchemy-Utils" version)) 3931 (uri (pypi-uri "SQLAlchemy-Utils" version))
3932 (sha256 3932 (sha256
3933 (base32 3933 (base32
3934 "1zbmmh7n8m01ikizn2mj1mfwch26nsr1awv9mvskqry7av0mpy98")))) 3934 "1wghyvk73cmq3iqyg3fczw128fv2pan2v76m0xg1bw05h8fhvnk3"))))
3935 (build-system python-build-system) 3935 (build-system python-build-system)
3936 (propagated-inputs 3936 (propagated-inputs
3937 `(("python-six" ,python-six) 3937 `(("python-six" ,python-six)
@@ -4520,6 +4520,7 @@ standard library.")
4520 (package-with-python2 python-simplegeneric)) 4520 (package-with-python2 python-simplegeneric))
4521 4521
4522(define-public python-ipython-genutils 4522(define-public python-ipython-genutils
4523 ;; TODO: This package is retired, check if can be removed, see description.
4523 (package 4524 (package
4524 (name "python-ipython-genutils") 4525 (name "python-ipython-genutils")
4525 (version "0.1.0") 4526 (version "0.1.0")
@@ -4536,7 +4537,13 @@ standard library.")
4536 (home-page "http://ipython.org") 4537 (home-page "http://ipython.org")
4537 (synopsis "Vestigial utilities from IPython") 4538 (synopsis "Vestigial utilities from IPython")
4538 (description 4539 (description
4539 "This package provides retired utilities from IPython.") 4540 "This package provides retired utilities from IPython. No packages
4541outside IPython/Jupyter should depend on it.
4542
4543This package shouldn't exist. It contains some common utilities shared by
4544Jupyter and IPython projects during The Big Split. As soon as possible, those
4545packages will remove their dependency on this, and this package will go
4546away.")
4540 (license license:bsd-3))) 4547 (license license:bsd-3)))
4541 4548
4542(define-public python2-ipython-genutils 4549(define-public python2-ipython-genutils
@@ -4705,13 +4712,13 @@ tools for mocking system commands and recording calls to those.")
4705(define-public python-ipython 4712(define-public python-ipython
4706 (package 4713 (package
4707 (name "python-ipython") 4714 (name "python-ipython")
4708 (version "4.0.0") 4715 (version "4.0.3")
4709 (source 4716 (source
4710 (origin 4717 (origin
4711 (method url-fetch) 4718 (method url-fetch)
4712 (uri (pypi-uri "ipython" version ".tar.gz")) 4719 (uri (pypi-uri "ipython" version ".tar.gz"))
4713 (sha256 4720 (sha256
4714 (base32 "1npl8g6bfsff9j938ypx0q5fyzy2l8lp0jl8skjjj2zv0z27dlig")))) 4721 (base32 "1h2gp1p06sww9rzfkfzqy489bh47gj3910y2b1wdk3dcx1cqz4is"))))
4715 (build-system python-build-system) 4722 (build-system python-build-system)
4716 (outputs '("out" "doc")) 4723 (outputs '("out" "doc"))
4717 (propagated-inputs 4724 (propagated-inputs
@@ -4844,14 +4851,14 @@ ISO 8601 dates, time and duration.")
4844(define-public python-html5lib 4851(define-public python-html5lib
4845 (package 4852 (package
4846 (name "python-html5lib") 4853 (name "python-html5lib")
4847 (version "1.0b8") 4854 (version "1.0b10")
4848 (source 4855 (source
4849 (origin 4856 (origin
4850 (method url-fetch) 4857 (method url-fetch)
4851 (uri (pypi-uri "html5lib" version)) 4858 (uri (pypi-uri "html5lib" version))
4852 (sha256 4859 (sha256
4853 (base32 4860 (base32
4854 "1lknq5j3nh11xrl268ks76zaj0gyzh34v94n5vbf6dk8llzxdx0q")))) 4861 "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd"))))
4855 (build-system python-build-system) 4862 (build-system python-build-system)
4856 (propagated-inputs 4863 (propagated-inputs
4857 `(("python-six" ,python-six))) ; required to "import html5lib" 4864 `(("python-six" ,python-six))) ; required to "import html5lib"
@@ -6859,10 +6866,28 @@ convert an @code{.ipynb} notebook file into various static formats including:
6859 (description 6866 (description
6860 "The Jupyter HTML notebook is a web-based notebook environment for 6867 "The Jupyter HTML notebook is a web-based notebook environment for
6861interactive computing.") 6868interactive computing.")
6869 (properties `((python2-variant . ,(delay python2-notebook))))
6862 (license license:bsd-3))) 6870 (license license:bsd-3)))
6863 6871
6864(define-public python2-notebook 6872(define-public python2-notebook
6865 (package-with-python2 python-notebook)) 6873 (let ((base (package-with-python2
6874 (strip-python2-variant python-notebook))))
6875 (package (inherit base)
6876 (native-inputs
6877 `(("python2-mock" ,python2-mock)
6878 ,@(package-native-inputs base)))
6879 (arguments
6880 (substitute-keyword-arguments (package-arguments base)
6881 ((#:phases phases)
6882 `(modify-phases ,phases
6883 (add-before 'check 'disable-test-case
6884 ;; The test requires network access to localhost. Curiously it
6885 ;; fails with Python 2 only. Simply make the test-case return
6886 ;; immediately.
6887 (lambda _
6888 (substitute*
6889 "notebook/services/nbconvert/tests/test_nbconvert_api.py"
6890 (("formats = self.nbconvert_api") "return #")))))))))))
6866 6891
6867(define-public python-widgetsnbextension 6892(define-public python-widgetsnbextension
6868 (package 6893 (package
@@ -9153,9 +9178,8 @@ useful for solving the Assignment Problem.")
9153 (propagated-inputs 9178 (propagated-inputs
9154 `(("python-itsdangerous" ,python-itsdangerous) 9179 `(("python-itsdangerous" ,python-itsdangerous)
9155 ("python-jinja2" ,python-jinja2) 9180 ("python-jinja2" ,python-jinja2)
9181 ("python-click" ,python-click)
9156 ("python-werkzeug" ,python-werkzeug))) 9182 ("python-werkzeug" ,python-werkzeug)))
9157 (native-inputs
9158 `(("python-click" ,python-click)))
9159 (home-page "https://github.com/mitsuhiko/flask/") 9183 (home-page "https://github.com/mitsuhiko/flask/")
9160 (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions") 9184 (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
9161 (description "Flask is a micro web framework based on the Werkzeug toolkit 9185 (description "Flask is a micro web framework based on the Werkzeug toolkit
@@ -11801,3 +11825,52 @@ the Flask web framework in Python. It is similar to package
11801@code{python-flask-restful} but supports the @code{python-swagger} 11825@code{python-flask-restful} but supports the @code{python-swagger}
11802documentation builder.") 11826documentation builder.")
11803 (license license:expat))) 11827 (license license:expat)))
11828
11829(define-public python-sadisplay
11830 (package
11831 (name "python-sadisplay")
11832 (version "0.4.6")
11833 (source
11834 (origin
11835 (method url-fetch)
11836 (uri (pypi-uri "sadisplay" version))
11837 (sha256
11838 (base32
11839 "0zqad2fl7q26p090qmqgmxbm6iwgf9zij1w8da1g3wdgjj72ql05"))))
11840 (build-system python-build-system)
11841 (propagated-inputs
11842 `(("python-sqlalchemy" ,python-sqlalchemy)))
11843 (native-inputs
11844 `(("python-nose" ,python-nose)))
11845 (home-page "https://bitbucket.org/estin/sadisplay")
11846 (synopsis "SQLAlchemy schema displayer")
11847 (description "This package provides a program to build Entity
11848Relationship diagrams from a SQLAlchemy model (or directly from the
11849database).")
11850 (license license:bsd-3)))
11851
11852(define-public python2-sadisplay
11853 (package-with-python2 python-sadisplay))
11854
11855(define-public python-flask-restful-swagger
11856 (package
11857 (name "python-flask-restful-swagger")
11858 (version "0.19")
11859 (source
11860 (origin
11861 (method url-fetch)
11862 (uri (pypi-uri "flask-restful-swagger" version))
11863 (sha256
11864 (base32
11865 "16msl8hd5xjmj833bpy264v98cpl5hkw5bgl5gf5vgndxbv3rm6v"))))
11866 (build-system python-build-system)
11867 (propagated-inputs
11868 `(("python-flask-restful" ,python-flask-restful)))
11869 (home-page "https://github.com/rantav/flask-restful-swagger")
11870 (synopsis "Extract Swagger specs from Flask-Restful projects")
11871 (description "This package lets you extract Swagger API documentation
11872specs from your Flask-Restful projects.")
11873 (license license:expat)))
11874
11875(define-public python2-flask-restful-swagger
11876 (package-with-python2 python-flask-restful-swagger))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index ae951aad5fe..4a8fb6c66dc 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1015,13 +1015,19 @@ module provides support functions to the automatically generated code.")
1015 ".")) 1015 "."))
1016 (lib (string-append out "/lib/python" 1016 (lib (string-append out "/lib/python"
1017 python-major+minor 1017 python-major+minor
1018 "/site-packages"))) 1018 "/site-packages"))
1019 (stubs (string-append lib "/PyQt5")))
1019 (zero? (system* "python" "configure.py" 1020 (zero? (system* "python" "configure.py"
1020 "--confirm-license" 1021 "--confirm-license"
1021 "--bindir" bin 1022 "--bindir" bin
1022 "--destdir" lib 1023 "--destdir" lib
1023 "--designer-plugindir" designer 1024 "--designer-plugindir" designer
1024 "--qml-plugindir" qml 1025 "--qml-plugindir" qml
1026 ; Where to install the PEP 484 Type Hints stub
1027 ; files. Without this the stubs are tried to be
1028 ; installed into the python package's
1029 ; site-package directory, which is read-only.
1030 "--stubsdir" stubs
1025 "--sipdir" sip)))))))) 1031 "--sipdir" sip))))))))
1026 (home-page "https://www.riverbankcomputing.com/software/pyqt/intro") 1032 (home-page "https://www.riverbankcomputing.com/software/pyqt/intro")
1027 (synopsis "Python bindings for Qt") 1033 (synopsis "Python bindings for Qt")
@@ -1054,6 +1060,36 @@ contain over 620 classes.")
1054 (base32 1060 (base32
1055 "056qmkv02wdcfblqdaxiswrgn4wa88sz22i1x58dpb1iniavplfd")) 1061 "056qmkv02wdcfblqdaxiswrgn4wa88sz22i1x58dpb1iniavplfd"))
1056 (patches (search-patches "pyqt-configure.patch")))) 1062 (patches (search-patches "pyqt-configure.patch"))))
1063 (arguments
1064 `(#:modules ((srfi srfi-1)
1065 ,@%gnu-build-system-modules)
1066 #:phases
1067 (modify-phases %standard-phases
1068 (replace 'configure
1069 (lambda* (#:key inputs outputs #:allow-other-keys)
1070 (let* ((out (assoc-ref outputs "out"))
1071 (bin (string-append out "/bin"))
1072 (sip (string-append out "/share/sip"))
1073 (plugins (string-append out "/plugins"))
1074 (designer (string-append plugins "/designer"))
1075 (qml (string-append plugins "/PyQt5"))
1076 (python (assoc-ref inputs "python"))
1077 (python-version
1078 (last (string-split python #\-)))
1079 (python-major+minor
1080 (string-join
1081 (take (string-split python-version #\.) 2)
1082 "."))
1083 (lib (string-append out "/lib/python"
1084 python-major+minor
1085 "/site-packages")))
1086 (zero? (system* "python" "configure.py"
1087 "--confirm-license"
1088 "--bindir" bin
1089 "--destdir" lib
1090 "--designer-plugindir" designer
1091 "--qml-plugindir" qml
1092 "--sipdir" sip))))))))
1057 (native-inputs 1093 (native-inputs
1058 `(("python-sip" ,python-sip) 1094 `(("python-sip" ,python-sip)
1059 ("qt" ,qt))))) 1095 ("qt" ,qt)))))
@@ -1115,7 +1151,7 @@ contain over 620 classes.")
1115 1151
1116(define-public python2-pyqt-4 1152(define-public python2-pyqt-4
1117 (package (inherit python-pyqt-4) 1153 (package (inherit python-pyqt-4)
1118 (name "python2-pyqt-4") 1154 (name "python2-pyqt")
1119 (native-inputs 1155 (native-inputs
1120 `(("python-sip" ,python2-sip) 1156 `(("python-sip" ,python2-sip)
1121 ("qt" ,qt-4))) 1157 ("qt" ,qt-4)))
diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm
index 43817791b55..16a31afd735 100644
--- a/gnu/packages/readline.scm
+++ b/gnu/packages/readline.scm
@@ -1,6 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
4;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
4;;; 5;;;
5;;; This file is part of GNU Guix. 6;;; This file is part of GNU Guix.
6;;; 7;;;
@@ -24,7 +25,8 @@
24 #:use-module (gnu packages perl) 25 #:use-module (gnu packages perl)
25 #:use-module (guix packages) 26 #:use-module (guix packages)
26 #:use-module (guix download) 27 #:use-module (guix download)
27 #:use-module (guix build-system gnu)) 28 #:use-module (guix build-system gnu)
29 #:use-module (guix utils))
28 30
29(define-public readline 31(define-public readline
30 (let ((post-install-phase 32 (let ((post-install-phase
@@ -61,8 +63,18 @@
61 ;; cross-compiling, so provide the correct answer. 63 ;; cross-compiling, so provide the correct answer.
62 ,@(if (%current-target-system) 64 ,@(if (%current-target-system)
63 '("bash_cv_wcwidth_broken=no") 65 '("bash_cv_wcwidth_broken=no")
66 '())
67 ;; MinGW: ncurses provides the termcap api.
68 ,@(if (target-mingw?)
69 '("bash_cv_termcap_lib=ncurses")
64 '())) 70 '()))
65 71
72 ,@(if (target-mingw?)
73 ;; MinGW: termcap in ncurses
74 ;; some SIG_* #defined in _POSIX
75 '(#:make-flags '("TERMCAP_LIB=-lncurses"
76 "CPPFLAGS=-D_POSIX -D'chown(f,o,g)=0'"))
77 '())
66 #:phases (alist-cons-after 78 #:phases (alist-cons-after
67 'install 'post-install 79 'install 'post-install
68 ,post-install-phase 80 ,post-install-phase
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c57b09ec2d1..276aa5bba81 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -102,6 +102,7 @@ a focus on simplicity and productivity.")
102 102
103(define-public ruby-2.2 103(define-public ruby-2.2
104 (package (inherit ruby) 104 (package (inherit ruby)
105 (replacement #f)
105 (version "2.2.6") 106 (version "2.2.6")
106 (source 107 (source
107 (origin 108 (origin
@@ -115,6 +116,7 @@ a focus on simplicity and productivity.")
115 116
116(define-public ruby-2.1 117(define-public ruby-2.1
117 (package (inherit ruby) 118 (package (inherit ruby)
119 (replacement #f)
118 (version "2.1.10") 120 (version "2.1.10")
119 (source 121 (source
120 (origin 122 (origin
@@ -148,6 +150,7 @@ a focus on simplicity and productivity.")
148 150
149(define-public ruby-1.8 151(define-public ruby-1.8
150 (package (inherit ruby) 152 (package (inherit ruby)
153 (replacement #f)
151 (version "1.8.7-p374") 154 (version "1.8.7-p374")
152 (source 155 (source
153 (origin 156 (origin
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 1706ec30308..913d5f7d988 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -2,6 +2,7 @@
2;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 4;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
5;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
5;;; 6;;;
6;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
7;;; 8;;;
@@ -121,11 +122,16 @@ anywhere.")
121 ;; XXX: heimdal not packaged. 122 ;; XXX: heimdal not packaged.
122 "--bundled-libraries=com_err" 123 "--bundled-libraries=com_err"
123 (string-append "--prefix=" out) 124 (string-append "--prefix=" out)
125 "--sysconfdir=/etc"
124 ;; Install public and private libraries into 126 ;; Install public and private libraries into
125 ;; a single directory to avoid RPATH issues. 127 ;; a single directory to avoid RPATH issues.
126 (string-append "--libdir=" libdir) 128 (string-append "--libdir=" libdir)
127 (string-append "--with-privatelibdir=" libdir))))))) 129 (string-append "--with-privatelibdir=" libdir))))))
128 130 (add-before 'install 'disable-etc-samba-directory-creation
131 (lambda _
132 (substitute* "dynconfig/wscript"
133 (("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}")
134 "bld.INSTALL_DIRS(\"\", \"")))))
129 ;; XXX: The test infrastructure attempts to set password with 135 ;; XXX: The test infrastructure attempts to set password with
130 ;; smbpasswd, which fails with "smbpasswd -L can only be used by root." 136 ;; smbpasswd, which fails with "smbpasswd -L can only be used by root."
131 ;; So disable tests until there's a workaround. 137 ;; So disable tests until there's a workaround.
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index f3350ef501f..19316097532 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -174,6 +174,7 @@ has a small feature set similar to a traditional Bourne shell.")
174(define-public tcsh 174(define-public tcsh
175 (package 175 (package
176 (name "tcsh") 176 (name "tcsh")
177 (replacement tcsh/fixed)
177 (version "6.18.01") 178 (version "6.18.01")
178 (source (origin 179 (source (origin
179 (method url-fetch) 180 (method url-fetch)
@@ -231,6 +232,15 @@ command-line editor, programmable word completion, spelling correction, a
231history mechanism, job control and a C-like syntax.") 232history mechanism, job control and a C-like syntax.")
232 (license bsd-4))) 233 (license bsd-4)))
233 234
235(define tcsh/fixed
236 (package
237 (inherit tcsh)
238 (name "tcsh")
239 (source (origin
240 (inherit (package-source tcsh))
241 (patches (cons (search-patch "tcsh-fix-out-of-bounds-read.patch")
242 (origin-patches (package-source tcsh))))))))
243
234(define-public zsh 244(define-public zsh
235 (package 245 (package
236 (name "zsh") 246 (name "zsh")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index e1076c7c605..efedba480f1 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -4,6 +4,7 @@
4;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> 4;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
5;;; Copyright © 2016 David Craven <david@craven.ch> 5;;; Copyright © 2016 David Craven <david@craven.ch>
6;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> 6;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
7;;; 8;;;
8;;; This file is part of GNU Guix. 9;;; This file is part of GNU Guix.
9;;; 10;;;
@@ -36,6 +37,7 @@
36 #:use-module (gnu packages gnome) 37 #:use-module (gnu packages gnome)
37 #:use-module (gnu packages gtk) 38 #:use-module (gnu packages gtk)
38 #:use-module (gnu packages linux) 39 #:use-module (gnu packages linux)
40 #:use-module (gnu packages perl)
39 #:use-module (gnu packages pkg-config) 41 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages python) 42 #:use-module (gnu packages python)
41 #:use-module (gnu packages wm) 43 #:use-module (gnu packages wm)
@@ -261,6 +263,35 @@ multi-seat support, a replacement for @command{mingetty}, and more.")
261 (supported-systems (filter (cut string-suffix? "-linux" <>) 263 (supported-systems (filter (cut string-suffix? "-linux" <>)
262 %supported-systems)))) 264 %supported-systems))))
263 265
266(define-public libtermkey
267 (package
268 (name "libtermkey")
269 (version "0.18")
270 (source (origin
271 (method url-fetch)
272 (uri (string-append "http://www.leonerd.org.uk/code/"
273 name "/" name "-" version ".tar.gz"))
274 (sha256
275 (base32 "09ir16kaarv55mnc4jn2sqnjjhzpb1aha51wpd9ayif887g4d5r3"))))
276 (build-system gnu-build-system)
277 (arguments
278 '(#:make-flags (list
279 "CC=gcc"
280 (string-append "PREFIX=" (assoc-ref %outputs "out")))
281 #:phases (modify-phases %standard-phases
282 (delete 'configure))
283 #:test-target "test"))
284 (inputs `(("ncurses", ncurses)))
285 (native-inputs `(("libtool", libtool)
286 ("perl-test-harness" ,perl-test-harness)
287 ("pkg-config", pkg-config)))
288 (synopsis "Keyboard entry processing library for terminal-based programs")
289 (description
290 "Libtermkey handles all the necessary logic to recognise special keys, UTF-8
291combining, and so on, with a simple interface.")
292 (home-page "http://www.leonerd.org.uk/code/libtermkey")
293 (license license:expat)))
294
264(define-public picocom 295(define-public picocom
265 (package 296 (package
266 (name "picocom") 297 (name "picocom")
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
new file mode 100644
index 00000000000..4e2324dbea7
--- /dev/null
+++ b/gnu/packages/text-editors.scm
@@ -0,0 +1,77 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages text-editors)
20 #:use-module (guix packages)
21 #:use-module (guix download)
22 #:use-module (guix utils)
23 #:use-module (guix build-system gnu)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages lua)
27 #:use-module (gnu packages ncurses)
28 #:use-module (gnu packages terminals))
29
30(define-public vis
31 (package
32 (name "vis")
33 (version "0.2")
34 (source (origin
35 (method url-fetch)
36 (uri (string-append "https://github.com/martanne/"
37 name "/archive/v" version ".tar.gz"))
38 (file-name (string-append name "-" version ".tar.gz"))
39 (sha256
40 (base32 "0bbmkblpndc53pvr8xcfywdn8g351yxfj8c46zp5d744c3bq2nry"))))
41 (build-system gnu-build-system)
42 (arguments
43 `(#:make-flags '("CFLAGS=-pie")
44 #:tests? #f ; No tests.
45 #:phases
46 (modify-phases %standard-phases
47 (add-after 'install 'wrap-binary
48 (lambda* (#:key inputs outputs #:allow-other-keys)
49 (let* ((out (assoc-ref outputs "out"))
50 (lpeg (assoc-ref inputs "lua-lpeg"))
51 (lua-version ,(version-major+minor (package-version lua)))
52 (LUA_PATH (string-append lpeg "/share/lua/"
53 lua-version "/?.lua"))
54 (LUA_CPATH (string-append lpeg "/lib/lua/"
55 lua-version "/?.so")))
56 (wrap-program (string-append out "/bin/vis")
57 `("LUA_PATH" ":" prefix (,LUA_PATH))
58 `("LUA_CPATH" ":" prefix (,LUA_CPATH)))
59 #t))))))
60 (native-search-paths
61 (list (search-path-specification
62 (variable "VIS_PATH")
63 (files '("share/vis")))))
64 (inputs `(("lua", lua)
65 ("ncurses", ncurses)
66 ("libtermkey", libtermkey)
67 ("lua-lpeg", lua-lpeg)))
68 (synopsis "Vim-like text editor")
69 (description
70 "Vis aims to be a modern, legacy free, simple yet efficient vim-like text
71editor. It extends vim's modal editing with built-in support for multiple
72cursors/selections and combines it with sam's structural regular expression
73based command language.")
74 (home-page "https://github.com/martanne/vis")
75 (license (list license:isc ; Main distribution.
76 license:public-domain ; map.[ch]
77 license:expat)))) ; lexers and libutf.[ch]
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 9b461aa170d..6d5994bf364 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -39,14 +39,14 @@
39(define-public tor 39(define-public tor
40 (package 40 (package
41 (name "tor") 41 (name "tor")
42 (version "0.2.8.10") 42 (version "0.2.8.11")
43 (source (origin 43 (source (origin
44 (method url-fetch) 44 (method url-fetch)
45 (uri (string-append "https://dist.torproject.org/tor-" 45 (uri (string-append "https://dist.torproject.org/tor-"
46 version ".tar.gz")) 46 version ".tar.gz"))
47 (sha256 47 (sha256
48 (base32 48 (base32
49 "0kcw9hq4xz8p91xwyhjfry5p1dmn7vvnhpfz66vl9gsfndbqr2y8")))) 49 "1cvaviamvmajzpdgjn2k1rk3g9ywl1c4ygs5157gvnkyl6zs1pks"))))
50 (build-system gnu-build-system) 50 (build-system gnu-build-system)
51 (native-inputs 51 (native-inputs
52 `(("python" ,python-2))) ; for tests 52 `(("python" ,python-2))) ; for tests
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index edd2d3a4dd4..f6845fab042 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -684,14 +684,14 @@ property manipulation.")
684(define-public subversion 684(define-public subversion
685 (package 685 (package
686 (name "subversion") 686 (name "subversion")
687 (version "1.8.16") 687 (version "1.8.17")
688 (source (origin 688 (source (origin
689 (method url-fetch) 689 (method url-fetch)
690 (uri (string-append "https://archive.apache.org/dist/subversion/" 690 (uri (string-append "https://archive.apache.org/dist/subversion/"
691 "subversion-" version ".tar.bz2")) 691 "subversion-" version ".tar.bz2"))
692 (sha256 692 (sha256
693 (base32 693 (base32
694 "0imkxn25n6sbcgfldrx4z29npjprb1lxjm5fb89q4297161nx3zi")))) 694 "1450fkj1jmxyphqn6cd95z1ykwsabajm9jw4i412qpwss8w9a4fy"))))
695 (build-system gnu-build-system) 695 (build-system gnu-build-system)
696 (arguments 696 (arguments
697 '(#:phases 697 '(#:phases
@@ -705,7 +705,8 @@ property manipulation.")
705 ;; nice if this fix ultimately made its way into libtool. 705 ;; nice if this fix ultimately made its way into libtool.
706 (let ((coreutils (assoc-ref inputs "coreutils"))) 706 (let ((coreutils (assoc-ref inputs "coreutils")))
707 (substitute* "libtool" 707 (substitute* "libtool"
708 (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls")))))) 708 (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls")))
709 #t)))
709 (add-after 'install 'install-perl-bindings 710 (add-after 'install 'install-perl-bindings
710 (lambda* (#:key outputs #:allow-other-keys) 711 (lambda* (#:key outputs #:allow-other-keys)
711 ;; Follow the instructions from 'subversion/bindings/swig/INSTALL'. 712 ;; Follow the instructions from 'subversion/bindings/swig/INSTALL'.
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 3b93f274264..acacaea15da 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -13,6 +13,7 @@
13;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> 13;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
14;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 14;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
15;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> 15;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
16;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
16;;; 17;;;
17;;; This file is part of GNU Guix. 18;;; This file is part of GNU Guix.
18;;; 19;;;
@@ -212,14 +213,14 @@ television and DVD. It is also known as AC-3.")
212(define-public libx264 213(define-public libx264
213 (package 214 (package
214 (name "libx264") 215 (name "libx264")
215 (version "20160220-2245") 216 (version "20161205-2245")
216 (source (origin 217 (source (origin
217 (method url-fetch) 218 (method url-fetch)
218 (uri (string-append "http://download.videolan.org/pub/x264/snapshots/" 219 (uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
219 "x264-snapshot-" version ".tar.bz2")) 220 "x264-snapshot-" version ".tar.bz2"))
220 (sha256 221 (sha256
221 (base32 222 (base32
222 "12zyzbiihfhamf7yi4qqaj6k0nisnrydvfr36kxadvmsm7dg4sj3")))) 223 "0jjzdwag59kqlk09bb2pykm1ss8bw3p9q7bsks2kjgdwbj121a44"))))
223 (build-system gnu-build-system) 224 (build-system gnu-build-system)
224 (native-inputs 225 (native-inputs
225 `(("pkg-config" ,pkg-config) 226 `(("pkg-config" ,pkg-config)
@@ -245,7 +246,7 @@ television and DVD. It is also known as AC-3.")
245 (%current-system))) 246 (%current-system)))
246 '("--disable-asm") 247 '("--disable-asm")
247 '())))) 248 '()))))
248 (home-page "http://www.videolan.org/developers/x264.html") 249 (home-page "https://www.videolan.org/developers/x264.html")
249 (synopsis "H.264 video coding library") 250 (synopsis "H.264 video coding library")
250 (description "libx264 is an advanced encoding library for creating 251 (description "libx264 is an advanced encoding library for creating
251H.264 (MPEG-4 AVC) video streams.") 252H.264 (MPEG-4 AVC) video streams.")
@@ -441,14 +442,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
441(define-public ffmpeg 442(define-public ffmpeg
442 (package 443 (package
443 (name "ffmpeg") 444 (name "ffmpeg")
444 (version "3.2.1") 445 (version "3.2.2")
445 (source (origin 446 (source (origin
446 (method url-fetch) 447 (method url-fetch)
447 (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" 448 (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
448 version ".tar.xz")) 449 version ".tar.xz"))
449 (sha256 450 (sha256
450 (base32 451 (base32
451 "1pxsy9s9n2nvz970rid3j3b45w6s7ziwnrbc16rny7k0bpd97kqy")))) 452 "1z7d5y5crhsl5fm74236rdwbkd4jj5frx1l4iizjfym1w4gvs09z"))))
452 (build-system gnu-build-system) 453 (build-system gnu-build-system)
453 (inputs 454 (inputs
454 `(("fontconfig" ,fontconfig) 455 `(("fontconfig" ,fontconfig)
@@ -1830,3 +1831,31 @@ supported players in addition to this package.")
1830of modern, widely supported codecs.") 1831of modern, widely supported codecs.")
1831 ;; Most under GPL version 2 or later, and portions under BSD 3 Clause 1832 ;; Most under GPL version 2 or later, and portions under BSD 3 Clause
1832 (license (list license:gpl2+ license:bsd-3)))) 1833 (license (list license:gpl2+ license:bsd-3))))
1834
1835(define-public openh264
1836 (package
1837 (name "openh264")
1838 (version "1.6.0")
1839 (source (origin
1840 (method url-fetch)
1841 (uri (string-append "https://github.com/cisco/"
1842 name "/archive/v" version ".tar.gz"))
1843 (file-name (string-append name "-" version ".tar.gz"))
1844 (sha256
1845 (base32
1846 "1ix2fhk62i4q4kbnkl0gfk4x53vxqavsn0pck1pashr566zhglv5"))))
1847 (build-system gnu-build-system)
1848 (native-inputs
1849 `(("nasm" ,nasm)
1850 ("python" ,python)))
1851 (arguments
1852 '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1853 #:test-target "test"
1854 #:phases (modify-phases %standard-phases
1855 ;; no configure script
1856 (delete 'configure))))
1857 (home-page "http://www.openh264.org/")
1858 (synopsis "H264 decoder library")
1859 (description
1860 "Openh264 is a library which can decode H264 video streams.")
1861 (license license:bsd-2)))
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 83c21249b46..09c958eb172 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -49,7 +49,7 @@
49(define-public vim 49(define-public vim
50 (package 50 (package
51 (name "vim") 51 (name "vim")
52 (version "8.0.0101") 52 (version "8.0.0124")
53 (source (origin 53 (source (origin
54 (method url-fetch) 54 (method url-fetch)
55 (uri (string-append "https://github.com/vim/vim/archive/v" 55 (uri (string-append "https://github.com/vim/vim/archive/v"
@@ -57,7 +57,7 @@
57 (file-name (string-append name "-" version ".tar.gz")) 57 (file-name (string-append name "-" version ".tar.gz"))
58 (sha256 58 (sha256
59 (base32 59 (base32
60 "0kzk1p5vnqr8j5jwb3p745zx3dki5jwlsp7rh6nli0ci2w6vg3r8")))) 60 "0mb8r677yxk0s8wc5dq6lf7y2bva64vgch65g53ai57az6lx85cd"))))
61 (build-system gnu-build-system) 61 (build-system gnu-build-system)
62 (arguments 62 (arguments
63 `(#:test-target "test" 63 `(#:test-target "test"
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 697bab8e566..81676386a00 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -92,7 +92,9 @@
92 version ".tar.bz2")) 92 version ".tar.bz2"))
93 (sha256 93 (sha256
94 (base32 94 (base32
95 "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc")))) 95 "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc"))
96 (patches (search-patches "httpd-CVE-2016-8740.patch"))
97 (patch-flags '("-p0"))))
96 (build-system gnu-build-system) 98 (build-system gnu-build-system)
97 (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' 99 (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
98 (inputs `(("apr" ,apr) 100 (inputs `(("apr" ,apr)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 999f78927fe..46a8c3f873d 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -162,27 +162,49 @@ commands would.")
162(define-public i3-wm 162(define-public i3-wm
163 (package 163 (package
164 (name "i3-wm") 164 (name "i3-wm")
165 (version "4.12") 165 (version "4.13")
166 (source (origin 166 (source (origin
167 (method url-fetch) 167 (method url-fetch)
168 (uri (string-append "https://i3wm.org/downloads/i3-" 168 (uri (string-append "https://i3wm.org/downloads/i3-"
169 version ".tar.bz2")) 169 version ".tar.bz2"))
170 (sha256 170 (sha256
171 (base32 171 (base32
172 "1d3q3lgpjbkmcwzjhp0dfr0jq847silcfg087slcnj95ikh1r7p1")))) 172 "12ngz32swh9n85xy0cz1lq16aqi9ys5hq19v589q9a97wn1k3hcl"))))
173 (build-system gnu-build-system) 173 (build-system gnu-build-system)
174 (arguments 174 (arguments
175 `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) 175 `(#:make-flags
176 #:phases 176 (let* ((docbook-xsl-name-version ,(string-append
177 (modify-phases %standard-phases 177 (package-name docbook-xsl) "-"
178 (delete 'configure)) 178 (package-version docbook-xsl)))
179 #:tests? #f)) ; no test suite 179 (docbook-xsl-catalog-file (string-append
180 (assoc-ref %build-inputs "docbook-xsl")
181 "/xml/xsl/"
182 docbook-xsl-name-version
183 "/catalog.xml"))
184 (docbook-xml-catalog-file (string-append
185 (assoc-ref %build-inputs "docbook-xml")
186 "/xml/dtd/docbook/catalog.xml")))
187 ;; Reference the catalog files required to build the manpages.
188 (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
189 docbook-xml-catalog-file)
190 "CC=gcc"
191 (string-append "PREFIX=" %output)
192 ;; This works around the following error:
193 ;; 'error: ‘for’ loop initial declarations are only allowed in C99
194 ;; or C11 mode'
195 "CFLAGS=-std=c11"))
196 ;; The build system tries to build in a separate directory, but that
197 ;; seems to be unnecessary.
198 #:configure-flags '("--disable-builddir")
199 ;; The test suite appears to require the unpackaged Perl module AnyEvent.
200 #:tests? #f))
180 (inputs 201 (inputs
181 `(("libxcb" ,libxcb) 202 `(("libxcb" ,libxcb)
182 ("xcb-util" ,xcb-util) 203 ("xcb-util" ,xcb-util)
183 ("xcb-util-cursor" ,xcb-util-cursor) 204 ("xcb-util-cursor" ,xcb-util-cursor)
184 ("xcb-util-keysyms" ,xcb-util-keysyms) 205 ("xcb-util-keysyms" ,xcb-util-keysyms)
185 ("xcb-util-wm" ,xcb-util-wm) 206 ("xcb-util-wm" ,xcb-util-wm)
207 ("xcb-util-xrm" ,xcb-util-xrm)
186 ("libxkbcommon" ,libxkbcommon) 208 ("libxkbcommon" ,libxkbcommon)
187 ("libev" ,libev) 209 ("libev" ,libev)
188 ("libyajl" ,libyajl) 210 ("libyajl" ,libyajl)
@@ -198,7 +220,9 @@ commands would.")
198 (native-inputs 220 (native-inputs
199 `(("which" ,which) 221 `(("which" ,which)
200 ("perl" ,perl) 222 ("perl" ,perl)
201 ("pkg-config" ,pkg-config))) 223 ("pkg-config" ,pkg-config)
224 ;; For building the documentation.
225 ("docbook-xsl" ,docbook-xsl)))
202 (home-page "https://i3wm.org/") 226 (home-page "https://i3wm.org/")
203 (synopsis "Improved tiling window manager") 227 (synopsis "Improved tiling window manager")
204 (description "A tiling window manager, completely written 228 (description "A tiling window manager, completely written
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 4d387f1c04d..3a72843b13e 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5408,8 +5408,9 @@ The XCB util module provides the following libraries:
5408 `(("m4" ,m4) 5408 `(("m4" ,m4)
5409 ("pkg-config" ,pkg-config))) 5409 ("pkg-config" ,pkg-config)))
5410 (inputs 5410 (inputs
5411 `(("libxcb" ,libxcb) 5411 `(("libxcb" ,libxcb)))
5412 ("xcb-util-renderutil" ,xcb-util-renderutil) 5412 (propagated-inputs
5413 `(("xcb-util-renderutil" ,xcb-util-renderutil)
5413 ("xcb-util-image" ,xcb-util-image))) 5414 ("xcb-util-image" ,xcb-util-image)))
5414 (home-page "https://cgit.freedesktop.org/xcb/util-cursor/") 5415 (home-page "https://cgit.freedesktop.org/xcb/util-cursor/")
5415 (synopsis "Port of libxcursor") 5416 (synopsis "Port of libxcursor")