From 4cf9f57b0e1543ff5a6adddbbff7f27d1ea0bcbe Mon Sep 17 00:00:00 2001 From: Christopher Andersson Date: Sun, 4 Dec 2016 11:24:26 +0100 Subject: gnu: Add Swedish Aspell dictionary. * gnu/packages/aspell.scm (aspell-dict-sv): New variable. Signed-off-by: Marius Bakke --- gnu/packages/aspell.scm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 04a9197839..f39205714c 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Christopher Andersson ;;; ;;; This file is part of GNU Guix. ;;; @@ -163,3 +164,11 @@ dictionaries, including personal ones.") #:sha256 (base32 "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"))) + +(define-public aspell-dict-sv + (aspell-dictionary "sv" "Swedish" + #:version "0.51-0" + #:prefix "aspell-" + #:sha256 + (base32 + "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v"))) -- cgit v1.2.3 From b3410b44b267b2164be1914a172b82e2a9144dbb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 4 Dec 2016 19:35:46 +0100 Subject: gnu: Add qmidiarp. * gnu/packages/music.scm (qmidiarp): New variable. --- gnu/packages/music.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 7a9cb5f6de..b3e66fff94 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2566,6 +2566,38 @@ plugin on any system where Ingen is installed. This allows users to visually develop custom plugins for use in other applications without programming.") (license license:agpl3+)))) +(define-public qmidiarp + (package + (name "qmidiarp") + (version "0.6.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/qmidiarp/qmidiarp/" + version "/qmidiarp-" version ".tar.bz2")) + (sha256 + (base32 + "1gkfv8ajgf86kbn6j5ilfc1zlz17gdi9yxzywqd6jwff4xlm75hx")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-qt5" + "CXXFLAGS=-std=gnu++11"))) + (inputs + `(("qtbase" ,qtbase) + ("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("liblo" ,liblo) + ("lv2" ,lv2))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (home-page "http://qmidiarp.sourceforge.net/") + (synopsis "MIDI arpeggiator") + (description "QMidiArp is an advanced MIDI arpeggiator, programmable step +sequencer and LFO. It can hold any number of arpeggiator, sequencer, or LFO +modules running in parallel.") + (license license:gpl2+))) + (define-public python-discogs-client (package (name "python-discogs-client") -- cgit v1.2.3 From 9865a150572e364157cb0787041a3dfc3c3a1c44 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Dec 2016 14:27:56 +0100 Subject: gnu: vim: Update to 8.0.0118. * gnu/packages/vim.scm (vim, vim-full): Update to 8.0.0118. --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 83c21249b4..53d53db756 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -49,7 +49,7 @@ (define-public vim (package (name "vim") - (version "8.0.0101") + (version "8.0.0118") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" @@ -57,7 +57,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kzk1p5vnqr8j5jwb3p745zx3dki5jwlsp7rh6nli0ci2w6vg3r8")))) + "0gryqly7rnkc95psh3vaqq4bs0s9bfv31a2d38y188raig72dgll")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit v1.2.3 From c8608faf1472c14fe76ba3a7fd2d2e064c537dea Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 4 Dec 2016 21:08:47 +0100 Subject: gnu: dovecot: Update to 2.2.27. * gnu/packages/mail.scm (dovecot): Update to 2.2.27. [source, home-page]: Use HTTPS. --- gnu/packages/mail.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a8359d572c..39599adc42 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -933,15 +933,15 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.2.26.0") + (version "2.2.27") (source (origin (method url-fetch) - (uri (string-append "http://www.dovecot.org/releases/" + (uri (string-append "https://www.dovecot.org/releases/" (version-major+minor version) "/" name "-" version ".tar.gz")) (sha256 (base32 - "01bgj8b2whi35ghbxb19nmr3xvx2zgjzxxw1crgx2v73kprs34pn")))) + "1s8qvr6fa9d0n179kdwgpsi72zkvpbh9q57q8fr2fjysgjl94zw9")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -973,7 +973,7 @@ facilities for checking incoming mail.") (("/bin/cat") (which "cat")) (("/bin/false") (which "false"))) #t))))) - (home-page "http://www.dovecot.org") + (home-page "https://www.dovecot.org") (synopsis "Secure POP3/IMAP server") (description "Dovecot is a mail server whose major goals are security and reliability. -- cgit v1.2.3 From 222222be63a30af67817c408ffc8b36b1dd836d2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Dec 2016 22:12:37 +0100 Subject: gnu: vim: Update to 8.0.0124. * gnu/packages/vim.scm (vim, vim-full): Update to 8.0.0124. --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 53d53db756..09c958eb17 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -49,7 +49,7 @@ (define-public vim (package (name "vim") - (version "8.0.0118") + (version "8.0.0124") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" @@ -57,7 +57,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0gryqly7rnkc95psh3vaqq4bs0s9bfv31a2d38y188raig72dgll")))) + "0mb8r677yxk0s8wc5dq6lf7y2bva64vgch65g53ai57az6lx85cd")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit v1.2.3 From ba9f0db08cca257d167a2e5900f350b50323d13f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 3 Dec 2016 23:36:10 +0100 Subject: services: tor: Make sure /var/lib is world-readable. * gnu/services/networking.scm (tor-hidden-service-activation): Add 'chmod' call for /var/lib. --- gnu/services/networking.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index bbb9053008..d672ecf687 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -467,6 +467,9 @@ HiddenServicePort ~a ~a~%" (chown "/var/lib/tor" (passwd:uid %user) (passwd:gid %user)) (chmod "/var/lib/tor" #o700) + ;; Make sure /var/lib is accessible to the 'tor' user. + (chmod "/var/lib" #o755) + (for-each initialize '#$(map hidden-service-name (tor-configuration-hidden-services config))))) -- cgit v1.2.3 From 95088559a9055133dbfaf9b92ef6f141b5802445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 4 Dec 2016 22:31:58 +0100 Subject: gnu: shepherd: Update to 0.3.2. * gnu/packages/admin.scm (shepherd): Update to 0.3.2. [properties]: New field. --- gnu/packages/admin.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index f1c283c7c2..2079bf9e0f 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -141,14 +141,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-" version ".tar.gz")) (sha256 (base32 - "0f3yi3n4sl9myiay95yhv2a9an338qddfjrbv7da753ip66dkfz6")))) + "174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) @@ -161,7 +161,8 @@ the execution of system services, replacing similar functionality found in typical init systems. It provides dependency-handling through a convenient interface and is based on GNU Guile.") (license license:gpl3+) - (home-page "http://www.gnu.org/software/shepherd/"))) + (home-page "https://www.gnu.org/software/shepherd/") + (properties '((ftp-server . "alpha.gnu.org"))))) (define-public dfc (package -- cgit v1.2.3 From 8f35c0306192c4b62646f2aa02879c2a8c4f4a07 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 4 Dec 2016 19:24:42 -0500 Subject: gnu: python-flask: Propagate python-click. * gnu/packages/python.scm (python-flask, python2-flask)[native-inputs]: Move python-click to ... [propagated-inputs]: ... here. --- gnu/packages/python.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8f8b0de721..0df9496672 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9153,9 +9153,8 @@ useful for solving the Assignment Problem.") (propagated-inputs `(("python-itsdangerous" ,python-itsdangerous) ("python-jinja2" ,python-jinja2) + ("python-click" ,python-click) ("python-werkzeug" ,python-werkzeug))) - (native-inputs - `(("python-click" ,python-click))) (home-page "https://github.com/mitsuhiko/flask/") (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions") (description "Flask is a micro web framework based on the Werkzeug toolkit -- cgit v1.2.3 From 8975d00cd66c1d5a4a4767f5101ce1b2bc16d482 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Dec 2016 16:10:46 +0100 Subject: gnu: Add mktorrent. * gnu/packages/bittorrent.scm (mktorrent): New variable. --- gnu/packages/bittorrent.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 4d2fd99744..76c48353bd 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Tomáš Čech +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -257,7 +258,6 @@ download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") (license l:gpl2+))) - (define-public uget (package (name "uget") @@ -292,3 +292,36 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection downloads, download scheduling, download rate limiting.") (license l:lgpl2.1+))) + +(define-public mktorrent + (package + (name "mktorrent") + (version "1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mktorrent/mktorrent/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "17qi3nfky240pq6qcmf5qg324mxm83vk9r3nvsdhsvinyqm5d3kg")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out")) + "NO_HASH_CHECK=1" + "USE_LARGE_FILES=1" + "USE_LONG_OPTIONS=1" + "USE_PTHREADS=1") + #:tests? #f)) ; no tests + (home-page "http://mktorrent.sourceforge.net/") + (synopsis "Utility to create BitTorrent metainfo files") + (description "mktorrent is a simple command-line utility to create +BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from +both single files and whole directories. It can add multiple trackers and web +seed URLs, and set the @code{private} flag to disallow advertisement through +the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded +and will take advantage of multiple processor cores where possible.") + (license (list l:public-domain ; sha1.*, used to build without OpenSSL + l:gpl2+)))) ; with permission to link with OpenSSL -- cgit v1.2.3 From 694f485b472028e87841a9d2fbfab5728dcd3789 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Dec 2016 20:19:54 +0100 Subject: gnu: exfat-utils: Update to 1.2.5. * gnu/packages/mtools.scm (exfat-utils): Update to 1.2.5. --- gnu/packages/mtools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm index a95b8ef5e9..947c606853 100644 --- a/gnu/packages/mtools.scm +++ b/gnu/packages/mtools.scm @@ -49,7 +49,7 @@ FAT-specific file attributes.") (define-public exfat-utils (package (name "exfat-utils") - (version "1.2.4") + (version "1.2.5") (source (origin (method url-fetch) (uri (string-append @@ -57,7 +57,7 @@ FAT-specific file attributes.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "04dvrdmwmj9ggad8aq6inbjcq2yi9i62z42nnivhk7bb84k1k9ba")))) + "1qhvjd6dmzhxjdnm4cklajbr03wsjjvkxrsjij517a33napcl93s")))) (build-system gnu-build-system) (home-page "https://github.com/relan/exfat") (synopsis "Utilities to manipulate exFAT file systems") -- cgit v1.2.3 From c0cc805e3fbabcbae948b7af0875b9655b01b264 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Dec 2016 20:29:15 +0100 Subject: gnu: fuse-exfat: Update to 1.2.5. * gnu/packages/linux.scm (fuse-exfat): Update to 1.2.5. [native-inputs]: Remove scons build system which is no longer used. [arguments]: Remove. [home-page]: Replace dead Google Code home page. --- gnu/packages/linux.scm | 48 +++++++----------------------------------------- 1 file changed, 7 insertions(+), 41 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6d00efefac..724a53a30e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2563,55 +2563,21 @@ is flexible, efficient and uses a modular implementation.") (define-public fuse-exfat (package (name "fuse-exfat") - (version "1.1.0") + (version "1.2.5") (source (origin (method url-fetch) - (uri "https://docs.google.com/uc?export=download&\ -id=0B7CLI-REKbE3VTdaa0EzTkhYdU0") + (uri (string-append + "https://github.com/relan/exfat/releases/download/v" + version "/" name "-" version ".tar.gz")) (sha256 (base32 - "0glmgwrf0nv09am54i6s35ksbvrywrwc51w6q32mv5by8475530r")) - (file-name (string-append name "-" version ".tar.gz")))) + "1i0sh0s6wnm4dqxli3drva871wgbbm57qjf592vnswna9hc6bvim")))) (build-system gnu-build-system) (native-inputs - `(("scons" ,scons) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (inputs `(("fuse" ,fuse))) - (arguments - '(#:tests? #f ;no test suite - - ;; XXX: Factorize with 'exfat-utils'. - #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'scons-propagate-environment - (lambda _ - ;; Modify the SConstruct file to arrange for - ;; environment variables to be propagated. - (substitute* "SConstruct" - (("^env = Environment\\(") - "env = Environment(ENV=os.environ, ")))) - (replace 'build - (lambda _ - (zero? (system* "scons")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man8 (string-append out - "/share/man/man8"))) - (mkdir-p bin) - (mkdir-p man8) - (for-each (lambda (file) - (copy-file - file - (string-append man8 "/" - (basename file)))) - (find-files "." "\\.8$")) - (zero? (system* "scons" "install" - (string-append "DESTDIR=" - bin))))))))) - (home-page "http://code.google.com/p/exfat/") + (home-page "https://github.com/relan/exfat") (synopsis "Mount exFAT file systems") (description "This package provides a FUSE-based file system that provides read and -- cgit v1.2.3 From 9328eafbf590938d2b7c4b8c6476a8664fa052b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 5 Dec 2016 20:52:58 +0100 Subject: services: file-system: Make sure fsck.* commands are in $PATH. Fixes a regression introduced in bf7ef1bb848db0977b54ea012789adc68751c68a, whereby the fsck.* commands would not be found. * gnu/services/base.scm (file-system-shepherd-service): Call calls to 'setenv'. --- gnu/services/base.scm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 2b3d3f8548..ea1ab63d1b 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -269,10 +269,24 @@ FILE-SYSTEM." #$(if create? #~(mkdir-p #$target) #t) - (mount-file-system - `(#$device #$title #$target #$type #$flags #$options - #$check?) #:root "/") - #t)) + + (let (($PATH (getenv "PATH"))) + ;; Make sure fsck.ext2 & co. can be found. + (dynamic-wind + (lambda () + (setenv "PATH" + (string-append + #$e2fsprogs "/sbin:" + "/run/current-system/profile/sbin:" + $PATH))) + (lambda () + (mount-file-system + `(#$device #$title #$target #$type #$flags + #$options #$check?) + #:root "/")) + (lambda () + (setenv "PATH" $PATH))) + #t))) (stop #~(lambda args ;; Normally there are no processes left at this point, so ;; TARGET can be safely unmounted. -- cgit v1.2.3 From 3a6a563228333e440c9fcb5fb493d40ecf43d14d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 5 Dec 2016 21:09:02 +0100 Subject: gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix-devel): Update to 9328eaf. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ac7c26d40c..29afe8097f 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -226,9 +226,9 @@ the Nix package manager.") ;; ;; Note: use a very short commit id; with a longer one, the limit on ;; hash-bang lines would be exceeded while running the tests. - (let ((commit "463fb7d0c86fb9957c527272e6cec5ee23585366")) + (let ((commit "9328eafbf590938d2b7c4b8c6476a8664fa052b7")) (package (inherit guix-0.11.0) - (version (string-append "0.11.0-5." (string-take commit 4))) + (version (string-append "0.11.0-6." (string-take commit 4))) (source (origin (method git-fetch) (uri (git-reference @@ -238,7 +238,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "0k74j6m5hy055knirnry75qrgph4zywypxjyaqv6saixb6yx7av3")) + "02w1319phmpm1vj425izk4q5www6pa9ln4g432lyhqv5ikf0xldg")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.11.0) -- cgit v1.2.3 From 6e02766d433c8d5f56af628fbcaf5f2ca6e63953 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 5 Dec 2016 16:35:57 -0500 Subject: gnu: ruby-2.2, ruby-2.1, ruby-1.8: Don't replace with ruby-2.3.3. * gnu/packages/ruby.scm (ruby-2.2, ruby-2.1, ruby-1.8)[replacement]: New field. --- gnu/packages/ruby.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index baae553992..f7b0903478 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -123,6 +123,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.2 (package (inherit ruby) + (replacement #f) (version "2.2.6") (source (origin @@ -136,6 +137,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.1 (package (inherit ruby) + (replacement #f) (version "2.1.10") (source (origin @@ -169,6 +171,7 @@ a focus on simplicity and productivity.") (define-public ruby-1.8 (package (inherit ruby) + (replacement #f) (version "1.8.7-p374") (source (origin -- cgit v1.2.3 From 81f4f1051fa038a6ae10c930c6475f49ec8cb056 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 4 Dec 2016 17:37:30 -0500 Subject: gnu: xcb-util-cursor: Propagate dependencies from 'xcb-cursor.pc'. * gnu/packages/xorg.scm (xcb-util-cursor)[inputs]: Move xcb-util-renderutil and xcb-util-image to ... [propagated-inputs]: ... here. --- gnu/packages/xorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 18271b5ed4..fc721cafbd 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5408,8 +5408,9 @@ The XCB util module provides the following libraries: `(("m4" ,m4) ("pkg-config" ,pkg-config))) (inputs - `(("libxcb" ,libxcb) - ("xcb-util-renderutil" ,xcb-util-renderutil) + `(("libxcb" ,libxcb))) + (propagated-inputs + `(("xcb-util-renderutil" ,xcb-util-renderutil) ("xcb-util-image" ,xcb-util-image))) (home-page "https://cgit.freedesktop.org/xcb/util-cursor/") (synopsis "Port of libxcursor") -- cgit v1.2.3 From 4bd391f557a66660525805e9ea56d506f8eaed68 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 4 Dec 2016 17:39:00 -0500 Subject: gnu: i3-wm: Update to 4.13. * gnu/packages/wm.scm (i3-wm): Update to 4.13. [arguments]: Pass '-std=c11' to #:make-flags. Provide path to XML_CATALOG_FILES. Pass '--disable-builddir' to #:configure-flags. Re-enable the 'configure' phase to adjust to new Autotools build system. [inputs]: Add xcb-util-xrm. [native-inputs]: Add docbook-xsl. --- gnu/packages/wm.scm | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 999f78927f..46a8c3f873 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -162,27 +162,49 @@ commands would.") (define-public i3-wm (package (name "i3-wm") - (version "4.12") + (version "4.13") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/downloads/i3-" version ".tar.bz2")) (sha256 (base32 - "1d3q3lgpjbkmcwzjhp0dfr0jq847silcfg087slcnj95ikh1r7p1")))) + "12ngz32swh9n85xy0cz1lq16aqi9ys5hq19v589q9a97wn1k3hcl")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure)) - #:tests? #f)) ; no test suite + `(#:make-flags + (let* ((docbook-xsl-name-version ,(string-append + (package-name docbook-xsl) "-" + (package-version docbook-xsl))) + (docbook-xsl-catalog-file (string-append + (assoc-ref %build-inputs "docbook-xsl") + "/xml/xsl/" + docbook-xsl-name-version + "/catalog.xml")) + (docbook-xml-catalog-file (string-append + (assoc-ref %build-inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml"))) + ;; Reference the catalog files required to build the manpages. + (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " " + docbook-xml-catalog-file) + "CC=gcc" + (string-append "PREFIX=" %output) + ;; This works around the following error: + ;; 'error: ‘for’ loop initial declarations are only allowed in C99 + ;; or C11 mode' + "CFLAGS=-std=c11")) + ;; The build system tries to build in a separate directory, but that + ;; seems to be unnecessary. + #:configure-flags '("--disable-builddir") + ;; The test suite appears to require the unpackaged Perl module AnyEvent. + #:tests? #f)) (inputs `(("libxcb" ,libxcb) ("xcb-util" ,xcb-util) ("xcb-util-cursor" ,xcb-util-cursor) ("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-wm" ,xcb-util-wm) + ("xcb-util-xrm" ,xcb-util-xrm) ("libxkbcommon" ,libxkbcommon) ("libev" ,libev) ("libyajl" ,libyajl) @@ -198,7 +220,9 @@ commands would.") (native-inputs `(("which" ,which) ("perl" ,perl) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ;; For building the documentation. + ("docbook-xsl" ,docbook-xsl))) (home-page "https://i3wm.org/") (synopsis "Improved tiling window manager") (description "A tiling window manager, completely written -- cgit v1.2.3 From 8243951ef1b9de902bfd719e40759d62696b8050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Dec 2016 00:24:24 +0100 Subject: gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix-devel): Update to e11c42f. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 29afe8097f..7baaf489f9 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -226,9 +226,9 @@ the Nix package manager.") ;; ;; Note: use a very short commit id; with a longer one, the limit on ;; hash-bang lines would be exceeded while running the tests. - (let ((commit "9328eafbf590938d2b7c4b8c6476a8664fa052b7")) + (let ((commit "e11c42f297a4e128aa5abd11f379a250146f5cab")) (package (inherit guix-0.11.0) - (version (string-append "0.11.0-6." (string-take commit 4))) + (version (string-append "0.11.0-7." (string-take commit 4))) (source (origin (method git-fetch) (uri (git-reference @@ -238,7 +238,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "02w1319phmpm1vj425izk4q5www6pa9ln4g432lyhqv5ikf0xldg")) + "0lhgj995pwf9x97vv40w71vnd11xg4wp9ik6nfx6carb0ry68ni2")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.11.0) -- cgit v1.2.3 From 40f2d1bc3b45bc9bb8803cdd56788997a0ede762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Dec 2016 01:24:06 +0100 Subject: gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix-devel): Update to 8d125c. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 7baaf489f9..099cbb64d8 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -226,9 +226,9 @@ the Nix package manager.") ;; ;; Note: use a very short commit id; with a longer one, the limit on ;; hash-bang lines would be exceeded while running the tests. - (let ((commit "e11c42f297a4e128aa5abd11f379a250146f5cab")) + (let ((commit "8d125cfc2e5cb0825bb40893ec3e940f85f1b235")) (package (inherit guix-0.11.0) - (version (string-append "0.11.0-7." (string-take commit 4))) + (version (string-append "0.11.0-8." (string-take commit 4))) (source (origin (method git-fetch) (uri (git-reference @@ -238,7 +238,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "0lhgj995pwf9x97vv40w71vnd11xg4wp9ik6nfx6carb0ry68ni2")) + "0h73m1zad67qqn7ygypcqscicvqj31wwkxsr85d5lr77v6bx7b6z")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.11.0) -- cgit v1.2.3 From 590abe010bc7bc1f9e7707bfeaffd6629998d898 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 18 Jun 2016 22:40:51 +0200 Subject: gnu: Add openh264. * gnu/packages/video.scm (openh264): New variable. --- gnu/packages/video.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3b93f27426..c889d22446 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2016 Andy Patterson ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Eric Bavier +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -1830,3 +1831,31 @@ supported players in addition to this package.") of modern, widely supported codecs.") ;; Most under GPL version 2 or later, and portions under BSD 3 Clause (license (list license:gpl2+ license:bsd-3)))) + +(define-public openh264 + (package + (name "openh264") + (version "1.6.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cisco/" + name "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ix2fhk62i4q4kbnkl0gfk4x53vxqavsn0pck1pashr566zhglv5")))) + (build-system gnu-build-system) + (native-inputs + `(("nasm" ,nasm) + ("python" ,python))) + (arguments + '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:test-target "test" + #:phases (modify-phases %standard-phases + ;; no configure script + (delete 'configure)))) + (home-page "http://www.openh264.org/") + (synopsis "H264 decoder library") + (description + "Openh264 is a library which can decode H264 video streams.") + (license license:bsd-2))) -- cgit v1.2.3 From 24420005ec730e6abe05a9cfc34e0fd87ee24c9c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Dec 2016 22:24:55 +0200 Subject: gnu: links: Update to 2.14. * gnu/packages/links.scm (links): Update to 2.14. --- gnu/packages/links.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/links.scm b/gnu/packages/links.scm index 2f0c12a786..145ed761ee 100644 --- a/gnu/packages/links.scm +++ b/gnu/packages/links.scm @@ -33,13 +33,13 @@ (define-public links (package (name "links") - (version "2.13") + (version "2.14") (source (origin (method url-fetch) (uri (string-append "http://links.twibright.com/download/" name "-" version ".tar.bz2")) (sha256 - (base32 "01a4mbpvf7450ymqarjkpmzrm0z2zyd9lvqwg7x9kcd36i9hjln2")))) + (base32 "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 5a66e25ce631802b4a3fcc16fca20ae67e77c34e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 4 Dec 2016 20:51:58 +0100 Subject: gnu: Add seq24. * gnu/packages/music.scm (seq24): New variable. * gnu/packages/patches/seq24-rename-mutex.patch: New file. * gnu/local.mk (dist_patch_DATA): Register patch. --- gnu/local.mk | 1 + gnu/packages/music.scm | 30 +++++++ gnu/packages/patches/seq24-rename-mutex.patch | 124 ++++++++++++++++++++++++++ 3 files changed, 155 insertions(+) create mode 100644 gnu/packages/patches/seq24-rename-mutex.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 96689a7d60..9f8325d833 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -854,6 +854,7 @@ dist_patch_DATA = \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-test-threading.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ + %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/serf-comment-style-fix.patch \ %D%/packages/patches/serf-deflate-buckets-test-fix.patch \ %D%/packages/patches/slim-session.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b3e66fff94..e1ab90b001 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2598,6 +2598,36 @@ sequencer and LFO. It can hold any number of arpeggiator, sequencer, or LFO modules running in parallel.") (license license:gpl2+))) +(define-public seq24 + (package + (name "seq24") + (version "0.9.3") + (source (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/seq24/trunk/" + version "/+download/seq24-" + version ".tar.bz2")) + (sha256 + (base32 + "12dphdhnvfk1k0vmagi1v2lhyxjyj1j3cz6ksjw0ydcvid1x8ap2")) + (patches (search-patches "seq24-rename-mutex.patch")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "CXXFLAGS=-std=gnu++11"))) + (inputs + `(("gtkmm" ,gtkmm-2) + ("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("lash" ,lash))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://edge.launchpad.net/seq24/") + (synopsis "Real-time MIDI sequencer") + (description "Seq24 is a real-time MIDI sequencer. It was created to +provide a very simple interface for editing and playing MIDI loops.") + (license license:gpl2+))) + (define-public python-discogs-client (package (name "python-discogs-client") diff --git a/gnu/packages/patches/seq24-rename-mutex.patch b/gnu/packages/patches/seq24-rename-mutex.patch new file mode 100644 index 0000000000..ddc5910119 --- /dev/null +++ b/gnu/packages/patches/seq24-rename-mutex.patch @@ -0,0 +1,124 @@ +The custom mutex definition in Seq24 clashes with the mutex defined in gtkmm. +This patch renames the custom definition. + +See https://bugs.launchpad.net/seq24/+bug/1647614 for upstream bug report. + +diff --git a/src/midibus.h b/src/midibus.h +index 2cdf8e8..1bb02bd 100644 +--- a/src/midibus.h ++++ b/src/midibus.h +@@ -90,7 +90,7 @@ class midibus + + + /* locking */ +- mutex m_mutex; ++ seq24mutex m_mutex; + + /* mutex */ + void lock(); +@@ -208,7 +208,7 @@ class mastermidibus + sequence *m_seq; + + /* locking */ +- mutex m_mutex; ++ seq24mutex m_mutex; + + /* mutex */ + void lock(); +diff --git a/src/midibus_portmidi.h b/src/midibus_portmidi.h +index 0119e9c..8c6a27a 100644 +--- a/src/midibus_portmidi.h ++++ b/src/midibus_portmidi.h +@@ -65,7 +65,7 @@ class midibus + long m_lasttick; + + /* locking */ +- mutex m_mutex; ++ seq24mutex m_mutex; + + /* mutex */ + void lock(); +@@ -164,7 +164,7 @@ class mastermidibus + sequence *m_seq; + + /* locking */ +- mutex m_mutex; ++ seq24mutex m_mutex; + + /* mutex */ + void lock(); +diff --git a/src/mutex.cpp b/src/mutex.cpp +index b3f23fd..914114f 100644 +--- a/src/mutex.cpp ++++ b/src/mutex.cpp +@@ -20,23 +20,23 @@ + + #include "mutex.h" + +-const pthread_mutex_t mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; ++const pthread_mutex_t seq24mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; + const pthread_cond_t condition_var::cond = PTHREAD_COND_INITIALIZER; + +-mutex::mutex( ) ++seq24mutex::seq24mutex( ) + { + m_mutex_lock = recmutex; + } + + void +-mutex::lock( ) ++seq24mutex::lock( ) + { + pthread_mutex_lock( &m_mutex_lock ); + } + + + void +-mutex::unlock( ) ++seq24mutex::unlock( ) + { + pthread_mutex_unlock( &m_mutex_lock ); + } +diff --git a/src/mutex.h b/src/mutex.h +index 399f8a3..4f1b867 100644 +--- a/src/mutex.h ++++ b/src/mutex.h +@@ -24,7 +24,7 @@ + + #include + +-class mutex { ++class seq24mutex { + + private: + +@@ -37,14 +37,14 @@ protected: + + public: + +- mutex(); ++ seq24mutex(); + + void lock(); + void unlock(); + + }; + +-class condition_var : public mutex { ++class condition_var : public seq24mutex { + + private: + +diff --git a/src/sequence.h b/src/sequence.h +index 2943946..9da8700 100644 +--- a/src/sequence.h ++++ b/src/sequence.h +@@ -153,7 +153,7 @@ class sequence + long m_rec_vol; + + /* locking */ +- mutex m_mutex; ++ seq24mutex m_mutex; + + /* used to idenfity which events are ours in the out queue */ + //unsigned char m_tag; -- cgit v1.2.3 From 4dbc8ec483f2c9fb66a6db4502a4d617dc141889 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 5 Dec 2016 11:55:01 +0100 Subject: gnu: python-ipython: Update to 4.0.3 * gnu/packages/python.scm (python-ipython, python2-ipython): Update to version 4.0.3. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0df9496672..67022d27fb 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4705,13 +4705,13 @@ tools for mocking system commands and recording calls to those.") (define-public python-ipython (package (name "python-ipython") - (version "4.0.0") + (version "4.0.3") (source (origin (method url-fetch) (uri (pypi-uri "ipython" version ".tar.gz")) (sha256 - (base32 "1npl8g6bfsff9j938ypx0q5fyzy2l8lp0jl8skjjj2zv0z27dlig")))) + (base32 "1h2gp1p06sww9rzfkfzqy489bh47gj3910y2b1wdk3dcx1cqz4is")))) (build-system python-build-system) (outputs '("out" "doc")) (propagated-inputs -- cgit v1.2.3 From c4abbac3495fcb43491625c290cc19141dccd421 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 5 Dec 2016 12:13:15 +0100 Subject: gnu: python-ipython-genutils: Update description. * gnu/packages/python.scm (python-ipython-genutils)[description]: Add deprecation note and TODO comment. --- gnu/packages/python.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 67022d27fb..d51dd4b9e0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4520,6 +4520,7 @@ standard library.") (package-with-python2 python-simplegeneric)) (define-public python-ipython-genutils + ;; TODO: This package is retired, check if can be removed, see description. (package (name "python-ipython-genutils") (version "0.1.0") @@ -4536,7 +4537,13 @@ standard library.") (home-page "http://ipython.org") (synopsis "Vestigial utilities from IPython") (description - "This package provides retired utilities from IPython.") + "This package provides retired utilities from IPython. No packages +outside IPython/Jupyter should depend on it. + +This package shouldn't exist. It contains some common utilities shared by +Jupyter and IPython projects during The Big Split. As soon as possible, those +packages will remove their dependency on this, and this package will go +away.") (license license:bsd-3))) (define-public python2-ipython-genutils -- cgit v1.2.3 From 3a735ecf0e501b573a29d273d6b8e2ace5a2c431 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Tue, 6 Dec 2016 11:26:34 +0100 Subject: gnu: python2-notebook: Fix build. * gnu/packages/python.scm (python2-notebook)[properties]: Add python2-variant. (python2-notebook)[native-packages] add python2-mock. [arguments] Add phase "disable-test-case" for disabling a failing test. immediately --- gnu/packages/python.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d51dd4b9e0..d624229640 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6866,10 +6866,28 @@ convert an @code{.ipynb} notebook file into various static formats including: (description "The Jupyter HTML notebook is a web-based notebook environment for interactive computing.") + (properties `((python2-variant . ,(delay python2-notebook)))) (license license:bsd-3))) (define-public python2-notebook - (package-with-python2 python-notebook)) + (let ((base (package-with-python2 + (strip-python2-variant python-notebook)))) + (package (inherit base) + (native-inputs + `(("python2-mock" ,python2-mock) + ,@(package-native-inputs base))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'disable-test-case + ;; The test requires network access to localhost. Curiously it + ;; fails with Python 2 only. Simply make the test-case return + ;; immediately. + (lambda _ + (substitute* + "notebook/services/nbconvert/tests/test_nbconvert_api.py" + (("formats = self.nbconvert_api") "return #"))))))))))) (define-public python-widgetsnbextension (package -- cgit v1.2.3 From 1ebe49f192d6c84bf55ac16188d7966f673f4388 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Dec 2016 15:36:59 +0200 Subject: gnu: httpd: Add fix for CVE-2016-8740. * gnu/packages/web.scm (httpd)[source]: Add patch for CVE-2016-8740. * gnu/packages/patches/httpd-CVE-2016-8740.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/patches/httpd-CVE-2016-8740.patch | 36 ++++++++++++++++++++++++++ gnu/packages/web.scm | 4 ++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/httpd-CVE-2016-8740.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 9f8325d833..bc9b06da63 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -620,6 +620,7 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/hop-linker-flags.patch \ + %D%/packages/patches/httpd-CVE-2016-8740.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/hypre-doc-tables.patch \ %D%/packages/patches/hypre-ldflags.patch \ 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 0000000000..17ba323ccf --- /dev/null +++ b/gnu/packages/patches/httpd-CVE-2016-8740.patch @@ -0,0 +1,36 @@ +This patch applies against httpd-2.4.23 and shouldn't be needed in later releases +http://openwall.com/lists/oss-security/2016/12/05/17 +Index: modules/http2/h2_stream.c +=================================================================== +--- modules/http2/h2_stream.c (revision 1771866) ++++ modules/http2/h2_stream.c (working copy) +@@ -322,18 +322,18 @@ + HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE); + } + } +- } +- +- if (h2_stream_is_scheduled(stream)) { +- return h2_request_add_trailer(stream->request, stream->pool, +- name, nlen, value, vlen); +- } +- else { +- if (!input_open(stream)) { +- return APR_ECONNRESET; ++ ++ if (h2_stream_is_scheduled(stream)) { ++ return h2_request_add_trailer(stream->request, stream->pool, ++ name, nlen, value, vlen); + } +- return h2_request_add_header(stream->request, stream->pool, +- name, nlen, value, vlen); ++ else { ++ if (!input_open(stream)) { ++ return APR_ECONNRESET; ++ } ++ return h2_request_add_header(stream->request, stream->pool, ++ name, nlen, value, vlen); ++ } + } + } + diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 697bab8e56..81676386a0 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -92,7 +92,9 @@ version ".tar.bz2")) (sha256 (base32 - "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc")))) + "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc")) + (patches (search-patches "httpd-CVE-2016-8740.patch")) + (patch-flags '("-p0")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) -- cgit v1.2.3 From 61c71171a2b309e5cb45ba6f1d839dd36be3ea02 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 6 Dec 2016 16:08:21 +0100 Subject: gnu: emacs-expand-region: Update to 0.11.0. * gnu/packages/emacs.scm (emacs-expand-region): Update to 0.11.0. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4afe67a7f5..774fc26573 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1442,7 +1442,7 @@ mode, which displays information about Elasticsearch clusters.") (define-public emacs-expand-region (package (name "emacs-expand-region") - (version "0.10.0") + (version "0.11.0") (source (origin (method url-fetch) @@ -1451,7 +1451,7 @@ mode, which displays information about Elasticsearch clusters.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zfiaqyb3zqiyqjkpqsjw660j09805nqsg25q6ars2h8gs0rnvxb")))) + "08dy1f411sh9wwww53rjw80idcf3vpki6ba2arl4hl5jcw9651g0")))) (build-system emacs-build-system) (home-page "https://github.com/magnars/expand-region.el") (synopsis "Increase selected region by semantic units") -- cgit v1.2.3 From 37479058a1f7564c5d7f1a5d969005baf5dd9037 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Dec 2016 20:48:56 +0200 Subject: gnu: ffmpeg: Update to 3.2.2. * gnu/packages/video.scm (ffmpeg): Update to 3.2.2. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c889d22446..ce13298df8 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -442,14 +442,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "3.2.1") + (version "3.2.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1pxsy9s9n2nvz970rid3j3b45w6s7ziwnrbc16rny7k0bpd97kqy")))) + "1z7d5y5crhsl5fm74236rdwbkd4jj5frx1l4iizjfym1w4gvs09z")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) -- cgit v1.2.3 From 425fabfc9a322c26f9dcd83ec61e2c6f5f6c7750 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 6 Dec 2016 20:45:23 -0500 Subject: gnu: radicale: Skip the test suite. * gnu/packages/dav.scm (radicale)[arguments]: Skip the tests. --- gnu/packages/dav.scm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index a06878dc92..985a2e071e 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -35,13 +35,7 @@ "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (zero? (system* "py.test"))))))) - (native-inputs - `(("python-pytest" ,python-pytest))) + '(#:tests? #f)) ; The tests are not distributed in the PyPi release. (propagated-inputs ;; TODO: Add python-pam `(("python-requests" ,python-requests))) -- cgit v1.2.3 From 4ff71cac67a2d697e631a3b35a5a7f5db2c7a240 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Dec 2016 22:43:31 +0200 Subject: gnu: libx264: Update to 20161205-2245. * gnu/packages/video.scm (libx264): Update to 20161205-2245. [source]: Use https. [home-page]: Same. --- gnu/packages/video.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ce13298df8..acacaea15d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -213,14 +213,14 @@ television and DVD. It is also known as AC-3.") (define-public libx264 (package (name "libx264") - (version "20160220-2245") + (version "20161205-2245") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/pub/x264/snapshots/" + (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" "x264-snapshot-" version ".tar.bz2")) (sha256 (base32 - "12zyzbiihfhamf7yi4qqaj6k0nisnrydvfr36kxadvmsm7dg4sj3")))) + "0jjzdwag59kqlk09bb2pykm1ss8bw3p9q7bsks2kjgdwbj121a44")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -246,7 +246,7 @@ television and DVD. It is also known as AC-3.") (%current-system))) '("--disable-asm") '())))) - (home-page "http://www.videolan.org/developers/x264.html") + (home-page "https://www.videolan.org/developers/x264.html") (synopsis "H.264 video coding library") (description "libx264 is an advanced encoding library for creating H.264 (MPEG-4 AVC) video streams.") -- cgit v1.2.3 From 4908ae48474220f6ff1f4b81b27aa95ad6c08bb6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 7 Dec 2016 10:07:31 +0100 Subject: gnu: zynaddsubfx: Update to 3.0.1. * gnu/packages/music.scm (zynaddsubfx): Update to 3.0.1. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index e1ab90b001..b0ed51298f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1498,7 +1498,7 @@ backends, including ALSA, OSS, Network and FluidSynth.") (define-public zynaddsubfx (package (name "zynaddsubfx") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (string-append @@ -1506,7 +1506,7 @@ backends, including ALSA, OSS, Network and FluidSynth.") version "/zynaddsubfx-" version ".tar.bz2")) (sha256 (base32 - "0p640hlw28264nzrnd2lm4bi5snas4fvh80p8lpxvph2hjw3sncl")))) + "1qijvlbv41lnqaqbp6gh1i42xzf1syviyxz8wr39xbz55cw7y0d8")))) (build-system cmake-build-system) (arguments `(#:phases -- cgit v1.2.3 From cf0ef075c43437f183bc4cb390481e9c9b5a3399 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 14 Apr 2016 07:35:40 +0200 Subject: gnu: Add mingw-w64. * gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch, gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch, gnu/packages/mingw.scm: New files. * gnu/local.mk (dist_patch_DATA): Add the patches. (GNU_SYSTEM_MODULES): Add mingw.scm. --- gnu/local.mk | 3 + gnu/packages/mingw.scm | 84 ++++++++ .../patches/gcc-4.9.3-mingw-gthr-default.patch | 11 ++ .../patches/mingw-w64-5.0rc2-gcc-4.9.3.patch | 218 +++++++++++++++++++++ 4 files changed, 316 insertions(+) create mode 100644 gnu/packages/mingw.scm create mode 100644 gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch create mode 100644 gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index bc9b06da63..3197cfb7bb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -248,6 +248,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/mc.scm \ %D%/packages/mcrypt.scm \ %D%/packages/messaging.scm \ + %D%/packages/mingw.scm \ %D%/packages/mg.scm \ %D%/packages/microcom.scm \ %D%/packages/mit-krb5.scm \ @@ -554,6 +555,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-cross-environment-variables.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ + %D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \ %D%/packages/patches/gcc-5.0-libvtv-runpath.patch \ %D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \ %D%/packages/patches/gcc-6-cross-environment-variables.patch \ @@ -725,6 +727,7 @@ dist_patch_DATA = \ %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \ %D%/packages/patches/metabat-remove-compilation-date.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ + %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/mplayer2-theora-fix.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm new file mode 100644 index 0000000000..6a348da611 --- /dev/null +++ b/gnu/packages/mingw.scm @@ -0,0 +1,84 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Jan Nieuwenhuizen +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages mingw) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages cross-base) + #:use-module (gnu packages gcc) + #:use-module (gnu packages compression) + #:use-module (gnu packages multiprecision) + #:use-module (guix build-system gnu) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (ice-9 match)) + +(define %mingw-triplet + "i686-w64-mingw32") + +(define-public mingw-w64 + (package + (name "mingw-w64") + (version "5.0-rc2") + (source (origin + (method url-fetch) + (uri (string-append + "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/" + "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) + (sha256 + (base32 "0imdary8j07if8ih73pfgxiclpf2ax8h3mz8mxln07i8sbbd30c9")) + (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch")))) + (native-inputs `(("xgcc-core" ,(cross-gcc %mingw-triplet)) + ("xbinutils" ,(cross-binutils %mingw-triplet)))) + (build-system gnu-build-system) + (search-paths + (list (search-path-specification + (variable "CROSS_C_INCLUDE_PATH") + (files '("include" "i686-w64-mingw32/include"))) + (search-path-specification + (variable "CROSS_LIBRARY_PATH") + (files + '("lib" "lib64" "i686-w64-mingw32/lib" "i686-w64-mingw32/lib64"))))) + (arguments + `(#:configure-flags '("--host=i686-w64-mingw32") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda* (#:key inputs #:allow-other-keys) + (let ((xgcc-core (assoc-ref inputs "xgcc-core")) + (mingw-headers (string-append (getcwd) "/mingw-w64-headers"))) + (setenv "CPP" + (string-append xgcc-core "/bin/i686-w64-mingw32-cpp")) + (setenv "CROSS_C_INCLUDE_PATH" + (string-append + mingw-headers + ":" mingw-headers "/include" + ":" mingw-headers "/crt" + ":" mingw-headers "/defaults/include" + ":" mingw-headers "/direct-x/include")))))) + #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1") + #:tests? #f ; compiles and includes glibc headers + #:strip-binaries? #f)) + (home-page "http://mingw.org") + (synopsis "Minimalist GNU for Windows") + (description "MinGW provides a complete Open Source programming tool set +which is suitable for the development of native MS-Windows applications, and +which does not depend on any 3rd-party C-Runtime dlls.") + (license license:fdl1.3+))) 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 0000000000..0ea008a7cb --- /dev/null +++ b/gnu/packages/patches/gcc-4.9.3-mingw-gthr-default.patch @@ -0,0 +1,11 @@ +--- a/libgcc/config/i386/gthr-win32.h 2016-03-30 07:45:33.388684463 +0200 ++++ b/libgcc/config/i386/gthr-win32.h 2016-03-30 15:51:24.123896436 +0200 +@@ -30,7 +30,7 @@ + + /* Make sure CONST_CAST2 (origin in system.h) is declared. */ + #ifndef CONST_CAST2 +-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq) ++#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)X) + #endif + + /* Windows32 threads specific definitions. The windows32 threading model 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 0000000000..e8f841c4fd --- /dev/null +++ b/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch @@ -0,0 +1,218 @@ +This patch includes + + * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 + * mingw-w64-headers/crt/math.h: Likewise + * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add + symbols. + * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): + Add symbols. + (lstat): Add function. + * mingw-w64-headers/crt/_mingw_stat64.h: Likewise + * mingw-w64-headers/crt/stdlib.h (realpath): Add function. + +Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. + +Upstream status: not yet presented upstream. + +index 9c5cf87..74a8541 100644 +--- a/mingw-w64-crt/misc/dirname.c ++++ b/mingw-w64-crt/misc/dirname.c +@@ -29,6 +29,12 @@ + #define __cdecl /* this may not be defined. */ + #endif + ++char *__cdecl ++realpath(const char *name, char *resolved) ++{ ++ return resolved ? strcpy (resolved, name) : strdup (name); ++} ++ + char * __cdecl + dirname(char *path) + { +diff --git a/mingw-w64-headers/crt/_mingw_stat64.h b/mingw-w64-headers/crt/_mingw_stat64.h +index 17e754c..7d2339b 100644 +--- a/mingw-w64-headers/crt/_mingw_stat64.h ++++ b/mingw-w64-headers/crt/_mingw_stat64.h +@@ -2,13 +2,17 @@ + + #ifdef _USE_32BIT_TIME_T + #define _fstat32 _fstat ++#define _lstat32 _lstat + #define _stat32 _stat + #define _wstat32 _wstat + #define _fstat32i64 _fstati64 ++#define _lstat32i64 _lstati64 + #define _stat32i64 _stati64 + #define _wstat32i64 _wstati64 + #else + #define _fstat _fstat64i32 ++#define _lstat _lstat64i32 ++#define _lstati64 _lstat64 + #define _fstati64 _fstat64 + #define _stat _stat64i32 + #define _stati64 _stat64 +diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h +index 5874f4e..bdf4ead 100644 +--- a/mingw-w64-headers/crt/float.h ++++ b/mingw-w64-headers/crt/float.h +@@ -22,6 +22,15 @@ + #if (__GNUC__ < 4) + #error Corrupt install of gcc-s internal headers, or search order was changed. + #else ++ ++ /* From gcc-4.9.3 float.h. */ ++ #undef FLT_EPSILON ++ #undef DBL_EPSILON ++ #undef LDBL_EPSILON ++ #define FLT_EPSILON __FLT_EPSILON__ ++ #define DBL_EPSILON __DBL_EPSILON__ ++ #define LDBL_EPSILON __LDBL_EPSILON__ ++ + /* #include_next */ + + /* Number of decimal digits, q, such that any floating-point number with q +diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h +index 1e970f4..99a332f 100644 +--- a/mingw-w64-headers/crt/math.h ++++ b/mingw-w64-headers/crt/math.h +@@ -216,6 +216,7 @@ extern "C" { + #endif + } + ++#if 0 + __CRT_INLINE long double __cdecl fabsl (long double x) + { + #ifdef __arm__ +@@ -226,6 +227,7 @@ extern "C" { + return res; + #endif + } ++#endif + + __CRT_INLINE double __cdecl fabs (double x) + { +@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ + /* 7.12.7.3 */ + extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ + extern float __cdecl hypotf (float x, float y); +-#ifndef __CRT__NO_INLINE ++#if 0 //ndef __CRT__NO_INLINE + __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} + #endif + extern long double __cdecl hypotl (long double, long double); +diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h +index dfc5ae4..6f0fee3 100644 +--- a/mingw-w64-headers/crt/stdlib.h ++++ b/mingw-w64-headers/crt/stdlib.h +@@ -8,6 +8,7 @@ + + #include + #include ++#include + + #if defined (__USE_MINGW_ANSI_STDIO) && ((__USE_MINGW_ANSI_STDIO + 0) != 0) && !defined (__USE_MINGW_STRTOX) + #define __USE_MINGW_STRTOX 1 +@@ -676,6 +677,8 @@ unsigned long __cdecl _lrotr(unsigned long,int); + + #endif /* !__NO_ISOCEXT */ + ++char *__cdecl realpath (const char *name, char *resolved); ++ + #ifdef __cplusplus + } + #endif +diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h +index ed60219..d88b4f1 100644 +--- a/mingw-w64-headers/crt/sys/stat.h ++++ b/mingw-w64-headers/crt/sys/stat.h +@@ -58,16 +58,21 @@ extern "C" { + #include <_mingw_stat64.h> + + #define _S_IFMT 0xF000 ++#define _S_IFLNK 0xA000 ++#define _S_IFSOCK 0xC000 + #define _S_IFDIR 0x4000 + #define _S_IFCHR 0x2000 + #define _S_IFIFO 0x1000 + #define _S_IFREG 0x8000 ++#define _S_ISUID 0x0400 ++#define _S_ISGID 0x0200 + #define _S_IREAD 0x0100 + #define _S_IWRITE 0x0080 + #define _S_IEXEC 0x0040 + + _CRTIMP int __cdecl _fstat32(int _FileDes,struct _stat32 *_Stat); + _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat); ++ static inline int __cdecl _lstat32(const char *_Name,struct _stat32 *_Stat) {return _stat32(_Name, _Stat);} + _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat); + _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat); + int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat); +@@ -97,6 +102,9 @@ extern "C" { + _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat); + _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat); + int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat); ++ static inline int __cdecl _lstat64(const char *_Name,struct _stat64 *_Stat) {return _stat64(_Name, _Stat);} ++ static inline int __cdecl _lstat32i64(const char *_Name,struct _stat32i64 *_Stat) {return _stat32i64(_Name, _Stat);} ++ static inline int __cdecl _lstat64i32(const char *_Name,struct _stat64i32 *_Stat) {return _stat64i32(_Name, _Stat);} + #ifndef __CRT__NO_INLINE + __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) + { +@@ -132,6 +140,8 @@ extern "C" { + #ifndef NO_OLDNAMES + #define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ + ++#define S_IFLNK _S_IFLNK ++#define S_IFSOCK _S_IFSOCK + #define S_IFMT _S_IFMT + #define S_IFDIR _S_IFDIR + #define S_IFCHR _S_IFCHR +@@ -162,6 +172,11 @@ extern "C" { + #define S_IXOTH (S_IXGRP >> 3) + #define S_IRWXO (S_IRWXG >> 3) + ++#define S_ISUID _S_ISUID ++#define S_ISGID _S_ISGID ++ ++#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) ++#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) + #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) + #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +@@ -174,6 +189,7 @@ extern "C" { + int __cdecl stat(const char *_Filename,struct stat *_Stat); + int __cdecl fstat(int _Desc,struct stat *_Stat); + int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat); ++static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);} + + #ifndef __CRT__NO_INLINE + #ifdef _USE_32BIT_TIME_T +@@ -262,9 +278,11 @@ __CRT_INLINE int __cdecl + + #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) + #ifdef _USE_32BIT_TIME_T ++#define lstat _lstat32i64 + #define stat _stat32i64 + #define fstat _fstat32i64 + #else ++#define lstat _lstat64 + #define stat _stat64 + #define fstat _fstat64 + #endif +diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h +index 52af29b..8626396 100644 +--- a/mingw-w64-headers/include/winnt.h ++++ b/mingw-w64-headers/include/winnt.h +@@ -6895,7 +6895,12 @@ __buildmemorybarrier() + DWORD Reg : 3; + DWORD R : 1; + DWORD L : 1; ++/* C is used as a const specifier */ ++#define save_C C ++#undef C + DWORD C : 1; ++#define C save_C ++#undef save_C + DWORD StackAdjust : 10; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; -- cgit v1.2.3 From cba36e6482a39d9b7e3a61fb2251664a86cb492e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 28 May 2016 17:32:04 +0200 Subject: gnu: cross-base: Add i686-w64-mingw32 target. * guix/utils.scm (mingw-target?): New function. * gnu/packages/cross-base.scm (cross-gcc-snippet): New procedure (cross-gcc): Use it. (cross-gcc-arguments, cross-gcc-patches, cross-gcc): Support MinGW. (native-libc, cross-newlib?): New functions. (cross-libc): Use cross-newlib? to support MinGW. (%gcc-include-paths, %gcc-cross-include-paths): New variables. --- gnu/packages/cross-base.scm | 309 +++++++++++++++++++++++++++++--------------- 1 file changed, 207 insertions(+), 102 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index e6553dcd34..dac711472a 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -20,12 +20,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages cross-base) - #:use-module (guix licenses) #:use-module (gnu packages) #:use-module (gnu packages gcc) #:use-module (gnu packages base) #:use-module (gnu packages linux) #:use-module (gnu packages hurd) + #:use-module (gnu packages mingw) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -37,13 +37,26 @@ #:use-module (ice-9 regex) #:export (cross-binutils cross-libc - cross-gcc)) + cross-gcc + cross-newlib?)) (define %xgcc ;; GCC package used as the basis for cross-compilation. It doesn't have to ;; be 'gcc' and can be a specific variant such as 'gcc-4.8'. gcc) +(define %gcc-include-paths + ;; Environment variables for header search paths. + ;; Note: See for why not 'CPATH'. + '("C_INCLUDE_PATH" + "CPLUS_INCLUDE_PATH" + "OBJC_INCLUDE_PATH" + "OBJCPLUS_INCLUDE_PATH")) + +(define %gcc-cross-include-paths + ;; Search path for target headers when cross-compiling. + (map (cut string-append "CROSS_" <>) %gcc-include-paths)) + (define (cross p target) (package (inherit p) (name (string-append (package-name p) "-cross-" target)) @@ -131,7 +144,12 @@ may be either a libc package or #f.)" "--disable-libitm" "--disable-libvtv" "--disable-libsanitizer" - ))) + )) + + ;; For a newlib (non-glibc) target + ,@(if (cross-newlib? target) + '("--with-newlib") + '())) ,(if libc flags @@ -173,12 +191,82 @@ may be either a libc package or #f.)" ;; for cross-compilers. (zero? (system* "make" "install-strip"))) ,phases)))) - (if libc + (cond + ((target-mingw? target) + `(modify-phases ,phases + (add-before + 'configure 'set-cross-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Add the cross mingw headers to CROSS_C_*_INCLUDE_PATH, + ;; and remove them from C_*INCLUDE_PATH. + (let ((libc (assoc-ref inputs "libc")) + (gcc (assoc-ref inputs "gcc"))) + (define (cross? x) + (and libc (string-prefix? libc x))) + (define (unpacked-mingw-dir) + (match + (scandir + "." + (lambda (name) (string-contains name "mingw-w64"))) + ((mingw-dir) + (string-append + (getcwd) "/" mingw-dir "/mingw-w64-headers")))) + (if libc + (let ((cpath (string-append + libc "/include" + ":" libc "/i686-w64-mingw32/include"))) + (for-each (cut setenv <> cpath) + ',%gcc-cross-include-paths)) + ;; libc is false, so we are building xgcc-sans-libc + ;; Add essential headers from mingw-w64. + (let ((mingw-source (assoc-ref inputs "mingw-source"))) + (system* "tar" "xf" mingw-source) + (let ((mingw-headers (unpacked-mingw-dir))) + ;; We need _mingw.h which will gets built from + ;; _mingw.h.in by mingw-w64's configure. We + ;; cannot configure mingw-w64 until we have + ;; xgcc-sans-libc; substitute to the rescue. + (copy-file (string-append mingw-headers + "/crt/_mingw.h.in") + (string-append mingw-headers + "/crt/_mingw.h")) + (substitute* (string-append mingw-headers + "/crt/_mingw.h") + (("@MINGW_HAS_SECURE_API@") + "#define MINGW_HAS_SECURE_API 1")) + (let ((cpath + (string-append + mingw-headers "/include" + ":" mingw-headers "/crt" + ":" mingw-headers "/defaults/include"))) + (for-each (cut setenv <> cpath) + (cons + "CROSS_LIBRARY_PATH" + ',%gcc-cross-include-paths)))) + (when libc + (setenv "CROSS_LIBRARY_PATH" + (string-append + libc "/lib" + ":" libc "/i686-w64-mingw32/lib"))))) + (setenv "CPP" (string-append gcc "/bin/cpp")) + (for-each + (lambda (var) + (and=> + (getenv var) + (lambda (value) + (let* ((path (search-path-as-string->list + value)) + (native-path (list->search-path-as-string + (remove cross? path) ":"))) + (setenv var native-path))))) + (cons "LIBRARY_PATH" ',%gcc-include-paths)) + #t))))) + (libc `(alist-cons-before 'configure 'set-cross-path (lambda* (#:key inputs #:allow-other-keys) - ;; Add the cross kernel headers to CROSS_CPATH, and remove them - ;; from CPATH. + ;; Add the cross kernel headers to CROSS_CPATH, and remove + ;; them from CPATH. (let ((libc (assoc-ref inputs "libc")) (kernel (assoc-ref inputs "xkernel-headers"))) (define (cross? x) @@ -189,37 +277,40 @@ may be either a libc package or #f.)" libc "/include" ":" kernel "/include"))) (for-each (cut setenv <> cpath) - '("CROSS_C_INCLUDE_PATH" - "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_OBJC_INCLUDE_PATH" - "CROSS_OBJCPLUS_INCLUDE_PATH"))) + ',%gcc-cross-include-paths)) (setenv "CROSS_LIBRARY_PATH" (string-append libc "/lib:" kernel "/lib")) ;for Hurd's libihash (for-each (lambda (var) - (and=> (getenv var) - (lambda (value) - (let* ((path (search-path-as-string->list value)) - (native-path (list->search-path-as-string - (remove cross? path) ":"))) - (setenv var native-path))))) - '("C_INCLUDE_PATH" - "CPLUS_INCLUDE_PATH" - "OBJC_INCLUDE_PATH" - "OBJCPLUS_INCLUDE_PATH" - "LIBRARY_PATH")) + (and=> + (getenv var) + (lambda (value) + (let* ((path (search-path-as-string->list value)) + (native-path (list->search-path-as-string + (remove cross? path) ":"))) + (setenv var native-path))))) + (cons "LIBRARY_PATH" ',%gcc-include-paths)) #t)) - ,phases) - phases))))))) + ,phases)) + (else phases)))))))) (define (cross-gcc-patches target) "Return GCC patches needed for TARGET." (cond ((string-prefix? "xtensa-" target) ;; Patch by Qualcomm needed to build the ath9k-htc firmware. (search-patches "ath9k-htc-firmware-gcc.patch")) + ((target-mingw? target) + (search-patches "gcc-4.9.3-mingw-gthr-default.patch")) (else '()))) +(define (cross-gcc-snippet target) + "Return GCC snippet needed for TARGET." + (cond ((target-mingw? target) + '(copy-recursively "libstdc++-v3/config/os/mingw32-w64" + "libstdc++-v3/config/os/newlib")) + (else #f))) + (define* (cross-gcc target #:optional (xbinutils (cross-binutils target)) libc) "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use @@ -234,7 +325,10 @@ GCC that does not target a libc; otherwise, target that libc." (append (origin-patches (package-source %xgcc)) (cons (search-patch "gcc-cross-environment-variables.patch") - (cross-gcc-patches target)))))) + (cross-gcc-patches target)))) + (modules '((guix build utils))) + (snippet + (cross-gcc-snippet target)))) ;; For simplicity, use a single output. Otherwise libgcc_s & co. are not ;; found by default, etc. @@ -244,6 +338,8 @@ GCC that does not target a libc; otherwise, target that libc." `(#:implicit-inputs? #f #:modules ((guix build gnu-build-system) (guix build utils) + (ice-9 ftw) + (ice-9 match) (ice-9 regex) (srfi srfi-1) (srfi srfi-26)) @@ -264,34 +360,32 @@ GCC that does not target a libc; otherwise, target that libc." ;; Remaining inputs. ,@(let ((inputs (append (package-inputs %xgcc) (alist-delete "libc" (%final-inputs))))) - (if libc - `(("libc" ,libc) - ("xkernel-headers" ;the target headers - ,@(assoc-ref (package-propagated-inputs libc) - "kernel-headers")) - ,@inputs) - inputs)))) + (cond + ((target-mingw? target) + (if libc + `(("libc" ,mingw-w64) + ,@inputs) + `(("mingw-source" ,(package-source mingw-w64)) + ,@inputs))) + (libc + `(("libc" ,libc) + ("xkernel-headers" ;the target headers + ,@(assoc-ref (package-propagated-inputs libc) + "kernel-headers")) + ,@inputs)) + (else inputs))))) (inputs '()) ;; Only search target inputs, not host inputs. - ;; Note: See for why not 'CPATH'. - (search-paths - (list (search-path-specification - (variable "CROSS_C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CROSS_CPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CROSS_OBJC_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CROSS_OBJCPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CROSS_LIBRARY_PATH") - (files '("lib" "lib64"))))) + (search-paths (cons (search-path-specification + (variable "CROSS_LIBRARY_PATH") + (files '("lib" "lib64"))) + (map (lambda (variable) + (search-path-specification + (variable variable) + (files '("include")))) + %gcc-cross-include-paths))) (native-search-paths '()))) (define* (cross-kernel-headers target @@ -464,61 +558,72 @@ XBINUTILS and the cross tool chain." (_ glibc/linux))) ;; Use (cross-libc-for-target ...) to determine the correct libc to use. - (let ((libc (cross-libc-for-target target))) - (package (inherit libc) - (name (string-append "glibc-cross-" target)) - (arguments - (substitute-keyword-arguments - `(;; Disable stripping (see above.) - #:strip-binaries? #f - - ;; This package is used as a target input, but it should not have - ;; the usual cross-compilation inputs since that would include - ;; itself. - #:implicit-cross-inputs? #f - ;; We need SRFI 26. - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) - - ,@(package-arguments libc)) - ((#:configure-flags flags) - `(cons ,(string-append "--host=" target) - ,flags)) - ((#:phases phases) - `(alist-cons-before - 'configure 'set-cross-kernel-headers-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((kernel (assoc-ref inputs "kernel-headers")) - (cpath (string-append kernel "/include"))) - (for-each (cut setenv <> cpath) - '("CROSS_C_INCLUDE_PATH" - "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_OBJC_INCLUDE_PATH" - "CROSS_OBJCPLUS_INCLUDE_PATH")) - (setenv "CROSS_LIBRARY_PATH" - (string-append kernel "/lib")) ;for Hurd's libihash - #t)) - ,phases)))) - - ;; Shadow the native "kernel-headers" because glibc's recipe expects the - ;; "kernel-headers" input to point to the right thing. - (propagated-inputs `(("kernel-headers" ,xheaders))) - - ;; FIXME: 'static-bash' should really be an input, not a native input, but - ;; to do that will require building an intermediate cross libc. - (inputs '()) - - (native-inputs `(("cross-gcc" ,xgcc) - ("cross-binutils" ,xbinutils) - ,@(if (string-match (or "i586-pc-gnu" "i586-gnu") target) - `(("cross-mig" - ,@(assoc-ref (package-native-inputs xheaders) - "cross-mig"))) - '()) - ,@(package-inputs libc) ;FIXME: static-bash - ,@(package-native-inputs libc)))))) + (if (cross-newlib? target) + (native-libc target) + (let ((libc (cross-libc-for-target target))) + (package (inherit libc) + (name (string-append "glibc-cross-" target)) + (arguments + (substitute-keyword-arguments + `(;; Disable stripping (see above.) + #:strip-binaries? #f + + ;; This package is used as a target input, but it should not have + ;; the usual cross-compilation inputs since that would include + ;; itself. + #:implicit-cross-inputs? #f + + ;; We need SRFI 26. + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + + ,@(package-arguments libc)) + ((#:configure-flags flags) + `(cons ,(string-append "--host=" target) + ,flags)) + ((#:phases phases) + `(alist-cons-before + 'configure 'set-cross-kernel-headers-path + (lambda* (#:key inputs #:allow-other-keys) + (let* ((kernel (assoc-ref inputs "kernel-headers")) + (cpath (string-append kernel "/include"))) + (for-each (cut setenv <> cpath) + '("CROSS_C_INCLUDE_PATH" + "CROSS_CPLUS_INCLUDE_PATH" + "CROSS_OBJC_INCLUDE_PATH" + "CROSS_OBJCPLUS_INCLUDE_PATH")) + (setenv "CROSS_LIBRARY_PATH" + (string-append kernel "/lib")) ;for Hurd's libihash + #t)) + ,phases)))) + + ;; Shadow the native "kernel-headers" because glibc's recipe expects the + ;; "kernel-headers" input to point to the right thing. + (propagated-inputs `(("kernel-headers" ,xheaders))) + + ;; FIXME: 'static-bash' should really be an input, not a native input, but + ;; to do that will require building an intermediate cross libc. + (inputs '()) + + (native-inputs `(("cross-gcc" ,xgcc) + ("cross-binutils" ,xbinutils) + ,@(if (string-match (or "i586-pc-gnu" "i586-gnu") target) + `(("cross-mig" + ,@(assoc-ref (package-native-inputs xheaders) + "cross-mig"))) + '()) + ,@(package-inputs libc) ;FIXME: static-bash + ,@(package-native-inputs libc))))))) + +(define (native-libc target) + (if (target-mingw? target) + mingw-w64 + glibc)) + +(define (cross-newlib? target) + (not (eq? (native-libc target) glibc))) ;;; Concrete cross tool chains are instantiated like this: -- cgit v1.2.3 From 4dab8c590650af0e78647e6e13fb9ac772e51db7 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 May 2016 18:49:33 +0200 Subject: gnu: Add function libiconv-if-needed. * gnu/packages/base.scm (libiconv-if-needed): New function. --- gnu/packages/base.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1c01874bb0..8b8134c822 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -46,7 +46,8 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (ice-9 match) - #:export (glibc)) + #:export (glibc + libiconv-if-needed)) ;;; Commentary: ;;; @@ -1032,6 +1033,16 @@ program. It supports a wide variety of different encodings.") (home-page "http://www.gnu.org/software/libiconv/") (license lgpl3+))) +(define* (libiconv-if-needed #:optional (target (%current-target-system))) + "Return either a libiconv package specification to include in a dependency +list for platforms that have an incomplete libc, or the empty list. If a +package needs iconv ,@(libiconv-if-needed) should be added." + ;; POSIX C libraries provide iconv. Platforms with an incomplete libc + ;; without iconv, such as MinGW, must return the then clause. + (if (target-mingw? target) + `(("libiconv" ,libiconv)) + '())) + (define-public (canonical-package package) ;; Avoid circular dependency by lazily resolving 'commencement'. (let* ((iface (resolve-interface '(gnu packages commencement))) -- cgit v1.2.3 From d788fcd3ba2a780393765013451fcace9bb10800 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 25 Apr 2016 23:47:50 +0200 Subject: gnu: libunistring: support mingw: propagate libiconv if needed. * gnu/packages/libunistring (libunistring): propagated-inputs: add libiconv-if-needed. Fixes unicode translation in MinGW. --- gnu/packages/libunistring.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm index f29b7424de..a9779d4ffd 100644 --- a/gnu/packages/libunistring.scm +++ b/gnu/packages/libunistring.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,8 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages base)) (define-public libunistring (package @@ -35,7 +37,7 @@ (sha256 (base32 "0ixxmgpgh2v8ifm6hbwsjxl023myk3dfnj7wnvmqjivza31fw9cn")))) - (propagated-inputs '()) ; FIXME: add libiconv when !glibc + (propagated-inputs (libiconv-if-needed)) (build-system gnu-build-system) (arguments ;; Work around parallel build issue whereby C files may be compiled before -- cgit v1.2.3 From 7f1c32f0e6f4590e435406760abc088938e9b0a9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 12 Apr 2016 15:48:28 +0200 Subject: gnu: gmp: build shared library for mingw. * gnu/packages/multiprecision.scm (gmp)[MINGW]: Use --enable-shared. --- gnu/packages/multiprecision.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 23ae68a28f..36e35ca00c 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2016 Nicolas Goaziou +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +50,13 @@ '(;; Build a "fat binary", with routines for several ;; sub-architectures. "--enable-fat" - "--enable-cxx"))) + "--enable-cxx" + ,@(cond ((target-mingw?) + ;; Static and shared cannot be built in one go: + ;; they produce different headers. We need shared. + `("--disable-static" + "--enable-shared")) + (else '()))))) (synopsis "Multiple-precision arithmetic library") (description "GMP is a library for arbitrary precision arithmetic, operating on -- cgit v1.2.3 From d230cf61f6adecf46a9008071fd0300166e542a6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 14 Aug 2016 03:46:48 -0400 Subject: gnu: ncurses: support mingw. * gnu/packages/ncurses.scm (ncurses): Support MinGW. Co-Authored-By: Jan Nieuwenhuizen --- gnu/packages/ncurses.scm | 231 ++++++++++++++++++++++++++--------------------- 1 file changed, 129 insertions(+), 102 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index e21e477f4f..6949e1e03f 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -1,9 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès -;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014, 2016 Mark H Weaver ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages ncurses) + #:use-module (gnu packages) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -28,121 +30,146 @@ #:use-module (guix build-system perl) #:use-module (gnu packages) #:use-module (gnu packages perl) - #:use-module (gnu packages swig)) + #:use-module (gnu packages swig) + #:use-module (guix utils)) (define-public ncurses - (let ((patch-makefile-phase - '(lambda _ - (for-each patch-makefile-SHELL - (find-files "." "Makefile.in")))) - (configure-phase - ;; The 'configure' script does not understand '--docdir', so we must - ;; override that and use '--mandir' instead. - '(lambda* (#:key build target outputs configure-flags - #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (zero? (apply system* "./configure" - (string-append "SHELL=" (which "sh")) - (string-append "--build=" build) - (string-append "--prefix=" out) - (string-append "--mandir=" doc "/share/man") - (if target - (cons (string-append "--host=" target) - configure-flags) - configure-flags)))))) - (remove-shebang-phase - '(lambda _ - ;; To avoid retaining a reference to the bootstrap Bash via the - ;; shebang of the 'ncursesw6-config' script, simply remove that - ;; shebang: it'll work just as well without it. Likewise, do not - ;; retain a reference to the "doc" output. - (substitute* "misc/ncurses-config.in" - (("#!@SHELL@") - "# No shebang here, use /bin/sh!\n") - (("@SHELL@ \\$0") - "$0") - (("mandir=.*$") - "mandir=share/man")) - #t)) - (post-install-phase - '(lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; When building a wide-character (Unicode) build, create backward - ;; compatibility links from the the "normal" libraries to the - ;; wide-character libraries (e.g. libncurses.so to libncursesw.so). - (with-directory-excursion (string-append out "/lib") - (for-each (lambda (lib) - (define libw.a - (string-append "lib" lib "w.a")) - (define lib.a - (string-append "lib" lib ".a")) - (define libw.so.x - (string-append "lib" lib "w.so.6")) - (define lib.so.x - (string-append "lib" lib ".so.6")) - (define lib.so - (string-append "lib" lib ".so")) - - (when (file-exists? libw.a) - (format #t "creating symlinks for `lib~a'~%" lib) - (symlink libw.a lib.a) - (symlink libw.so.x lib.so.x) - (false-if-exception (delete-file lib.so)) - (call-with-output-file lib.so - (lambda (p) - (format p "INPUT (-l~aw)~%" lib))))) - '("curses" "ncurses" "form" "panel" "menu"))))))) - (package - (name "ncurses") - (version "6.0") - (source (origin + (package + (name "ncurses") + (version "6.0") + (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ncurses/ncurses-" version ".tar.gz")) (sha256 (base32 "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm")))) - (build-system gnu-build-system) - (outputs '("out" - "doc")) ;1 MiB of man pages - (arguments - `(#:configure-flags - `("--with-shared" "--without-debug" "--enable-widec" + (build-system gnu-build-system) + (outputs '("out" + "doc")) ;1 MiB of man pages + (arguments + (let ((patch-makefile-phase + '(lambda _ + (for-each patch-makefile-SHELL + (find-files "." "Makefile.in")))) + (configure-phase + ;; The 'configure' script does not understand '--docdir', so we must + ;; override that and use '--mandir' instead. + '(lambda* (#:key build target outputs configure-flags + #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (zero? (apply system* "./configure" + (string-append "SHELL=" (which "sh")) + (string-append "--build=" build) + (string-append "--prefix=" out) + (string-append "--mandir=" doc "/share/man") + (if target + (cons (string-append "--host=" target) + configure-flags) + configure-flags)))))) + (remove-shebang-phase + '(lambda _ + ;; To avoid retaining a reference to the bootstrap Bash via the + ;; shebang of the 'ncursesw6-config' script, simply remove that + ;; shebang: it'll work just as well without it. Likewise, do not + ;; retain a reference to the "doc" output. + (substitute* "misc/ncurses-config.in" + (("#!@SHELL@") + "# No shebang here, use /bin/sh!\n") + (("@SHELL@ \\$0") + "$0") + (("mandir=.*$") + "mandir=share/man")) + #t)) + (post-install-phase + `(lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; When building a wide-character (Unicode) build, create backward + ;; compatibility links from the the "normal" libraries to the + ;; wide-character libraries (e.g. libncurses.so to libncursesw.so). + ,@(if (target-mingw?) + '( ;; TODO: create .la files to link to the .dll? + (with-directory-excursion (string-append out "/bin") + (for-each + (lambda (lib) + (define lib.dll + (string-append "lib" lib ".dll")) + (define libw6.dll + (string-append "lib" lib "w6.dll")) + + (when (file-exists? libw6.dll) + (format #t "creating symlinks for `lib~a'~%" lib) + (symlink libw6.dll lib.dll))) + '("curses" "ncurses" "form" "panel" "menu")))) + '()) + (with-directory-excursion (string-append out "/lib") + (for-each (lambda (lib) + (define libw.a + (string-append "lib" lib "w.a")) + (define lib.a + (string-append "lib" lib ".a")) - ;; By default headers land in an `ncursesw' subdir, which is not - ;; what users expect. - ,(string-append "--includedir=" (assoc-ref %outputs "out") - "/include") - "--enable-overwrite" ;really honor --includedir + ,@(if (not (target-mingw?)) + '((define libw.so.x + (string-append "lib" lib "w.so.6")) + (define lib.so.x + (string-append "lib" lib ".so.6")) + (define lib.so + (string-append "lib" lib ".so"))) + '()) - ;; Make sure programs like 'tic', 'reset', and 'clear' have a - ;; correct RUNPATH. - ,(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") - "/lib")) - #:tests? #f ; no "check" target - #:phases (modify-phases %standard-phases - (replace 'configure ,configure-phase) - (add-after 'install 'post-install - ,post-install-phase) - (add-before 'configure 'patch-makefile-SHELL - ,patch-makefile-phase) - (add-after 'unpack 'remove-unneeded-shebang - ,remove-shebang-phase)))) - (self-native-input? #t) ; for `tic' - (native-search-paths - (list (search-path-specification - (variable "TERMINFO_DIRS") - (files '("share/terminfo"))))) - (synopsis "Terminal emulation (termcap, terminfo) library") - (description - "GNU Ncurses is a library which provides capabilities to write text to + (when (file-exists? libw.a) + (format #t "creating symlinks for `lib~a'~%" lib) + (symlink libw.a lib.a) + ,@(if (not (target-mingw?)) + '((symlink libw.so.x lib.so.x) + (false-if-exception (delete-file lib.so)) + (call-with-output-file lib.so + (lambda (p) + (format p "INPUT (-l~aw)~%" lib)))) + '()))) + '("curses" "ncurses" "form" "panel" "menu"))))))) + `(#:configure-flags + ,(cons* + 'quasiquote + `(("--with-shared" "--without-debug" "--enable-widec" + + ;; By default headers land in an `ncursesw' subdir, which is not + ;; what users expect. + ,(list 'unquote '(string-append "--includedir=" (assoc-ref %outputs "out") + "/include")) + "--enable-overwrite" ;really honor --includedir + + ;; Make sure programs like 'tic', 'reset', and 'clear' have a + ;; correct RUNPATH. + ,(list 'unquote '(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") + "/lib")) + ;; MinGW: Use term-driver created for the MinGW port. + ,@(if (target-mingw?) '("--enable-term-driver") '())))) + #:tests? #f ; no "check" target + #:phases (modify-phases %standard-phases + (replace 'configure ,configure-phase) + (add-after 'install 'post-install + ,post-install-phase) + (add-before 'configure 'patch-makefile-SHELL + ,patch-makefile-phase) + (add-after 'unpack 'remove-unneeded-shebang + ,remove-shebang-phase))))) + (self-native-input? #t) ; for `tic' + (native-search-paths + (list (search-path-specification + (variable "TERMINFO_DIRS") + (files '("share/terminfo"))))) + (synopsis "Terminal emulation (termcap, terminfo) library") + (description + "GNU Ncurses is a library which provides capabilities to write text to a terminal in a terminal-independent manner. It supports pads and color as well as multiple highlights and forms characters. It is typically used to implement user interfaces for command-line applications. The accompanying ncursesw library provides wide character support.") - (license x11) - (home-page "http://www.gnu.org/software/ncurses/")))) + (license x11) + (home-page "http://www.gnu.org/software/ncurses/"))) (define-public dialog (package -- cgit v1.2.3 From ae12d586275cdd96db23fb01bf840b2055b5b979 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 12 Apr 2016 15:49:17 +0200 Subject: gnu: readline: support mingw. * gnu/packages/patches/readline-7.0-mingw.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/readline.scm (readline): Support MinGW. --- gnu/local.mk | 1 + gnu/packages/patches/readline-7.0-mingw.patch | 28 +++++++++++++++++++++++++++ gnu/packages/readline.scm | 14 +++++++++++++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/readline-7.0-mingw.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 3197cfb7bb..1f98513ca3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -845,6 +845,7 @@ dist_patch_DATA = \ %D%/packages/patches/ratpoison-shell.patch \ %D%/packages/patches/readline-link-ncurses.patch \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ + %D%/packages/patches/readline-7.0-mingw.patch \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpm-CVE-2014-8118.patch \ %D%/packages/patches/rsem-makefile.patch \ 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 0000000000..1dc491d556 --- /dev/null +++ b/gnu/packages/patches/readline-7.0-mingw.patch @@ -0,0 +1,28 @@ +Configure checks for chown; add missing shields in code. + +Upstream status: not yet presented upstream. + +--- readline-7.0/histfile.c.orig 2016-12-06 20:04:10.058901731 +0100 ++++ readline-7.0/histfile.c 2016-12-06 20:05:09.220083801 +0100 +@@ -610,8 +610,10 @@ + user is running this, it's a no-op. If the shell is running after sudo + with a shared history file, we don't want to leave the history file + owned by root. */ ++#if HAVE_CHOWN + if (rv == 0 && exists) + r = chown (filename, finfo.st_uid, finfo.st_gid); ++#endif + + xfree (filename); + FREE (tempname); +@@ -757,8 +759,10 @@ + user is running this, it's a no-op. If the shell is running after sudo + with a shared history file, we don't want to leave the history file + owned by root. */ ++#if HAVE_CHOWN + if (rv == 0 && exists) + mode = chown (histname, finfo.st_uid, finfo.st_gid); ++#endif + + FREE (histname); + FREE (tempname); diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 43817791b5..16a31afd73 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,7 +25,8 @@ #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public readline (let ((post-install-phase @@ -61,8 +63,18 @@ ;; cross-compiling, so provide the correct answer. ,@(if (%current-target-system) '("bash_cv_wcwidth_broken=no") + '()) + ;; MinGW: ncurses provides the termcap api. + ,@(if (target-mingw?) + '("bash_cv_termcap_lib=ncurses") '())) + ,@(if (target-mingw?) + ;; MinGW: termcap in ncurses + ;; some SIG_* #defined in _POSIX + '(#:make-flags '("TERMCAP_LIB=-lncurses" + "CPPFLAGS=-D_POSIX -D'chown(f,o,g)=0'")) + '()) #:phases (alist-cons-after 'install 'post-install ,post-install-phase -- cgit v1.2.3 From 88da729ff78676c61a225956af92d2c8e95b7643 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 24 Apr 2016 14:06:56 +0200 Subject: gnu: guile-2.0: support mingw. * gnu/packages/guile.scm (guile-2.0): Support MinGW. --- gnu/packages/guile.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 4572544ec3..1c1b35c34b 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -146,8 +146,8 @@ without requiring the source code to be rewritten.") (native-inputs `(("pkgconfig" ,pkg-config))) (inputs `(("libffi" ,libffi) ("readline" ,readline) - ("bash" ,bash))) - + ,@(libiconv-if-needed) + ,@(if (target-mingw?) '() `(("bash" ,bash))))) (propagated-inputs `( ;; These ones aren't normally needed here, but since `libguile-2.0.la' ;; reads `-lltdl -lunistring', adding them here will add the needed @@ -176,8 +176,15 @@ without requiring the source code to be rewritten.") ;; Tell (ice-9 popen) the file name of Bash. (let ((bash (assoc-ref inputs "bash"))) (substitute* "module/ice-9/popen.scm" + ;; If bash is #f allow fallback for user to provide + ;; "bash" in PATH. This happens when cross-building to + ;; MinGW for which we do not have Bash yet. (("/bin/sh") - (string-append bash "/bin/bash"))))) + ,@(if (target-mingw?) + '((if bash + (string-append bash "/bin/bash") + "bash")) + '((string-append bash "/bin/bash"))))))) %standard-phases))) (native-search-paths -- cgit v1.2.3 From 1ecb7be8b720eceb222dbe387b4a66032c114b87 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sun, 4 Dec 2016 16:56:58 +0200 Subject: gnu: cross-kernel-headers: Remove propagated-inputs from xhurd-headers. * gnu/packages/cross-base.scm (xhurd-headers)[propagated-inputs]: Remove them. --- gnu/packages/cross-base.scm | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index dac711472a..a324b9616e 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -456,7 +456,6 @@ GCC that does not target a libc; otherwise, target that libc." (name (string-append (package-name hurd-headers) "-cross-" target)) - (propagated-inputs `(("cross-mig" ,xmig))) (native-inputs `(("cross-gcc" ,xgcc) ("cross-binutils" ,xbinutils) ("cross-mig" ,xmig) -- cgit v1.2.3 From f13f60cb2620433280ccb2132376b7c6d3dbc06f Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Wed, 30 Nov 2016 16:49:48 +0200 Subject: gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems. * gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure. (%glibc-stripped): Make it a procedure and move the kernel specific part from here to ... * guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file. * Makefile.am (MODULES): Add it. --- gnu/packages/make-bootstrap.scm | 67 ++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 44 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index f31db6aaef..44a7fd3a16 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages linux) + #:use-module (gnu packages hurd) #:use-module (gnu packages multiprecision) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -332,61 +333,39 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." #t)))) (inputs `(("binutils" ,%binutils-static))))) -(define %glibc-stripped +(define (%glibc-stripped) ;; GNU libc's essential shared libraries, dynamic linker, and headers, ;; with all references to store directories stripped. As a result, ;; libc.so is unusable and need to be patched for proper relocation. + (define (hurd-triplet? triplet) + (and (string-suffix? "-gnu" triplet) + (not (string-contains triplet "linux")))) + (let ((glibc (glibc-for-bootstrap))) (package (inherit glibc) (name "glibc-stripped") (build-system trivial-build-system) (arguments - `(#:modules ((guix build utils)) + `(#:modules ((guix build utils) + (guix build make-bootstrap)) #:builder (begin - (use-modules (guix build utils)) - - (setvbuf (current-output-port) _IOLBF) - (let* ((out (assoc-ref %outputs "out")) - (libdir (string-append out "/lib")) - (incdir (string-append out "/include")) - (libc (assoc-ref %build-inputs "libc")) - (linux (assoc-ref %build-inputs "kernel-headers"))) - (mkdir-p libdir) - (for-each (lambda (file) - (let ((target (string-append libdir "/" - (basename file)))) - (copy-file file target) - (remove-store-references target))) - (find-files (string-append libc "/lib") - "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|util).*\\.so(\\..*)?|libc_nonshared\\.a)$")) - - (copy-recursively (string-append libc "/include") incdir) - - ;; Copy some of the Linux-Libre headers that glibc headers - ;; refer to. - (mkdir (string-append incdir "/linux")) - (for-each (lambda (file) - (copy-file (string-append linux "/include/linux/" file) - (string-append incdir "/linux/" - (basename file)))) - '("limits.h" "errno.h" "socket.h" "kernel.h" - "sysctl.h" "param.h" "ioctl.h" "types.h" - "posix_types.h" "stddef.h")) - - (copy-recursively (string-append linux "/include/asm") - (string-append incdir "/asm")) - (copy-recursively (string-append linux "/include/asm-generic") - (string-append incdir "/asm-generic")) - - #t)))) - (inputs `(("libc" ,(let ((target (%current-target-system))) + (use-modules (guix build make-bootstrap)) + (make-stripped-libc (assoc-ref %outputs "out") + (assoc-ref %build-inputs "libc") + (assoc-ref %build-inputs "kernel-headers"))))) + (inputs `(("kernel-headers" + ,(if (or (and (%current-target-system) + (hurd-triplet? (%current-target-system))) + (string-suffix? "-hurd" (%current-system))) + gnumach-headers + linux-libre-headers)) + ("libc" ,(let ((target (%current-target-system))) (if target (glibc-for-bootstrap (parameterize ((%current-target-system #f)) (cross-libc target))) - glibc))) - ("kernel-headers" ,linux-libre-headers))) + glibc))))) ;; Only one output. (outputs '("out"))))) @@ -647,9 +626,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; A tarball with the statically-linked Binutils programs. (tarball-package %binutils-static-stripped)) -(define %glibc-bootstrap-tarball +(define (%glibc-bootstrap-tarball) ;; A tarball with GNU libc's shared libraries, dynamic linker, and headers. - (tarball-package %glibc-stripped)) + (tarball-package (%glibc-stripped))) (define %gcc-bootstrap-tarball ;; 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." (inputs `(("guile-tarball" ,%guile-bootstrap-tarball) ("gcc-tarball" ,%gcc-bootstrap-tarball) ("binutils-tarball" ,%binutils-bootstrap-tarball) - ("glibc-tarball" ,%glibc-bootstrap-tarball) + ("glibc-tarball" ,(%glibc-bootstrap-tarball)) ("coreutils&co-tarball" ,%bootstrap-binaries-tarball))) (synopsis "Tarballs containing all the bootstrap binaries") (description synopsis) -- cgit v1.2.3 From 491f291892b5fa4864d796e95889108da9cbe6eb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Dec 2016 08:30:19 +0200 Subject: gnu: subversion: Update to 1.8.17. * gnu/packages/version-control.scm (subversion): Update to 1.8.17. --- gnu/packages/version-control.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index edd2d3a4dd..f6845fab04 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -684,14 +684,14 @@ property manipulation.") (define-public subversion (package (name "subversion") - (version "1.8.16") + (version "1.8.17") (source (origin (method url-fetch) (uri (string-append "https://archive.apache.org/dist/subversion/" "subversion-" version ".tar.bz2")) (sha256 (base32 - "0imkxn25n6sbcgfldrx4z29npjprb1lxjm5fb89q4297161nx3zi")))) + "1450fkj1jmxyphqn6cd95z1ykwsabajm9jw4i412qpwss8w9a4fy")))) (build-system gnu-build-system) (arguments '(#:phases @@ -705,7 +705,8 @@ property manipulation.") ;; nice if this fix ultimately made its way into libtool. (let ((coreutils (assoc-ref inputs "coreutils"))) (substitute* "libtool" - (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls")))))) + (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls"))) + #t))) (add-after 'install 'install-perl-bindings (lambda* (#:key outputs #:allow-other-keys) ;; Follow the instructions from 'subversion/bindings/swig/INSTALL'. -- cgit v1.2.3 From 1ed21519f7de3931489f45fee0d582a43a563380 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 6 Dec 2016 22:43:55 +0100 Subject: gnu: Add python-sadisplay. * gnu/packages/python.scm (python-sadisplay, python2-sadisplay): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d624229640..8fe3d36d04 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11825,3 +11825,29 @@ the Flask web framework in Python. It is similar to package @code{python-flask-restful} but supports the @code{python-swagger} documentation builder.") (license license:expat))) + +(define-public python-sadisplay + (package + (name "python-sadisplay") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sadisplay" version)) + (sha256 + (base32 + "0zqad2fl7q26p090qmqgmxbm6iwgf9zij1w8da1g3wdgjj72ql05")))) + (build-system python-build-system) + (propagated-inputs + `(("python-sqlalchemy" ,python-sqlalchemy))) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "https://bitbucket.org/estin/sadisplay") + (synopsis "SQLAlchemy schema displayer") + (description "This package provides a program to build Entity +Relationship diagrams from a SQLAlchemy model (or directly from the +database).") + (license license:bsd-3))) + +(define-public python2-sadisplay + (package-with-python2 python-sadisplay)) -- cgit v1.2.3 From bb4b17064d6d580702e5d06662ceb2f0906a000a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 7 Dec 2016 18:23:05 +0100 Subject: gnu: python-sqlalchemy-utils: Update to 0.32.11. * gnu/packages/python.scm (python-sqlalchemy-utils): Update to 0.32.11. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8fe3d36d04..3d938ccc16 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.") (define-public python-sqlalchemy-utils (package (name "python-sqlalchemy-utils") - (version "0.32.9") + (version "0.32.11") (source (origin (method url-fetch) (uri (pypi-uri "SQLAlchemy-Utils" version)) (sha256 (base32 - "1zbmmh7n8m01ikizn2mj1mfwch26nsr1awv9mvskqry7av0mpy98")))) + "1wghyvk73cmq3iqyg3fczw128fv2pan2v76m0xg1bw05h8fhvnk3")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six) -- cgit v1.2.3 From 8a3ce2c7b060487f7ce7116ba30539a6367f3d71 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Dec 2016 21:20:09 +0200 Subject: gnu: ams-lv2: Remove CPU optimization flags on non-Intel hardware. * gnu/packages/music.scm (ams-lv2)[arguments]: Add phase to remove Intel specific CPU optimization flags when compiling on non-Intel hardware. --- gnu/packages/music.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b0ed51298f..34beb09f44 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1711,7 +1711,17 @@ follows a traditional multi-track tape recorder control paradigm.") (base32 "1392spswkhfd38fggf584wb3m8aqpg7csfrs9zxnzyvhgmp0fgqk")))) (build-system waf-build-system) - (arguments `(#:tests? #f)) ; no tests + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-sse-flags + (lambda* (#:key system #:allow-other-keys) + (when (not (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system))) + (substitute* "wscript" + (("'-msse', '-mfpmath=sse', ") "")) + #t)))) + #:tests? #f)) ; no tests (inputs `(("lv2" ,lv2) ("lvtk" ,lvtk) -- cgit v1.2.3 From 3009a9e451baf13f9d9fe138e13fe00844355878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 7 Dec 2016 13:57:43 +0100 Subject: gnu: cross-base: Factorize list of cross environment variables. * gnu/packages/cross-base.scm (cross-libc): Replace literal list of environment variable names with %GCC-CROSS-INCLUDE-PATHS. (cross-kernel-headers): Likewise. --- gnu/packages/cross-base.scm | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index a324b9616e..7917e9fd0a 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -117,7 +117,7 @@ may be either a libc package or #f.)" `(append (list ,(string-append "--target=" target) ,@(if libc `( ;; Disable libcilkrts because it is not - ;; ported to GNU/Hurd. + ;; ported to GNU/Hurd. "--disable-libcilkrts") `( ;; Disable features not needed at this stage. "--disable-shared" "--enable-static" @@ -438,10 +438,7 @@ GCC that does not target a libc; otherwise, target that libc." (let* ((mach (assoc-ref inputs "cross-gnumach-headers")) (cpath (string-append mach "/include"))) (for-each (cut setenv <> cpath) - '("CROSS_C_INCLUDE_PATH" - "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_OBJC_INCLUDE_PATH" - "CROSS_OBJCPLUS_INCLUDE_PATH")))) + ',%gcc-cross-include-paths))) %standard-phases) #:configure-flags (list ,(string-append "--target=" target)) ,@(package-arguments mig))) @@ -481,10 +478,7 @@ GCC that does not target a libc; otherwise, target that libc." (cpath (string-append mach "/include:" hurd "/include"))) (for-each (cut setenv <> cpath) - '("CROSS_C_INCLUDE_PATH" - "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_OBJC_INCLUDE_PATH" - "CROSS_OBJCPLUS_INCLUDE_PATH")))) + ',%gcc-cross-include-paths))) ,phases)))) (propagated-inputs `(("gnumach-headers" ,xgnumach-headers) @@ -512,10 +506,7 @@ GCC that does not target a libc; otherwise, target that libc." (let* ((glibc-headers (assoc-ref inputs "cross-glibc-hurd-headers")) (cpath (string-append glibc-headers "/include"))) (for-each (cut setenv <> cpath) - '("CROSS_C_INCLUDE_PATH" - "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_OBJC_INCLUDE_PATH" - "CROSS_OBJCPLUS_INCLUDE_PATH")))) + ',%gcc-cross-include-paths))) ,phases)))) (inputs `(("cross-glibc-hurd-headers" ,xglibc/hurd-headers))) @@ -589,10 +580,7 @@ XBINUTILS and the cross tool chain." (let* ((kernel (assoc-ref inputs "kernel-headers")) (cpath (string-append kernel "/include"))) (for-each (cut setenv <> cpath) - '("CROSS_C_INCLUDE_PATH" - "CROSS_CPLUS_INCLUDE_PATH" - "CROSS_OBJC_INCLUDE_PATH" - "CROSS_OBJCPLUS_INCLUDE_PATH")) + ',%gcc-cross-include-paths) (setenv "CROSS_LIBRARY_PATH" (string-append kernel "/lib")) ;for Hurd's libihash #t)) -- cgit v1.2.3 From 3593e5d5c50b08cf69739aac98cd7c89247fa6da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 7 Dec 2016 21:49:25 +0100 Subject: gnu: cross-base: Move phases to (gnu build cross-toolchain). * gnu/packages/cross-base.scm (cross-gcc-arguments) <#:phases>: Use 'cross-gcc-build-phases', and move body cross-toolchain.scm. (cross-gcc): Add #:imported-modules. Add (gnu build cross-toolchain) to #:modules. * gnu/build/cross-toolchain.scm: New file, with code from 'cross-gcc-arguments'. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/build/cross-toolchain.scm | 178 ++++++++++++++++++++++++++++++++++++++++++ gnu/local.mk | 1 + gnu/packages/cross-base.scm | 140 ++------------------------------- 3 files changed, 185 insertions(+), 134 deletions(-) create mode 100644 gnu/build/cross-toolchain.scm (limited to 'gnu') diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm new file mode 100644 index 0000000000..450443ca63 --- /dev/null +++ b/gnu/build/cross-toolchain.scm @@ -0,0 +1,178 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016 Manolis Fragkiskos Ragkousis +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu build cross-toolchain) + #:use-module (guix build utils) + #:use-module (guix build gnu-build-system) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:use-module (ice-9 ftw) + #:export (cross-gcc-build-phases)) + +;;; Commentary: +;;; +;;; This module provides tools to build a cross-compiler. +;;; +;;; Code: + +(define %gcc-include-paths + ;; Environment variables for header search paths. + ;; Note: See for why not 'CPATH'. + '("C_INCLUDE_PATH" + "CPLUS_INCLUDE_PATH" + "OBJC_INCLUDE_PATH" + "OBJCPLUS_INCLUDE_PATH")) + +(define %gcc-cross-include-paths + ;; Search path for target headers when cross-compiling. + (map (cut string-append "CROSS_" <>) %gcc-include-paths)) + +(define* (make-cross-binutils-visible #:key outputs inputs target + #:allow-other-keys) + "Create symlinks for 'as', 'nm', and 'ld' in the \"out\" output, under +libexec/gcc, so that the cross-GCC can find them." + (let* ((out (assoc-ref outputs "out")) + (libexec (string-append out "/libexec/gcc/" target)) + (binutils (string-append (assoc-ref inputs "binutils-cross") + "/bin/" target "-")) + (wrapper (string-append (assoc-ref inputs "ld-wrapper-cross") + "/bin/" target "-ld"))) + (for-each (lambda (file) + (symlink (string-append binutils file) + (string-append libexec "/" file))) + '("as" "nm")) + (symlink wrapper (string-append libexec "/ld")) + #t)) + +(define* (set-cross-path #:key inputs #:allow-other-keys) + "Add the cross kernel headers to CROSS_CPATH, and remove them from +C_INCLUDE_PATH et al." + (match (assoc-ref inputs "libc") + ((? string? libc) + (let ((kernel (assoc-ref inputs "xkernel-headers"))) + (define (cross? x) + ;; Return #t if X is a cross-libc or cross Linux. + (or (string-prefix? libc x) + (string-prefix? kernel x))) + + (let ((cpath (string-append libc "/include" + ":" kernel "/include"))) + (for-each (cut setenv <> cpath) + %gcc-cross-include-paths)) + + (setenv "CROSS_LIBRARY_PATH" + (string-append libc "/lib:" kernel "/lib")) ;for Hurd's libihash + + (for-each (lambda (var) + (and=> (getenv var) + (lambda (value) + (let* ((path (search-path-as-string->list value)) + (native-path (list->search-path-as-string + (remove cross? path) ":"))) + (setenv var native-path))))) + (cons "LIBRARY_PATH" %gcc-include-paths)) + #t)) + (#f + ;; We're building the sans-libc cross-compiler, so nothing to do. + #t))) + +(define* (set-cross-path/mingw #:key inputs #:allow-other-keys) + "Add the cross MinGW headers to CROSS_C_*_INCLUDE_PATH, and remove them from +C_*INCLUDE_PATH." + (let ((libc (assoc-ref inputs "libc")) + (gcc (assoc-ref inputs "gcc"))) + (define (cross? x) + (and libc (string-prefix? libc x))) + + (define (unpacked-mingw-dir) + (match (scandir "." (lambda (name) + (string-contains name "mingw-w64"))) + ((mingw-dir) + (string-append + (getcwd) "/" mingw-dir "/mingw-w64-headers")))) + + (if libc + (let ((cpath (string-append libc "/include" + ":" libc "/i686-w64-mingw32/include"))) + (for-each (cut setenv <> cpath) + %gcc-cross-include-paths)) + + ;; libc is false, so we are building xgcc-sans-libc. + ;; Add essential headers from mingw-w64. + (let ((mingw-source (assoc-ref inputs "mingw-source"))) + (system* "tar" "xvf" mingw-source) + (let ((mingw-headers (unpacked-mingw-dir))) + ;; We need _mingw.h which will gets built from _mingw.h.in by + ;; mingw-w64's configure. We cannot configure mingw-w64 until we + ;; have xgcc-sans-libc; substitute to the rescue. + (copy-file (string-append mingw-headers "/crt/_mingw.h.in") + (string-append mingw-headers "/crt/_mingw.h")) + + (substitute* (string-append mingw-headers "/crt/_mingw.h") + (("@MINGW_HAS_SECURE_API@") + "#define MINGW_HAS_SECURE_API 1")) + + (let ((cpath (string-append mingw-headers "/include" + ":" mingw-headers "/crt" + ":" mingw-headers + "/defaults/include"))) + (for-each (cut setenv <> cpath) + (cons "CROSS_LIBRARY_PATH" + %gcc-cross-include-paths)))))) + + (when libc + (setenv "CROSS_LIBRARY_PATH" + (string-append libc "/lib" + ":" libc "/i686-w64-mingw32/lib"))) + + (setenv "CPP" (string-append gcc "/bin/cpp")) + (for-each (lambda (var) + (and=> (getenv var) + (lambda (value) + (let* ((path (search-path-as-string->list + value)) + (native-path (list->search-path-as-string + (remove cross? path) ":"))) + (setenv var native-path))))) + (cons "LIBRARY_PATH" %gcc-include-paths)) + #t)) + +(define (install-strip . _) + "Install a stripped GCC." + ;; Unlike our 'strip' phase, this will do the right thing for + ;; cross-compilers. + (zero? (system* "make" "install-strip"))) + +(define* (cross-gcc-build-phases target + #:optional (phases %standard-phases)) + "Modify PHASES to include everything needed to build a cross-GCC for TARGET, +a target triplet." + (modify-phases phases + (add-before 'configure 'set-cross-path + (if (string-contains target "mingw") + set-cross-path/mingw + set-cross-path)) + (add-after 'install 'make-cross-binutils-visible + (cut make-cross-binutils-visible #:target target <...>)) + (replace 'install install-strip))) + +;;; cross-toolchain.scm ends here diff --git a/gnu/local.mk b/gnu/local.mk index 1f98513ca3..eec0e018b5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -436,6 +436,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/vm.scm \ \ %D%/build/activation.scm \ + %D%/build/cross-toolchain.scm \ %D%/build/file-systems.scm \ %D%/build/install.scm \ %D%/build/linux-boot.scm \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 7917e9fd0a..763bbf50e2 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -164,136 +164,7 @@ may be either a libc package or #f.)" ,flags)) flags)) ((#:phases phases) - (let ((phases - `(alist-cons-after - 'install 'make-cross-binutils-visible - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (libexec (string-append out "/libexec/gcc/" - ,target)) - (binutils (string-append - (assoc-ref inputs "binutils-cross") - "/bin/" ,target "-")) - (wrapper (string-append - (assoc-ref inputs "ld-wrapper-cross") - "/bin/" ,target "-ld"))) - (for-each (lambda (file) - (symlink (string-append binutils file) - (string-append libexec "/" - file))) - '("as" "nm")) - (symlink wrapper (string-append libexec "/ld")) - #t)) - (alist-replace - 'install - (lambda _ - ;; Unlike our 'strip' phase, this will do the right thing - ;; for cross-compilers. - (zero? (system* "make" "install-strip"))) - ,phases)))) - (cond - ((target-mingw? target) - `(modify-phases ,phases - (add-before - 'configure 'set-cross-path - (lambda* (#:key inputs #:allow-other-keys) - ;; Add the cross mingw headers to CROSS_C_*_INCLUDE_PATH, - ;; and remove them from C_*INCLUDE_PATH. - (let ((libc (assoc-ref inputs "libc")) - (gcc (assoc-ref inputs "gcc"))) - (define (cross? x) - (and libc (string-prefix? libc x))) - (define (unpacked-mingw-dir) - (match - (scandir - "." - (lambda (name) (string-contains name "mingw-w64"))) - ((mingw-dir) - (string-append - (getcwd) "/" mingw-dir "/mingw-w64-headers")))) - (if libc - (let ((cpath (string-append - libc "/include" - ":" libc "/i686-w64-mingw32/include"))) - (for-each (cut setenv <> cpath) - ',%gcc-cross-include-paths)) - ;; libc is false, so we are building xgcc-sans-libc - ;; Add essential headers from mingw-w64. - (let ((mingw-source (assoc-ref inputs "mingw-source"))) - (system* "tar" "xf" mingw-source) - (let ((mingw-headers (unpacked-mingw-dir))) - ;; We need _mingw.h which will gets built from - ;; _mingw.h.in by mingw-w64's configure. We - ;; cannot configure mingw-w64 until we have - ;; xgcc-sans-libc; substitute to the rescue. - (copy-file (string-append mingw-headers - "/crt/_mingw.h.in") - (string-append mingw-headers - "/crt/_mingw.h")) - (substitute* (string-append mingw-headers - "/crt/_mingw.h") - (("@MINGW_HAS_SECURE_API@") - "#define MINGW_HAS_SECURE_API 1")) - (let ((cpath - (string-append - mingw-headers "/include" - ":" mingw-headers "/crt" - ":" mingw-headers "/defaults/include"))) - (for-each (cut setenv <> cpath) - (cons - "CROSS_LIBRARY_PATH" - ',%gcc-cross-include-paths)))) - (when libc - (setenv "CROSS_LIBRARY_PATH" - (string-append - libc "/lib" - ":" libc "/i686-w64-mingw32/lib"))))) - (setenv "CPP" (string-append gcc "/bin/cpp")) - (for-each - (lambda (var) - (and=> - (getenv var) - (lambda (value) - (let* ((path (search-path-as-string->list - value)) - (native-path (list->search-path-as-string - (remove cross? path) ":"))) - (setenv var native-path))))) - (cons "LIBRARY_PATH" ',%gcc-include-paths)) - #t))))) - (libc - `(alist-cons-before - 'configure 'set-cross-path - (lambda* (#:key inputs #:allow-other-keys) - ;; Add the cross kernel headers to CROSS_CPATH, and remove - ;; them from CPATH. - (let ((libc (assoc-ref inputs "libc")) - (kernel (assoc-ref inputs "xkernel-headers"))) - (define (cross? x) - ;; Return #t if X is a cross-libc or cross Linux. - (or (string-prefix? libc x) - (string-prefix? kernel x))) - (let ((cpath (string-append - libc "/include" - ":" kernel "/include"))) - (for-each (cut setenv <> cpath) - ',%gcc-cross-include-paths)) - (setenv "CROSS_LIBRARY_PATH" - (string-append libc "/lib:" - kernel "/lib")) ;for Hurd's libihash - (for-each - (lambda (var) - (and=> - (getenv var) - (lambda (value) - (let* ((path (search-path-as-string->list value)) - (native-path (list->search-path-as-string - (remove cross? path) ":"))) - (setenv var native-path))))) - (cons "LIBRARY_PATH" ',%gcc-include-paths)) - #t)) - ,phases)) - (else phases)))))))) + `(cross-gcc-build-phases ,target ,phases)))))) (define (cross-gcc-patches target) "Return GCC patches needed for TARGET." @@ -336,13 +207,14 @@ GCC that does not target a libc; otherwise, target that libc." (arguments `(#:implicit-inputs? #f + #:imported-modules ((gnu build cross-toolchain) + ,@%gnu-build-system-modules) #:modules ((guix build gnu-build-system) (guix build utils) - (ice-9 ftw) - (ice-9 match) - (ice-9 regex) + (gnu build cross-toolchain) (srfi srfi-1) - (srfi srfi-26)) + (srfi srfi-26) + (ice-9 regex)) ,@(cross-gcc-arguments target libc))) -- cgit v1.2.3 From db913ac431fbffb54465f51cb499e886b21c34fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?= Date: Wed, 7 Dec 2016 18:03:09 +0100 Subject: gnu: Add libtermkey. * gnu/packages/terminals.scm (libtermkey): New variable. Signed-off-by: Marius Bakke --- gnu/packages/terminals.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index e1076c7c60..efedba480f 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016 José Miguel Sánchez García ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages linux) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages wm) @@ -261,6 +263,35 @@ multi-seat support, a replacement for @command{mingetty}, and more.") (supported-systems (filter (cut string-suffix? "-linux" <>) %supported-systems)))) +(define-public libtermkey + (package + (name "libtermkey") + (version "0.18") + (source (origin + (method url-fetch) + (uri (string-append "http://www.leonerd.org.uk/code/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "09ir16kaarv55mnc4jn2sqnjjhzpb1aha51wpd9ayif887g4d5r3")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list + "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases + (delete 'configure)) + #:test-target "test")) + (inputs `(("ncurses", ncurses))) + (native-inputs `(("libtool", libtool) + ("perl-test-harness" ,perl-test-harness) + ("pkg-config", pkg-config))) + (synopsis "Keyboard entry processing library for terminal-based programs") + (description + "Libtermkey handles all the necessary logic to recognise special keys, UTF-8 +combining, and so on, with a simple interface.") + (home-page "http://www.leonerd.org.uk/code/libtermkey") + (license license:expat))) + (define-public picocom (package (name "picocom") -- cgit v1.2.3 From 35cdc267aee2b6693e5314e9a7140a8e1d04a522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?= Date: Wed, 7 Dec 2016 18:06:22 +0100 Subject: gnu: Add lua-lpeg. * gnu/packages/lua.scm (lua-lpeg): New variable. Signed-off-by: Marius Bakke --- gnu/packages/lua.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index f95da3587d..65c335d373 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Clément Lassieur +;;; Copyright © 2016 José Miguel Sánchez García ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages readline) @@ -365,3 +367,37 @@ secure session between the peers.") based libraries. It allows using GObject-based libraries directly from Lua. Notable examples are GTK+, GStreamer and Webkit.") (license license:expat))) + +(define-public lua-lpeg + (package + (name "lua-lpeg") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-" + version ".tar.gz")) + (sha256 + (base32 "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + ;; `make install` isn't available, so we have to do it manually + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (lua-version ,(version-major+minor (package-version lua)))) + (install-file "lpeg.so" + (string-append out "/lib/lua/" lua-version)) + (install-file "re.lua" + (string-append out "/share/lua/" lua-version)) + #t)))) + #:test-target "test")) + (inputs `(("lua", lua))) + (synopsis "Pattern-matching library for Lua") + (description + "LPeg is a pattern-matching library for Lua, based on Parsing Expression +Grammars (PEGs).") + (home-page "http://www.inf.puc-rio.br/~roberto/lpeg") + (license license:expat))) -- cgit v1.2.3 From c451474488a2a9497ba4f839b90b0eff643d1945 Mon Sep 17 00:00:00 2001 From: Adonay Felipe Nogueira Date: Sat, 3 Dec 2016 21:22:56 -0200 Subject: gnu: samba: Don't expect configuration files inside the store. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . * gnu/packages/samba.scm (samba)[arguments]: Add --sysconfdir configure flag. Add 'disable-etc-samba-directory-creation' phase. Signed-off-by: Ludovic Courtès --- gnu/packages/samba.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 1706ec3030..913d5f7d98 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira ;;; ;;; This file is part of GNU Guix. ;;; @@ -121,11 +122,16 @@ anywhere.") ;; XXX: heimdal not packaged. "--bundled-libraries=com_err" (string-append "--prefix=" out) + "--sysconfdir=/etc" ;; Install public and private libraries into ;; a single directory to avoid RPATH issues. (string-append "--libdir=" libdir) - (string-append "--with-privatelibdir=" libdir))))))) - + (string-append "--with-privatelibdir=" libdir)))))) + (add-before 'install 'disable-etc-samba-directory-creation + (lambda _ + (substitute* "dynconfig/wscript" + (("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}") + "bld.INSTALL_DIRS(\"\", \""))))) ;; XXX: The test infrastructure attempts to set password with ;; smbpasswd, which fails with "smbpasswd -L can only be used by root." ;; So disable tests until there's a workaround. -- cgit v1.2.3 From 7b706a49300d43778527eacfb5087d8bce11dcd2 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Wed, 7 Dec 2016 15:23:52 +0100 Subject: gnu: Fix path to /etc/netconfig in libtirpc. * gnu/packages/onc-rpc.scm (libtirpc) [arguments]: Replace "/etc/netconfig" with (string-append %output "/etc/netconfig") --- gnu/packages/onc-rpc.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 0bcc885c39..8ef3e9f112 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -43,6 +43,14 @@ (modify-phases %standard-phases (add-after 'unpack 'remote-dangling-symlink (lambda _ + (substitute* '("man/netconfig.5" + "man/getnetconfig.3t" + "man/getnetpath.3t" + "man/rpc.3t" + "src/getnetconfig.c" + "tirpc/netconfig.h") + (("/etc/netconfig") (string-append %output "/etc/netconfig"))) + ;; Remove the dangling symlinks since it breaks the ;; 'patch-source-shebangs' file tree traversal. (delete-file "INSTALL")))))) -- cgit v1.2.3 From a9c61335c973ee0c29aa0096855a2070de0b34ed Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 29 Nov 2016 22:46:34 +0300 Subject: gnu: Update 'geiser' hash and deprecate 'geiser-next'. * gnu/packages/emacs.scm (geiser)[source]: Update the hash (the release tarball was updated in place). (geiser-next): Deprecate. --- gnu/packages/emacs.scm | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 774fc26573..5e6b99ff2f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -273,7 +273,7 @@ editor (without an X toolkit)" ) "/geiser-" version ".tar.gz")) (sha256 (base32 - "1n772ysl1dmn0vy3gk230ymyjm14h93zw99y6h2rqp1ixy7v43dm")))) + "0phz9d8wjk4p13vqannv0003fwh8qqrp0gfzcs2hgq1mrmv1srss")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after @@ -298,36 +298,8 @@ metadata.") (license license:bsd-3))) (define-public geiser-next - ;; Geiser's upcoming version supports Chibi and Chez, while it was forgot to - ;; include some required files in 0.9. When the next Geiser release comes - ;; out, we can remove this. - (let ((commit "16035b9fa475496f7f89a57fa81455057af749a0") - (revision "1")) - (package - (inherit geiser) - (name "geiser-next") - (version (string-append "0.9-" revision "." (string-take commit 7))) - (source (origin - (method git-fetch) - (file-name (string-append name "-" version ".tar.gz")) - (uri (git-reference - (url "git://git.sv.gnu.org/geiser.git") - (commit commit))) - (sha256 - (base32 - "1rrafizrhjkai0msryjiz4c5dcdyihf0i2wmgiy8br74rwbxpyl5")))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("texinfo" ,texinfo) - ,@(package-native-inputs geiser))) - (arguments - (substitute-keyword-arguments (package-arguments geiser) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'autogen - (lambda _ - (zero? (system* "sh" "autogen.sh"))))))))))) + ;; This has become "geiser". + (deprecated-package "geiser-next" geiser)) (define-public paredit (package -- cgit v1.2.3 From cb72d34348998501c0dfa9f6ac4eb64bddd99fbf Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 8 Dec 2016 12:25:18 +0300 Subject: gnu: libreoffice: Add 'libreoffice' symlink. * gnu/packages/libreoffice.scm (libreoffice)[arguments]: Adjust 'bin-install' phase to make 'libreoffice' symlink along with 'soffice'. Co-authored-by: ng0 --- gnu/packages/libreoffice.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index e02e4f4cdc..279e8e2d22 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -820,14 +820,16 @@ and to return information on pronunciations, meanings and synonyms.") (("./configure") "$(CONFIG_SHELL) ./configure" )) #t))) (add-after 'install 'bin-install - ;; Create a symlink bin/soffice to the executable script. + ;; Create 'soffice' and 'libreoffice' symlinks to the executable + ;; script. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) + (bin (string-append out "/bin")) + (soffice (string-append + out "/lib/libreoffice/program/soffice"))) (mkdir bin) - (symlink - (string-append out "/lib/libreoffice/program/soffice") - (string-append bin "/soffice"))) + (symlink soffice (string-append bin "/soffice")) + (symlink soffice (string-append bin "/libreoffice"))) #t))) #:configure-flags (list -- cgit v1.2.3 From 1b7f17ef90bcd8fc83cc985cc94ac984dcc2a07a Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 8 Dec 2016 22:39:10 +1000 Subject: gnu: vsearch: Update to 2.3.3. * gnu/packages/bioinformatics.scm (vsearch): Update to 2.3.3. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4fac8e16c0..625935dfd7 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.") (define-public vsearch (package (name "vsearch") - (version "2.3.0") + (version "2.3.3") (source (origin (method url-fetch) @@ -5639,7 +5639,7 @@ track. The database is exposed as a @code{TxDb} object.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1r8fk3whkil348y5hfsd4r56qjmchhq4nxm6s7ra5rlisw0mf9fy")) + "1d3670apjy15c9l40fpq71lifxga6j9z2gisdirycwk18s4mvcp2")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From a14061aae602c69d5cb124dd523e132951feac20 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 8 Dec 2016 13:54:09 +0100 Subject: gnu: python-html5lib: Update to 1.0b10 [fixes CVE-2016-{9909,9910}]. * gnu/packages/python.scm (python-html5lib, python2-html5lib): Update to 1.0b10. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3d938ccc16..f61c646233 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4851,14 +4851,14 @@ ISO 8601 dates, time and duration.") (define-public python-html5lib (package (name "python-html5lib") - (version "1.0b8") + (version "1.0b10") (source (origin (method url-fetch) (uri (pypi-uri "html5lib" version)) (sha256 (base32 - "1lknq5j3nh11xrl268ks76zaj0gyzh34v94n5vbf6dk8llzxdx0q")))) + "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) ; required to "import html5lib" -- cgit v1.2.3 From a2c1dceadd2bf86ab17c70cd674bc98aec32a842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?= Date: Wed, 7 Dec 2016 17:53:22 +0100 Subject: gnu: Add vis. * gnu/packages/text-editors.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Marius Bakke --- gnu/local.mk | 1 + gnu/packages/text-editors.scm | 77 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 gnu/packages/text-editors.scm (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index eec0e018b5..30a5c209fc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -359,6 +359,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/texinfo.scm \ %D%/packages/tex.scm \ %D%/packages/textutils.scm \ + %D%/packages/text-editors.scm \ %D%/packages/time.scm \ %D%/packages/tls.scm \ %D%/packages/tmux.scm \ diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm new file mode 100644 index 0000000000..4e2324dbea --- /dev/null +++ b/gnu/packages/text-editors.scm @@ -0,0 +1,77 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 José Miguel Sánchez García +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages text-editors) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages lua) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages terminals)) + +(define-public vis + (package + (name "vis") + (version "0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/martanne/" + name "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0bbmkblpndc53pvr8xcfywdn8g351yxfj8c46zp5d744c3bq2nry")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("CFLAGS=-pie") + #:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-binary + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lpeg (assoc-ref inputs "lua-lpeg")) + (lua-version ,(version-major+minor (package-version lua))) + (LUA_PATH (string-append lpeg "/share/lua/" + lua-version "/?.lua")) + (LUA_CPATH (string-append lpeg "/lib/lua/" + lua-version "/?.so"))) + (wrap-program (string-append out "/bin/vis") + `("LUA_PATH" ":" prefix (,LUA_PATH)) + `("LUA_CPATH" ":" prefix (,LUA_CPATH))) + #t)))))) + (native-search-paths + (list (search-path-specification + (variable "VIS_PATH") + (files '("share/vis"))))) + (inputs `(("lua", lua) + ("ncurses", ncurses) + ("libtermkey", libtermkey) + ("lua-lpeg", lua-lpeg))) + (synopsis "Vim-like text editor") + (description + "Vis aims to be a modern, legacy free, simple yet efficient vim-like text +editor. It extends vim's modal editing with built-in support for multiple +cursors/selections and combines it with sam's structural regular expression +based command language.") + (home-page "https://github.com/martanne/vis") + (license (list license:isc ; Main distribution. + license:public-domain ; map.[ch] + license:expat)))) ; lexers and libutf.[ch] -- cgit v1.2.3 From 57513498def74f8d95ef10df654d28e5a638a612 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 7 Dec 2016 18:51:27 -0500 Subject: gnu: tcsh: Fix out of bounds read. * gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/shells.scm (tcsh)[replacement]: New field. (tcsh/fixed): New variable. --- gnu/local.mk | 1 + .../patches/tcsh-fix-out-of-bounds-read.patch | 31 ++++++++++++++++++++++ gnu/packages/shells.scm | 10 +++++++ 3 files changed, 42 insertions(+) create mode 100644 gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 30a5c209fc..55dee48305 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -885,6 +885,7 @@ dist_patch_DATA = \ %D%/packages/patches/tclxml-3.2-install.patch \ %D%/packages/patches/tcsh-do-not-define-BSDWAIT.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \ + %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ 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 0000000000..48c294f78e --- /dev/null +++ b/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch @@ -0,0 +1,31 @@ +Fix out-of-bounds read in c_substitute(): + +http://seclists.org/oss-sec/2016/q4/612 + +Patch copied from upstream source repository: + +https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 + +From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001 +From: christos +Date: Fri, 2 Dec 2016 16:59:28 +0000 +Subject: [PATCH] Fix out of bounds read (Brooks Davis) (reproduce by starting + tcsh and hitting tab at the prompt) + +--- + ed.chared.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ed.chared.c b/ed.chared.c +index 1277e53..310393e 100644 +--- ed.chared.c ++++ ed.chared.c +@@ -750,7 +750,7 @@ c_substitute(void) + /* + * If we found a history character, go expand it. + */ +- if (HIST != '\0' && *p == HIST) ++ if (p >= InputBuf && HIST != '\0' && *p == HIST) + nr_exp = c_excl(p); + else + nr_exp = 0; diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index f3350ef501..1931609753 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.") (define-public tcsh (package (name "tcsh") + (replacement tcsh/fixed) (version "6.18.01") (source (origin (method url-fetch) @@ -231,6 +232,15 @@ command-line editor, programmable word completion, spelling correction, a history mechanism, job control and a C-like syntax.") (license bsd-4))) +(define tcsh/fixed + (package + (inherit tcsh) + (name "tcsh") + (source (origin + (inherit (package-source tcsh)) + (patches (cons (search-patch "tcsh-fix-out-of-bounds-read.patch") + (origin-patches (package-source tcsh)))))))) + (define-public zsh (package (name "zsh") -- cgit v1.2.3 From cb5a32c02291b15c3682a22df52272233fcec568 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 8 Dec 2016 14:29:41 -0500 Subject: gnu: imagemagick: Update to 6.9.6-7. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.6-7. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 4e70212133..6f450a373b 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -43,14 +43,14 @@ (define-public imagemagick (package (name "imagemagick") - (version "6.9.6-6") + (version "6.9.6-7") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "02hd0xvpm99wrix2didg8xnra4fla04y9vaks2vnijry3l0gxlcw")))) + "1ls3g4gpdh094n03szr9arpr0rfwd1krv2s9gnck8j0ab10ccgs5")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") -- cgit v1.2.3 From 256470325bb520afc4452993a8f29a31e0c99107 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 8 Dec 2016 20:30:48 +0200 Subject: gnu: tor: Update to 0.2.8.11. * gnu/packages/tor.scm (tor): Update to 0.2.8.11. --- gnu/packages/tor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 9b461aa170..6d5994bf36 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -39,14 +39,14 @@ (define-public tor (package (name "tor") - (version "0.2.8.10") + (version "0.2.8.11") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0kcw9hq4xz8p91xwyhjfry5p1dmn7vvnhpfz66vl9gsfndbqr2y8")))) + "1cvaviamvmajzpdgjn2k1rk3g9ywl1c4ygs5157gvnkyl6zs1pks")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) ; for tests -- cgit v1.2.3 From 80a92a0fb565ad044588454f5bba450d2c411dd9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 8 Dec 2016 21:09:17 +0200 Subject: gnu: efl: Update to 1.18.4. * gnu/packages/enlightenment.scm (efl): Update to 1.18.4. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 6f081cf19b..be2c1a1ec0 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -57,7 +57,7 @@ (define-public efl (package (name "efl") - (version "1.18.3") + (version "1.18.4") (source (origin (method url-fetch) (uri (string-append @@ -65,7 +65,7 @@ version ".tar.xz")) (sha256 (base32 - "1h347sfxajyb5s931m9qga14wwiqci7aicww2imxjhzm8w4fqj07")))) + "09c0ajszjarcs6d62zlgnf1aha2f921mfr0gxg6nwza36xzc1srr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From c32f0e30591fa3fab3e0d2bede28639e7c7053a8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 8 Dec 2016 21:31:52 +0200 Subject: gnu: enlightenment: Update to 0.21.4. * gnu/packages/enlightenment.scm (enlightenment): Update to 0.21.4. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index be2c1a1ec0..77814960ee 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -197,7 +197,7 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.21.3") + (version "0.21.4") (source (origin (method url-fetch) (uri @@ -205,7 +205,7 @@ Libraries with some extra bells and whistles.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1ljzcq775njhbcaj8vdnypf2rgc6yqqdwfkf7c22603qvv9if1dr")))) + "085zn6vdy904fxa9krx7ljv61yg96b2xk56g0bx2lyq1d33sgl8f")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-mount-eeze"))) -- cgit v1.2.3 From 0c69a17efdba0c7c3da0f25800a3c3233200e47b Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 6 Dec 2016 19:35:38 +0000 Subject: gnu: Add epic5. * gnu/packages/irc.scm (epic5): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/irc.scm | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 3b63c899eb..1a02fbeebc 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Kevin Lemonnier ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015, 2016 Efraim Flashner -;;; Copyright © 2016 ng0 +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,9 +32,11 @@ #:use-module (gnu packages autogen) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages backup) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages databases) #:use-module (gnu packages file) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -47,6 +49,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages ruby) #:use-module (gnu packages qt) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) @@ -329,3 +332,91 @@ and extensible with plugins and scripts.") embedded web server, translations (fr, fi, it, hu, de), and many other enhancements and bug fixes.") (license license:bsd-3))) + +(define-public epic5 + (package + (name "epic5") + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://ftp.epicsol.org/pub/" + "epic/EPIC5-PRODUCTION/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-perl + (lambda _ + (substitute* "regress/crash-irc" + (("perl5") (which "perl"))) + #t)) + (add-after 'unpack 'patch-bsdinstall + ;; If we just remove /bin/ some part of the bsdinstall breaks. + ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which + ;; means if we leave /etc/ in, install fails. + (lambda _ + (substitute* "bsdinstall" + (("/bin/strip") "strip") + (("/bin/cp") "cp") + (("/bin/chmod") "chmod") + (("/bin/chgrp") "chgrp") + (("/bin/mkdir") "mkdir") + (("/bin/rm") "rm") + (("/bin/mv") "mv") + (("/etc/") "")) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; The tarball uses a very old version of autconf. It does not + ;; understand extra flags like `--enable-fast-install', so + ;; we need to invoke it with just what it understands. + (let ((out (assoc-ref outputs "out"))) + ;; 'configure' doesn't understand '--host'. + ,@(if (%current-target-system) + `((setenv "CHOST" ,(%current-target-system))) + '()) + (setenv "CONFIG_SHELL" (which "bash")) + (setenv "SHELL" (which "bash")) + (zero? + (system* "./configure" + (string-append "--prefix=" out) + "--with-ipv6" "--with-libarchive" + ;; We use libressl because openssl does not come + ;; with the lib/libssl.a which is needed for epic5. + ;; XXX: No matter which implementation is chosen, + ;; epic5 fails to connect to tls ports of roundrobin + ;; irc networks. This however is believed to be an + ;; protocol issue at epic5 related to ircd. + (string-append "--with-ssl=" + (assoc-ref %build-inputs "libressl")) + (string-append "--with-tcl=" + (assoc-ref %build-inputs "tcl") + "/lib/tclConfig.sh"))))))))) + (inputs + `(("libressl" ,libressl) + ("ncurses" ,ncurses) + ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files" + ("perl" ,perl) + ("tcl" ,tcl) + ("ruby" ,ruby))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://epicsol.org") + (synopsis "Epic5 IRC Client") + (description + "EPIC is a IRC client that has been under active development for +over 20 years. It is stable and mature, and offers an excellent ircII +interface for those who are accustomed to the ircII way of doing things.") + (license (list license:bsd-3 + license:isc + license:bsd-4 + ;; The epic license is equal to the standard three-clause + ;; BSD license except that you are not permitted to remove the + ;; "Redistribution is permitted" clause of the license if you + ;; distribute binaries. + license:non-copyleft "http://epicsol.org/copyright")))) -- cgit v1.2.3 From 1f6a73ee6b94e5798c14fe86dc012c0e8505d451 Mon Sep 17 00:00:00 2001 From: rennes Date: Wed, 7 Dec 2016 21:47:27 -0600 Subject: gnu: Add gnome-system-monitor. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (gnome-system-monitor): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e7798e9399..1dde6c06c7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5688,3 +5688,39 @@ only know by its Unicode name or code point.") with many options to write web sites, scripts and other code. Bluefish supports many programming and markup languages.") (license license:gpl3+))) + +(define-public gnome-system-monitor + (package + (name "gnome-system-monitor") + (version "3.20.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1ya41b58syf8g5pc12gw1xm6jhdx3crap803bjwm086r7x2an8wv")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-mkenums. + ("intltool" ,intltool) + ("itstool" ,itstool) + ("libgtop" ,libgtop) + ("pkg-config" ,pkg-config))) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files. + ("gtk+" ,gtk+) + ("gtkmm" ,gtkmm) + ("librsvg" ,librsvg) + ("libxml2" ,libxml2))) + (home-page "https://wiki.gnome.org/Apps/SystemMonitor") + (synopsis "Process viewer and system resource monitor for GNOME") + (description + "GNOME System Monitor is a GNOME process viewer and system monitor with +an attractive, easy-to-use interface. It has features, such as a tree view +for process dependencies, icons for processes, the ability to hide processes, +graphical time histories of CPU/memory/swap usage and the ability to +kill/reinice processes.") + (license license:gpl2+))) -- cgit v1.2.3 From e11fb2b8624f50fdec32cebbbb5a0a4b4f20ae64 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 8 Dec 2016 23:01:54 -0500 Subject: gnu: parallel: Update 20161122. * gnu/packages/parallel.scm (parallel): Update to 20161122. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 89195f31c2..1a4ea8a036 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -45,7 +45,7 @@ (define-public parallel (package (name "parallel") - (version "20161022") + (version "20161122") (source (origin (method url-fetch) @@ -53,7 +53,7 @@ version ".tar.bz2")) (sha256 (base32 - "1mz82chm5qav6h64rcckxzabr7w4ma0sjx61xav85x0swgcbjdsr")))) + "0z5c4r35d926ac04ilaivx67cmflr1rsvmjb2ci7hmab948m0ng2")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From b1a3c533f3e9c926c911cb7b3f4cbde7558d291c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 8 Dec 2016 20:25:15 +0100 Subject: gnu: php: Update to 7.0.14. * gnu/packages/php.scm (php): Update to 7.0.14. Signed-off-by: Marius Bakke --- gnu/packages/php.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 9ccbede873..a84ff43d77 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -64,7 +64,7 @@ (define-public php (package (name "php") - (version "7.0.13") + (version "7.0.14") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -72,7 +72,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1gzihbpcp51jc587gs1ryn59hsnr7vf5427dmcvdimvm77wsfyrm")) + "12ccgbrfchgvmcfb88rcknq7xmrf19c5ysdr4v8jxk51j9izy78g")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" -- cgit v1.2.3 From fe3b8862cfcc2409532c4b7df3af779ec04c694d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 9 Dec 2016 11:47:39 +0100 Subject: gnu: alot: Update to 0.4. * gnu/packages/mail.scm (alot): Update to 0.4. [arguments]: Update python3 comment. --- gnu/packages/mail.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 39599adc42..4b8e07cd11 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -453,7 +453,7 @@ attachments, create new maildirs, and so on.") (define-public alot (package (name "alot") - (version "0.3.7") + (version "0.4") (source (origin (method url-fetch) ;; package author intends on distributing via github rather @@ -464,12 +464,12 @@ attachments, create new maildirs, and so on.") (file-name (string-append "alot-" version ".tar.gz")) (sha256 (base32 - "09md9llg38r6xby8l0y0zf8nhlh91cr4xs0r15b294hhp8hl2bgx")))) + "0sl1kl2fhkv208llnbny4blcvrfdk4vx6bcw5pnyh9ylwb0pipi2")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests - ;; python 3 is unsupported, more info: - ;; https://github.com/pazz/alot/blob/0.3.7/docs/source/faq.rst + ;; python 3 is currently unsupported, more info: + ;; https://github.com/pazz/alot/blob/master/docs/source/faq.rst #:python ,python-2)) (inputs `(("python2-magic" ,python2-magic) -- cgit v1.2.3 From 444a79b6fea48b17f8a798075d0b75d049be5a5e Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 9 Dec 2016 11:48:06 +0100 Subject: gnu: Add python-flask-restful-swagger. * gnu/packages/python.scm (python-flask-restful-swagger, python2-flask-restful-swagger): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index f61c646233..b0e23b5c1d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11851,3 +11851,26 @@ database).") (define-public python2-sadisplay (package-with-python2 python-sadisplay)) + +(define-public python-flask-restful-swagger + (package + (name "python-flask-restful-swagger") + (version "0.19") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flask-restful-swagger" version)) + (sha256 + (base32 + "16msl8hd5xjmj833bpy264v98cpl5hkw5bgl5gf5vgndxbv3rm6v")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flask-restful" ,python-flask-restful))) + (home-page "https://github.com/rantav/flask-restful-swagger") + (synopsis "Extract Swagger specs from Flask-Restful projects") + (description "This package lets you extract Swagger API documentation +specs from your Flask-Restful projects.") + (license license:expat))) + +(define-public python2-flask-restful-swagger + (package-with-python2 python-flask-restful-swagger)) -- cgit v1.2.3 From 9fde877856d82ee4c040fd904c4eb5378acea5ee Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Dec 2016 22:32:54 +0100 Subject: gnu: python2-pyqt-4: Change package name to python2-pyqt. * gnu/packages/qt.scm (python2-pyqt-4)[package]: Change "name" python2-pyqt. --- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ae951aad5f..fc4700e2d4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1115,7 +1115,7 @@ contain over 620 classes.") (define-public python2-pyqt-4 (package (inherit python-pyqt-4) - (name "python2-pyqt-4") + (name "python2-pyqt") (native-inputs `(("python-sip" ,python2-sip) ("qt" ,qt-4))) -- cgit v1.2.3 From 931eaeaad9ef59cad651b6bd548a6151ac53d1d3 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Dec 2016 23:18:26 +0100 Subject: gnu: python-pyqt-5.5: Use non-inherited "configure" phase. This allows passing different options for 5.5 than for the main version (which is currently 5.6). * gnu/packages.qt.scm (python-pyqt-5.5, python2-pyqt-5.5)[arguments]: Copy from (python-pyqt)[arguments]. --- gnu/packages/qt.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index fc4700e2d4..aaa7e1cff7 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1054,6 +1054,36 @@ contain over 620 classes.") (base32 "056qmkv02wdcfblqdaxiswrgn4wa88sz22i1x58dpb1iniavplfd")) (patches (search-patches "pyqt-configure.patch")))) + (arguments + `(#:modules ((srfi srfi-1) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sip (string-append out "/share/sip")) + (plugins (string-append out "/plugins")) + (designer (string-append plugins "/designer")) + (qml (string-append plugins "/PyQt5")) + (python (assoc-ref inputs "python")) + (python-version + (last (string-split python #\-))) + (python-major+minor + (string-join + (take (string-split python-version #\.) 2) + ".")) + (lib (string-append out "/lib/python" + python-major+minor + "/site-packages"))) + (zero? (system* "python" "configure.py" + "--confirm-license" + "--bindir" bin + "--destdir" lib + "--designer-plugindir" designer + "--qml-plugindir" qml + "--sipdir" sip)))))))) (native-inputs `(("python-sip" ,python-sip) ("qt" ,qt))))) -- cgit v1.2.3 From 43e8824d3cd3ff53671167ab9b41f0094458a4d6 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Dec 2016 23:13:26 +0100 Subject: gnu: python-pyqt: Fix build by explicitly setting the stubsdir. * gnu/packages.qt.scm (python-pyqt, python2-pyqt)[arguments]: In phase 'configure' pass option --stubsdir. --- gnu/packages/qt.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index aaa7e1cff7..4a8fb6c66d 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1015,13 +1015,19 @@ module provides support functions to the automatically generated code.") ".")) (lib (string-append out "/lib/python" python-major+minor - "/site-packages"))) + "/site-packages")) + (stubs (string-append lib "/PyQt5"))) (zero? (system* "python" "configure.py" "--confirm-license" "--bindir" bin "--destdir" lib "--designer-plugindir" designer "--qml-plugindir" qml + ; Where to install the PEP 484 Type Hints stub + ; files. Without this the stubs are tried to be + ; installed into the python package's + ; site-package directory, which is read-only. + "--stubsdir" stubs "--sipdir" sip)))))))) (home-page "https://www.riverbankcomputing.com/software/pyqt/intro") (synopsis "Python bindings for Qt") -- cgit v1.2.3