From 4ed041d90159f0efc0068745ce9ef03bdb6ef234 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 8 Oct 2019 22:04:12 +0200 Subject: gnu: mate-applets: Build with a fixed version of yelp-tools. Fixes . Reported by Jan Wielkiewicz . * gnu/packages/gnome.scm (yelp-tools/fixed): New public variable. * gnu/packages/mate.scm (mate-applets)[native-inputs]: Replace YELP-TOOLS with YELP-TOOLS/FIXED. --- gnu/packages/gnome.scm | 11 +++++++++++ gnu/packages/mate.scm | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d8b73e25d9..eae62a1d06 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4623,6 +4623,17 @@ lifting is done by packages like yelp-xsl and itstool. This package just wraps things up in a developer-friendly way.") (license license:gpl2+))) +(define-public yelp-tools/fixed + ;; This variant fixes a python-libxml2 crash when processing UTF-8 + ;; sequences: . TODO: Remove this in + ;; the next rebuild cycle. + (hidden-package + (package/inherit + yelp-tools + (propagated-inputs + `(("itstool" ,itstool/fixed) + ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools))))))) + (define-public libgee (package (name "libgee") diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index ba90ccec73..fb3c5ab6df 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -565,7 +565,7 @@ assorted menu related utility programs.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("libxslt" ,libxslt) - ("yelp-tools" ,yelp-tools) + ("yelp-tools" ,yelp-tools/fixed) ("scrollkeeper" ,scrollkeeper) ("gettext" ,gettext-minimal) ("docbook-xml" ,docbook-xml) -- cgit v1.2.3 From 9d282fb16344821af6807cf5dfd7b26923d3cbaa Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sun, 6 Oct 2019 12:53:40 +0100 Subject: gnu: sakura: Update to 3.7.0. * gnu/packages/terminals.scm (sakura): Update to 3.7.0. Signed-off-by: Marius Bakke --- gnu/packages/terminals.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index d9a5f1db9a..98e964fa44 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2018, 2019 Eric Bavier ;;; Copyright © 2019 Julien Lepiller +;;; Copyright © 2019 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -665,15 +666,15 @@ eye-candy, customizable, and reasonably lightweight.") (define-public sakura (package (name "sakura") - (version "3.6.0") + (version "3.7.0") (source (origin (method url-fetch) (uri (string-append "https://launchpad.net/" name "/trunk/" version "/+download/" name "-" version - ".tar.bz2")) + ".tar.gz")) (sha256 (base32 - "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1")))) + "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no check phase -- cgit v1.2.3 From d28c113f6b024547bf7dc7d56d8643718280a7dd Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 5 Oct 2019 12:55:10 +0100 Subject: gnu: gpodder: Update to 3.10.11. * gnu/packages/gpodder.scm (gpodder): Update to 3.10.11. Signed-off-by: Marius Bakke --- gnu/packages/gpodder.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index f896ddae35..040793b4f6 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -37,7 +37,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.10.10") + (version "3.10.11") (source (origin (method git-fetch) @@ -46,7 +46,7 @@ (commit version))) (sha256 (base32 - "1phgd3xly6ddrxpx5glgfs1ya4xq2qbcx5d9l3d6i4dlhji1dmja")) + "15f5z3cnch9lpzbz73l4wjykv9n74y8djz5db53la2ql4ihaxfz9")) (file-name (git-file-name name version)))) (build-system python-build-system) (native-inputs -- cgit v1.2.3 From f875d76f16203e6ad235ec2c03ac784852ac1a20 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Tue, 8 Oct 2019 14:38:32 +0100 Subject: gnu: python2-tqdm: Depend on python2-functools32. * gnu/packages/python-xyz.scm (python-tqdm)[properties]: Add python2-variant. (python2-tqdm): Use 'strip-python2-variant'. [native-inputs]: Add python2-functools32. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b0f5ec7588..c30532266c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13746,10 +13746,15 @@ ignoring formatting changes.") "Make loops show a progress bar on the console by just wrapping any iterable with @code{|tqdm(iterable)|}. Offers many options to define design and layout.") - (license (list license:mpl2.0 license:expat)))) + (license (list license:mpl2.0 license:expat)) + (properties `((python2-variant . ,(delay python2-tqdm)))))) (define-public python2-tqdm - (package-with-python2 python-tqdm)) + (let ((tqdm (package-with-python2 + (strip-python2-variant python-tqdm)))) + (package (inherit tqdm) + (native-inputs `(("python2-functools32" ,python2-functools32) + ,@(package-native-inputs tqdm)))))) (define-public python-pkginfo (package -- cgit v1.2.3 From 185152e39e4d9d1731247cc4b14e73fe4c5030b6 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 8 Oct 2019 23:19:23 +0200 Subject: gnu: mcrl2: Update source url. * gnu/packages/maths.scm (mcrl2): Update source url. --- gnu/packages/maths.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index fe9d59b69a..6f75fba879 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4320,9 +4320,9 @@ reduction.") (version "201908.0") (source (origin (method url-fetch) - (uri (string-append "http://www.mcrl2.org/download/devel/mcrl2-" - version - ".tar.gz")) + (uri (string-append + "https://www.mcrl2.org/download/release/mcrl2-" + version ".tar.gz")) (sha256 (base32 "1i4xgl2d5fgiz1mwi50cyfkrrcpm8nxfayfjgmhq7chs58wlhfsz")))) -- cgit v1.2.3 From 9887fc7512576db0f9605626d47a00dc8b60ef65 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 8 Oct 2019 18:52:38 +0200 Subject: gnu: emacs-dante: Update to 1.5-3.38b5894. * gnu/packages/emacs-xyz.scm (emacs-dante): Update to 1.5-3.38b5894. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1b8ae47fc2..58b8551fb1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -741,8 +741,8 @@ programs.") (deprecated-package "haskell-mode" emacs-haskell-mode)) (define-public emacs-dante - (let ((commit "a25ae9e5b5425cffdd88d498777e90ea8655fa37") - (revision "2")) + (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b") + (revision "3")) (package (name "emacs-dante") (version (git-version "1.5" revision commit)) @@ -753,7 +753,7 @@ programs.") (commit commit))) (sha256 (base32 - "1ziw3snbs2z2cg8a3jbyjd48qkgrkzs4bh8lrbs0h2c87nzldvhd")) + "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs -- cgit v1.2.3 From 4928a376244439bfd488aa8259ece8a5a76d1f02 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 03:53:24 +0200 Subject: gnu: emacs-ccls: Update to 0.1-3.b1acc33. * gnu/packages/emacs-xyz.scm (emacs-ccls): Update to 0.1-3.b1acc33. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 58b8551fb1..69c5f406d5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15202,8 +15202,8 @@ Pandoc, the document-conversion tool.") (license license:bsd-3))) (define-public emacs-ccls - (let ((commit "9061ebbf9d5ec3ee7e88dbd226c77017cf0447b1") - (revision "2")) + (let ((commit "b1acc336f27d8a3bbc750c2dc3be915a4ac1afea") + (revision "3")) (package (name "emacs-ccls") (version (git-version "0.1" revision commit)) @@ -15216,7 +15216,7 @@ Pandoc, the document-conversion tool.") (file-name (git-file-name name version)) (sha256 (base32 - "106jh25ivq0ydiz37p51agk5zbpai7fv91pwn6dpqzsq5g281ls7")))) + "1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) -- cgit v1.2.3 From 525ef21ba0d4a50a7d21f5543db40b6cc328f9cd Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 04:12:22 +0200 Subject: gnu: emacs-general: Update to 0-3.f38fb22. * gnu/packages/emacs-xyz.scm (emacs-general): Update to 0-3.f38fb22. --- gnu/packages/emacs-xyz.scm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 69c5f406d5..c80e440288 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16196,8 +16196,8 @@ other frame parameters.") (license license:gpl3+)))) (define-public emacs-general - (let ((commit "f032c3a77079487d0ea563b17ee3e5b2fb084611") - (revision "2")) + (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e") + (revision "3")) (package (name "emacs-general") (version (git-version "0" revision commit)) @@ -16208,9 +16208,24 @@ other frame parameters.") (commit commit))) (sha256 (base32 - "0lgh5z17ag5wvvnqwagvam29cp1n1vd50amn6df02xln80bsbllx")) + "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i")) (file-name (git-file-name name version)))) (build-system emacs-build-system) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup) + ("emacs-evil" ,emacs-evil) + ("emacs-which-key" ,emacs-which-key) + ("emacs-use-package" ,emacs-use-package))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("cask exec ") "")) + #t))) + #:tests? #t + #:test-command '("make" "test"))) (home-page "https://github.com/noctuid/general.el") (synopsis "More convenient key definitions in emacs") (description "@code{general.el} provides a more convenient method for -- cgit v1.2.3 From 3cb2d1a556e97b203f6a8c0a7618dc0ff0e6f109 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 08:10:03 +0200 Subject: gnu: emacs-tiny: Update to 0.2.1-1.fd8a6b0. * gnu/packages/emacs-xyz.scm (emacs-tiny): Update to 0.2.1-1.fd8a6b0. --- gnu/packages/emacs-xyz.scm | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c80e440288..a4a1999746 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9996,25 +9996,32 @@ It supports dired buffers and opens them in tree mode at destination.") (license license:gpl3+))) (define-public emacs-tiny - (package - (name "emacs-tiny") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar")) - (sha256 - (base32 - "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v")))) - (build-system emacs-build-system) - (home-page "https://github.com/abo-abo/tiny") - (synopsis "Quickly generate linear ranges in Emacs") - (description - "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}. + (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908") + (revision "1")) + (package + (name "emacs-tiny") + (version (git-version "0.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/tiny.git") + (commit commit))) + (sha256 + (base32 + "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("make" "test"))) + (home-page "https://github.com/abo-abo/tiny") + (synopsis "Quickly generate linear ranges in Emacs") + (description + "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}. It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp proficiency is an advantage, since you can transform your numeric range with an elisp expression.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-emojify (package -- cgit v1.2.3 From 86723f98ab272b1a2621fb54ff88eab5e8e80fed Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 9 Oct 2019 15:59:52 +0200 Subject: gnu: python-binaryornot: Fix build. Fixes . * gnu/packages/python-xyz.scm (python-binaryornot)[arguments]<#:phases>[patch-tests]: New phase. --- gnu/packages/python-xyz.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c30532266c..068b17fdab 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10972,6 +10972,16 @@ hardware-accelerated multitouch applications.") (base32 "0qc006986rb6bcbmiymwgcl1mns2jphr1j7sr7nk41nlr7gh359m")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-test + (lambda _ + ;; TypeError: binary() got an unexpected keyword argument + ;; 'average_size'. + (substitute* "tests/test_check.py" + (("average_size=512") "")) + #t))))) (propagated-inputs `(("python-chardet" ,python-chardet) ("python-hypothesis" ,python-hypothesis))) -- cgit v1.2.3 From e0dcd84d51cb66de545a69c82746fd261ecfedb0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 9 Oct 2019 17:57:06 +0200 Subject: gnu: libsigc++: Update home page. * gnu/packages/glib.scm (libsigc++)[home-page]: Update to current. --- gnu/packages/glib.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 3c2f346837..c3dadbdfd3 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -550,7 +550,7 @@ by GDBus included in Glib.") (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("m4" ,m4))) - (home-page "http://libsigc.sourceforge.net/") + (home-page "https://libsigcplusplus.github.io/libsigcplusplus/") (synopsis "Type-safe callback system for standard C++") (description "Libsigc++ implements a type-safe callback system for standard C++. It -- cgit v1.2.3 From 636037fd0a9b3ab14a144b3eb2379cc0c59f0282 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 9 Oct 2019 19:07:50 +0200 Subject: gnu: espeak: Build with the C++ 98 standard. Fixes . Reported by Bradley Haggerty . * gnu/packages/speech.scm (espeak)[arguments]: Add CXXFLAGS to #:make-flags. --- gnu/packages/speech.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 21d6027004..38ae8ae6f8 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -69,6 +69,8 @@ (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib") + ;; The package fails to build with newer C++ standards. + "CXXFLAGS=-std=c++98" "AUDIO=pulseaudio") #:tests? #f ; no check target #:phases -- cgit v1.2.3 From 13299105115173bf70ec5bca5a5d61e277e41bf3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 8 Oct 2019 14:04:45 +0200 Subject: gnu: opensm: Update to 3.3.22. * gnu/packages/fabric-management.scm (opensm): Update to 3.3.22. --- gnu/packages/fabric-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm index 33e43a9e55..83520f1a74 100644 --- a/gnu/packages/fabric-management.scm +++ b/gnu/packages/fabric-management.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Dave Love -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -43,7 +43,7 @@ (define-public opensm (package (name "opensm") - (version "3.3.21") + (version "3.3.22") (source (origin (method url-fetch) @@ -51,7 +51,7 @@ (string-append "https://github.com/linux-rdma/opensm/releases/download/" version "/opensm-" version ".tar.gz")) (sha256 - (base32 "0j4vp118w1l47vs4had46ynybklyacxjlya0r15jg0y01l4j9l2h")))) + (base32 "19scwwpwqhqsyq4hbr5cflcmypss828lalxxd36yby7mbimca38y")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) -- cgit v1.2.3 From 9cd100b659ccd122f73f242e0a746384330e0bf6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 8 Oct 2019 21:31:53 +0200 Subject: gnu: python-ecdsa: Update to 0.13.3. * gnu/packages/python-crypto.scm (python-ecdsa): Update to 0.13.3. --- gnu/packages/python-crypto.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index b83721946c..f05c01060f 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -232,21 +232,18 @@ Python interface around SSH networking concepts.") (define-public python-ecdsa (package (name "python-ecdsa") - (version "0.13") + (version "0.13.3") (source (origin (method url-fetch) (uri (pypi-uri "ecdsa" version)) (sha256 - (base32 - "1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4")))) + (base32 "0k9xxklf865g6x43gkfarwb25ffrkmpvkzkh71rylqx7cjq80g0n")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) - (home-page - "https://github.com/warner/python-ecdsa") - (synopsis - "ECDSA cryptographic signature library (pure python)") + (home-page "https://github.com/warner/python-ecdsa") + (synopsis "ECDSA cryptographic signature library (pure python)") (description "This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve Digital Signature Algorithm), implemented purely in Python. With this -- cgit v1.2.3 From e65bbec98fd32e4c7f71d3552b1a3be013f2be69 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 8 Oct 2019 21:36:34 +0200 Subject: gnu: perl-mail-dkim: Update to 0.57. * gnu/packages/mail.scm (perl-mail-dkim): Update to 0.57. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 9f25356192..f937f50d6d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1919,7 +1919,7 @@ Authentication-Results header seen in the wild.") (define-public perl-mail-dkim (package (name "perl-mail-dkim") - (version "0.55") + (version "0.57") (source (origin (method url-fetch) (uri (string-append @@ -1928,7 +1928,7 @@ Authentication-Results header seen in the wild.") ".tar.gz")) (sha256 (base32 - "18nsh1ff6fkns4xk3y2ixmzmadgggydj11qkzj6nlnq2hzqxsafz")))) + "0fmfhwn4sh98w62rc8j584l23vlhr7vii8glm2njx14f81a56lvb")))) (build-system perl-build-system) (propagated-inputs `(("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) -- cgit v1.2.3 From 8325e1f8c4ca8acff802d98887fbc1a6b467ae4c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 9 Oct 2019 19:20:31 +0200 Subject: gnu: fcgiwrap: Fix build with newer GCCs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/web.scm (fcgiwrap)[arguments]: Add ‘fix-CFLAGS’ phase. --- gnu/packages/web.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6e89c3a406..7b0bb915ca 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -439,7 +439,15 @@ APIs.") (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests included - #:make-flags (list "CC=gcc"))) + #:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-CFLAGS + ;; Remove broken options unconditionally added to CFLAGS. + (lambda _ + (substitute* "configure.ac" + ((" -Werror") "")) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit v1.2.3 From dc6a1a8b48d759a33db4d637053c0ac5b8e30ee9 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 19:33:14 +0200 Subject: gnu: emacs-emmet-mode: Update to 1.0.8-1.1acb821. * gnu/packages/emacs-xyz.scm (emacs-emmet-mode): Update to 1.0.8-1.1acb821. --- gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a4a1999746..d20c390633 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11072,25 +11072,27 @@ region of the buffer, while the latter works on rectangular selections.") (license license:gpl3+))) (define-public emacs-emmet-mode - (package - (name "emacs-emmet-mode") - (version "1.0.8") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smihica/emmet-mode.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi")))) - (build-system emacs-build-system) - (home-page "https://github.com/smihica/emmet-mode") - (synopsis "Unofficial Emmet's support for Emacs") - (description - "Unfold CSS-selector-like expressions to markup. It is intended to be + (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70") + (revision "1")) + (package + (name "emacs-emmet-mode") + (version (git-version "1.0.8" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/smihica/emmet-mode.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl")))) + (build-system emacs-build-system) + (home-page "https://github.com/smihica/emmet-mode") + (synopsis "Unofficial Emmet's support for Emacs") + (description + "Unfold CSS-selector-like expressions to markup. It is intended to be used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-ergoemacs-mode (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba") -- cgit v1.2.3 From dc3cd70d20d14e7950b7cfb054ddc9bb3291f669 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 19:36:22 +0200 Subject: gnu: emacs-deft: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-deft)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d20c390633..6e86c0d7bc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11014,12 +11014,13 @@ to with quicklink-style selections.") (version "0.8") (source (origin - (method url-fetch) - (uri (string-append "https://stable.melpa.org/packages/deft-" - version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jrblevin/deft.git") + (commit (string-append "v" version)))) (sha256 (base32 - "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58")))) + "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2")))) (build-system emacs-build-system) (home-page "https://jblevins.org/projects/deft/") (synopsis "Quickly browse, filter, and edit plain text notes") -- cgit v1.2.3 From 081fe5ca9730822a089d8eae013025748a97e970 Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere Date: Sun, 25 Aug 2019 15:38:42 -0500 Subject: gnu: Add emacs-ssh-agency. * gnu/packages/emacs-xyz.scm (emacs-ssh-agency): New variable. --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6e86c0d7bc..dbd27d31a1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18766,6 +18766,34 @@ JIRA issue servers.") keybindings for skipping from host section to host section.") (license license:gpl3+)))) +(define-public emacs-ssh-agency + (package + (name "emacs-ssh-agency") + (version "0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/ssh-agency.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("dash" ,emacs-dash))) + (home-page "https://github.com/magit/ssh-agency") + (synopsis "Manage @code{ssh-agent} from Emacs") + (description + "This package provides functions to startup @code{ssh-agent}, set the +needed environment variables in Emacs, and prompt for passphrases from within +Emacs so that pushes and pulls from @code{magit} will not require entering any +passphrase. + +It can also be useful on Unix-like platforms to delay having to enter your +passphrase until the first time you push to a remote.") + (license license:gpl3+))) + (define-public emacs-tao-theme (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c") (revision "0")) -- cgit v1.2.3 From 7f486d25d2a54337d4513853aade47d895e5638c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 10 Oct 2019 03:49:45 +0900 Subject: gnu: vinagre: Fix build. * gnu/packages/gnome.scm (vinagre): Set the '--enable-compile-warnings' configure flag to 'minimum', to prevent build failures on compilation warnings. --- gnu/packages/gnome.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index eae62a1d06..2a664e3db7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2428,7 +2428,10 @@ selection and URL hints."))) "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d")))) (build-system glib-or-gtk-build-system) (arguments - '(#:phases + ;; Disable -Werror and such, to avoid build failures on compilation + ;; warnings. + '(#:configure-flags '("--enable-compile-warnings=minimum") + #:phases (modify-phases %standard-phases (add-before 'install 'skip-gtk-update-icon-cache (lambda _ -- cgit v1.2.3 From 03f0b5e2c66d5b88027c813dc47ae0bdfe009ca7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 9 Oct 2019 21:54:57 +0200 Subject: gnu: wesnoth: Update to 1.14.9. Fixes a build failure reported by reepca on #guix. * gnu/packages/games.scm (wesnoth): Update to 1.14.9. [arguments]: Add phase to disable compiler warnings from Boost headers. --- gnu/packages/games.scm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d68f6aa451..1b6849a9aa 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2435,7 +2435,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.7") + (version "1.14.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -2444,10 +2444,23 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "0j2yvkcggj5k0r2cqk8ndnj77m37a00srfd9qg7pdpqffbinqpj7")))) + "1mhdrlflxxyknf54lwdbvs7fazlc1scf7z6vxxa3j746fks533ga")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ; no check target + `(#:tests? #f ;no check target + #:phases (modify-phases %standard-phases + (add-before 'configure 'treat-boost-as-system-header + (lambda* (#:key inputs #:allow-other-keys) + (let ((boost (assoc-ref inputs "boost"))) + ;; Ensure Boost is treated as "system headers" to + ;; pacify compiler warnings induced by Boost headers. + (for-each (lambda (variable) + (setenv variable + (string-append boost "/include:" + (or (getenv variable) + "")))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) + #t)))))) (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) -- cgit v1.2.3 From ca19d88d0abab66527508e21754cc4b1de00b3c6 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 22:29:41 +0200 Subject: gnu: emacs-org-super-agenda: Update to 1.1.1-3.a87ca11. * gnu/packages/emacs-xyz.scm (emacs-org-super-agenda): Update to 1.1.1-3.a87ca11. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dbd27d31a1..0125f2d3b1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11611,8 +11611,8 @@ as well as functions for navigating between these headings.") (define-public emacs-org-super-agenda ;; emacs-org-sidebar depends on a newer commit than the latest release version. - (let ((commit "f0ee7ed9766d352d16a787707d35695b48cbf153") - (revision "2")) + (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba") + (revision "3")) (package (name "emacs-org-super-agenda") (version (git-version "1.1.1" revision commit)) @@ -11624,7 +11624,7 @@ as well as functions for navigating between these headings.") (file-name (git-file-name name version)) (sha256 (base32 - "1b1qi96x83acv2frl94i4frx46i82vipaa8mfwpzyj2gyq2bq5zf")))) + "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org) -- cgit v1.2.3 From 7a268eadbea8937a146b50627ae572f28a399b60 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 22:30:13 +0200 Subject: gnu: emacs-org-ql: Update to 0.3-1.af0ef30. * gnu/packages/emacs-xyz.scm (emacs-org-ql): Update to 0.3-1.af0ef30. --- gnu/packages/emacs-xyz.scm | 60 +++++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0125f2d3b1..1b2413226e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11746,34 +11746,40 @@ according to a parsing expression grammar.") (license license:gpl3+))) (define-public emacs-org-ql - (package - (name "emacs-org-ql") - (version "0.2.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/org-ql") - (commit version))) - (sha256 - (base32 - "1xyabg9fhpip6426za6wjrn0msnaf10c5fzzaawwagk7zmjf9b48")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-s" ,emacs-s) - ("emacs-ts" ,emacs-ts) - ("emacs-org" ,emacs-org) - ("emacs-dash" ,emacs-dash))) - (native-inputs - `(("emacs-buttercup" ,emacs-buttercup))) - (arguments - `(#:tests? #t - #:test-command '("buttercup" "-L" "."))) - (home-page "https://github.com/alphapapa/org-ql/") - (synopsis "Query language for Org buffers") - (description "This package provides a Lispy query language for Org + (let ((commit "af0ef304e1d50066787376a68bdf56491f549a39") + (revision "1")) + (package + (name "emacs-org-ql") + (version (git-version "0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-ql") + (commit commit))) + (sha256 + (base32 + "1by3xslqr3wxkszbih5j9iwwpm7ajcczg22x5cgh7a7ihshnqbpb")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-ov" ,emacs-ov) + ("emacs-peg" ,emacs-peg) + ("emacs-org-super-agenda" ,emacs-org-super-agenda) + ("emacs-ts" ,emacs-ts) + ("emacs-org" ,emacs-org) + ("emacs-dash" ,emacs-dash))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup))) + (arguments + `(#:tests? #t + #:test-command '("buttercup" "-L" "."))) + (home-page "https://github.com/alphapapa/org-ql/") + (synopsis "Query language for Org buffers") + (description "This package provides a Lispy query language for Org files, allowing for actions to be performed based on search criteria.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-org-auto-expand (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62") -- cgit v1.2.3 From 8ff62eeb95cace621fe173935d69d0db936d414d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 9 Oct 2019 22:32:09 +0200 Subject: gnu: emacs-org-sidebar: Update to 0.2. * gnu/packages/emacs-xyz.scm (emacs-org-sidebar): Update to 0.2. --- gnu/packages/emacs-xyz.scm | 48 ++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1b2413226e..345621a187 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4453,36 +4453,34 @@ started with 20 minutes. All values are customizable.") (license license:gpl3+)))) (define-public emacs-org-sidebar - (let ((commit "b2a5a69b1ebbab63b55e7d1a9453f385624a642c") - (revision "2")) - (package - (name "emacs-org-sidebar") - (version (git-version "0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/org-sidebar.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0dajwg92kj7998xl0x35dlqwdhgwjcwxa726kf4f3wgv1azpyff6")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-org-super-agenda" ,emacs-org-super-agenda) - ("emacs-org" ,emacs-org) - ("emacs-org-ql" ,emacs-org-ql) - ("emacs-s" ,emacs-s))) - (home-page "https://github.com/alphapapa/org-sidebar") - (synopsis "Helpful sidebar for Org buffers") - (description "This package provides a sidebar for Org buffers. At the + (package + (name "emacs-org-sidebar") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-sidebar.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-org-super-agenda" ,emacs-org-super-agenda) + ("emacs-org" ,emacs-org) + ("emacs-org-ql" ,emacs-org-ql) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/org-sidebar") + (synopsis "Helpful sidebar for Org buffers") + (description "This package provides a sidebar for Org buffers. At the top is a chronological list of scheduled and deadlined tasks in the current buffer (similar to the Org agenda ,but without all its features), and below that is a list of all other non-done to-do items. If the buffer is narrowed, the sidebar only shows items in the narrowed portion; this allows seeing an overview of tasks in a subtree.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-org-trello (package -- cgit v1.2.3 From aa694009c727319ae90f06bb479a35793d3d79ee Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 10 Oct 2019 02:22:25 +0200 Subject: gnu: emacs-org-ql: Update to 0.3.1-2.949a06c. * gnu/packages/emacs-xyz.scm (emacs-org-ql): Update to 0.3.1-2.949a06c. --- gnu/packages/emacs-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 345621a187..fe933009f5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11744,11 +11744,11 @@ according to a parsing expression grammar.") (license license:gpl3+))) (define-public emacs-org-ql - (let ((commit "af0ef304e1d50066787376a68bdf56491f549a39") - (revision "1")) + (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96") + (revision "2")) (package (name "emacs-org-ql") - (version (git-version "0.3" revision commit)) + (version (git-version "0.3.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -11756,7 +11756,7 @@ according to a parsing expression grammar.") (commit commit))) (sha256 (base32 - "1by3xslqr3wxkszbih5j9iwwpm7ajcczg22x5cgh7a7ihshnqbpb")) + "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs -- cgit v1.2.3 From c2acf8f32b6a8ed5d27416c2f4d84e830c015020 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 10 Oct 2019 06:44:51 +0200 Subject: gnu: emacs-gif-screencast: Update to 1.0-2.248d1e1. * gnu/packages/emacs-xyz.scm (emacs-gif-screencast): Update to 1.0-2.248d1e1. --- gnu/packages/emacs-xyz.scm | 57 +++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index fe933009f5..83820a1149 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14612,45 +14612,46 @@ try completing. See @code{fish-completion-fallback-on-bash-p}.") (license license:gpl3+))) (define-public emacs-gif-screencast - (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a")) + (let ((commit "248d1e158405e6cba2c65ecaed40e2c59b089cd8") + (revision "2")) (package (name "emacs-gif-screencast") - (version (git-version "20180616" "1" commit)) + (version (git-version "1.0" revision commit)) (source (origin - (method url-fetch) - (uri (string-append - "https://gitlab.com/Ambrevar/emacs-gif-screencast/" - "repository/archive.tar.gz?ref=" - commit)) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git") + (commit commit))) (sha256 (base32 - "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh")))) + "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8")))) (build-system emacs-build-system) (inputs `(("scrot" ,scrot) ("imagemagick" ,imagemagick) ("gifsicle" ,gifsicle))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((scrot (assoc-ref inputs "scrot")) - (imagemagick (assoc-ref inputs "imagemagick")) - (gifsicle (assoc-ref inputs "gifsicle"))) - ;; Specify the absolute file names of the various - ;; programs so that everything works out-of-the-box. - (emacs-substitute-variables - "gif-screencast.el" - ("gif-screencast-program" - (string-append scrot "/bin/scrot")) - ("gif-screencast-convert-program" - (string-append imagemagick "/bin/convert")) - ("gif-screencast-cropping-program" - (string-append imagemagick "/bin/mogrify")) - ("gif-screencast-optimize-program" - (string-append gifsicle "/bin/gifsicle"))))))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((scrot (assoc-ref inputs "scrot")) + (imagemagick (assoc-ref inputs "imagemagick")) + (gifsicle (assoc-ref inputs "gifsicle"))) + (make-file-writable "gif-screencast.el") + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (emacs-substitute-variables + "gif-screencast.el" + ("gif-screencast-program" + (string-append scrot "/bin/scrot")) + ("gif-screencast-convert-program" + (string-append imagemagick "/bin/convert")) + ("gif-screencast-cropping-program" + (string-append imagemagick "/bin/mogrify")) + ("gif-screencast-optimize-program" + (string-append gifsicle "/bin/gifsicle"))))))))) (home-page "https://gitlab.com/Ambrevar/emacs-gif-screencast") (synopsis "One-frame-per-action GIF recording") -- cgit v1.2.3 From 0091853199bc31775c66c638a0b5b06ef0d7aec3 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 10 Oct 2019 06:58:27 +0200 Subject: gnu: emacs-org-ql: Patch for Helm users. The package has a Helm component that is missing the relevant `require` statements. * gnu/packages/patches/emacs-helm-org-ql.patch: Add. * gnu/local.mk (emacs-helm-org-ql): Add entry. * gnu/packages/emacs-xyz.scm: Update and add dependencies. --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 5 ++++ gnu/packages/patches/emacs-helm-org-ql.patch | 42 ++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 gnu/packages/patches/emacs-helm-org-ql.patch diff --git a/gnu/local.mk b/gnu/local.mk index 39b8e009b2..99f2cfd772 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -791,6 +791,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ + %D%/packages/patches/emacs-helm-org-ql.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 83820a1149..e6cf4bd1eb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11757,6 +11757,9 @@ according to a parsing expression grammar.") (sha256 (base32 "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0")) + (patches + (search-patches + "emacs-helm-org-ql.patch")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -11767,6 +11770,8 @@ according to a parsing expression grammar.") ("emacs-org-super-agenda" ,emacs-org-super-agenda) ("emacs-ts" ,emacs-ts) ("emacs-org" ,emacs-org) + ("emacs-helm" ,emacs-helm) + ("emacs-helm-org" ,emacs-helm-org) ("emacs-dash" ,emacs-dash))) (native-inputs `(("emacs-buttercup" ,emacs-buttercup))) diff --git a/gnu/packages/patches/emacs-helm-org-ql.patch b/gnu/packages/patches/emacs-helm-org-ql.patch new file mode 100644 index 0000000000..362e3d7d15 --- /dev/null +++ b/gnu/packages/patches/emacs-helm-org-ql.patch @@ -0,0 +1,42 @@ +From 3918944856834ef4a7ed613243a1612424d2daba Mon Sep 17 00:00:00 2001 +From: Brian Leung +Date: Thu, 10 Oct 2019 06:54:33 +0200 +Subject: [PATCH] Use require statements. + +--- + helm-org-ql.el | 19 ++----------------- + 1 file changed, 2 insertions(+), 17 deletions(-) + +diff --git a/helm-org-ql.el b/helm-org-ql.el +index 26beab9..113b7f2 100644 +--- a/helm-org-ql.el ++++ b/helm-org-ql.el +@@ -35,23 +35,8 @@ + (require 'org-ql) + (require 'org-ql-search) + +-;; (require 'helm) +-;; (require 'helm-org) +- +-;;;; Compatibility +- +-;; Declare Helm functions since Helm may not be installed. +-(declare-function helm "ext:helm") +-(declare-function helm-run-after-exit "ext:helm") +-(declare-function helm-window "ext:helm-lib") +-(declare-function helm-buffer-get "ext:helm-lib") +-(declare-function helm-make-source "ext:helm-source") +-(declare-function helm-org-goto-marker "ext:helm-org") +- +-;; Silence byte-compiler about variables. +-(defvar helm-map) +-(defvar helm-pattern) +-(defvar helm-input-idle-delay) ++(require 'helm) ++(require 'helm-org) + + ;;;; Variables + +-- +2.23.0 + -- cgit v1.2.3 From ee623903b188ad081b35359a1048f98c0fb7d775 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 10 Oct 2019 11:02:44 +0200 Subject: gnu: python-binaryornot: Fix typo. Follow-up to 86723f98ab272b1a2621fb54ff88eab5e8e80fed. * gnu/packages/python-xyz.scm (python-binaryornot)[arguments]<#:phases>[patch-test]: Rename to... [patch-test]: ...this. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 068b17fdab..10fe5ee553 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10975,7 +10975,7 @@ hardware-accelerated multitouch applications.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-test + (add-after 'unpack 'patch-tests (lambda _ ;; TypeError: binary() got an unexpected keyword argument ;; 'average_size'. -- cgit v1.2.3 From 03d28531fd522930a7b0319b0918199f71bc50a7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 9 Oct 2019 16:38:48 +0200 Subject: gnu: gcc@9: Update to 9.2.0. * gnu/packages/gcc.scm (gcc-9): Update to 9.2.0. --- gnu/packages/gcc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 41d66fc130..2bcf05e41b 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -523,14 +523,14 @@ It also includes runtime support libraries for these languages."))) (define-public gcc-9 (package (inherit gcc-8) - (version "9.1.0") + (version "9.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "1817nc2bqdc251k0lpc51cimna7v68xjrnvqzvc50q3ax4s6i9kr")) + "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa")) (patches (search-patches "gcc-9-strmov-store-file-names.patch" "gcc-9-asan-fix-limits-include.patch" "gcc-5.0-libvtv-runpath.patch")))))) -- cgit v1.2.3 From fc1fe722a05318ac05a71a0b127f231631e2843f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Oct 2019 11:21:00 +0200 Subject: gnu: Add Guix-Jupyter. * gnu/packages/package-management.scm (guix-jupyter): New variable. --- gnu/packages/package-management.scm | 84 +++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c72950e2b0..b588c406d0 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -770,6 +770,90 @@ on top of GNU Guix.") ;; and the fonts included in this package are licensed OFL1.1. (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) +(define-public guix-jupyter + (package + (name "guix-jupyter") + (version "0.1.0") + (home-page "https://gitlab.inria.fr/guix-hpc/guix-kernel") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "01z7jjkc7r7lj6637rcgpz40v8xqqyfp6871h94yvcnwm7zy9h1n")) + (file-name (string-append "guix-jupyter-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((srfi srfi-26) + (ice-9 match) + (ice-9 popen) + (ice-9 rdelim) + (guix build utils) + (guix build gnu-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'sed-kernel-json + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (guix (assoc-ref inputs "guix")) + (guile (assoc-ref inputs "guile")) + (json (assoc-ref inputs "guile-json")) + (git (assoc-ref inputs "guile-git")) + (bs (assoc-ref inputs "guile-bytestructures")) + (s-zmq (assoc-ref inputs "guile-simple-zmq")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) + (deps (list out s-zmq guix json git bs gcrypt)) + (effective + (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (path (map (cut string-append "-L\", \"" <> + "/share/guile/site/" + effective) + deps)) + (gopath (map (cut string-append "-C\", \"" <> + "/lib/guile/" effective + "/site-ccache") + deps)) + (kernel-dir (string-append out "/share/jupyter/kernels/guix/"))) + (substitute* (string-append kernel-dir "kernel.json") + (("-s") + (string-join + (list (string-join path "\",\n\t\t\"") + (string-join gopath "\",\n\t\t\"") + "-s") + "\",\n\t\t\"")) + (("guix-jupyter-kernel.scm") + (string-append out "/share/guile/site/2.2/" + "guix-jupyter-kernel.scm"))) + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + + ;; For testing. + ("jupyter" ,(specification->package "jupyter")) + ("python-ipython" ,(specification->package "python-ipython")) + ("python-ipykernel" ,(specification->package "python-ipykernel")))) + (inputs + `(("guix" ,guix) + ("guile" ,guile-2.2))) + (propagated-inputs + `(("guile-json" ,guile-json-3) + ("guile-simple-zmq" ,guile-simple-zmq) + ("guile-gcrypt" ,guile-gcrypt))) + (synopsis "Guix kernel for Jupyter") + (description + "Guix-Jupyter is a Jupyter kernel. It allows you to annotate notebooks +with information about their software dependencies, such that code is executed +in the right software environment. Guix-Jupyter spawns the actual kernels +such as @code{python-ipykernel} on behalf of the notebook user and runs them +in an isolated environment, in separate namespaces.") + (license license:gpl3+))) + (define-public gcab (package (name "gcab") -- cgit v1.2.3 From 8f02e5ac81de57e3e16b088960167116711639a7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Oct 2019 17:23:52 +0200 Subject: gnu: openmpi: Update to 4.0.2. * gnu/packages/mpi.scm (openmpi): Update to 4.0.2. --- gnu/packages/mpi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index c02e1d2e2b..079ac34dbf 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -161,7 +161,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "4.0.1") + (version "4.0.2") (source (origin (method url-fetch) @@ -169,7 +169,7 @@ bind processes, and much more.") (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 "02cpzcp113gj5hb0j2xc0cqma2fn04i2i0bzf80r71120p9bdryc")))) + (base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh")))) (build-system gnu-build-system) (inputs `(("hwloc" ,hwloc "lib") -- cgit v1.2.3 From d3650775e0e0c9a3f9340c5a0ee00773d967ce9f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Oct 2019 17:24:21 +0200 Subject: gnu: guix-jupyter: Avoid 'specification->package'. * gnu/packages/package-management.scm (guix-jupyter)[native-inputs]: Avoid 'specification->package'. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index b588c406d0..3963558ae5 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -835,9 +835,9 @@ on top of GNU Guix.") ("pkg-config" ,pkg-config) ;; For testing. - ("jupyter" ,(specification->package "jupyter")) - ("python-ipython" ,(specification->package "python-ipython")) - ("python-ipykernel" ,(specification->package "python-ipykernel")))) + ("jupyter" ,jupyter) + ("python-ipython" ,python-ipython) + ("python-ipykernel" ,python-ipykernel))) (inputs `(("guix" ,guix) ("guile" ,guile-2.2))) -- cgit v1.2.3 From 94d2ff6d9c9d387f327de0dd1659678816db84a5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Oct 2019 17:25:21 +0200 Subject: gnu: guix: Intern bootstrap executables before running tests. This is a followup to 1ba0b1e6ec41afd94a3c5f907b1122204dcb5d9d. * gnu/packages/package-management.scm (guix)[arguments]: In 'copy-bootstrap-guile', copy the bootstrap executables. [inputs]: Add "bootstrap/{bash,mkdir,tar,xz}". --- gnu/packages/package-management.scm | 42 +++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 3963558ae5..ff5d8a8129 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -175,23 +175,32 @@ (lambda* (#:key system inputs #:allow-other-keys) ;; Copy the bootstrap guile tarball in the store used ;; by the test suite. - (define (intern tarball) - (let ((base (strip-store-file-name tarball))) - (copy-file tarball base) - (invoke "./test-env" "guix" "download" - (string-append "file://" (getcwd) - "/" base)) - (delete-file base))) + (define (intern file recursive?) + (let ((base (strip-store-file-name file))) + ;; Note: don't use 'guix download' here because we + ;; need to set the 'recursive?' argument. + (invoke "./test-env" "guile" "-c" + (object->string + `(begin + (use-modules (guix)) + (with-store store + (add-to-store store ,base ,recursive? + "sha256" ,file))))))) - - (intern (assoc-ref inputs "boot-guile")) + (intern (assoc-ref inputs "boot-guile") #f) ;; On x86_64 some tests need the i686 Guile. ,@(if (and (not (%current-target-system)) (string=? (%current-system) "x86_64-linux")) - '((intern (assoc-ref inputs "boot-guile/i686"))) + '((intern (assoc-ref inputs "boot-guile/i686") #f)) '()) + + ;; Copy the bootstrap executables. + (for-each (lambda (input) + (intern (assoc-ref inputs input) #t)) + '("bootstrap/bash" "bootstrap/mkdir" + "bootstrap/tar" "bootstrap/xz")) #t)) (add-after 'unpack 'disable-failing-tests ;; XXX FIXME: These tests fail within the build container. @@ -270,7 +279,7 @@ (inputs `(("bzip2" ,bzip2) ("gzip" ,gzip) - ("zlib" ,zlib) ;for 'guix publish' + ("zlib" ,zlib) ;for 'guix publish' ("lzlib" ,lzlib) ;for 'guix publish' and 'guix substitute' ("sqlite" ,sqlite) @@ -278,16 +287,23 @@ ("guile" ,guile-2.2) + ;; Some of the tests use "unshare" when it is available. + ("util-linux" ,util-linux) + ;; Many tests rely on the 'guile-bootstrap' package, which is why we ;; have it here. ("boot-guile" ,(bootstrap-guile-origin (%current-system))) - ;; Some of the tests use "unshare" when it is available. - ("util-linux" ,util-linux) ,@(if (and (not (%current-target-system)) (string=? (%current-system) "x86_64-linux")) `(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux"))) '()) + ;; Tests also rely on these bootstrap executables. + ("bootstrap/bash" ,(bootstrap-executable "bash" (%current-system))) + ("bootstrap/mkdir" ,(bootstrap-executable "mkdir" (%current-system))) + ("bootstrap/tar" ,(bootstrap-executable "tar" (%current-system))) + ("bootstrap/xz" ,(bootstrap-executable "xz" (%current-system))) + ("glibc-utf8-locales" ,glibc-utf8-locales))) (propagated-inputs `(("gnutls" ,gnutls) -- cgit v1.2.3 From 6c50e1dc0625f89884cff40b22627091efa37708 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Oct 2019 17:26:53 +0200 Subject: gnu: guix: Update to fc1fe72. * gnu/packages/package-management.scm (guix): Update to fc1fe72. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ff5d8a8129..40fcb5a66c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -110,8 +110,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.0.1") - (commit "0ed97e69805253656df929a6ad678016aa81f08a") - (revision 6)) + (commit "fc1fe722a05318ac05a71a0b127f231631e2843f") + (revision 7)) (package (name "guix") @@ -127,7 +127,7 @@ (commit commit))) (sha256 (base32 - "1h2qlbbdqi72jslx17gp2cak5494nbm8j44rz57lnplnfcn6iwaw")) + "1j2d9anxgybv86pxcn1zdv121hb4nmjjp5ngx365fnd0mcg8q1iw")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From e3887d0666e9b684bd12b08c904bb969cfaf9d77 Mon Sep 17 00:00:00 2001 From: Diego Nicola Barbato Date: Thu, 10 Oct 2019 09:42:00 +0200 Subject: gnu: emacs-org-tree-slide: Update to 2.8.14. * gnu/packages/emacs-xyz.scm (emacs-org-tree-slide): Update to 2.8.14. --- gnu/packages/emacs-xyz.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e6cf4bd1eb..69ba1dbd0e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10657,20 +10657,22 @@ navigation with the grails mode.") (deprecated-package "groovy-emacs-modes" emacs-groovy-modes)) (define-public emacs-org-tree-slide - (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134") - (revision "0")) + (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5") + (revision "2")) (package (name "emacs-org-tree-slide") - (version (git-version "0.1" revision commit)) - (home-page "https://github.com/takaxp/org-tree-slide") + (version (git-version "2.8.4" revision commit)) (source (origin (method git-fetch) - (uri (git-reference (url home-page) (commit commit))) + (uri (git-reference + (url "https://github.com/takaxp/org-tree-slide.git") + (commit commit))) (sha256 (base32 - "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf")) + "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk")) (file-name (git-file-name name version)))) (build-system emacs-build-system) + (home-page "https://github.com/takaxp/org-tree-slide") (synopsis "Presentation tool for org-mode") (description "Org-tree-slide provides a slideshow mode to view org-mode files. Use -- cgit v1.2.3 From 423c680d877d1d0f793bfdf53b83e8328a8d55bb Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 10 Oct 2019 16:23:26 +0200 Subject: gnu: mate-utils: Build with a fixed version of yelp-tools. * gnu/packages/mate.scm (mate-utils)[native-inputs]: Replace YELP-TOOLS with YELP-TOOLS/FIXED. --- gnu/packages/mate.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index fb3c5ab6df..d55d1b4461 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -1279,7 +1279,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("pkg-config" ,pkg-config) ("scrollkeeper" ,scrollkeeper) ("xorgproto" ,xorgproto) - ("yelp-tools" ,yelp-tools))) + ("yelp-tools" ,yelp-tools/fixed))) (inputs `(("atk" ,atk) ("cairo" ,cairo) -- cgit v1.2.3 From 2d064a466a3029b1fb4be9a28d42d96892dde2a9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 10 Oct 2019 20:49:10 +0300 Subject: gnu: python-efl: Update to 1.23.0. * gnu/packages/enlightenment.scm (python-efl): Update to 1.23.0. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 8384f4c0ed..63854bf5ae 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -365,7 +365,7 @@ embedded systems.") (define-public python-efl (package (name "python-efl") - (version "1.22.0") + (version "1.23.0") (source (origin (method url-fetch) @@ -373,7 +373,7 @@ embedded systems.") "python/python-efl-" version ".tar.xz")) (sha256 (base32 - "1qhy63c3fs2bxkx2np5z14hyxbr12ii030crsjnhpbyw3mic0s63")) + "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib")) (modules '((guix build utils))) ;; Remove files generated by Cython (snippet -- cgit v1.2.3 From 2d821e4c7fd8968639bd793f5e1485447fe49374 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 19:36:49 +0200 Subject: gnu: guix: Fix source checksum. This is a follow-up to commit 6c50e1dc0625f89884cff40b22627091efa37708. * gnu/packages/package-management.scm (guix)[source](sha256): Update hash. --- gnu/packages/package-management.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 40fcb5a66c..3b7d4b18dd 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -127,7 +127,7 @@ (commit commit))) (sha256 (base32 - "1j2d9anxgybv86pxcn1zdv121hb4nmjjp5ngx365fnd0mcg8q1iw")) + "0yx19hxvmkr6ar65ym87xd83n6hz02mr7ibwis7i8wah85ypfq26")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From f8026a797c467981f9598169acc2e82ed943e7f2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 16:01:46 +0200 Subject: gnu: libsoup: Update to 2.68.2. * gnu/packages/gnome.scm (libsoup): Update to 2.68.2. [arguments]: Update #:configure-flags. Skip tests that attempts to resolve "subdomain.localhost". [propagated-inputs]: Add GOOGLE-BROTLI and ZLIB. --- gnu/packages/gnome.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2a664e3db7..af869760fd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2690,7 +2690,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.66.2") + (version "2.68.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -2698,7 +2698,7 @@ libxml to ease remote use of the RESTful API.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "0amfw1yvy1kjrg41rfh2vvrw5gkwnyckqbw1fab50hm6xc1acbmx")))) + "0crr9qprmacr626fx83cx81ggk85zsgxr4mn577kpzj6m40k1bai")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -2706,7 +2706,7 @@ libxml to ease remote use of the RESTful API.") (guix build meson-build-system) (ice-9 popen)) - #:configure-flags '("-Ddoc=true") + #:configure-flags '("-Dgtk_doc=true") #:phases (modify-phases %standard-phases (add-after 'unpack 'adjust-tests @@ -2716,6 +2716,16 @@ libxml to ease remote use of the RESTful API.") (substitute* "tests/socket-test.c" ((".*/sockets/unconnected.*") "")) + ;; These fail because "subdomain.localhost" does not resolve in + ;; the build environment. + (substitute* "tests/hsts-test.c" + ((".*/hsts/basic.*") "") + ((".*/hsts/subdomains.*") "") + ((".*/hsts/superdomain.*") "") + ((".*/hsts/utf8-address.*") "")) + (substitute* "tests/hsts-db-test.c" + ((".*/hsts-db/subdomains.*") "")) + ;; Generate a self-signed certificate that has "localhost" as its ;; 'dnsName'. Failing to do that, and starting with GnuTLS ;; 3.5.12, tests such as "ssl-tests" fail: @@ -2784,10 +2794,12 @@ libxml to ease remote use of the RESTful API.") ("httpd" ,httpd))) (propagated-inputs ;; libsoup-2.4.pc refers to all these. - `(("glib" ,glib) + `(("brotli" ,google-brotli) + ("glib" ,glib) ("libpsl" ,libpsl) ("libxml2" ,libxml2) - ("sqlite" ,sqlite))) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) (inputs `(("glib-networking" ,glib-networking) ("mit-krb5" ,mit-krb5))) -- cgit v1.2.3 From d1eb423478b455e31935c238d6f17992f0e229b2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 17:05:11 +0200 Subject: gnu: strace: Update to 5.3. * gnu/packages/patches/strace-ipc-tests.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/linux.scm (strace): Update to 5.3. [source](patches): Remove. [arguments]: Remove obsolete phase. --- gnu/local.mk | 1 - gnu/packages/linux.scm | 16 +++------------ gnu/packages/patches/strace-ipc-tests.patch | 30 ----------------------------- 3 files changed, 3 insertions(+), 44 deletions(-) delete mode 100644 gnu/packages/patches/strace-ipc-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 99f2cfd772..e768c3cefb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1327,7 +1327,6 @@ dist_patch_DATA = \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \ %D%/packages/patches/soundconverter-remove-gconf-dependency.patch \ %D%/packages/patches/steghide-fixes.patch \ - %D%/packages/patches/strace-ipc-tests.patch \ %D%/packages/patches/streamlink-update-test.patch \ %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \ %D%/packages/patches/supercollider-boost-1.70-build-fix.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e4abeadaa0..88db31ee7e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1459,18 +1459,15 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "5.2") + (version "5.3") (home-page "https://strace.io") (source (origin (method url-fetch) (uri (string-append home-page "/files/" version "/strace-" version ".tar.xz")) - ;; XXX Remove the 'regenerate-tests' phase below when - ;; "strace-ipc-tests.patch" is no longer applied. - (patches (search-patches "strace-ipc-tests.patch")) (sha256 (base32 - "1li49i75wrdw91hchyyd8spnzfcmxcfyfb5g9zbaza89aq4bq4ym")))) + "0ix06z4vnc49mv76f22kixz8dsh7daqv9mpgwcgl0mlnfjc124vc")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1479,14 +1476,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (lambda _ (substitute* "strace.c" (("/bin/sh") (which "sh"))) - #t)) - (add-before 'configure 'regenerate-tests - ;; XXX Remove this phase when "strace-ipc-tests.patch" is no longer - ;; applied in the 'source' field above. This phase is needed to - ;; regenerate many other files from tests/gen_tests.in, which is - ;; modified by the aforementioned patch. - (lambda _ - (invoke "tests/gen_tests.sh")))) + #t))) ;; Don't fail if the architecture doesn't support different personalities. #:configure-flags '("--enable-mpers=check") ;; See . diff --git a/gnu/packages/patches/strace-ipc-tests.patch b/gnu/packages/patches/strace-ipc-tests.patch deleted file mode 100644 index 49341765ca..0000000000 --- a/gnu/packages/patches/strace-ipc-tests.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix a test failure on some systems. - -Taken from upstream: -https://github.com/strace/strace/commit/4377e3a1535a0ec3a42da8a1366ad6943f4efa0e - -diff --git a/tests/gen_tests.in b/tests/gen_tests.in -index 4a506b94c..4fdf4722c 100644 ---- a/tests/gen_tests.in -+++ b/tests/gen_tests.in -@@ -168,16 +168,16 @@ ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26 - ipc_msg-Xraw +ipc.sh -Xraw -a16 - ipc_msg-Xverbose +ipc.sh -Xverbose -a34 - ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev --ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 -+ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 - ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose - ipc_sem +ipc.sh -a29 - ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 - ipc_sem-Xraw +ipc.sh -Xraw -a19 - ipc_sem-Xverbose +ipc.sh -Xverbose -a36 --ipc_shm +ipc.sh -a29 --ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 -+ipc_shm +ipc.sh -a26 -+ipc_shm-Xabbrev +ipc.sh -Xabbrev -a26 - ipc_shm-Xraw +ipc.sh -Xraw -a19 --ipc_shm-Xverbose +ipc.sh -Xverbose -a36 -+ipc_shm-Xverbose +ipc.sh -Xverbose -a34 - kcmp -a22 - kcmp-y -a22 -y -e trace=kcmp - kern_features -a16 -- cgit v1.2.3 From d519bc1350b0dd8af2e974d530ff634fcaf0a6aa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 17:05:59 +0200 Subject: gnu: appstream-glib: Update to 0.7.16. * gnu/packages/glib.scm (appstream-glib): Update to 0.7.16. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c3dadbdfd3..c558d9fcb6 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -839,7 +839,7 @@ programming language. It also contains the utility (define-public appstream-glib (package (name "appstream-glib") - (version "0.7.15") + (version "0.7.16") (source (origin (method url-fetch) (uri (string-append "https://people.freedesktop.org/~hughsient/" @@ -847,7 +847,7 @@ programming language. It also contains the utility "appstream-glib-" version ".tar.xz")) (sha256 (base32 - "17ram4j3cvs78si0gi1labarr91pw68zn8kam41cqbvlwdyr89vy")))) + "14jr1psx5kxywdprgbqn79w309yz8lrqlsq7288hfrf87gbr1wh4")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) -- cgit v1.2.3 From d253719300f301a067ba393febac58c2510dec0f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 17:06:26 +0200 Subject: gnu: whois: Update to 5.5.2. * gnu/packages/networking.scm (whois): Update to 5.5.2. --- gnu/packages/networking.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 753e73d9d1..c0597c7e45 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -551,14 +551,15 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.5.1") + (version "5.5.2") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/w/whois/" "whois_" version ".tar.xz")) (sha256 - (base32 "10mc7iqhdnvd1kk8gnnhihd5ga2rw3sz69n3nd6x8fb65qpq13gf")))) + (base32 + "1h55zs3cj4w9b0hq0x3z7s2mn46v0jyc39gz320ra4hwr0xlsnf0")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite -- cgit v1.2.3 From 3f7a3ea890ce0a2e68dfa6b7485ff24926ce43ee Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 17:06:46 +0200 Subject: gnu: tbb: Update to 2019_U9. * gnu/packages/tbb.scm (tbb): Update to 2019_U9. --- gnu/packages/tbb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index f6d7e9b8b4..926e1caca1 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -28,7 +28,7 @@ (define-public tbb (package (name "tbb") - (version "2019_U8") + (version "2019_U9") (source (origin (method git-fetch) (uri (git-reference @@ -37,7 +37,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0z0kh1a5g28gckcxlv3x7qqskh5fsl8knf2ypbbvk7z9ln9k3wfq")) + "1a39nflw7b2n51jfp3fdprnkpgzaspzww1dckfvaigflfli9s8rj")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From ef42bc3e56b159b36207303dd5b54b6c52574c40 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 17:07:11 +0200 Subject: gnu: fluidsynth: Update to 2.0.7. * gnu/packages/audio.scm (fluidsynth): Update to 2.0.7. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 49ec474ffd..58547a2cca 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1109,7 +1109,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.0.6") + (version "2.0.7") (source (origin (method git-fetch) (uri (git-reference @@ -1118,7 +1118,7 @@ follower.") (file-name (git-file-name name version)) (sha256 (base32 - "0nas9pp9r8rnziznxm65x2yzf1ryg98zr3946g0br3s38sjf8l3a")))) + "1h1dj3wmjwzny2hgr41k3p67w4kxvzn365kkqwyfd6yk0v3rahic")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target -- cgit v1.2.3 From ff0efc8f6c35606878ca009f3582f5257db2c9e3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 10 Oct 2019 19:13:15 +0200 Subject: gnu: python-bleach: Update to 3.1.0. * gnu/packages/check.scm (python-pytest-runner-2, python2-pytest-runner-2): New public variables. * gnu/packages/python-xyz.scm (python-bleach): Update to 3.1.0. [propagated-inputs]: Remove PYTHON-HTML5LIB-0.9. Add PYTHON-WEBENCODINGS. [native-inputs]: Remove PYTHON-NOSE. Add PYTHON-PYTEST and PYTHON-PYTEST-RUNNER-2. --- gnu/packages/check.scm | 16 ++++++++++++++++ gnu/packages/python-xyz.scm | 9 +++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index dab0bd39c3..c7d8615b0b 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -816,6 +816,22 @@ supports coverage of subprocesses.") (define-public python2-pytest-runner (package-with-python2 python-pytest-runner)) +;; python-bleach 3.1.0 requires this ancient version of pytest-runner. +;; Remove once no longer needed. +(define-public python-pytest-runner-2 + (package/inherit + python-pytest-runner + (version "2.12.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "pytest-runner" version)) + (sha256 + (base32 + "11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6")))))) + +(define-public python2-pytest-runner-2 + (package-with-python2 python-pytest-runner-2)) + (define-public python-pytest-mock (package (name "python-pytest-mock") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 10fe5ee553..b6a50de503 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7742,20 +7742,21 @@ Jupyter Notebook format and Python APIs for working with notebooks.") (define-public python-bleach (package (name "python-bleach") - (version "1.4.3") + (version "3.1.0") (source (origin (method url-fetch) (uri (pypi-uri "bleach" version)) (sha256 (base32 - "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj")))) + "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz")))) (build-system python-build-system) (propagated-inputs - `(("python-html5lib" ,python-html5lib-0.9) + `(("python-webencodings" ,python-webencodings) ("python-six" ,python-six))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner-2))) (home-page "https://github.com/jsocol/bleach") (synopsis "Whitelist-based HTML-sanitizing tool") (description "Bleach is an easy whitelist-based HTML-sanitizing tool.") -- cgit v1.2.3 From 666f51f9e1bcd7354f4a85a2a8b1b4c6a6cb0d12 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 10 Oct 2019 19:00:03 -0400 Subject: gnu: apfs-fuse: Fix build. * gnu/packages/file-systems.scm (apfs-fuse)[arguments]: Install the LICENSE file with the default 'install-license-files' phase. --- gnu/packages/file-systems.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 3a7e3284a9..85bfd8dd38 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -316,7 +316,6 @@ network. LIBNFS offers three different APIs, for different use : (install-file "apfs-dump-quick" bin) (install-file "apfs-fuse" bin) (install-file "libapfs.a" lib) - (install-file "../source/LICENSE" doc) #t)))))) (inputs `(("bzip2" ,bzip2) -- cgit v1.2.3 From 3fcdd99f71475e868b95cc8a5a52ece19a1641e9 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 11 Oct 2019 01:27:13 +0200 Subject: gnu: emacs-rspec: Update to 1.11-1.66ea7cc. * gnu/packages/emacs-xyz.scm (emacs-rspec): Update to 1.11-1.66ea7cc. --- gnu/packages/emacs-xyz.scm | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 69ba1dbd0e..67b178f974 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2946,29 +2946,35 @@ completing keywords and smart indentation.") (license license:gpl3+)))) (define-public emacs-rspec - (package - (name "emacs-rspec") - (version "1.11") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pezra/rspec-mode.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp")))) - (build-system emacs-build-system) - (home-page "https://github.com/pezra/rspec-mode") - (synopsis "Provides a rspec mode for working with RSpec") - (description - "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to + (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20") + (revision "1")) + (package + (name "emacs-rspec") + (version (git-version "1.11" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pezra/rspec-mode.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8")))) + (build-system emacs-build-system) + (arguments + `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include) + #:tests? #t + #:test-command '("make" "test"))) + (home-page "https://github.com/pezra/rspec-mode") + (synopsis "Provides a rspec mode for working with RSpec") + (description + "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to verify the spec associated with the current buffer, or entire project, as well as moving between the spec files, and corresponding code files. Also included are keybindings for spec files and Dired buffers, as well as snippets for yasnippet.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-smart-mode-line (package -- cgit v1.2.3 From 8f1471149f6baa77a04348ee44db4cdadb4edd5c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 11 Oct 2019 01:58:26 +0200 Subject: gnu: emacs-racket-mode: Update to 0.0.2-4.2a9a102. * gnu/packages/emacs-xyz.scm (emacs-racket-mode): Update to 0.0.2-4.2a9a102. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 67b178f974..bc74e8fb4c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13534,8 +13534,8 @@ perform regression test for packages that provide font-lock rules.") (license license:gpl3+)))) (define-public emacs-racket-mode - (let ((commit "5300aa004f08535c3fac99f1af78462f129aca81") - (revision "3")) + (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277") + (revision "4")) (package (name "emacs-racket-mode") (version (git-version "0.0.2" revision commit)) @@ -13548,7 +13548,7 @@ perform regression test for packages that provide font-lock rules.") (file-name (git-file-name name version)) (sha256 (base32 - "1gkpm4fl1ybsm9qqgrkwyjbd9znddy438x266k27fs90lkxrfray")))) + "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "\\.rkt$"))) -- cgit v1.2.3 From f7b3d9104e7149d1aca0ac257932eb759956b790 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 11 Oct 2019 02:41:21 +0200 Subject: gnu: emacs-helm-org-ql: Remove patch file. * gnu/local.mk (emacs-helm-org-ql): Remove entry. * gnu/packages/emacs-xyz.scm: Remove patch file. * gnu/packages/patches/emacs-helm-org-ql.patch: Delete file. --- gnu/local.mk | 1 - gnu/packages/emacs-xyz.scm | 15 ++++++---- gnu/packages/patches/emacs-helm-org-ql.patch | 42 ---------------------------- 3 files changed, 10 insertions(+), 48 deletions(-) delete mode 100644 gnu/packages/patches/emacs-helm-org-ql.patch diff --git a/gnu/local.mk b/gnu/local.mk index e768c3cefb..2451698503 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -791,7 +791,6 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ - %D%/packages/patches/emacs-helm-org-ql.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bc74e8fb4c..6893711d87 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11753,7 +11753,7 @@ according to a parsing expression grammar.") (define-public emacs-org-ql (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96") - (revision "2")) + (revision "3")) (package (name "emacs-org-ql") (version (git-version "0.3.1" revision commit)) @@ -11765,9 +11765,6 @@ according to a parsing expression grammar.") (sha256 (base32 "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0")) - (patches - (search-patches - "emacs-helm-org-ql.patch")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -11784,7 +11781,15 @@ according to a parsing expression grammar.") (native-inputs `(("emacs-buttercup" ,emacs-buttercup))) (arguments - `(#:tests? #t + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'require-helm + (lambda _ + (substitute* "helm-org-ql.el" + (("^;;;; Requirements") + ";;;; Requirements\n(require 'helm)\n(require 'helm-org)")) + #t))) + #:tests? #t #:test-command '("buttercup" "-L" "."))) (home-page "https://github.com/alphapapa/org-ql/") (synopsis "Query language for Org buffers") diff --git a/gnu/packages/patches/emacs-helm-org-ql.patch b/gnu/packages/patches/emacs-helm-org-ql.patch deleted file mode 100644 index 362e3d7d15..0000000000 --- a/gnu/packages/patches/emacs-helm-org-ql.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 3918944856834ef4a7ed613243a1612424d2daba Mon Sep 17 00:00:00 2001 -From: Brian Leung -Date: Thu, 10 Oct 2019 06:54:33 +0200 -Subject: [PATCH] Use require statements. - ---- - helm-org-ql.el | 19 ++----------------- - 1 file changed, 2 insertions(+), 17 deletions(-) - -diff --git a/helm-org-ql.el b/helm-org-ql.el -index 26beab9..113b7f2 100644 ---- a/helm-org-ql.el -+++ b/helm-org-ql.el -@@ -35,23 +35,8 @@ - (require 'org-ql) - (require 'org-ql-search) - --;; (require 'helm) --;; (require 'helm-org) -- --;;;; Compatibility -- --;; Declare Helm functions since Helm may not be installed. --(declare-function helm "ext:helm") --(declare-function helm-run-after-exit "ext:helm") --(declare-function helm-window "ext:helm-lib") --(declare-function helm-buffer-get "ext:helm-lib") --(declare-function helm-make-source "ext:helm-source") --(declare-function helm-org-goto-marker "ext:helm-org") -- --;; Silence byte-compiler about variables. --(defvar helm-map) --(defvar helm-pattern) --(defvar helm-input-idle-delay) -+(require 'helm) -+(require 'helm-org) - - ;;;; Variables - --- -2.23.0 - -- cgit v1.2.3 From 46274d89875432f15eb96c887f781c6adbb3f139 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 11 Oct 2019 04:14:39 +0200 Subject: gnu: emacs-git-annex: Update to 1.1-2.1324d3f. * gnu/packages/emacs-xyz.scm (emacs-git-annex): Update to 1.1-2.1324d3f. --- gnu/packages/emacs-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6893711d87..5e9e9b2113 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15578,11 +15578,11 @@ few (like NOTE).") (define-public emacs-git-annex ;; Unreleased version has a fontification fix. - (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707") - (revision "1")) + (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b") + (revision "2")) (package (name "emacs-git-annex") - (version (string-append "1.1-" revision "." (string-take commit 8))) + (version (git-version "1.1" revision commit)) (source (origin (method git-fetch) @@ -15592,7 +15592,7 @@ few (like NOTE).") (file-name (git-file-name name version)) (sha256 (base32 - "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh")))) + "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh")))) (build-system emacs-build-system) (home-page "https://github.com/jwiegley/git-annex-el") (synopsis "Emacs integration for git-annex") -- cgit v1.2.3 From 5b9b1c6b7214b8af7468847be6e21bca44a2e50e Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 11 Oct 2019 04:50:44 +0200 Subject: gnu: Add emacs-annalist. * gnu/packages/emacs-xyz.scm (emacs-annalist): New variable. --- gnu/packages/emacs-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5e9e9b2113..d403413bbf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16228,6 +16228,42 @@ other frame parameters.") (home-page "https://github.com/bookest/arduino-mode") (license license:gpl3+)))) +(define-public emacs-annalist + (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6") + (revision "1")) + (package + (name "emacs-annalist") + (version (git-version "1.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/noctuid/annalist.el.git") + (commit commit))) + (sha256 + (base32 + "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup) + ("emacs-lispy" ,emacs-lispy) + ("emacs-evil" ,emacs-evil))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("cask exec ") "")) + #t))) + #:tests? #t + #:test-command '("make" "test"))) + (home-page "https://github.com/noctuid/annalist.el") + (synopsis "Record and display information with Org headings and tables") + (description "This package allows for keybindings, settings, hooks, and +advice to be recorded and displayed.") + (license license:gpl3+)))) + (define-public emacs-general (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e") (revision "3")) -- cgit v1.2.3 From ecf3a3ac9b9ff7efa757b2f9b61edff58c3f60e5 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 11 Oct 2019 06:57:44 +0200 Subject: gnu: emacs-evil-collection: Update to 0.0.3-11.bf2400a. * gnu/packages/emacs-xyz.scm (emacs-evil-collection): Update to 0.0.3-11.bf2400a. --- gnu/packages/emacs-xyz.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d403413bbf..5ae3db83cd 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7013,11 +7013,11 @@ extensions.") (license license:gpl3+))) (define-public emacs-evil-collection - (let ((commit "986ca7eb0b75eccd843bdad2f7fdb48f4ca6ac22") - (revision "10")) + (let ((commit "bf4200a57c81c2302a3bf5b2058d74c6f90a3e6c") + (revision "11")) (package (name "emacs-evil-collection") - (version (git-version "0.0.2" revision commit)) + (version (git-version "0.0.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -7026,10 +7026,13 @@ extensions.") (file-name (git-file-name name version)) (sha256 (base32 - "172sx5w50x5wrs5w0sb6rkbj3q22s7mmsnk4c6pwknhbz3vwlvwz")))) + "01xw0m5gj14ly42y8ikvldpab5my28sylf6l9gvwd5cf909bd445")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-evil" ,emacs-evil))) + `(("emacs-evil" ,emacs-evil) + ("emacs-annalist" ,emacs-annalist))) + (arguments + `(#:include (cons* "^modes\\/" %default-include))) (home-page "https://github.com/emacs-evil/evil-collection") (synopsis "Collection of Evil bindings for many major and minor modes") (description "This is a collection of Evil bindings for the parts of -- cgit v1.2.3 From 07bec45dd3a1c5fa05f7ebfdb60ddbcf098bd01f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 11 Oct 2019 15:54:57 +0200 Subject: gnu: knot: Update to 2.9.0. * gnu/packages/dns.scm (knot): Update to 2.9.0. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 5f3686347d..5167cf8379 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -578,14 +578,14 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.8.2") + (version "2.9.0") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" "knot-" version ".tar.xz")) (sha256 - (base32 "0dx1lp4w33rpa54nns41k4vfdfin6naaskwh132r4qs0l9hl7lh0")) + (base32 "18i1kdyaqaskjyhmq888wml4d2p4ic1sbjynlb6ggfxsxzm38x6z")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From e214a22007450187c3db5d9fdef6ee021be6e953 Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Wed, 11 Sep 2019 15:43:19 -0400 Subject: gnu: Add nsis-x86_64 and nsis-i686. * guix/build-system/scons.scm (scons-build): Add build-targets and install-targets parameters. * guix/build/scons-build-system.scm (build, install): Adjust accordingly. * doc/guix.texi (Build Systems): Document it. * gnu/packages/installers.scm: New file, (make-nsis): New procedure, (nsis-x86_64, nsis-i686): New variables. * gnu/packages/patches/nsis-env-passthru.patch: New file. * gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Adjust accordingly. --- doc/guix.texi | 8 +- gnu/local.mk | 2 + gnu/packages/installers.scm | 116 +++++++++++++++++++++++++++ gnu/packages/patches/nsis-env-passthru.patch | 12 +++ guix/build-system/scons.scm | 4 + guix/build/scons-build-system.scm | 9 ++- 6 files changed, 144 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/installers.scm create mode 100644 gnu/packages/patches/nsis-env-passthru.patch diff --git a/doc/guix.texi b/doc/guix.texi index 97d797c13f..6703c2756c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6405,9 +6405,11 @@ tool. This build system runs @code{scons} to build the package, the package. Additional flags to be passed to @code{scons} can be specified with the -@code{#:scons-flags} parameter. The version of Python used to run SCons -can be specified by selecting the appropriate SCons package with the -@code{#:scons} parameter. +@code{#:scons-flags} parameter. The default build and install targets +can be overridden with @code{#:build-targets} and +@code{#:install-targets} respectively. The version of Python used to +run SCons can be specified by selecting the appropriate SCons package +with the @code{#:scons} parameter. @end defvr @defvr {Scheme Variable} haskell-build-system diff --git a/gnu/local.mk b/gnu/local.mk index 2451698503..0a4ee7c986 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -261,6 +261,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/imagemagick.scm \ %D%/packages/inklingreader.scm \ %D%/packages/inkscape.scm \ + %D%/packages/installers.scm \ %D%/packages/ipfs.scm \ %D%/packages/irc.scm \ %D%/packages/iso-codes.scm \ @@ -1145,6 +1146,7 @@ dist_patch_DATA = \ %D%/packages/patches/nfs-utils-missing-headers.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/nm-plugin-path.patch \ + %D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nss-freebl-stubs.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-pkgconfig.patch \ diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm new file mode 100644 index 0000000000..3a5f08b95a --- /dev/null +++ b/gnu/packages/installers.scm @@ -0,0 +1,116 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Carl Dong +;;; +;;; 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 installers) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) + #:use-module (gnu packages python-xyz) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system scons) + #:use-module (guix utils)) + +(define(make-nsis machine target-arch nsis-target-type) + (let ((triplet (string-append machine "-" "w64-mingw32"))) + (package + (name (string-append "nsis-" machine)) + (version "3.04") + (source (origin + (method url-fetch) + (uri (string-append "http://prdownloads.sourceforge.net/nsis/nsis-" + version "-src.tar.bz2")) + (sha256 + (base32 + "1xgllk2mk36ll2509hd31mfq6blgncmdzmwxj3ymrwshdh23d5b0")) + (patches (search-patches "nsis-env-passthru.patch")))) + (build-system scons-build-system) + (native-inputs `(("xgcc" ,(cross-gcc triplet #:libc (cross-libc triplet))) + ("xbinutils" ,(cross-binutils triplet)) + ("mingw-w64" ,(cross-libc triplet)))) + (inputs `(("zlib" ,zlib))) + (arguments + `(#:scons ,scons-python2 + #:modules ((srfi srfi-1) + (guix build utils) + (guix build scons-build-system)) + #:tests? #f + #:scons-flags `("UNICODE=yes" + "SKIPUTILS=MakeLangId,Makensisw,NSIS Menu,SubStart,zip2exe" + "SKIPDOC=COPYING" + "STRIP_CP=no" + ,(string-append "PREFIX=" %output) + ,(string-append "TARGET_ARCH=" ,target-arch) + ,(string-append "XGCC_W32_PREFIX=" ,triplet "-") + ,(string-append "PREFIX_PLUGINAPI_INC=" (assoc-ref %build-inputs "mingw-w64") "/include/") + ,(string-append "PREFIX_PLUGINAPI_LIB=" (assoc-ref %build-inputs "mingw-w64") "/lib/")) + #:build-targets '("makensis" + "stubs" + "plugins" + "utils") + #:install-targets '("install-stubs" + "install-plugins" + "install-data" + "install-utils" + "install-compiler" + "install-conf") + #:phases (modify-phases %standard-phases + (add-before 'build 'fix-env + (lambda _ + (define* (filter-delimited-string delimited-string predicate #:optional (delimiter #\:)) + ;; Given a DELIMITED-STRING delimited by DELIMITER, + ;; only keep items that satisfy PREDICATE + (string-join + (filter predicate (string-split delimited-string delimiter)) + (string delimiter))) + (define (mingw-path? path) + (string-prefix? (assoc-ref %build-inputs "mingw-w64") path)) + (for-each + (lambda (env-name) + (let ((env-val (getenv env-name))) + ;; Remove all mingw-w64 paths from env vars meant + ;; for native toolchain + (setenv env-name + (filter-delimited-string env-val (negate mingw-path?))) + ;; Add the removed paths back into + ;; CROSS_-prefixed version of env vars + (setenv (string-append "CROSS_" env-name) + (filter-delimited-string env-val mingw-path?)))) + '("CPLUS_INCLUDE_PATH" "LIBRARY_PATH" "C_INCLUDE_PATH")))) + (add-before 'build 'fix-target-detection + (lambda _ + ;; NSIS target detection is screwed up, manually + ;; change it ourselves + (substitute* "Source/build.cpp" (("m_target_type=TARGET_X86ANSI") + (string-append "m_target_type=" ,nsis-target-type)))))))) + (home-page "http://nsis.sourceforge.net/") + (synopsis "A professional open source system to create Windows installers") + (description + "NSIS (Nullsoft Scriptable Install System) is a professional open +source system to create Windows installers. It is designed to be as small and +flexible as possible and is therefore very suitable for internet +distribution.") + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution."))))) + +(define-public nsis-x86_64 + (make-nsis "x86_64" "amd64" "TARGET_AMD64")) + +(define-public nsis-i686 + (make-nsis "i686" "x86" "TARGET_X86UNICODE")) diff --git a/gnu/packages/patches/nsis-env-passthru.patch b/gnu/packages/patches/nsis-env-passthru.patch new file mode 100644 index 0000000000..36b4092230 --- /dev/null +++ b/gnu/packages/patches/nsis-env-passthru.patch @@ -0,0 +1,12 @@ +--- nsis-3.04-src/SConstruct 2019-05-30 14:53:30.276775332 -0400 ++++ nsis-3.04-src/SConstruct 2019-05-30 14:54:17.901232914 -0400 +@@ -77,6 +77,9 @@ + if not toolset and not path: + defenv = Environment(TARGET_ARCH = arch) + ++import os; ++defenv['ENV'] = os.environ ++ + Export('defenv') + + ###################################################################### diff --git a/guix/build-system/scons.scm b/guix/build-system/scons.scm index 5e76d64180..aad455c419 100644 --- a/guix/build-system/scons.scm +++ b/guix/build-system/scons.scm @@ -76,7 +76,9 @@ #:key (tests? #t) (scons-flags ''()) + (build-targets ''()) (test-target "test") + (install-targets ''("install")) (phases '(@ (guix build scons-build-system) %standard-phases)) (outputs '("out")) @@ -101,8 +103,10 @@ provides a 'SConstruct' file as its build system." source)) #:scons-flags ,scons-flags #:system ,system + #:build-targets ,build-targets #:test-target ,test-target #:tests? ,tests? + #:install-targets ,install-targets #:phases ,phases #:outputs %outputs #:search-paths ',(map search-path-specification->sexp diff --git a/guix/build/scons-build-system.scm b/guix/build/scons-build-system.scm index eb013f03b6..17a0b7b877 100644 --- a/guix/build/scons-build-system.scm +++ b/guix/build/scons-build-system.scm @@ -29,7 +29,7 @@ ;; ;; Code: -(define* (build #:key outputs (scons-flags '()) (parallel-build? #t) #:allow-other-keys) +(define* (build #:key outputs (build-targets '()) (scons-flags '()) (parallel-build? #t) #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (mkdir-p out) (apply invoke "scons" @@ -37,7 +37,8 @@ (list "-j" (number->string (parallel-job-count))) (list)) - scons-flags)))) + scons-flags + build-targets)))) (define* (check #:key tests? test-target (scons-flags '()) #:allow-other-keys) "Run the test suite of a given SCons application." @@ -46,9 +47,9 @@ (format #t "test suite not run~%")) #t) -(define* (install #:key outputs (scons-flags '()) #:allow-other-keys) +(define* (install #:key outputs (install-targets '("install")) (scons-flags '()) #:allow-other-keys) "Install a given SCons application." - (apply invoke "scons" "install" scons-flags)) + (apply invoke "scons" (append scons-flags install-targets))) (define %standard-phases (modify-phases gnu:%standard-phases -- cgit v1.2.3 From a7d03e96b653e94cab0bc4d14bf6b10b049ea2db Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Fri, 11 Oct 2019 11:46:03 -0400 Subject: gnu: Fix typo for nsis. * gnu/packages/installers.scm (make-nsis): Add space between define and open bracket. --- gnu/packages/installers.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm index 3a5f08b95a..c987254d61 100644 --- a/gnu/packages/installers.scm +++ b/gnu/packages/installers.scm @@ -27,7 +27,7 @@ #:use-module (guix build-system scons) #:use-module (guix utils)) -(define(make-nsis machine target-arch nsis-target-type) +(define (make-nsis machine target-arch nsis-target-type) (let ((triplet (string-append machine "-" "w64-mingw32"))) (package (name (string-append "nsis-" machine)) -- cgit v1.2.3 From be6f2f5634fc9d3639beb0330a04f4fa21020e64 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 11 Oct 2019 12:23:06 -0400 Subject: gnu: PyJWT: Update to 1.7.1. * gnu/packages/python-xyz.scm (python-pyjwt): Update to 1.7.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b6a50de503..8137d665fd 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2197,14 +2197,14 @@ somewhat intelligible.") (define-public python-pyjwt (package (name "python-pyjwt") - (version "1.5.3") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "PyJWT" version)) (sha256 (base32 - "1rxsg14i33vm2i6lz0my628108c81k43v10n4h3p0gx62xdyf2sh")) + "15hflax5qkw1v6nssk1r0wkj83jgghskcmn875m3wgvpzdvajncd")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 5b811ddc671777780233f23a819054ef62dcbacb Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 12 Oct 2019 12:09:26 +0200 Subject: gnu: emacs-wgrep: Update to 2.3.1. * gnu/packages/emacs-xyz.scm (emacs-wgrep): Update to 2.3.1. --- gnu/packages/emacs-xyz.scm | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5ae3db83cd..a55282a0a9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6601,26 +6601,29 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (license license:gpl3+))) (define-public emacs-wgrep - (package - (name "emacs-wgrep") - (version "2.3.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mhayashi1120/Emacs-wgrep") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s")))) - (build-system emacs-build-system) - (home-page "https://github.com/mhayashi1120/Emacs-wgrep") - (synopsis "Edit a grep buffer and apply those changes to the files") - (description - "Emacs wgrep allows you to edit a grep buffer and apply those changes + ;; Tag is missing, so we use the commit directly. + ;; https://github.com/mhayashi1120/Emacs-wgrep/issues/64 + (let ((commit "379afd89ebd76f63842c8589127d66096a8bb595")) + (package + (name "emacs-wgrep") + (version "2.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mhayashi1120/Emacs-wgrep") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47")))) + (build-system emacs-build-system) + (home-page "https://github.com/mhayashi1120/Emacs-wgrep") + (synopsis "Edit a grep buffer and apply those changes to the files") + (description + "Emacs wgrep allows you to edit a grep buffer and apply those changes to the file buffer. Several backends are supported beside the classic grep: ack, ag, helm and pt.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-helm (package -- cgit v1.2.3 From 9a45a24f7f3172750d8ea8a877527f219b4ed94b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 11 Oct 2019 17:23:13 +0200 Subject: gnu: Remove unnecessary uses of 'package-with-bootstrap-guile'. This reduces the object graph returned by: guix graph -e '(@@ (gnu packages commencement) glibc-final-with-bootstrap-bash) from 333 nodes (1542 edges) to 148 nodes (886 edges). This improves 'package-derivation' memoization and, consequently, the 'add-data-to-store' cache shown by: GUIX_PROFILING=add-data-to-store-cache guix build coreutils -nd goes from 10948 lookups to 8935 lookups. * gnu/packages/commencement.scm (mes-boot): Remove call to 'package-with-bootstrap-guile'. Call 'bootstrap-origin' on the source of NYACC-0.86. (tcc-boot0): Likewise. (tcc-boot): Remove call to 'package-with-bootstrap-guile' and call 'bootstrap-origin' on its source. (make-mesboot0): Remove call to 'package-with-bootstrap-guile'. (diffutils-mesboot): Likewise. (binutils-mesboot0): Likewise, and call 'bootstrap-origin' for its source. (gcc-core-mesboot): Likewise. (mesboot-headers): Remove call to 'package-with-bootstrap-guile'. (glibc-mesboot0): Likewise, and call 'bootstrap-origin' for its source. (gcc-mesboot0): Remove call to 'package-with-bootstrap-guile'. (binutils-mesboot): Likewise. (make-mesboot): Likewise. (gcc-mesboot1): Likewise, and call 'bootstrap-origin' for its source. (gcc-mesboot1-wrapper): Remove call to 'package-with-bootstrap-guile'. (glibc-headers-mesboot): Likewise, and call 'bootstrap-origin' for its source. (glibc-mesboot): Remove call to 'package-with-bootstrap-guile'. (gcc-mesboot): Likewise, and call to 'bootstrap-origin' for its source. (gcc-mesboot-wrapper): Remove call to 'package-with-bootstrap-guile'. (m4-mesboot): Likewise. (gnu-make-boot0): Likewise, and call 'bootstrap-origin' for its source. --- gnu/packages/commencement.scm | 2377 ++++++++++++++++++++--------------------- 1 file changed, 1185 insertions(+), 1192 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index fd98c80dc3..f5f610c67c 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -85,80 +85,80 @@ ;;; Code: (define mes-boot - (package-with-bootstrap-guile - (package - (inherit mes) - (name "mes-boot") - (version "0.19") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mes/" - "mes-" version ".tar.gz")) - (sha256 - (base32 - "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0")))) - (inputs '()) - (propagated-inputs '()) - (native-inputs - `(("mescc-tools" ,%bootstrap-mescc-tools) - ("nyacc-source" ,(package-source nyacc-0.86)) + (package + (inherit mes) + (name "mes-boot") + (version "0.19") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mes/" + "mes-" version ".tar.gz")) + (sha256 + (base32 + "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0")))) + (inputs '()) + (propagated-inputs '()) + (native-inputs + `(("mescc-tools" ,%bootstrap-mescc-tools) + ("nyacc-source" ,(bootstrap-origin + (package-source nyacc-0.86))) - ("coreutils" , %bootstrap-coreutils&co) - ("bootstrap-mes" ,%bootstrap-mes))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-seeds - (lambda _ - (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source")) - (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))) - (with-directory-excursion ".." - (mkdir-p "nyacc-source") - (invoke "tar" "--strip=1" "-C" "nyacc-source" "-xvf" nyacc-source) - (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed")) - #t))) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref %outputs "out"))) - (setenv "GUILE" "mes") - (setenv "GUILE_EFFECTIVE_VERSION" "2.2") - (setenv "GUILE_LOAD_PATH" "nyacc") - (symlink (string-append "../nyacc-source/module") "nyacc") - (invoke "bash" "configure.sh" - (string-append "--prefix=" out))))) - (replace 'build - (lambda _ - (let ((mes (assoc-ref %build-inputs "bootstrap-mes"))) - (setenv "MES_PREFIX" (string-append mes "/share/mes")) - (setenv "MES_ARENA" "100000000") - (setenv "MES_MAX_ARENA" "100000000") - (setenv "MES_STACK" "10000000") - (invoke "sh" "bootstrap.sh")))) - (replace 'check - (lambda _ - (setenv "DIFF" "sh scripts/diff.scm") - ;; fail fast tests - ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/t") - ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/63-struct-cell") - (invoke "sh" "check.sh"))) - (replace 'install - (lambda _ - (invoke "sh" "install.sh")))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("share/mes/include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("share/mes/lib")))))))) + ("coreutils" , %bootstrap-coreutils&co) + ("bootstrap-mes" ,%bootstrap-mes))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-seeds + (lambda _ + (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source")) + (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))) + (with-directory-excursion ".." + (mkdir-p "nyacc-source") + (invoke "tar" "--strip=1" "-C" "nyacc-source" "-xvf" nyacc-source) + (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed")) + #t))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref %outputs "out"))) + (setenv "GUILE" "mes") + (setenv "GUILE_EFFECTIVE_VERSION" "2.2") + (setenv "GUILE_LOAD_PATH" "nyacc") + (symlink (string-append "../nyacc-source/module") "nyacc") + (invoke "bash" "configure.sh" + (string-append "--prefix=" out))))) + (replace 'build + (lambda _ + (let ((mes (assoc-ref %build-inputs "bootstrap-mes"))) + (setenv "MES_PREFIX" (string-append mes "/share/mes")) + (setenv "MES_ARENA" "100000000") + (setenv "MES_MAX_ARENA" "100000000") + (setenv "MES_STACK" "10000000") + (invoke "sh" "bootstrap.sh")))) + (replace 'check + (lambda _ + (setenv "DIFF" "sh scripts/diff.scm") + ;; fail fast tests + ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/t") + ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/63-struct-cell") + (invoke "sh" "check.sh"))) + (replace 'install + (lambda _ + (invoke "sh" "install.sh")))))) + (native-search-paths + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("share/mes/include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("share/mes/lib"))))))) (define tcc-boot0 ;; Pristine tcc cannot be built by MesCC, we are keeping a delta of 11 @@ -170,348 +170,349 @@ (let ((version "0.9.26") (revision "6") (commit "c004e9a34fb026bb44d211ab98bb768e79900eef")) - (package-with-bootstrap-guile - (package - (inherit tcc) - (name "tcc-boot0") - (version (string-append version "-" revision "." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (string-append "https://gitlab.com/janneke/tinycc" - "/-/archive/" commit - "/tinycc-" commit ".tar.gz")) - (sha256 - (base32 - "1hmzn1pq0x22ppd80hyrn5qzqq94mxd0ychzj6vrr2vnj2frjv5b")))) - (build-system gnu-build-system) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs - `(("mes" ,mes-boot) - ("mescc-tools" ,%bootstrap-mescc-tools) - ("nyacc-source" ,(package-source nyacc-0.86)) - - ("coreutils" , %bootstrap-coreutils&co) - ("bootstrap-mes" ,%bootstrap-mes))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-seeds - (lambda* (#:key outputs #:allow-other-keys) - (let* ((coreutils (assoc-ref %build-inputs "coreutils")) - (nyacc-source (assoc-ref %build-inputs "nyacc-source")) - (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))) - (setenv "PATH" (string-append - coreutils "/bin")) - (format (current-error-port) "PATH=~s\n" (getenv "PATH")) - (with-directory-excursion ".." - (mkdir-p "nyacc-source") - (invoke "tar" "--strip=1" "-C" "nyacc-source" - "-xvf" nyacc-source) - (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed")) - #t))) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (dir (with-directory-excursion ".." (getcwd))) - (coreutils (assoc-ref %build-inputs "coreutils")) - (mes (assoc-ref %build-inputs "mes")) - (mescc-tools (assoc-ref %build-inputs "mescc-tools")) - (libc (assoc-ref %build-inputs "libc")) - (interpreter (if libc - ;; also for x86_64-linux, we are still on i686-linux - (string-append libc ,(glibc-dynamic-linker "i686-linux")) - (string-append mes "/lib/mes-loader")))) - (setenv "PATH" (string-append - coreutils "/bin" - ":" mes "/bin" - ":" mescc-tools "/bin")) - (format (current-error-port) "PATH=~s\n" (getenv "PATH")) - - (setenv "PREFIX" out) - (symlink (string-append mes "/share/mes") "mes") - (symlink (string-append "../nyacc-source/module") "nyacc") - (setenv "MES_PREFIX" "mes") - (setenv "MES_ARENA" "100000000") - (setenv "MES_MAX_ARENA" "100000000") - (setenv "MES_STACK" "10000000") - (setenv "MES" "mes") - (setenv "GUILE_LOAD_PATH" "nyacc") - (invoke "sh" "configure" - "--prefix=$PREFIX" - (string-append "--elfinterp=" interpreter) - "--crtprefix=." - "--tccdir=.")))) - (replace 'build - (lambda _ - (substitute* "bootstrap.sh" - (("^ cmp") "# cmp")) - (invoke "sh" "bootstrap.sh"))) - (replace 'check - (lambda _ - (setenv "DIFF" "diff.scm") - (setenv "OBJDUMP" "true") - ;; fail fast tests - ;; (invoke "sh" "test.sh" "mes/scaffold/tests/30-strlen") - ;; (invoke "sh" "-x" "test.sh" "mes/scaffold/tinycc/00_assignment") - (setenv "TCC" "./tcc") - (invoke "sh" "check.sh"))) - (replace 'install - (lambda _ - (invoke "sh" "install.sh")))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib"))))))))) + (package + (inherit tcc) + (name "tcc-boot0") + (version (string-append version "-" revision "." (string-take commit 7))) + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/janneke/tinycc" + "/-/archive/" commit + "/tinycc-" commit ".tar.gz")) + (sha256 + (base32 + "1hmzn1pq0x22ppd80hyrn5qzqq94mxd0ychzj6vrr2vnj2frjv5b")))) + (build-system gnu-build-system) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs + `(("mes" ,mes-boot) + ("mescc-tools" ,%bootstrap-mescc-tools) + ("nyacc-source" ,(bootstrap-origin + (package-source nyacc-0.86))) + + ("coreutils" , %bootstrap-coreutils&co) + ("bootstrap-mes" ,%bootstrap-mes))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-seeds + (lambda* (#:key outputs #:allow-other-keys) + (let* ((coreutils (assoc-ref %build-inputs "coreutils")) + (nyacc-source (assoc-ref %build-inputs "nyacc-source")) + (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))) + (setenv "PATH" (string-append + coreutils "/bin")) + (format (current-error-port) "PATH=~s\n" (getenv "PATH")) + (with-directory-excursion ".." + (mkdir-p "nyacc-source") + (invoke "tar" "--strip=1" "-C" "nyacc-source" + "-xvf" nyacc-source) + (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed")) + #t))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (dir (with-directory-excursion ".." (getcwd))) + (coreutils (assoc-ref %build-inputs "coreutils")) + (mes (assoc-ref %build-inputs "mes")) + (mescc-tools (assoc-ref %build-inputs "mescc-tools")) + (libc (assoc-ref %build-inputs "libc")) + (interpreter (if libc + ;; also for x86_64-linux, we are still on i686-linux + (string-append libc ,(glibc-dynamic-linker "i686-linux")) + (string-append mes "/lib/mes-loader")))) + (setenv "PATH" (string-append + coreutils "/bin" + ":" mes "/bin" + ":" mescc-tools "/bin")) + (format (current-error-port) "PATH=~s\n" (getenv "PATH")) + + (setenv "PREFIX" out) + (symlink (string-append mes "/share/mes") "mes") + (symlink (string-append "../nyacc-source/module") "nyacc") + (setenv "MES_PREFIX" "mes") + (setenv "MES_ARENA" "100000000") + (setenv "MES_MAX_ARENA" "100000000") + (setenv "MES_STACK" "10000000") + (setenv "MES" "mes") + (setenv "GUILE_LOAD_PATH" "nyacc") + (invoke "sh" "configure" + "--prefix=$PREFIX" + (string-append "--elfinterp=" interpreter) + "--crtprefix=." + "--tccdir=.")))) + (replace 'build + (lambda _ + (substitute* "bootstrap.sh" + (("^ cmp") "# cmp")) + (invoke "sh" "bootstrap.sh"))) + (replace 'check + (lambda _ + (setenv "DIFF" "diff.scm") + (setenv "OBJDUMP" "true") + ;; fail fast tests + ;; (invoke "sh" "test.sh" "mes/scaffold/tests/30-strlen") + ;; (invoke "sh" "-x" "test.sh" "mes/scaffold/tinycc/00_assignment") + (setenv "TCC" "./tcc") + (invoke "sh" "check.sh"))) + (replace 'install + (lambda _ + (invoke "sh" "install.sh")))))) + (native-search-paths + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib")))))))) (define tcc-boot - (package-with-bootstrap-guile - (package - (inherit tcc-boot0) - (name "tcc-boot") - (version "0.9.27") - (source (origin + (package + (inherit tcc-boot0) + (name "tcc-boot") + (version "0.9.27") + (source (bootstrap-origin + (origin (inherit (package-source tcc)) - (patches (search-patches "tcc-boot-0.9.27.patch")))) - (build-system gnu-build-system) - (inputs '()) - (propagated-inputs '()) - (native-inputs - `(("mes" ,mes-boot) - ("tcc" ,tcc-boot0) + (patches (search-patches "tcc-boot-0.9.27.patch"))))) + (build-system gnu-build-system) + (inputs '()) + (propagated-inputs '()) + (native-inputs + `(("mes" ,mes-boot) + ("tcc" ,tcc-boot0) - ("coreutils" , %bootstrap-coreutils&co))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 - ; binaries, tcc-boot also comes with - ; MesCC/M1/hex2-built binaries - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (coreutils (assoc-ref %build-inputs "coreutils")) - (mes (assoc-ref %build-inputs "mes")) - (tcc (assoc-ref %build-inputs "tcc")) - (libc (assoc-ref %build-inputs "libc")) - (interpreter (if libc - ;; also for x86_64-linux, we are still on i686-linux - (string-append libc ,(glibc-dynamic-linker "i686-linux")) - (string-append mes "/lib/mes-loader")))) - ;; unpack - (setenv "PATH" (string-append - coreutils "/bin" - ":" tcc "/bin")) - (format (current-error-port) "PATH=~s\n" (getenv "PATH")) - (invoke "sh" "configure" - (string-append "--cc=tcc") - (string-append "--cpu=i386") - (string-append "--prefix=" out) - (string-append "--elfinterp=" interpreter) - (string-append "--crtprefix=" tcc "/lib") - (string-append "--sysincludepaths=" tcc "/include") - (string-append "--libpaths=" tcc "/lib"))))) - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (mes (assoc-ref %build-inputs "mes")) - (tcc (assoc-ref %build-inputs "tcc")) - (libc (assoc-ref %build-inputs "libc")) - (interpreter (if libc - ;; also for x86_64-linux, we are still on i686-linux - (string-append libc ,(glibc-dynamic-linker "i686-linux")) - (string-append mes "/lib/mes-loader")))) - (invoke "tcc" - "-vvv" - "-D" "BOOTSTRAP=1" - "-D" "ONE_SOURCE=1" - "-D" "TCC_TARGET_I386=1" - "-D" "CONFIG_TCC_STATIC=1" - "-D" "CONFIG_USE_LIBGCC=1" - "-D" (string-append "CONFIG_TCCDIR=\"" out "/lib/tcc\"") - "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"") - "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"") - "-D" (string-append "CONFIG_TCC_ELFINTERP=\"" interpreter "\"") - "-D" (string-append "CONFIG_TCC_LIBPATHS=\"" tcc "/lib:{B}/lib:.\"") - "-D" (string-append "CONFIG_TCC_SYSINCLUDEPATHS=\"" tcc "/include" ":/include:{B}/include\"") - "-D" (string-append "TCC_LIBGCC=\"" tcc "/lib/libc.a\"") - "-o" "tcc" - "tcc.c")))) - (replace 'check - (lambda _ - ;; FIXME: add sensible check target (without depending on make) - ;; ./check.sh ? - (= 1 (status:exit-val (system* "./tcc" "--help"))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref %outputs "out")) - (tcc (assoc-ref %build-inputs "tcc"))) - (mkdir-p (string-append out "/bin")) - (copy-file "tcc" (string-append out "/bin/tcc")) - (mkdir-p (string-append out "/lib/tcc")) - (copy-recursively (string-append tcc "/include") - (string-append out "/include")) - (copy-recursively (string-append tcc "/lib") - (string-append out "/lib")) - (invoke "tcc" "-D" "TCC_TARGET_I386=1" "-c" "-o" "libtcc1.o" "lib/libtcc1.c") - (invoke "tcc" "-ar" "rc" "libtcc1.a" "libtcc1.o") - (copy-file "libtcc1.a" (string-append out "/lib/libtcc1.a")) - (delete-file (string-append out "/lib/tcc/libtcc1.a")) - (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a")) - #t))))))))) + ("coreutils" , %bootstrap-coreutils&co))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + + ;; Binutils' 'strip' b0rkes MesCC/M1/hex2 binaries, tcc-boot also comes + ;; with MesCC/M1/hex2-built binaries. + #:strip-binaries? #f + + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (coreutils (assoc-ref %build-inputs "coreutils")) + (mes (assoc-ref %build-inputs "mes")) + (tcc (assoc-ref %build-inputs "tcc")) + (libc (assoc-ref %build-inputs "libc")) + (interpreter (if libc + ;; also for x86_64-linux, we are still on i686-linux + (string-append libc ,(glibc-dynamic-linker "i686-linux")) + (string-append mes "/lib/mes-loader")))) + ;; unpack + (setenv "PATH" (string-append + coreutils "/bin" + ":" tcc "/bin")) + (format (current-error-port) "PATH=~s\n" (getenv "PATH")) + (invoke "sh" "configure" + (string-append "--cc=tcc") + (string-append "--cpu=i386") + (string-append "--prefix=" out) + (string-append "--elfinterp=" interpreter) + (string-append "--crtprefix=" tcc "/lib") + (string-append "--sysincludepaths=" tcc "/include") + (string-append "--libpaths=" tcc "/lib"))))) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (mes (assoc-ref %build-inputs "mes")) + (tcc (assoc-ref %build-inputs "tcc")) + (libc (assoc-ref %build-inputs "libc")) + (interpreter (if libc + ;; also for x86_64-linux, we are still on i686-linux + (string-append libc ,(glibc-dynamic-linker "i686-linux")) + (string-append mes "/lib/mes-loader")))) + (invoke "tcc" + "-vvv" + "-D" "BOOTSTRAP=1" + "-D" "ONE_SOURCE=1" + "-D" "TCC_TARGET_I386=1" + "-D" "CONFIG_TCC_STATIC=1" + "-D" "CONFIG_USE_LIBGCC=1" + "-D" (string-append "CONFIG_TCCDIR=\"" out "/lib/tcc\"") + "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"") + "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out + "/lib:{B}/lib:.\"") + "-D" (string-append "CONFIG_TCC_ELFINTERP=\"" interpreter "\"") + "-D" (string-append "CONFIG_TCC_LIBPATHS=\"" tcc "/lib:{B}/lib:.\"") + "-D" (string-append "CONFIG_TCC_SYSINCLUDEPATHS=\"" tcc "/include" ":/include:{B}/include\"") + "-D" (string-append "TCC_LIBGCC=\"" tcc "/lib/libc.a\"") + "-o" "tcc" + "tcc.c")))) + (replace 'check + (lambda _ + ;; FIXME: add sensible check target (without depending on make) + ;; ./check.sh ? + (= 1 (status:exit-val (system* "./tcc" "--help"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref %outputs "out")) + (tcc (assoc-ref %build-inputs "tcc"))) + (mkdir-p (string-append out "/bin")) + (copy-file "tcc" (string-append out "/bin/tcc")) + (mkdir-p (string-append out "/lib/tcc")) + (copy-recursively (string-append tcc "/include") + (string-append out "/include")) + (copy-recursively (string-append tcc "/lib") + (string-append out "/lib")) + (invoke "tcc" "-D" "TCC_TARGET_I386=1" "-c" "-o" "libtcc1.o" "lib/libtcc1.c") + (invoke "tcc" "-ar" "rc" "libtcc1.a" "libtcc1.o") + (copy-file "libtcc1.a" (string-append out "/lib/libtcc1.a")) + (delete-file (string-append out "/lib/tcc/libtcc1.a")) + (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a")) + #t)))))))) (define make-mesboot0 - (package-with-bootstrap-guile - (package - (inherit gnu-make) - (name "make-mesboot0") - (version "3.80") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/make/make-" - version ".tar.gz")) - (sha256 - (base32 - "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co))) - (arguments - `(#:implicit-inputs? #f - #:tests? #f ; check depends on perl - #:guile ,%bootstrap-guile - #:configure-flags `("CC=tcc -DO_RDONLY=0" - "LD=tcc" - "--disable-nls") - #:phases - (modify-phases %standard-phases - (add-after 'configure 'configure-fixup - (lambda _ - (substitute* "build.sh" - (("^REMOTE=.*") "REMOTE=stub\n") - (("^extras=.*") "extras=getloadavg.c\n")) - (substitute* "make.h" - (("^extern long int lseek.*" all) (string-append "// " all))) - #t)) - (delete 'patch-generated-file-shebangs) ; no perl - (replace 'build - (lambda _ - (invoke "sh" "./build.sh"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "make" bin) - #t))))))))) + (package + (inherit gnu-make) + (name "make-mesboot0") + (version "3.80") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/make/make-" + version ".tar.gz")) + (sha256 + (base32 + "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("tcc" ,tcc-boot) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co))) + (arguments + `(#:implicit-inputs? #f + #:tests? #f ; check depends on perl + #:guile ,%bootstrap-guile + #:configure-flags `("CC=tcc -DO_RDONLY=0" + "LD=tcc" + "--disable-nls") + #:phases + (modify-phases %standard-phases + (add-after 'configure 'configure-fixup + (lambda _ + (substitute* "build.sh" + (("^REMOTE=.*") "REMOTE=stub\n") + (("^extras=.*") "extras=getloadavg.c\n")) + (substitute* "make.h" + (("^extern long int lseek.*" all) (string-append "// " all))) + #t)) + (delete 'patch-generated-file-shebangs) ; no perl + (replace 'build + (lambda _ + (invoke "sh" "./build.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "make" bin) + #t)))))))) (define diffutils-mesboot - (package-with-bootstrap-guile - (package - (inherit diffutils) - (name "diffutils-mesboot") - (version "2.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/diffutils/diffutils-" - version ".tar.gz")) - (sha256 - (base32 - "1mirn5i825bn5w7rh6mgn0r8aj9xqanav95dwcl1b8sn82f4iwnm")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("mes" ,mes-boot) - ("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("make" ,make-mesboot0))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:parallel-build? #f - #:tests? #f ; check is naive, also checks non-built PROGRAMS - #:strip-binaries? #f ; no strip yet - #:phases - (modify-phases %standard-phases - ;; diffutils-2.7 needs more traditional configure - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "CC" "tcc") - (setenv "LD" "tcc") - (invoke "./configure" (string-append "--prefix=" out))))) - (add-before 'configure 'remove-diff3-sdiff - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile.in" - (("PROGRAMS = .*" all) "PROGRAMS = cmp diff")) - #t)))))))) + (package + (inherit diffutils) + (name "diffutils-mesboot") + (version "2.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/diffutils/diffutils-" + version ".tar.gz")) + (sha256 + (base32 + "1mirn5i825bn5w7rh6mgn0r8aj9xqanav95dwcl1b8sn82f4iwnm")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("mes" ,mes-boot) + ("tcc" ,tcc-boot) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("make" ,make-mesboot0))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:parallel-build? #f + #:tests? #f ; check is naive, also checks non-built PROGRAMS + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + ;; diffutils-2.7 needs more traditional configure + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash"))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "CC" "tcc") + (setenv "LD" "tcc") + (invoke "./configure" (string-append "--prefix=" out))))) + (add-before 'configure 'remove-diff3-sdiff + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("PROGRAMS = .*" all) "PROGRAMS = cmp diff")) + #t))))))) (define binutils-mesboot0 - (package-with-bootstrap-guile - (package - (inherit binutils) - (name "binutils-mesboot0") - (version "2.20.1a") - (source (origin + (package + (inherit binutils) + (name "binutils-mesboot0") + (version "2.20.1a") + (source (bootstrap-origin + (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (patches (search-patches "binutils-boot-2.20.1a.patch")) (sha256 (base32 - "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi")))) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot0))) - (supported-systems '("i686-linux" "x86_64-linux")) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:tests? #f ; runtest: command not found - #:parallel-build? #f - #:strip-binaries? #f ; no strip yet - #:configure-flags - (let ((cppflags (string-append " -D __GLIBC_MINOR__=6" - " -D MES_BOOTSTRAP=1")) - (bash (assoc-ref %build-inputs "bash"))) - `(,(string-append "CONFIG_SHELL=" bash "/bin/sh") - ,(string-append "CPPFLAGS=" cppflags) - "AR=tcc -ar" - "CXX=false" - "RANLIB=true" - ,(string-append "CC=tcc" cppflags) - "--disable-nls" - "--disable-shared" - "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - "--with-sysroot=/"))))))) + "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi"))))) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("tcc" ,tcc-boot) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("make" ,make-mesboot0))) + (supported-systems '("i686-linux" "x86_64-linux")) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f ; runtest: command not found + #:parallel-build? #f + #:strip-binaries? #f ; no strip yet + #:configure-flags + (let ((cppflags (string-append " -D __GLIBC_MINOR__=6" + " -D MES_BOOTSTRAP=1")) + (bash (assoc-ref %build-inputs "bash"))) + `(,(string-append "CONFIG_SHELL=" bash "/bin/sh") + ,(string-append "CPPFLAGS=" cppflags) + "AR=tcc -ar" + "CXX=false" + "RANLIB=true" + ,(string-append "CC=tcc" cppflags) + "--disable-nls" + "--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--with-sysroot=/")))))) (define gcc-core-mesboot ;; Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C @@ -519,12 +520,12 @@ ;; library, such as dir.h/struct DIR/readdir, locales, signals... Also, ;; with gcc-2.95.3, binutils-boot-2.20.1a and glibc-2.2.5 we found a GNU ;; toolchain triplet "that works". - (package-with-bootstrap-guile - (package - (inherit gcc) - (name "gcc-core-mesboot") - (version "2.95.3") - (source (origin + (package + (inherit gcc) + (name "gcc-core-mesboot") + (version "2.95.3") + (source (bootstrap-origin + (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-2.95.3/gcc-core-" version @@ -532,162 +533,161 @@ (patches (search-patches "gcc-boot-2.95.3.patch")) (sha256 (base32 - "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("binutils" ,binutils-mesboot0) - ("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot0))) - (outputs '("out")) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:tests? #f - #:parallel-build? #f - #:strip-binaries? #f - #:configure-flags - (let ((out (assoc-ref %outputs "out"))) - `("--enable-static" - "--disable-shared" - "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - ,(string-append "--prefix=" out))) - #:make-flags (list - "CC=tcc -static -D __GLIBC_MINOR__=6" - "OLDCC=tcc -static -D __GLIBC_MINOR__=6" - "CC_FOR_BUILD=tcc -static -D __GLIBC_MINOR__=6" - "AR=ar" - "RANLIB=ranlib" - (string-append "LIBGCC2_INCLUDES=-I " - (assoc-ref %build-inputs "tcc") - "/include") - "LANGUAGES=c" - (string-append "BOOT_LDFLAGS=" - " -B" (assoc-ref %build-inputs "tcc") - "/lib/")) - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases - (modify-phases %standard-phases - ;; gcc-2.95.3 needs more traditional configure - (add-before 'configure 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (tcc (assoc-ref %build-inputs "tcc")) - (cppflags " -D __GLIBC_MINOR__=6")) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "CPPFLAGS" cppflags) - (setenv "CC" (string-append "tcc" cppflags)) - (setenv "CC_FOR_BUILD" (string-append "tcc" cppflags)) - (setenv "CPP" (string-append "tcc -E" cppflags)) - (with-output-to-file "config.cache" - (lambda _ - (display " + "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an"))))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("binutils" ,binutils-mesboot0) + ("tcc" ,tcc-boot) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("make" ,make-mesboot0))) + (outputs '("out")) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f + #:parallel-build? #f + #:strip-binaries? #f + #:configure-flags + (let ((out (assoc-ref %outputs "out"))) + `("--enable-static" + "--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + ,(string-append "--prefix=" out))) + #:make-flags (list + "CC=tcc -static -D __GLIBC_MINOR__=6" + "OLDCC=tcc -static -D __GLIBC_MINOR__=6" + "CC_FOR_BUILD=tcc -static -D __GLIBC_MINOR__=6" + "AR=ar" + "RANLIB=ranlib" + (string-append "LIBGCC2_INCLUDES=-I " + (assoc-ref %build-inputs "tcc") + "/include") + "LANGUAGES=c" + (string-append "BOOT_LDFLAGS=" + " -B" (assoc-ref %build-inputs "tcc") + "/lib/")) + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + ;; gcc-2.95.3 needs more traditional configure + (add-before 'configure 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (tcc (assoc-ref %build-inputs "tcc")) + (cppflags " -D __GLIBC_MINOR__=6")) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "CPPFLAGS" cppflags) + (setenv "CC" (string-append "tcc" cppflags)) + (setenv "CC_FOR_BUILD" (string-append "tcc" cppflags)) + (setenv "CPP" (string-append "tcc -E" cppflags)) + (with-output-to-file "config.cache" + (lambda _ + (display " ac_cv_c_float_format='IEEE (little-endian)' "))) - #t))) - (replace 'configure - (lambda* (#:key configure-flags #:allow-other-keys) - (format (current-error-port) - "running ./configure ~a\n" (string-join configure-flags)) - (apply invoke "./configure" configure-flags))) - (add-after 'configure 'remove-info - (lambda _ - ;; no info at this stage - (delete-file-recursively "texinfo") - (invoke "touch" "gcc/cpp.info" "gcc/gcc.info"))) - (add-after 'install 'install2 - (lambda* (#:key outputs #:allow-other-keys) - (let* ((tcc (assoc-ref %build-inputs "tcc")) - (tcc-lib (string-append tcc "/lib/x86-mes-gcc")) - (out (assoc-ref outputs "out")) - (gcc-dir (string-append - out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3"))) - (mkdir-p "tmp") - (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) - (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) - (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")) - (copy-file (string-append tcc "/lib/libtcc1.a") - (string-append out "/lib/libtcc1.a")) - (invoke "ar" "r" (string-append gcc-dir "/libc.a") - (string-append tcc-lib "/libc+gnu.o") - (string-append tcc-lib "/libtcc1.o")) - (invoke "ar" "r" (string-append out "/lib/libc.a") - (string-append tcc-lib "/libc+gnu.o") - (string-append tcc-lib "/libtcc1.o")) - (invoke "ls" "-ltrF" gcc-dir) - (copy-recursively (string-append tcc "/include") - (string-append out "/include")) - #t)))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include" "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib")))))))) + #t))) + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + (format (current-error-port) + "running ./configure ~a\n" (string-join configure-flags)) + (apply invoke "./configure" configure-flags))) + (add-after 'configure 'remove-info + (lambda _ + ;; no info at this stage + (delete-file-recursively "texinfo") + (invoke "touch" "gcc/cpp.info" "gcc/gcc.info"))) + (add-after 'install 'install2 + (lambda* (#:key outputs #:allow-other-keys) + (let* ((tcc (assoc-ref %build-inputs "tcc")) + (tcc-lib (string-append tcc "/lib/x86-mes-gcc")) + (out (assoc-ref outputs "out")) + (gcc-dir (string-append + out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3"))) + (mkdir-p "tmp") + (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) + (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) + (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")) + (copy-file (string-append tcc "/lib/libtcc1.a") + (string-append out "/lib/libtcc1.a")) + (invoke "ar" "r" (string-append gcc-dir "/libc.a") + (string-append tcc-lib "/libc+gnu.o") + (string-append tcc-lib "/libtcc1.o")) + (invoke "ar" "r" (string-append out "/lib/libc.a") + (string-append tcc-lib "/libc+gnu.o") + (string-append tcc-lib "/libtcc1.o")) + (invoke "ls" "-ltrF" gcc-dir) + (copy-recursively (string-append tcc "/include") + (string-append out "/include")) + #t)))))) + (native-search-paths + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include" "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib"))))))) (define mesboot-headers - (package-with-bootstrap-guile - (package - (inherit mes-boot) - (name "mesboot-headers") - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("coreutils" ,%bootstrap-coreutils&co) - ("headers" ,%bootstrap-linux-libre-headers))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:tests? #f - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (include (string-append out "/include")) - (headers (assoc-ref %build-inputs "headers" ))) - (mkdir-p include) - (copy-recursively "include" out) - (copy-recursively headers out) - #t)))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include")))))))) + (package + (inherit mes-boot) + (name "mesboot-headers") + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("coreutils" ,%bootstrap-coreutils&co) + ("headers" ,%bootstrap-linux-libre-headers))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f + #:strip-binaries? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include (string-append out "/include")) + (headers (assoc-ref %build-inputs "headers" ))) + (mkdir-p include) + (copy-recursively "include" out) + (copy-recursively headers out) + #t)))))) + (native-search-paths + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))))))) (define glibc-mesboot0 ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build ;; using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer ;; gcc. - (package-with-bootstrap-guile - (package - (inherit glibc) - (name "glibc-mesboot0") - (version "2.2.5") - (source (origin + (package + (inherit glibc) + (name "glibc-mesboot0") + (version "2.2.5") + (source (bootstrap-origin + (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version @@ -695,211 +695,208 @@ ac_cv_c_float_format='IEEE (little-endian)' (patches (search-patches "glibc-boot-2.2.5.patch")) (sha256 (base32 - "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("binutils" ,binutils-mesboot0) - ("gcc" ,gcc-core-mesboot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("headers" ,mesboot-headers) - ("make" ,make-mesboot0))) - (outputs '("out")) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:tests? #f - #:strip-binaries? #f - #:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds - #:make-flags (list (string-append - "SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/sh")) - #:configure-flags - (let ((out (assoc-ref %outputs "out")) - (headers (assoc-ref %build-inputs "headers"))) - (list - "--disable-shared" - "--enable-static" - "--disable-sanity-checks" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - (string-append "--with-headers=" headers "/include") - "--enable-static-nss" - "--without-__thread" - "--without-cvs" - "--without-gd" - "--without-tls" - (string-append "--prefix=" out))) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (headers (assoc-ref %build-inputs "headers")) - (cppflags (string-append - ;;" -D __STDC__=1" - " -D MES_BOOTSTRAP=1" - " -D BOOTSTRAP_GLIBC=1")) - (cflags (string-append " -L " (getcwd)))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "SHELL" (getenv "CONFIG_SHELL")) - (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) - (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) - #t))) - ;; glibc-2.2.5 needs a more classic invocation of configure - ;; configure: warning: CONFIG_SHELL=/gnu/store/…-bash-minimal-4.4.12/bin/bash: invalid host type - (replace 'configure - (lambda* (#:key configure-flags #:allow-other-keys) - (format (current-error-port) - "running ./configure ~a\n" (string-join configure-flags)) - (apply invoke "./configure" configure-flags)))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib")))))))) + "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("binutils" ,binutils-mesboot0) + ("gcc" ,gcc-core-mesboot) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("headers" ,mesboot-headers) + ("make" ,make-mesboot0))) + (outputs '("out")) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f + #:strip-binaries? #f + #:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds + #:make-flags (list (string-append + "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) + #:configure-flags + (let ((out (assoc-ref %outputs "out")) + (headers (assoc-ref %build-inputs "headers"))) + (list + "--disable-shared" + "--enable-static" + "--disable-sanity-checks" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + (string-append "--with-headers=" headers "/include") + "--enable-static-nss" + "--without-__thread" + "--without-cvs" + "--without-gd" + "--without-tls" + (string-append "--prefix=" out))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (gcc (assoc-ref %build-inputs "gcc")) + (headers (assoc-ref %build-inputs "headers")) + (cppflags (string-append + ;;" -D __STDC__=1" + " -D MES_BOOTSTRAP=1" + " -D BOOTSTRAP_GLIBC=1")) + (cflags (string-append " -L " (getcwd)))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "SHELL" (getenv "CONFIG_SHELL")) + (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) + (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) + #t))) + ;; glibc-2.2.5 needs a more classic invocation of configure + ;; configure: warning: CONFIG_SHELL=/gnu/store/…-bash-minimal-4.4.12/bin/bash: invalid host type + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + (format (current-error-port) + "running ./configure ~a\n" (string-join configure-flags)) + (apply invoke "./configure" configure-flags)))))) + (native-search-paths + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "CPLUS_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib"))))))) (define gcc-mesboot0 - (package-with-bootstrap-guile - (package - (inherit gcc-core-mesboot) - (name "gcc-mesboot0") - (native-inputs `(("binutils" ,binutils-mesboot0) - ("gcc" ,gcc-core-mesboot) - ("libc" ,glibc-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot0))) - (arguments - (substitute-keyword-arguments (package-arguments gcc-core-mesboot) - ((#:phases phases) - `(modify-phases ,phases - (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (glibc (assoc-ref %build-inputs "libc")) - (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) - (setenv "C_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" - ":" kernel-headers "/include" - ":" glibc "/include")) - (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - ;; FIXME: add glibc dirs to paths manually - (setenv "LIBRARY_PATH" (string-join - (list (string-append glibc "/lib") - (getenv "LIBRARY_PATH")) - ":")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - (with-output-to-file "config.cache" - (lambda _ - (display " + (package + (inherit gcc-core-mesboot) + (name "gcc-mesboot0") + (native-inputs `(("binutils" ,binutils-mesboot0) + ("gcc" ,gcc-core-mesboot) + ("libc" ,glibc-mesboot0) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot0))) + (arguments + (substitute-keyword-arguments (package-arguments gcc-core-mesboot) + ((#:phases phases) + `(modify-phases ,phases + (replace 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (gcc (assoc-ref %build-inputs "gcc")) + (glibc (assoc-ref %build-inputs "libc")) + (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) + (setenv "C_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" + ":" kernel-headers "/include" + ":" glibc "/include")) + (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) + (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) + ;; FIXME: add glibc dirs to paths manually + (setenv "LIBRARY_PATH" (string-join + (list (string-append glibc "/lib") + (getenv "LIBRARY_PATH")) + ":")) + (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) + (with-output-to-file "config.cache" + (lambda _ + (display " ac_cv_c_float_format='IEEE (little-endian)' "))) - #t))) - (replace 'install2 - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gcc-dir (string-append - out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3"))) - (mkdir-p "tmp") - (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) - (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) - (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")) - #t))))) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out"))) - `("--disable-shared" - "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - ,(string-append "--prefix=" out)))) - ((#:make-flags make-flags) - `(let ((gcc (assoc-ref %build-inputs "gcc"))) - `("RANLIB=true" - ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include") - "LANGUAGES=c")))))))) + #t))) + (replace 'install2 + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gcc-dir (string-append + out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3"))) + (mkdir-p "tmp") + (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) + (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) + (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")) + #t))))) + ((#:configure-flags configure-flags) + `(let ((out (assoc-ref %outputs "out"))) + `("--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + ,(string-append "--prefix=" out)))) + ((#:make-flags make-flags) + `(let ((gcc (assoc-ref %build-inputs "gcc"))) + `("RANLIB=true" + ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include") + "LANGUAGES=c"))))))) (define binutils-mesboot - (package-with-bootstrap-guile - (package - (inherit binutils-mesboot0) - (name "binutils-mesboot") - (native-inputs `(("binutils" ,binutils-mesboot0) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot0))) - (arguments - (substitute-keyword-arguments (package-arguments binutils-mesboot0) - ((#:configure-flags configure-flags) - '(list "--disable-nls" - "--disable-shared" - "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - "--with-sysroot=/"))))))) + (package + (inherit binutils-mesboot0) + (name "binutils-mesboot") + (native-inputs `(("binutils" ,binutils-mesboot0) + ("libc" ,glibc-mesboot0) + ("gcc" ,gcc-mesboot0) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot0))) + (arguments + (substitute-keyword-arguments (package-arguments binutils-mesboot0) + ((#:configure-flags configure-flags) + '(list "--disable-nls" + "--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--with-sysroot=/")))))) (define make-mesboot - (package-with-bootstrap-guile - (package - (inherit make-mesboot0) - (name "make-mesboot") - (version "3.82") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/make/make-" - version ".tar.gz")) - (sha256 - (base32 - "1rs2f9hmvy3q6zkl15jnlmnpgffm0bhw5ax0h5c7q604wqrip69x")))) - (native-inputs `(("binutils" ,binutils-mesboot0) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot0) - ("make" ,make-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("kernel-headers" ,%bootstrap-linux-libre-headers))) - (arguments - (substitute-keyword-arguments (package-arguments make-mesboot0) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out"))) - `(,(string-append "--prefix=" out)))) - ((#:phases phases) - `(modify-phases ,phases - (delete 'configure-fixup) - (add-before 'configure 'setenv - (lambda _ - (setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv") - #t))))))))) + (package + (inherit make-mesboot0) + (name "make-mesboot") + (version "3.82") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/make/make-" + version ".tar.gz")) + (sha256 + (base32 + "1rs2f9hmvy3q6zkl15jnlmnpgffm0bhw5ax0h5c7q604wqrip69x")))) + (native-inputs `(("binutils" ,binutils-mesboot0) + ("libc" ,glibc-mesboot0) + ("gcc" ,gcc-mesboot0) + ("make" ,make-mesboot0) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("kernel-headers" ,%bootstrap-linux-libre-headers))) + (arguments + (substitute-keyword-arguments (package-arguments make-mesboot0) + ((#:configure-flags configure-flags) + `(let ((out (assoc-ref %outputs "out"))) + `(,(string-append "--prefix=" out)))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'configure-fixup) + (add-before 'configure 'setenv + (lambda _ + (setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv") + #t)))))))) (define gmp-boot (package @@ -936,158 +933,157 @@ ac_cv_c_float_format='IEEE (little-endian)' "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1")))))) (define gcc-mesboot1 - (package-with-bootstrap-guile - (package - (inherit gcc-mesboot0) - (name "gcc-mesboot1") - (version "4.7.4") - (source (origin (inherit (package-source gcc-4.7)) - (patches (search-patches "gcc-boot-4.7.4.patch")))) - (inputs `(("gmp-source" ,(package-source gmp-boot)) - ("mpfr-source" ,(package-source mpfr-boot)) - ("mpc-source" ,(package-source mpc-boot)))) - (native-inputs `(("binutils" ,binutils-mesboot) - ("gcc" ,gcc-mesboot0) - ("libc" ,glibc-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot))) - (arguments - (substitute-keyword-arguments (package-arguments gcc-core-mesboot) - ((#:make-flags make-flags) - `(let* ((libc (assoc-ref %build-inputs "libc")) - (ldflags (string-append - "-B" libc "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc - ,(glibc-dynamic-linker "i686-linux")))) - (list (string-append "LDFLAGS=" ldflags) - (string-append "LDFLAGS_FOR_TARGET=" ldflags)))) - ((#:phases phases) - `(modify-phases ,phases - ;; c&p from commencement.scm:gcc-boot0 - (add-after 'unpack 'unpack-gmp&co - (lambda* (#:key inputs #:allow-other-keys) - (let ((gmp (assoc-ref %build-inputs "gmp-source")) - (mpfr (assoc-ref %build-inputs "mpfr-source")) - (mpc (assoc-ref %build-inputs "mpc-source"))) - - ;; To reduce the set of pre-built bootstrap inputs, build - ;; GMP & co. from GCC. - (for-each (lambda (source) - (or (invoke "tar" "xvf" source) - (error "failed to unpack tarball" - source))) - (list gmp mpfr mpc)) - - ;; Create symlinks like `gmp' -> `gmp-x.y.z'. - ,@(map (lambda (lib) - ;; Drop trailing letters, as gmp-6.0.0a unpacks - ;; into gmp-6.0.0. - `(symlink ,(string-trim-right - (package-full-name lib "-") - char-set:letter) - ,(package-name lib))) - (list gmp-boot mpfr-boot mpc-boot)) - #t))) - (delete 'remove-info) - (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (binutils (assoc-ref %build-inputs "binutils")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (glibc (assoc-ref %build-inputs "libc")) - (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "C_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" - ":" kernel-headers "/include" - ":" glibc "/include" - ":" (getcwd) "/mpfr/src")) - (setenv "LIBRARY_PATH" (string-append glibc "/lib" - ":" gcc "/lib")) - (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - #t))) - (delete 'install2))) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out")) - (glibc (assoc-ref %build-inputs "libc"))) - (list (string-append "--prefix=" out) - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - - (string-append "--with-native-system-header-dir=" glibc "/include") - (string-append "--with-build-sysroot=" glibc "/include") - - "--disable-bootstrap" - "--disable-decimal-float" - "--disable-libatomic" - "--disable-libcilkrts" - "--disable-libgomp" - "--disable-libitm" - "--disable-libmudflap" - "--disable-libquadmath" - "--disable-libsanitizer" - "--disable-libssp" - "--disable-libvtv" - "--disable-lto" - "--disable-lto-plugin" - "--disable-multilib" - "--disable-plugin" - "--disable-threads" - "--enable-languages=c,c++" - - "--enable-static" - ;; libstdc++.so: error: depends on 'libgcc_s.so.1', which cannot be found in RUNPATH () - "--disable-shared" - "--enable-threads=single" - - ;; No pre-compiled libstdc++ headers, to save space. - "--disable-libstdcxx-pch" - - ;; for libcpp ... - "--disable-build-with-cxx")))))))) + (package + (inherit gcc-mesboot0) + (name "gcc-mesboot1") + (version "4.7.4") + (source (bootstrap-origin + (origin (inherit (package-source gcc-4.7)) + (patches (search-patches "gcc-boot-4.7.4.patch"))))) + (inputs `(("gmp-source" ,(package-source gmp-boot)) + ("mpfr-source" ,(package-source mpfr-boot)) + ("mpc-source" ,(package-source mpc-boot)))) + (native-inputs `(("binutils" ,binutils-mesboot) + ("gcc" ,gcc-mesboot0) + ("libc" ,glibc-mesboot0) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot))) + (arguments + (substitute-keyword-arguments (package-arguments gcc-core-mesboot) + ((#:make-flags make-flags) + `(let* ((libc (assoc-ref %build-inputs "libc")) + (ldflags (string-append + "-B" libc "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc + ,(glibc-dynamic-linker "i686-linux")))) + (list (string-append "LDFLAGS=" ldflags) + (string-append "LDFLAGS_FOR_TARGET=" ldflags)))) + ((#:phases phases) + `(modify-phases ,phases + ;; c&p from commencement.scm:gcc-boot0 + (add-after 'unpack 'unpack-gmp&co + (lambda* (#:key inputs #:allow-other-keys) + (let ((gmp (assoc-ref %build-inputs "gmp-source")) + (mpfr (assoc-ref %build-inputs "mpfr-source")) + (mpc (assoc-ref %build-inputs "mpc-source"))) + + ;; To reduce the set of pre-built bootstrap inputs, build + ;; GMP & co. from GCC. + (for-each (lambda (source) + (or (invoke "tar" "xvf" source) + (error "failed to unpack tarball" + source))) + (list gmp mpfr mpc)) + + ;; Create symlinks like `gmp' -> `gmp-x.y.z'. + ,@(map (lambda (lib) + ;; Drop trailing letters, as gmp-6.0.0a unpacks + ;; into gmp-6.0.0. + `(symlink ,(string-trim-right + (package-full-name lib "-") + char-set:letter) + ,(package-name lib))) + (list gmp-boot mpfr-boot mpc-boot)) + #t))) + (delete 'remove-info) + (replace 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (binutils (assoc-ref %build-inputs "binutils")) + (bash (assoc-ref %build-inputs "bash")) + (gcc (assoc-ref %build-inputs "gcc")) + (glibc (assoc-ref %build-inputs "libc")) + (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "C_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" + ":" kernel-headers "/include" + ":" glibc "/include" + ":" (getcwd) "/mpfr/src")) + (setenv "LIBRARY_PATH" (string-append glibc "/lib" + ":" gcc "/lib")) + (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) + (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) + #t))) + (delete 'install2))) + ((#:configure-flags configure-flags) + `(let ((out (assoc-ref %outputs "out")) + (glibc (assoc-ref %build-inputs "libc"))) + (list (string-append "--prefix=" out) + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + + (string-append "--with-native-system-header-dir=" glibc "/include") + (string-append "--with-build-sysroot=" glibc "/include") + + "--disable-bootstrap" + "--disable-decimal-float" + "--disable-libatomic" + "--disable-libcilkrts" + "--disable-libgomp" + "--disable-libitm" + "--disable-libmudflap" + "--disable-libquadmath" + "--disable-libsanitizer" + "--disable-libssp" + "--disable-libvtv" + "--disable-lto" + "--disable-lto-plugin" + "--disable-multilib" + "--disable-plugin" + "--disable-threads" + "--enable-languages=c,c++" + + "--enable-static" + ;; libstdc++.so: error: depends on 'libgcc_s.so.1', which cannot be found in RUNPATH () + "--disable-shared" + "--enable-threads=single" + + ;; No pre-compiled libstdc++ headers, to save space. + "--disable-libstdcxx-pch" + + ;; for libcpp ... + "--disable-build-with-cxx"))))))) (define gcc-mesboot1-wrapper ;; We need this so gcc-mesboot1 can be used to create shared binaries that ;; have the correct interpreter, otherwise configuring gcc-mesboot using ;; --enable-shared will fail. - (package-with-bootstrap-guile - (package - (inherit gcc-mesboot1) - (name "gcc-mesboot1-wrapper") - (source #f) - (inputs '()) - (native-inputs `(("bash" ,%bootstrap-coreutils&co) - ("libc" ,glibc-mesboot) - ("gcc" ,gcc-mesboot1))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:phases - (modify-phases %standard-phases - (delete 'unpack) - (delete 'configure) - (delete 'install) - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (libc (assoc-ref %build-inputs "libc")) - (gcc (assoc-ref %build-inputs "gcc")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (for-each - (lambda (program) - (let ((wrapper (string-append bin "/" program))) - (with-output-to-file wrapper - (lambda _ - (display (string-append "#! " bash "/bin/bash + (package + (inherit gcc-mesboot1) + (name "gcc-mesboot1-wrapper") + (source #f) + (inputs '()) + (native-inputs `(("bash" ,%bootstrap-coreutils&co) + ("libc" ,glibc-mesboot) + ("gcc" ,gcc-mesboot1))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:phases + (modify-phases %standard-phases + (delete 'unpack) + (delete 'configure) + (delete 'install) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (libc (assoc-ref %build-inputs "libc")) + (gcc (assoc-ref %build-inputs "gcc")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (for-each + (lambda (program) + (let ((wrapper (string-append bin "/" program))) + (with-output-to-file wrapper + (lambda _ + (display (string-append "#! " bash "/bin/bash exec " gcc "/bin/" program " -Wl,--dynamic-linker" ;; also for x86_64-linux, we are still on i686-linux @@ -1096,28 +1092,28 @@ exec " gcc "/bin/" program " -Wl," libc "/lib" " \"$@\" ")) - (chmod wrapper #o555))))) - '( - "gcc" - "g++" - "i686-unknown-linux-gnu-gcc" - "i686-unknown-linux-gnu-g++" - )) - #t))) - (replace 'check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (program (string-append bin "/gcc"))) - (invoke program "--help")))))))))) + (chmod wrapper #o555))))) + '( + "gcc" + "g++" + "i686-unknown-linux-gnu-gcc" + "i686-unknown-linux-gnu-g++" + )) + #t))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (program (string-append bin "/gcc"))) + (invoke program "--help"))))))))) (define glibc-headers-mesboot - (package-with-bootstrap-guile - (package - (inherit glibc-mesboot0) - (name "glibc-headers-mesboot") - (version "2.16.0") - (source (origin + (package + (inherit glibc-mesboot0) + (name "glibc-headers-mesboot") + (version "2.16.0") + (source (bootstrap-origin + (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version @@ -1126,273 +1122,269 @@ exec " gcc "/bin/" program "glibc-bootstrap-system-2.16.0.patch")) (sha256 (base32 - "0vlz4x6cgz7h54qq4528q526qlhnsjzbsvgc4iizn76cb0bfanx7")))) - (native-inputs `(("binutils" ,binutils-mesboot) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot1) - ("headers" ,mesboot-headers) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot))) + "0vlz4x6cgz7h54qq4528q526qlhnsjzbsvgc4iizn76cb0bfanx7"))))) + (native-inputs `(("binutils" ,binutils-mesboot) + ("libc" ,glibc-mesboot0) + ("gcc" ,gcc-mesboot1) + ("headers" ,mesboot-headers) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot))) - (arguments - (substitute-keyword-arguments (package-arguments glibc-mesboot0) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out")) - (headers (assoc-ref %build-inputs "headers"))) - (list - (string-append "--prefix=" out) - "--disable-obsolete-rpc" - "--host=i686-unknown-linux-gnu" - (string-append "--with-headers=" headers "/include") - "--enable-static-nss" - "--with-pthread" - "--without-cvs" - "--without-gd" - "--enable-add-ons=nptl"))) - ((#:make-flags make-flags) - `(let ((bash (assoc-ref %build-inputs "bash"))) - (list (string-append "SHELL=" bash "/bin/sh") - "install-bootstrap-headers=yes" "install-headers"))) - ((#:phases phases) - `(modify-phases ,phases - (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (headers (assoc-ref %build-inputs "headers")) - (bash (assoc-ref %build-inputs "bash")) - (coreutils (assoc-ref %build-inputs "coreutils")) - (libc (assoc-ref %build-inputs "libc")) - (gcc (assoc-ref %build-inputs "gcc")) - (cppflags (string-append - " -I " (getcwd) "/nptl/sysdeps/pthread/bits" - " -D BOOTSTRAP_GLIBC=1")) - (cflags (string-append " -L " (getcwd) - " -L " libc "/lib"))) - (setenv "libc_cv_friendly_stddef" "yes") - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "SHELL" (getenv "CONFIG_SHELL")) - (format (current-error-port) "CONFIG_SHELL=~s\n" (getenv "CONFIG_SHELL")) - - (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) - (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) - - ;; avoid -fstack-protector - (setenv "libc_cv_ssp" "false") - (substitute* "configure" - (("/bin/pwd") (string-append coreutils "/bin/pwd"))) - (setenv "C_INCLUDE_PATH" (string-append libc "/include" - headers "/include")) - (setenv "LIBRARY_PATH" (string-append libc "/lib")) - #t))) - (replace 'install - (lambda* (#:key outputs make-flags #:allow-other-keys) - (let ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) - (out (assoc-ref outputs "out"))) - (apply invoke "make" make-flags) - (copy-recursively kernel-headers out) - #t))) - (replace 'configure - (lambda* (#:key configure-flags #:allow-other-keys) - (format (current-error-port) "running ../configure ~a\n" (string-join configure-flags)) - (mkdir-p "build") - (chdir "build") - (apply invoke "../configure" configure-flags))) - (add-after 'configure 'remove-sunrpc - (lambda _ - (invoke "make" (string-append (getcwd) "/sysd-sorted" ) - (string-append "SHELL=" (getenv "CONFIG_SHELL"))) - (substitute* "sysd-sorted" - ((" sunrpc") " ") - ((" nis") " ")) - ;; 'rpcgen' needs native libc headers to be built. - (substitute* "../Makefile" - (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))) - (substitute* "../Makeconfig" - (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))) - (substitute* "../elf/Makefile" - (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL"))))))))))))) + (arguments + (substitute-keyword-arguments (package-arguments glibc-mesboot0) + ((#:configure-flags configure-flags) + `(let ((out (assoc-ref %outputs "out")) + (headers (assoc-ref %build-inputs "headers"))) + (list + (string-append "--prefix=" out) + "--disable-obsolete-rpc" + "--host=i686-unknown-linux-gnu" + (string-append "--with-headers=" headers "/include") + "--enable-static-nss" + "--with-pthread" + "--without-cvs" + "--without-gd" + "--enable-add-ons=nptl"))) + ((#:make-flags make-flags) + `(let ((bash (assoc-ref %build-inputs "bash"))) + (list (string-append "SHELL=" bash "/bin/sh") + "install-bootstrap-headers=yes" "install-headers"))) + ((#:phases phases) + `(modify-phases ,phases + (replace 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (headers (assoc-ref %build-inputs "headers")) + (bash (assoc-ref %build-inputs "bash")) + (coreutils (assoc-ref %build-inputs "coreutils")) + (libc (assoc-ref %build-inputs "libc")) + (gcc (assoc-ref %build-inputs "gcc")) + (cppflags (string-append + " -I " (getcwd) "/nptl/sysdeps/pthread/bits" + " -D BOOTSTRAP_GLIBC=1")) + (cflags (string-append " -L " (getcwd) + " -L " libc "/lib"))) + (setenv "libc_cv_friendly_stddef" "yes") + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "SHELL" (getenv "CONFIG_SHELL")) + (format (current-error-port) "CONFIG_SHELL=~s\n" (getenv "CONFIG_SHELL")) + + (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) + (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) + + ;; avoid -fstack-protector + (setenv "libc_cv_ssp" "false") + (substitute* "configure" + (("/bin/pwd") (string-append coreutils "/bin/pwd"))) + (setenv "C_INCLUDE_PATH" (string-append libc "/include" + headers "/include")) + (setenv "LIBRARY_PATH" (string-append libc "/lib")) + #t))) + (replace 'install + (lambda* (#:key outputs make-flags #:allow-other-keys) + (let ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) + (out (assoc-ref outputs "out"))) + (apply invoke "make" make-flags) + (copy-recursively kernel-headers out) + #t))) + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + (format (current-error-port) "running ../configure ~a\n" (string-join configure-flags)) + (mkdir-p "build") + (chdir "build") + (apply invoke "../configure" configure-flags))) + (add-after 'configure 'remove-sunrpc + (lambda _ + (invoke "make" (string-append (getcwd) "/sysd-sorted" ) + (string-append "SHELL=" (getenv "CONFIG_SHELL"))) + (substitute* "sysd-sorted" + ((" sunrpc") " ") + ((" nis") " ")) + ;; 'rpcgen' needs native libc headers to be built. + (substitute* "../Makefile" + (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))) + (substitute* "../Makeconfig" + (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))) + (substitute* "../elf/Makefile" + (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))))))))))) (define glibc-mesboot - (package-with-bootstrap-guile - (package - (inherit glibc-headers-mesboot) - (name "glibc-mesboot") - (native-inputs `(("binutils" ,binutils-mesboot) - ("libc" ,glibc-mesboot0) - ("headers" ,glibc-headers-mesboot) - ("gcc" ,gcc-mesboot1) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot))) + (package + (inherit glibc-headers-mesboot) + (name "glibc-mesboot") + (native-inputs `(("binutils" ,binutils-mesboot) + ("libc" ,glibc-mesboot0) + ("headers" ,glibc-headers-mesboot) + ("gcc" ,gcc-mesboot1) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot))) - (arguments - `(#:validate-runpath? #f ; fails when using --enable-shared - ,@(substitute-keyword-arguments (package-arguments glibc-headers-mesboot) - ((#:make-flags make-flags) - `(let ((bash (assoc-ref %build-inputs "bash"))) - (list (string-append "SHELL=" bash "/bin/sh")))) - ((#:phases phases) - `(modify-phases ,phases - (replace 'install - (lambda* (#:key outputs make-flags #:allow-other-keys) - (let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) - (out (assoc-ref outputs "out")) - (install-flags (cons "install" make-flags))) - (apply invoke "make" install-flags) - (copy-recursively kernel-headers out) - #t)))))))) - (native-search-paths ;; FIXME: move to glibc-mesboot0 - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib")))))))) + (arguments + `(#:validate-runpath? #f ; fails when using --enable-shared + ,@(substitute-keyword-arguments (package-arguments glibc-headers-mesboot) + ((#:make-flags make-flags) + `(let ((bash (assoc-ref %build-inputs "bash"))) + (list (string-append "SHELL=" bash "/bin/sh")))) + ((#:phases phases) + `(modify-phases ,phases + (replace 'install + (lambda* (#:key outputs make-flags #:allow-other-keys) + (let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) + (out (assoc-ref outputs "out")) + (install-flags (cons "install" make-flags))) + (apply invoke "make" install-flags) + (copy-recursively kernel-headers out) + #t)))))))) + (native-search-paths ;; FIXME: move to glibc-mesboot0 + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "CPLUS_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib"))))))) (define gcc-mesboot - (package-with-bootstrap-guile - (package - (inherit gcc-mesboot1) - (name "gcc-mesboot") - (version "4.9.4") - (source (package-source gcc-4.9)) - (native-inputs `(("binutils" ,binutils-mesboot) - ("gcc-wrapper" ,gcc-mesboot1-wrapper) - ("gcc" ,gcc-mesboot1) - ("libc" ,glibc-mesboot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot))) - (arguments - `(#:validate-runpath? #f - ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out")) - (glibc (assoc-ref %build-inputs "libc"))) - (list (string-append "--prefix=" out) - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - - "--with-host-libstdcxx=-lsupc++" - - (string-append "--with-native-system-header-dir=" glibc "/include") - (string-append "--with-build-sysroot=" glibc "/include") - - "--disable-bootstrap" - "--disable-decimal-float" - "--disable-libatomic" - "--disable-libcilkrts" - "--disable-libgomp" - "--disable-libitm" - "--disable-libmudflap" - "--disable-libquadmath" - "--disable-libsanitizer" - "--disable-libssp" - "--disable-libvtv" - "--disable-lto" - "--disable-lto-plugin" - "--disable-multilib" - "--disable-plugin" - "--disable-threads" - "--enable-languages=c,c++" - - "--enable-static" - "--enable-shared" - "--enable-threads=single" - - ;; No pre-compiled libstdc++ headers, to save space. - "--disable-libstdcxx-pch" - - ;; for libcpp ... - "--disable-build-with-cxx"))) - ((#:phases phases) - `(modify-phases ,phases - (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (binutils (assoc-ref %build-inputs "binutils")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (glibc (assoc-ref %build-inputs "libc")) - (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "C_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include" - ":" kernel-headers "/include" - ":" glibc "/include" - ":" (getcwd) "/mpfr/src")) - (setenv "CPLUS_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include" - ":" kernel-headers "/include" - ":" glibc "/include" - ":" (getcwd) "/mpfr/src")) - (setenv "LIBRARY_PATH" (string-append glibc "/lib" - ":" gcc "/lib")) - (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) - (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - #t))))))))))) + (package + (inherit gcc-mesboot1) + (name "gcc-mesboot") + (version "4.9.4") + (source (bootstrap-origin (package-source gcc-4.9))) + (native-inputs `(("binutils" ,binutils-mesboot) + ("gcc-wrapper" ,gcc-mesboot1-wrapper) + ("gcc" ,gcc-mesboot1) + ("libc" ,glibc-mesboot) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot))) + (arguments + `(#:validate-runpath? #f + ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1) + ((#:configure-flags configure-flags) + `(let ((out (assoc-ref %outputs "out")) + (glibc (assoc-ref %build-inputs "libc"))) + (list (string-append "--prefix=" out) + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + + "--with-host-libstdcxx=-lsupc++" + + (string-append "--with-native-system-header-dir=" glibc "/include") + (string-append "--with-build-sysroot=" glibc "/include") + + "--disable-bootstrap" + "--disable-decimal-float" + "--disable-libatomic" + "--disable-libcilkrts" + "--disable-libgomp" + "--disable-libitm" + "--disable-libmudflap" + "--disable-libquadmath" + "--disable-libsanitizer" + "--disable-libssp" + "--disable-libvtv" + "--disable-lto" + "--disable-lto-plugin" + "--disable-multilib" + "--disable-plugin" + "--disable-threads" + "--enable-languages=c,c++" + + "--enable-static" + "--enable-shared" + "--enable-threads=single" + + ;; No pre-compiled libstdc++ headers, to save space. + "--disable-libstdcxx-pch" + + ;; for libcpp ... + "--disable-build-with-cxx"))) + ((#:phases phases) + `(modify-phases ,phases + (replace 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (binutils (assoc-ref %build-inputs "binutils")) + (bash (assoc-ref %build-inputs "bash")) + (gcc (assoc-ref %build-inputs "gcc")) + (glibc (assoc-ref %build-inputs "libc")) + (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "C_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include" + ":" kernel-headers "/include" + ":" glibc "/include" + ":" (getcwd) "/mpfr/src")) + (setenv "CPLUS_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include" + ":" kernel-headers "/include" + ":" glibc "/include" + ":" (getcwd) "/mpfr/src")) + (setenv "LIBRARY_PATH" (string-append glibc "/lib" + ":" gcc "/lib")) + (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) + (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH")) + (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) + #t)))))))))) (define gcc-mesboot-wrapper ;; We need this so gcc-mesboot can be used to create shared binaries that ;; have the correct interpreter and runpath to libc. - (package-with-bootstrap-guile - (package - (inherit gcc-mesboot1-wrapper) - (name "gcc-mesboot-wrapper") - (version (package-version gcc-mesboot)) - (source #f) - (inputs '()) - (native-inputs `(("bash" ,%bootstrap-coreutils&co) - ("libc" ,glibc-mesboot) - ("gcc" ,gcc-mesboot)))))) + (package + (inherit gcc-mesboot1-wrapper) + (name "gcc-mesboot-wrapper") + (version (package-version gcc-mesboot)) + (source #f) + (inputs '()) + (native-inputs `(("bash" ,%bootstrap-coreutils&co) + ("libc" ,glibc-mesboot) + ("gcc" ,gcc-mesboot))))) (define m4-mesboot - (package-with-bootstrap-guile - (package - (inherit m4) - (name "m4-mesboot") - (version "1.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/m4/m4-" - version ".tar.gz")) - (sha256 - (base32 - "1f9bxj176kf3pvs350w2dfs8jgwhminywri5pyn01b11yc4yhsjw")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (native-inputs `(("mes" ,mes-boot) - ("tcc" ,tcc-boot))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (string-append - (assoc-ref %build-inputs "bash") - "/bin/sh")) - (setenv "CC" "tcc -static") - (setenv "CPP" "tcc -E") - (invoke "./configure" (string-append "--prefix=" out))))))))))) + (package + (inherit m4) + (name "m4-mesboot") + (version "1.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/m4/m4-" + version ".tar.gz")) + (sha256 + (base32 + "1f9bxj176kf3pvs350w2dfs8jgwhminywri5pyn01b11yc4yhsjw")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (native-inputs `(("mes" ,mes-boot) + ("tcc" ,tcc-boot))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" (string-append + (assoc-ref %build-inputs "bash") + "/bin/sh")) + (setenv "CC" "tcc -static") + (setenv "CPP" "tcc -E") + (invoke "./configure" (string-append "--prefix=" out)))))))))) (define (%bootstrap-inputs+toolchain) ;; The traditional bootstrap-inputs. For the i686-linux Reduced Binary Seed @@ -1409,27 +1401,28 @@ exec " gcc "/bin/" program (%bootstrap-inputs)))) (define gnu-make-boot0 - (package-with-bootstrap-guile - (package (inherit gnu-make) - (name "make-boot0") - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:tests? #f ; cannot run "make check" - ,@(substitute-keyword-arguments (package-arguments gnu-make) - ((#:phases phases) - `(modify-phases ,phases - (replace 'build - (lambda _ - (invoke "./build.sh"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "make" bin) - #t)))))))) - (native-inputs '()) ; no need for 'pkg-config' - (inputs (%bootstrap-inputs+toolchain))))) + (package + (inherit gnu-make) + (source (bootstrap-origin (package-source gnu-make))) + (name "make-boot0") + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + #:tests? #f ; cannot run "make check" + ,@(substitute-keyword-arguments (package-arguments gnu-make) + ((#:phases phases) + `(modify-phases ,phases + (replace 'build + (lambda _ + (invoke "./build.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "make" bin) + #t)))))))) + (native-inputs '()) ; no need for 'pkg-config' + (inputs (%bootstrap-inputs+toolchain)))) (define diffutils-boot0 (package-with-bootstrap-guile -- cgit v1.2.3 From 99b73d0f0ce9fdb397fdf211839d73f98e3ddec2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 12 Oct 2019 11:35:43 +0200 Subject: gnu: commencement: Reduce the graph of package objects. The graph returned by: guix graph -e '(@@ (gnu packages commencement) guile-final)' now contains 94 nodes (664 edges) instead of 394 (2674 edges). Likewise, this command: GUIX_PROFILING=add-data-to-store-cache guix build coreutils -nd shows that the number of lookups to the 'add-data-to-store' caches goes from 8935 to 5303. Overall, "guix build libreoffice -nd" goes from 3.17s to 2.60s (-18%). * gnu/packages/commencement.scm (diffutils-boot0): Remove call to 'package-with-bootstrap-guile' and 'package-with-explicit-inputs', and adjust accordingly. (findutils-boot0, file-boot0, binutils-boot0, libstdc++-boot0) (gcc-boot0, perl-boot0, m4-boot0, bison-boot0, flex-boot0) (linux-libre-headers-boot0, texinfo-boot0, python-boot0) (ld-wrapper-boot0, glibc-final-with-bootstrap-bash) (static-bash-for-glibc, gettext-boot0, glibc-final, binutils-final) (libstdc++, zlib-final, bash-final): Likewise. (expat-sans-tests)[inputs]: New field. [arguments]: Add #:implicit-inputs? and #:guile. (m4-boot0*): New variable. --- gnu/packages/commencement.scm | 1020 +++++++++++++++++++++-------------------- 1 file changed, 519 insertions(+), 501 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index f5f610c67c..5bd139f30d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1425,43 +1425,46 @@ exec " gcc "/bin/" program (inputs (%bootstrap-inputs+toolchain)))) (define diffutils-boot0 - (package-with-bootstrap-guile - (let ((p (package-with-explicit-inputs diffutils - (lambda _ - `(("make" ,gnu-make-boot0) - ,@(%bootstrap-inputs+toolchain))) - #:guile %bootstrap-guile))) - (package (inherit p) - (name "diffutils-boot0") - (native-inputs `()) - (arguments `(#:tests? #f ; the test suite needs diffutils - ,@(package-arguments p))))))) + (package + (inherit diffutils) + (name "diffutils-boot0") + (native-inputs `()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:tests? #f ; the test suite needs diffutils + #:guile ,%bootstrap-guile + #:implicit-inputs? #f + ,@(package-arguments diffutils))))) (define findutils-boot0 - (package-with-bootstrap-guile - (package-with-explicit-inputs (package - (inherit findutils) - (name "findutils-boot0")) - (lambda _ - `(("make" ,gnu-make-boot0) - ("diffutils" ,diffutils-boot0) ; for tests - ,@(%bootstrap-inputs+toolchain))) - (current-source-location) - #:guile %bootstrap-guile))) + (package + (inherit findutils) + (name "findutils-boot0") + (source (bootstrap-origin (package-source findutils))) + (inputs + `(("make" ,gnu-make-boot0) + ("diffutils" ,diffutils-boot0) ; for tests + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + ,@(package-arguments findutils))))) (define file-boot0 - (package-with-bootstrap-guile - (package-with-explicit-inputs (package - (inherit file) - (name "file-boot0") - (arguments - '(#:strip-binaries? #f - #:validate-runpath? #f))) - (lambda _ - `(("make" ,gnu-make-boot0) - ,@(%bootstrap-inputs+toolchain))) - (current-source-location) - #:guile %bootstrap-guile))) + (package + (inherit file) + (source (bootstrap-origin (package-source file))) + (name "file-boot0") + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:strip-binaries? #f + #:validate-runpath? #f)))) (define (%boot0-inputs) `(("make" ,gnu-make-boot0) @@ -1482,47 +1485,49 @@ exec " gcc "/bin/" program ;; reference to the target libc. (define binutils-boot0 - (package-with-bootstrap-guile - (package (inherit binutils) - (name "binutils-cross-boot0") - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 ftw)) ; for 'scandir' - #:phases (modify-phases %standard-phases - (add-after 'install 'add-symlinks - (lambda* (#:key outputs #:allow-other-keys) - ;; The cross-gcc invokes 'as', 'ld', etc, without the - ;; triplet prefix, so add symlinks. - (let ((out (assoc-ref outputs "out")) - (triplet-prefix (string-append ,(boot-triplet) "-"))) - (define (has-triplet-prefix? name) - (string-prefix? triplet-prefix name)) - (define (remove-triplet-prefix name) - (substring name (string-length triplet-prefix))) - (with-directory-excursion (string-append out "/bin") - (for-each (lambda (name) - (symlink name (remove-triplet-prefix name))) - (scandir "." has-triplet-prefix?))) - #t)))) - - ,@(substitute-keyword-arguments (package-arguments binutils) - ((#:configure-flags cf) - `(cons ,(string-append "--target=" (boot-triplet)) - ,cf))))) - (inputs (%boot0-inputs))))) + (package + (inherit binutils) + (source (bootstrap-origin (package-source binutils))) + (name "binutils-cross-boot0") + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw)) ; for 'scandir' + #:phases (modify-phases %standard-phases + (add-after 'install 'add-symlinks + (lambda* (#:key outputs #:allow-other-keys) + ;; The cross-gcc invokes 'as', 'ld', etc, without the + ;; triplet prefix, so add symlinks. + (let ((out (assoc-ref outputs "out")) + (triplet-prefix (string-append ,(boot-triplet) "-"))) + (define (has-triplet-prefix? name) + (string-prefix? triplet-prefix name)) + (define (remove-triplet-prefix name) + (substring name (string-length triplet-prefix))) + (with-directory-excursion (string-append out "/bin") + (for-each (lambda (name) + (symlink name (remove-triplet-prefix name))) + (scandir "." has-triplet-prefix?))) + #t)))) + + ,@(substitute-keyword-arguments (package-arguments binutils) + ((#:configure-flags cf) + `(cons ,(string-append "--target=" (boot-triplet)) + ,cf))))) + (inputs (%boot0-inputs)))) (define libstdc++-boot0 ;; GCC's libcc1 is always built as a shared library (the top-level ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer ;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on ;; C++14 features missing in some of our bootstrap compilers. - (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9)))) + (let ((lib (make-libstdc++ gcc-4.9))) (package (inherit lib) + (source (bootstrap-origin (package-source lib))) (name "libstdc++-boot0") (arguments `(#:guile ,%bootstrap-guile @@ -1548,86 +1553,87 @@ exec " gcc "/bin/" program (native-inputs '())))) (define gcc-boot0 - (package-with-bootstrap-guile - (package (inherit gcc) - (name "gcc-cross-boot0") - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 regex) - (srfi srfi-1) - (srfi srfi-26)) - ,@(substitute-keyword-arguments (package-arguments gcc) - ((#:configure-flags flags) - `(append (list ,(string-append "--target=" (boot-triplet)) - - ;; No libc yet. - "--without-headers" - - ;; Disable features not needed at this stage. - "--disable-shared" - "--enable-languages=c,c++" - - ;; libstdc++ cannot be built at this stage - ;; ("Link tests are not allowed after - ;; GCC_NO_EXECUTABLES."). - "--disable-libstdc++-v3" - - "--disable-threads" - "--disable-libmudflap" - "--disable-libatomic" - "--disable-libsanitizer" - "--disable-libitm" - "--disable-libgomp" - "--disable-libmpx" - "--disable-libcilkrts" - "--disable-libvtv" - "--disable-libssp" - "--disable-libquadmath" - "--disable-decimal-float") - (remove (cut string-match - "--(with-system-zlib|enable-languages.*)" <>) - ,flags))) - ((#:make-flags flags) - `(let* ((libc (assoc-ref %build-inputs "libc")) - (libc-native (or (assoc-ref %build-inputs "libc-native") - libc))) - `(,(string-append "LDFLAGS=" - "-Wl,-rpath=" libc-native "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc-native ,(glibc-dynamic-linker - (match (%current-system) - ("x86_64-linux" "i686-linux") - (_ (%current-system)))))))) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'unpack-gmp&co - (lambda* (#:key inputs #:allow-other-keys) - (let ((gmp (assoc-ref %build-inputs "gmp-source")) - (mpfr (assoc-ref %build-inputs "mpfr-source")) - (mpc (assoc-ref %build-inputs "mpc-source"))) - - ;; To reduce the set of pre-built bootstrap inputs, build - ;; GMP & co. from GCC. - (for-each (lambda (source) - (invoke "tar" "xvf" source)) - (list gmp mpfr mpc)) - - ;; Create symlinks like `gmp' -> `gmp-x.y.z'. - ,@(map (lambda (lib) - ;; Drop trailing letters, as gmp-6.0.0a unpacks - ;; into gmp-6.0.0. - `(symlink ,(string-trim-right - (package-full-name lib "-") - char-set:letter) - ,(package-name lib))) - (list gmp-6.0 mpfr mpc)) - #t))) - ,(match (%current-system) - ((or "i686-linux" "x86_64-linux") - '(add-before 'configure 'fix-libcc1 + (package + (inherit gcc) + (name "gcc-cross-boot0") + (source (bootstrap-origin (package-source gcc))) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 regex) + (srfi srfi-1) + (srfi srfi-26)) + ,@(substitute-keyword-arguments (package-arguments gcc) + ((#:configure-flags flags) + `(append (list ,(string-append "--target=" (boot-triplet)) + + ;; No libc yet. + "--without-headers" + + ;; Disable features not needed at this stage. + "--disable-shared" + "--enable-languages=c,c++" + + ;; libstdc++ cannot be built at this stage + ;; ("Link tests are not allowed after + ;; GCC_NO_EXECUTABLES."). + "--disable-libstdc++-v3" + + "--disable-threads" + "--disable-libmudflap" + "--disable-libatomic" + "--disable-libsanitizer" + "--disable-libitm" + "--disable-libgomp" + "--disable-libmpx" + "--disable-libcilkrts" + "--disable-libvtv" + "--disable-libssp" + "--disable-libquadmath" + "--disable-decimal-float") + (remove (cut string-match + "--(with-system-zlib|enable-languages.*)" <>) + ,flags))) + ((#:make-flags flags) + `(let* ((libc (assoc-ref %build-inputs "libc")) + (libc-native (or (assoc-ref %build-inputs "libc-native") + libc))) + `(,(string-append "LDFLAGS=" + "-Wl,-rpath=" libc-native "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc-native ,(glibc-dynamic-linker + (match (%current-system) + ("x86_64-linux" "i686-linux") + (_ (%current-system)))))))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'unpack-gmp&co + (lambda* (#:key inputs #:allow-other-keys) + (let ((gmp (assoc-ref %build-inputs "gmp-source")) + (mpfr (assoc-ref %build-inputs "mpfr-source")) + (mpc (assoc-ref %build-inputs "mpc-source"))) + + ;; To reduce the set of pre-built bootstrap inputs, build + ;; GMP & co. from GCC. + (for-each (lambda (source) + (invoke "tar" "xvf" source)) + (list gmp mpfr mpc)) + + ;; Create symlinks like `gmp' -> `gmp-x.y.z'. + ,@(map (lambda (lib) + ;; Drop trailing letters, as gmp-6.0.0a unpacks + ;; into gmp-6.0.0. + `(symlink ,(string-trim-right + (package-full-name lib "-") + char-set:letter) + ,(package-name lib))) + (list gmp-6.0 mpfr mpc)) + #t))) + ,(match (%current-system) + ((or "i686-linux" "x86_64-linux") + '(add-before 'configure 'fix-libcc1 (lambda* (#:key inputs #:allow-other-keys) ;; libcc1.so NEEDs libgcc_s.so, so provide one here ;; to placate the 'validate-runpath' phase. @@ -1639,127 +1645,137 @@ exec " gcc "/bin/" program (substitute* "libcc1/configure" (("g\\+\\+ -v") "true")) #t))) - (_ '(add-before 'configure 'return-true - (lambda _ #t)))) - (add-after 'install 'symlink-libgcc_eh - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "lib"))) - ;; Glibc wants to link against libgcc_eh, so provide - ;; it. - (with-directory-excursion - (string-append out "/lib/gcc/" - ,(boot-triplet) - "/" ,(package-version gcc)) - (symlink "libgcc.a" "libgcc_eh.a")) - #t)))))))) + (_ '(add-before 'configure 'return-true + (lambda _ #t)))) + (add-after 'install 'symlink-libgcc_eh + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "lib"))) + ;; Glibc wants to link against libgcc_eh, so provide + ;; it. + (with-directory-excursion + (string-append out "/lib/gcc/" + ,(boot-triplet) + "/" ,(package-version gcc)) + (symlink "libgcc.a" "libgcc_eh.a")) + #t)))))))) - (inputs `(("gmp-source" ,(package-source gmp-6.0)) - ("mpfr-source" ,(package-source mpfr)) - ("mpc-source" ,(package-source mpc)) - ("binutils-cross" ,binutils-boot0) + (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0))) + ("mpfr-source" ,(bootstrap-origin (package-source mpfr))) + ("mpc-source" ,(bootstrap-origin (package-source mpc))) + ("binutils-cross" ,binutils-boot0) - ;; The libstdc++ that libcc1 links against. - ("libstdc++" ,libstdc++-boot0) + ;; The libstdc++ that libcc1 links against. + ("libstdc++" ,libstdc++-boot0) - ;; Call it differently so that the builder can check whether - ;; the "libc" input is #f. - ("libc-native" ,@(assoc-ref (%boot0-inputs) "libc")) - ,@(alist-delete "libc" (%boot0-inputs)))) + ;; Call it differently so that the builder can check whether + ;; the "libc" input is #f. + ("libc-native" ,@(assoc-ref (%boot0-inputs) "libc")) + ,@(alist-delete "libc" (%boot0-inputs)))) - ;; No need for the native-inputs to build the documentation at this stage. - (native-inputs `())))) + ;; No need for the native-inputs to build the documentation at this stage. + (native-inputs `()))) (define perl-boot0 - (let ((perl (package - (inherit perl) - (name "perl-boot0") - (arguments - ;; At the very least, this must not depend on GCC & co. - (let ((args `(#:validate-runpath? #f - #:disallowed-references - ,(list %bootstrap-binutils)))) - `(,@args - ,@(substitute-keyword-arguments (package-arguments perl) - ((#:phases phases) - `(modify-phases ,phases - ;; Pthread support is missing in the bootstrap compiler - ;; (broken spec file), so disable it. - (add-before 'configure 'disable-pthreads - (lambda _ - (substitute* "Configure" - (("^libswanted=(.*)pthread" _ before) - (string-append "libswanted=" before))) - #t)))) - ;; Do not configure with '-Dusethreads' since pthread - ;; support is missing. - ((#:configure-flags configure-flags) - `(delete "-Dusethreads" ,configure-flags))))))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs perl - %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile)))) + (package + (inherit perl) + (name "perl-boot0") + (source (bootstrap-origin (package-source perl))) + (inputs (%boot0-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:validate-runpath? #f + + ;; At the very least, this must not depend on GCC & co. + #:disallowed-references ,(list %bootstrap-binutils) + + ,@(substitute-keyword-arguments (package-arguments perl) + ((#:phases phases) + `(modify-phases ,phases + ;; Pthread support is missing in the bootstrap compiler + ;; (broken spec file), so disable it. + (add-before 'configure 'disable-pthreads + (lambda _ + (substitute* "Configure" + (("^libswanted=(.*)pthread" _ before) + (string-append "libswanted=" before))) + #t)))) + ;; Do not configure with '-Dusethreads' since pthread + ;; support is missing. + ((#:configure-flags configure-flags) + `(delete "-Dusethreads" ,configure-flags))))))) (define m4-boot0 - (package-with-bootstrap-guile - (package - (inherit m4) - (name "m4-boot0") - (inputs (%boot0-inputs)) - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - ,@(package-arguments m4)))))) + (package + (inherit m4) + (name "m4-boot0") + (source (bootstrap-origin (package-source m4))) + (inputs (%boot0-inputs)) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + ,@(package-arguments m4))))) + +(define m4-boot0* + (package + ;; TODO: On the next rebuild cycle, use M4-BOOT0 as is. + (inherit m4-boot0) + (name "m4"))) (define bison-boot0 ;; This Bison is needed to build MiG so we need it early in the process. ;; Recent versions of Linux-Libre headers also depend on this. - (let* ((bison (package (inherit bison) - (propagated-inputs `(("m4" ,m4))) - (inputs '()) ;remove Flex... - (arguments - `(#:tests? #f ;... and thus disable tests - - ;; XXX: These flags should be unconditional, but for now - ;; we just add them on x86 to avoid a full rebuild. - ;; TODO: On the next core-updates, use - ;; 'substitute-keyword-arguments' to inherit them from - ;; BISON. - ,@(if (member (%current-system) - '("x86_64-linux" "i686-linux")) - '(#:parallel-build? #f - #:parallel-tests? #f) - '()) - - ;; Zero timestamps in liby.a; this must be done - ;; explicitly here because the bootstrap Binutils don't - ;; do that (default is "cru".) - #:make-flags `("ARFLAGS=crD" - ,,(match (%current-system) - ;; ranlib: '-D': No such file - ((or "i686-linux" "x86_64-linux") - "RANLIB=ranlib") - (_ - "RANLIB=ranlib -D")) - "V=1")))))) - (package - (inherit (package-with-bootstrap-guile - (package-with-explicit-inputs bison %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile))) - (native-inputs `(("perl" ,perl-boot0)))))) + (package + (inherit bison) + ;; TODO: On the next build cycle, do: + ;;(name "bison-boot0") + (propagated-inputs `(("m4" ,m4-boot0*))) + (native-inputs `(("perl" ,perl-boot0))) + (inputs (%boot0-inputs)) ;remove Flex... + (arguments + `(#:tests? #f ;... and thus disable tests + #:implicit-inputs? #f + #:guile ,%bootstrap-guile + + ;; XXX: These flags should be unconditional, but for now + ;; we just add them on x86 to avoid a full rebuild. + ;; TODO: On the next core-updates, use + ;; 'substitute-keyword-arguments' to inherit them from + ;; BISON. + ,@(if (member (%current-system) + '("x86_64-linux" "i686-linux")) + '(#:parallel-build? #f + #:parallel-tests? #f) + '()) + + ;; Zero timestamps in liby.a; this must be done + ;; explicitly here because the bootstrap Binutils don't + ;; do that (default is "cru".) + #:make-flags `("ARFLAGS=crD" + ,,(match (%current-system) + ;; ranlib: '-D': No such file + ((or "i686-linux" "x86_64-linux") + "RANLIB=ranlib") + (_ + "RANLIB=ranlib -D")) + "V=1"))))) (define flex-boot0 ;; This Flex is needed to build MiG as well as Linux-Libre headers. - (let* ((flex (package (inherit flex) - (native-inputs `(("bison" ,bison-boot0))) - (propagated-inputs `(("m4" ,m4))) - (inputs '()) - (arguments '(#:tests? #f))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs flex %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile)))) + (package + (inherit flex) + (native-inputs `(("bison" ,bison-boot0))) + (propagated-inputs + ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it + ;; appears twice in '%build-inputs', like when we were using + ;; 'package-with-explicit-inputs'. + ;; TODO: Remove this hack on the next rebuild cycle. + `(("m4" ,(package (inherit m4-boot0*))))) + (inputs (%boot0-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f)))) (define linux-libre-headers-boot0 (mlambda () @@ -1768,18 +1784,19 @@ exec " gcc "/bin/" program ;; between (gnu packages linux) and this module. Additionally, memoize ;; the result to play well with further memoization and code that relies ;; on pointer identity; see . - (package-with-bootstrap-guile - (package (inherit linux-libre-headers) - (arguments `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - ,@(package-arguments linux-libre-headers))) - (native-inputs - `(("perl" ,perl-boot0) - - ;; Flex and Bison are required since version 4.16. - ("flex" ,flex-boot0) - ("bison" ,bison-boot0) - ,@(%boot0-inputs))))))) + (package + (inherit linux-libre-headers) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + ,@(package-arguments linux-libre-headers))) + (native-inputs + `(("perl" ,perl-boot0) + + ;; Flex and Bison are required since version 4.16. + ("flex" ,flex-boot0) + ("bison" ,bison-boot0) + ,@(%boot0-inputs)))))) (define gnumach-headers-boot0 (package-with-bootstrap-guile @@ -1844,81 +1861,86 @@ the bootstrap environment." ;; We build without ncurses because it fails to build at this stage, and ;; because we don't need the stand-alone Info reader. ;; Also, use (%BOOT0-INPUTS) to avoid building Perl once more. - (let ((texinfo (package (inherit texinfo) - (native-inputs '()) - (inputs `(("perl" ,perl-boot0))) - - ;; Some of Texinfo 6.1's tests would fail with "Couldn't - ;; set UTF-8 character type in locale" but we don't have a - ;; UTF-8 locale at this stage, so skip them. - (arguments '(#:tests? #f))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs texinfo %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile)))) + (package + (inherit texinfo) + (native-inputs '()) + (inputs `(,@(%boot0-inputs) + ("perl" ,perl-boot0))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + + ;; Some of Texinfo 6.1's tests would fail with "Couldn't set UTF-8 + ;; character type in locale" but we don't have a UTF-8 locale at this + ;; stage, so skip them. + #:tests? #f)))) (define expat-sans-tests (package (inherit expat) + (inputs (%boot0-inputs)) (arguments ;; XXX: Linking 'runtestscpp' fails with things like: ;; ;; ld: Dwarf Error: found dwarf version '3789', this reader only handles version 2 and 3 information. ;; ;; Skip tests altogether. - (substitute-keyword-arguments (package-arguments expat) - ((#:configure-flags flags ''()) - ;; Since we're not passing the right -Wl,-rpath flags, build the - ;; static library to avoid RUNPATH validation failure. - `(cons "--disable-shared" ,flags)) - ((#:tests? _ #f) #f))))) + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + + ,@(substitute-keyword-arguments (package-arguments expat) + ((#:configure-flags flags ''()) + ;; Since we're not passing the right -Wl,-rpath flags, build the + ;; static library to avoid RUNPATH validation failure. + `(cons "--disable-shared" ,flags)) + ((#:tests? _ #f) #f)))))) (define python-boot0 - (let ((python (package - (inherit python-minimal) - ;; We cannot use Python 3.7 and later here, because they require - ;; pthreads, which is missing on non-x86 platforms at this stage. - ;; Python 3.6 technically supports being built without threading - ;; support, but requires additional patches. - (version "3.5.7") - (source (origin - (inherit (package-source python)) - (uri (string-append "https://www.python.org/ftp/python/" - version "/Python-" version ".tar.xz")) - (patches '()) - (sha256 - (base32 - "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18")))) - (inputs - `(("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc. - (native-inputs '()) ;and pkg-config - (arguments - (substitute-keyword-arguments (package-arguments - python-minimal) - ;; Disable features that cannot be built at this stage. - ((#:configure-flags _ ''()) - `(list "--without-ensurepip" - "--without-threads")) - ;; Clear #:make-flags, such that changes to the regular - ;; Python package won't interfere with this one. - ((#:make-flags _ ''()) ''()) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'disable-modules - (lambda _ - (substitute* "setup.py" - ;; Disable ctypes, since it requires libffi. - (("extensions\\.append\\(ctypes\\)") "") - ;; Prevent the 'ossaudiodev' extension from being - ;; built, since it requires Linux headers. - (("'linux', ") "")) - #t)) - (delete 'set-TZDIR))) - ((#:tests? _ #f) #f)))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs python %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile)))) + (package + (inherit python-minimal) + ;; We cannot use Python 3.7 and later here, because they require + ;; pthreads, which is missing on non-x86 platforms at this stage. + ;; Python 3.6 technically supports being built without threading + ;; support, but requires additional patches. + (version "3.5.7") + (source (bootstrap-origin + (origin + (inherit (package-source python)) + (uri (string-append "https://www.python.org/ftp/python/" + version "/Python-" version ".tar.xz")) + (patches '()) + (sha256 + (base32 + "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18"))))) + (inputs + `(,@(%boot0-inputs) + ("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc. + (native-inputs '()) ;and pkg-config + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + + ,@(substitute-keyword-arguments (package-arguments python-minimal) + ;; Disable features that cannot be built at this stage. + ((#:configure-flags _ ''()) + `(list "--without-ensurepip" + "--without-threads")) + ;; Clear #:make-flags, such that changes to the regular + ;; Python package won't interfere with this one. + ((#:make-flags _ ''()) ''()) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'disable-modules + (lambda _ + (substitute* "setup.py" + ;; Disable ctypes, since it requires libffi. + (("extensions\\.append\\(ctypes\\)") "") + ;; Prevent the 'ossaudiodev' extension from being + ;; built, since it requires Linux headers. + (("'linux', ") "")) + #t)) + (delete 'set-TZDIR))) + ((#:tests? _ #f) #f)))))) (define (ld-wrapper-boot0) ;; We need this so binaries on Hurd will have libmachuser and libhurduser @@ -1942,65 +1964,66 @@ the bootstrap environment." ;; store path has no dependencies. Actually, the really-final libc is ;; built just below; the only difference is that this one uses the ;; bootstrap Bash. - (package-with-bootstrap-guile - (package (inherit glibc) - (name "glibc-intermediate") - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - - ,@(substitute-keyword-arguments (package-arguments glibc) - ((#:configure-flags flags) - `(append (list ,(string-append "--host=" (boot-triplet)) - ,(string-append "--build=" - (nix-system->gnu-triplet))) - ,flags)) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - ;; Don't clobber CPATH with the bootstrap libc. - (setenv "NATIVE_CPATH" (getenv "CPATH")) - (unsetenv "CPATH") - - ;; Tell 'libpthread' where to find 'libihash' on Hurd systems. - ,@(if (hurd-triplet? (%current-system)) - `((substitute* "libpthread/Makefile" - (("LDLIBS-pthread.so =.*") - (string-append "LDLIBS-pthread.so = " - (assoc-ref %build-inputs "kernel-headers") - "/lib/libihash.a\n")))) - '()) - - ;; 'rpcgen' needs native libc headers to be built. - (substitute* "sunrpc/Makefile" - (("sunrpc-CPPFLAGS =.*" all) - (string-append "CPATH = $(NATIVE_CPATH)\n" - "export CPATH\n" - all "\n"))) - #t))))))) - (propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0)))) - (native-inputs - `(("bison" ,bison-boot0) - ("texinfo" ,texinfo-boot0) - ("perl" ,perl-boot0) - ("python" ,python-boot0))) - (inputs - `(;; The boot inputs. That includes the bootstrap libc. We don't want - ;; it in $CPATH, hence the 'pre-configure' phase above. - ,@(%boot1-inputs) - - ;; A native MiG is needed to build Glibc on Hurd. - ,@(if (hurd-triplet? (%current-system)) - `(("mig" ,mig-boot0)) - '()) - - ;; A native GCC is needed to build `cross-rpcgen'. - ("native-gcc" ,@(assoc-ref (%boot0-inputs) "gcc")) - - ;; Here, we use the bootstrap Bash, which is not satisfactory - ;; because we don't want to depend on bootstrap tools. - ("static-bash" ,@(assoc-ref (%boot0-inputs) "bash"))))))) + (package + (inherit glibc) + (name "glibc-intermediate") + (source (bootstrap-origin (package-source glibc))) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + + ,@(substitute-keyword-arguments (package-arguments glibc) + ((#:configure-flags flags) + `(append (list ,(string-append "--host=" (boot-triplet)) + ,(string-append "--build=" + (nix-system->gnu-triplet))) + ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + ;; Don't clobber CPATH with the bootstrap libc. + (setenv "NATIVE_CPATH" (getenv "CPATH")) + (unsetenv "CPATH") + + ;; Tell 'libpthread' where to find 'libihash' on Hurd systems. + ,@(if (hurd-triplet? (%current-system)) + `((substitute* "libpthread/Makefile" + (("LDLIBS-pthread.so =.*") + (string-append "LDLIBS-pthread.so = " + (assoc-ref %build-inputs "kernel-headers") + "/lib/libihash.a\n")))) + '()) + + ;; 'rpcgen' needs native libc headers to be built. + (substitute* "sunrpc/Makefile" + (("sunrpc-CPPFLAGS =.*" all) + (string-append "CPATH = $(NATIVE_CPATH)\n" + "export CPATH\n" + all "\n"))) + #t))))))) + (propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0)))) + (native-inputs + `(("bison" ,bison-boot0) + ("texinfo" ,texinfo-boot0) + ("perl" ,perl-boot0) + ("python" ,python-boot0))) + (inputs + `( ;; The boot inputs. That includes the bootstrap libc. We don't want + ;; it in $CPATH, hence the 'pre-configure' phase above. + ,@(%boot1-inputs) + + ;; A native MiG is needed to build Glibc on Hurd. + ,@(if (hurd-triplet? (%current-system)) + `(("mig" ,mig-boot0)) + '()) + + ;; A native GCC is needed to build `cross-rpcgen'. + ("native-gcc" ,@(assoc-ref (%boot0-inputs) "gcc")) + + ;; Here, we use the bootstrap Bash, which is not satisfactory + ;; because we don't want to depend on bootstrap tools. + ("static-bash" ,@(assoc-ref (%boot0-inputs) "bash")))))) (define (cross-gcc-wrapper gcc binutils glibc bash) "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC @@ -2064,99 +2087,92 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define static-bash-for-glibc ;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co. - (let ((bash (package - (inherit static-bash) - (arguments - (substitute-keyword-arguments - (package-arguments static-bash) - ((#:guile _ #f) - '%bootstrap-guile) - ((#:configure-flags flags '()) - ;; Add a '-L' flag so that the pseudo-cross-ld of - ;; BINUTILS-BOOT0 can find libc.a. - `(append ,flags - (list (string-append "LDFLAGS=-static -L" - (assoc-ref %build-inputs - "libc:static") - "/lib"))))))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs - bash - (lambda _ - `(("gcc" ,(gcc-boot0-intermediate-wrapped)) - ("libc" ,glibc-final-with-bootstrap-bash) - ("libc:static" ,glibc-final-with-bootstrap-bash "static") - ,@(fold alist-delete (%boot1-inputs) - '("gcc" "libc")))) - (current-source-location) - #:guile %bootstrap-guile)))) + (package + (inherit static-bash) + (source (bootstrap-origin (package-source static-bash))) + (inputs `(("gcc" ,(gcc-boot0-intermediate-wrapped)) + ("libc" ,glibc-final-with-bootstrap-bash) + ("libc:static" ,glibc-final-with-bootstrap-bash "static") + ,@(fold alist-delete (%boot1-inputs) + '("gcc" "libc")))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + + ,@(substitute-keyword-arguments (package-arguments static-bash) + ((#:configure-flags flags '()) + ;; Add a '-L' flag so that the pseudo-cross-ld of + ;; BINUTILS-BOOT0 can find libc.a. + `(append ,flags + (list (string-append "LDFLAGS=-static -L" + (assoc-ref %build-inputs + "libc:static") + "/lib"))))))))) (define gettext-boot0 ;; A minimal gettext used during bootstrap. - (let ((gettext-minimal - (package (inherit gettext-minimal) - (name "gettext-boot0") - ;; Newer versions of GNU gettext depends on libxml2 and ncurses. To - ;; simplify the dependency chain, we stick to this version here. - (version "0.19.8.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gettext/gettext-" - version ".tar.gz")) - (sha256 - (base32 - "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z")))) - (inputs '()) ;zero dependencies - (arguments - `(#:tests? #f - #:phases (modify-phases %standard-phases - ;; Build only the tools. - (add-after 'unpack 'chdir - (lambda _ - (chdir "gettext-tools") - #t)) - - ;; Some test programs require pthreads, which we don't have. - (add-before 'configure 'no-test-programs - (lambda _ - (substitute* "tests/Makefile.in" - (("^PROGRAMS =.*$") - "PROGRAMS =\n")) - #t)))))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs gettext-minimal - %boot1-inputs - (current-source-location) - #:guile %bootstrap-guile)))) + (package + (inherit gettext-minimal) + (name "gettext-boot0") + ;; Newer versions of GNU gettext depends on libxml2 and ncurses. To + ;; simplify the dependency chain, we stick to this version here. + (version "0.19.8.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gettext/gettext-" + version ".tar.gz")) + (sha256 + (base32 + "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z")))) + (inputs (%boot1-inputs)) ;zero dependencies + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f + #:phases (modify-phases %standard-phases + ;; Build only the tools. + (add-after 'unpack 'chdir + (lambda _ + (chdir "gettext-tools") + #t)) + + ;; Some test programs require pthreads, which we don't have. + (add-before 'configure 'no-test-programs + (lambda _ + (substitute* "tests/Makefile.in" + (("^PROGRAMS =.*$") + "PROGRAMS =\n")) + #t))))))) (define glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. - (let ((glibc (package-with-bootstrap-guile glibc))) - (package/inherit glibc - (name "glibc") - (inputs `(("static-bash" ,static-bash-for-glibc) - ,@(alist-delete - "static-bash" - (package-inputs glibc-final-with-bootstrap-bash)))) - - ;; This time we need 'msgfmt' to install all the libc.mo files. - (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) - ("gettext" ,gettext-boot0))) - - (propagated-inputs - (package-propagated-inputs glibc-final-with-bootstrap-bash)) - - ;; The final libc only refers to itself, but the 'debug' output contains - ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great - ;; if 'allowed-references' were per-output. - (arguments - `(#:allowed-references - ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) - static-bash-for-glibc - (package-outputs glibc-final-with-bootstrap-bash)) - - ,@(package-arguments glibc-final-with-bootstrap-bash)))))) + (package/inherit + glibc + (name "glibc") + (source (bootstrap-origin (package-source glibc))) + (inputs `(("static-bash" ,static-bash-for-glibc) + ,@(alist-delete + "static-bash" + (package-inputs glibc-final-with-bootstrap-bash)))) + + ;; This time we need 'msgfmt' to install all the libc.mo files. + (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) + ("gettext" ,gettext-boot0))) + + (propagated-inputs + (package-propagated-inputs glibc-final-with-bootstrap-bash)) + + ;; The final libc only refers to itself, but the 'debug' output contains + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great + ;; if 'allowed-references' were per-output. + (arguments + `(#:allowed-references + ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) + static-bash-for-glibc + (package-outputs glibc-final-with-bootstrap-bash)) + + ,@(package-arguments glibc-final-with-bootstrap-bash))))) (define (gcc-boot0-wrapped) ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the @@ -2172,21 +2188,23 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc" "linux-libre-headers")))) (define binutils-final - (package-with-bootstrap-guile - (package (inherit binutils) - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:allowed-references ("out" ,glibc-final) - ,@(package-arguments binutils))) - (inputs (%boot2-inputs))))) + (package + (inherit binutils) + (source (bootstrap-origin (package-source binutils))) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + #:allowed-references ("out" ,glibc-final) + ,@(package-arguments binutils))) + (inputs (%boot2-inputs)))) (define libstdc++ ;; Intermediate libstdc++ that will allow us to build the final GCC ;; (remember that GCC-BOOT0 cannot build libstdc++.) - (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc)))) + (let ((lib (make-libstdc++ gcc))) (package (inherit lib) + (source (bootstrap-origin (package-source lib))) (arguments `(#:guile ,%bootstrap-guile #:implicit-inputs? #f @@ -2211,15 +2229,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define zlib-final ;; Zlib used by GCC-FINAL. - (package-with-bootstrap-guile - (package - (inherit zlib) - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:allowed-references ("out" ,glibc-final) - ,@(package-arguments zlib))) - (inputs (%boot2-inputs))))) + (package + (inherit zlib) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + #:allowed-references ("out" ,glibc-final) + ,@(package-arguments zlib))) + (inputs (%boot2-inputs)))) (define (ld-wrapper-boot3) ;; A linker wrapper that uses the bootstrap Guile. @@ -2328,17 +2345,18 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; Link with `-static-libgcc' to make sure we don't retain a reference ;; to the bootstrap GCC. Use "bash-minimal" to avoid an extra dependency ;; on Readline and ncurses. - (let ((bash (package - (inherit bash-minimal) - (arguments - `(#:disallowed-references - ,(assoc-ref (%boot3-inputs) "coreutils&co") - ,@(package-arguments bash-minimal)))))) - (package-with-bootstrap-guile - (package-with-explicit-inputs (static-libgcc-package bash) - %boot3-inputs - (current-source-location) - #:guile %bootstrap-guile)))) + (let ((bash (static-libgcc-package bash-minimal))) + (package + (inherit bash) + (source (bootstrap-origin (package-source bash))) + (inputs (%boot3-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + + #:disallowed-references ,(assoc-ref (%boot3-inputs) "coreutils&co") + + ,@(package-arguments bash)))))) (define (%boot4-inputs) ;; Now use the final Bash. -- cgit v1.2.3 From 81a4ca08f7716c730c75ebb2911cf0f5f57dfd3c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 12 Oct 2019 12:22:18 +0200 Subject: gnu: mescc-tools: Use 'git-fetch'. * gnu/packages/mes.scm (mescc-tools-0.5.2)[source]: Use 'git-fetch'. (mescc-tools)[source]: Likewise. --- gnu/packages/mes.scm | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 1b5bb331f5..3174c0c115 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -159,16 +159,16 @@ Guile.") (version "0.5.2")) (package (name "mescc-tools") - (version (string-append version "-" revision "." (string-take commit 7))) + (version (git-version version revision commit)) (source (origin - (method url-fetch) - (uri (string-append - "https://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/" - name "-" commit - ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.nongnu.org/r/mescc-tools.git") + (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 - "1h6j57wyf91i42b26f8msbv6451cw3nm4nmpl1fckp9c7vi8mwkh")))) + "1nc6rnax66vmhqsjg0kgx23pihdcxmww6v325ywf59vsq1jqjvff")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (arguments @@ -191,15 +191,14 @@ get_machine.") (name "mescc-tools") (version "0.6.1") (source (origin - (method url-fetch) - (uri (string-append - "http://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/" - name "-Release_" version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.nongnu.org/r/mescc-tools.git") + (commit (string-append "Release_" version)))) + (file-name (string-append "mescc-tools-" version "-checkout")) (sha256 (base32 - "06jpvq6xfjzn2al6b4rdwd3zv3h4cvilc4n9gqcnjr9cr6wjpw2n")))) + "1cgxcdza6ws725x84i31la7jxmlk5a3nsij5shz1zljg0i36kj99")))) (arguments (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2) ((#:make-flags _) -- cgit v1.2.3 From d7e29a2b265a249d053f4763edd00e717ce8388d Mon Sep 17 00:00:00 2001 From: Jesse Gibbons Date: Fri, 11 Oct 2019 13:16:35 -0600 Subject: gnu: python-scikit-learn: Update to 0.20.4. Fixes . * gnu/packages/machine-learning.scm (python-scikit-learn): Update to 0.20.4. Signed-off-by: Marius Bakke --- gnu/packages/machine-learning.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index b1fd2a451c..3a40d9c093 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -794,7 +794,7 @@ computing environments.") (define-public python-scikit-learn (package (name "python-scikit-learn") - (version "0.20.3") + (version "0.20.4") (source (origin (method git-fetch) @@ -804,7 +804,7 @@ computing environments.") (file-name (git-file-name name version)) (sha256 (base32 - "08aaby5zphfxy83mggg35bwyka7wk91l2qijh8kk0bl08dikq8dl")))) + "08zbzi8yx5wdlxfx9jap61vg1malc9ajf576w7a0liv6jvvrxlpj")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 099dbc4fd332d27a5010f17093f1d6b09d26212e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 12 Oct 2019 14:42:36 +0200 Subject: gnu: Improve memoization of 'package-with-bootstrap-guile'. Before that, the command: GUIX_PROFILING=memoization guix build -e '(@@ (gnu packages commencement) gnu-make-final)' -nd would show that 'package-with-bootstrap-guile' was called 2256 times (hit rate: 89%). Now, it is called 745 times (hit rate: 85%). "guix build libreoffice -nd" goes from 2.60s to 2.40s (-8%). * gnu/packages/commencement.scm (gnu-make-final) (coreutils-final, grep-final, sed-final, %final-inputs): Call 'package-with-bootstrap-guile' before 'package-with-explicit-inputs'. --- gnu/packages/commencement.scm | 55 +++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 5bd139f30d..f234fa0a8a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2403,34 +2403,33 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define gnu-make-final ;; The final GNU Make, which uses the final Guile. - (package-with-bootstrap-guile - (package-with-explicit-inputs gnu-make - (lambda _ - `(("guile" ,guile-final) - ,@(%boot5-inputs))) - (current-source-location)))) + (package-with-explicit-inputs (package-with-bootstrap-guile gnu-make) + (lambda _ + `(("guile" ,guile-final) + ,@(%boot5-inputs))) + (current-source-location))) (define coreutils-final ;; The final Coreutils. Treat them specially because some packages, such as ;; Findutils, keep a reference to the Coreutils they were built with. - (package-with-bootstrap-guile - (package-with-explicit-inputs coreutils - %boot5-inputs - (current-source-location) + (package-with-explicit-inputs (package-with-bootstrap-guile coreutils) + %boot5-inputs + (current-source-location) - ;; Use the final Guile, linked against the - ;; final libc with working iconv, so that - ;; 'substitute*' works well when touching - ;; test files in Gettext. - #:guile guile-final))) + ;; Use the final Guile, linked against the + ;; final libc with working iconv, so that + ;; 'substitute*' works well when touching + ;; test files in Gettext. + #:guile guile-final)) (define grep-final ;; The final grep. Gzip holds a reference to it (via zgrep), so it must be ;; built before gzip. - (let ((grep (package-with-bootstrap-guile - (package-with-explicit-inputs grep %boot5-inputs - (current-source-location) - #:guile guile-final)))) + (let ((grep (package-with-explicit-inputs + (package-with-bootstrap-guile grep) + %boot5-inputs + (current-source-location) + #:guile guile-final))) (package/inherit grep (inputs (alist-delete "pcre" (package-inputs grep))) (native-inputs `(("perl" ,perl-boot0)))))) @@ -2443,10 +2442,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define sed-final ;; The final sed. - (let ((sed (package-with-bootstrap-guile - (package-with-explicit-inputs sed %boot6-inputs - (current-source-location) - #:guile guile-final)))) + (let ((sed (package-with-explicit-inputs (package-with-bootstrap-guile sed) + %boot6-inputs + (current-source-location) + #:guile guile-final))) (package/inherit sed (native-inputs `(("perl" ,perl-boot0)))))) (define-public %final-inputs @@ -2454,12 +2453,12 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are ;; used for origins that have patches, thereby avoiding circular ;; dependencies. - (let ((finalize (compose package-with-bootstrap-guile - (cut package-with-explicit-inputs <> %boot6-inputs - (current-source-location))))) + (let ((finalize (compose (cut package-with-explicit-inputs <> %boot6-inputs + (current-source-location)) + package-with-bootstrap-guile))) `(,@(map (match-lambda - ((name package) - (list name (finalize package)))) + ((name package) + (list name (finalize package)))) `(("tar" ,tar) ("gzip" ,gzip) ("bzip2" ,bzip2) -- cgit v1.2.3 From dab669e07584409d9c9a9dc2afa1c108aa948097 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 12 Oct 2019 15:01:50 +0200 Subject: gnu: ld-wrapper: Memoize. The command: guix graph -e '(@@ (gnu packages commencement) coreutils-final)' now shows 93 nodes (992 edges) instead of 176 nodes (1241 edges). * gnu/packages/commencement.scm (ld-wrapper-boot0): Use 'mlambda' instead of 'lambda'. (ld-wrapper-boot3): Likewise. --- gnu/packages/commencement.scm | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index f234fa0a8a..d113acaba8 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1942,15 +1942,16 @@ the bootstrap environment." (delete 'set-TZDIR))) ((#:tests? _ #f) #f)))))) -(define (ld-wrapper-boot0) - ;; We need this so binaries on Hurd will have libmachuser and libhurduser - ;; in their RUNPATH, otherwise validate-runpath will fail. - (make-ld-wrapper "ld-wrapper-boot0" - #:target boot-triplet - #:binutils binutils-boot0 - #:guile %bootstrap-guile - #:bash (car (assoc-ref (%boot0-inputs) "bash")) - #:guile-for-build %bootstrap-guile)) +(define ld-wrapper-boot0 + (mlambda () + ;; We need this so binaries on Hurd will have libmachuser and libhurduser + ;; in their RUNPATH, otherwise validate-runpath will fail. + (make-ld-wrapper "ld-wrapper-boot0" + #:target boot-triplet + #:binutils binutils-boot0 + #:guile %bootstrap-guile + #:bash (car (assoc-ref (%boot0-inputs) "bash")) + #:guile-for-build %bootstrap-guile))) (define (%boot1-inputs) ;; 2nd stage inputs. @@ -2238,13 +2239,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(package-arguments zlib))) (inputs (%boot2-inputs)))) -(define (ld-wrapper-boot3) - ;; A linker wrapper that uses the bootstrap Guile. - (make-ld-wrapper "ld-wrapper-boot3" - #:binutils binutils-final - #:guile %bootstrap-guile - #:bash (car (assoc-ref (%boot2-inputs) "bash")) - #:guile-for-build %bootstrap-guile)) +(define ld-wrapper-boot3 + (mlambda () + ;; A linker wrapper that uses the bootstrap Guile. + (make-ld-wrapper "ld-wrapper-boot3" + #:binutils binutils-final + #:guile %bootstrap-guile + #:bash (car (assoc-ref (%boot2-inputs) "bash")) + #:guile-for-build %bootstrap-guile))) (define gcc-final ;; The final GCC. -- cgit v1.2.3 From e4892ae3678e2ce7c726bd5f0bc12a08b5678639 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 12 Oct 2019 13:16:48 +0100 Subject: gnu: re2c: Update to 1.2.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/re2c.scm (re2c): Update to 1.2.1. Signed-off-by: Sergei Trofimovich Signed-off-by: Ludovic Courtès --- gnu/packages/re2c.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/re2c.scm b/gnu/packages/re2c.scm index e9668cba26..f81d4f67f7 100644 --- a/gnu/packages/re2c.scm +++ b/gnu/packages/re2c.scm @@ -26,15 +26,15 @@ (define-public re2c (package (name "re2c") - (version "1.1.1") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/skvadrik/" name "/releases/download/" version "/" - name "-" version ".tar.gz")) + name "-" version ".tar.xz")) (sha256 (base32 - "1ksifjn18v6nra935dpqllmvkqgcdsggfjgmj77282x0gqrrfrc5")))) + "05xq0571mkgr20v827jm63nhsirr8arghg4fszzswrmrnl3dfk0s")))) (build-system gnu-build-system) (home-page "http://re2c.org/") (synopsis "Lexer generator for C/C++") -- cgit v1.2.3 From 748ca12f97bf317fabfd0d8c2d827c1f6349187b Mon Sep 17 00:00:00 2001 From: Reza Alizadeh Majd Date: Fri, 11 Oct 2019 23:23:21 +0330 Subject: gnu: Add uchardet. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/freedesktop.scm (uchardet): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/freedesktop.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 8a302ba5bc..4339f14f35 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Stefan Stefanović +;;; Copyright © 2019 Reza Alizadeh Majd ;;; ;;; This file is part of GNU Guix. ;;; @@ -1414,3 +1415,26 @@ This package also contains two related utilities: their MIME type. @end itemize") (license license:perl-license))) + +(define-public uchardet + (package + (name "uchardet") + (version "0.0.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.freedesktop.org/software/" + name "/releases/" name "-" version ".tar.xz")) + (sha256 + (base32 "0q9c02b6nmw41yfsiqsnphgc3f0yg3fj31wkccp47cmwvy634lc3")))) + (build-system cmake-build-system) + (home-page "https://www.freedesktop.org/wiki/Software/uchardet/") + (synopsis "Encoding detector library") + (description "uchardet is an encoding detector library, which takes a +sequence of bytes in an unknown character encoding without any additional +information, and attempts to determine the encoding of the text. Returned +encoding names are iconv-compatible.") + + ;; This combines code under MPL 1.1, LGPL 2.1+, and GPL 2.0+, so the + ;; combination is GPL 2.0+. + (license license:gpl2+))) -- cgit v1.2.3 From bae08e22dc9eba5a460d3e0270c1b153d3021060 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 15:22:12 +0200 Subject: gnu: lightning: Update to 2.1.3. * gnu/packages/assembly.scm (lightning): Update to 2.1.3. --- gnu/packages/assembly.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 527555abfc..26a6d23a8a 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -117,14 +117,14 @@ debugging information in STABS, DWARF 2, and CodeView 8 formats.") (define-public lightning (package (name "lightning") - (version "2.1.2") + (version "2.1.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/lightning/lightning-" version ".tar.gz")) (sha256 (base32 - "0sbs2lm8b9in2m8d52zf0x9gpp40x6r7sl6sha92yq3pr78rwa4v")))) + "1jgxbq2cm51dzi3zhz38mmgwdcgs328mfl8iviw8dxn6dn36p1gd")))) (build-system gnu-build-system) (native-inputs `(("zlib" ,zlib))) (synopsis "Library for generating assembly code at runtime") -- cgit v1.2.3 From 09c4e43f81eb765997b8861fc07dcc94bc4644d2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 15:41:52 +0200 Subject: gnu: amtk: Update to 5.0.1. * gnu/packages/gnome.scm (amtk): Update to 5.0.1. --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index af869760fd..ec8a208f64 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3407,7 +3407,7 @@ which are easy to play with the aid of a mouse.") (define-public amtk (package (name "amtk") - (version "5.0.0") + (version "5.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3415,13 +3415,13 @@ which are easy to play with the aid of a mouse.") name "-" version ".tar.xz")) (sha256 (base32 - "1zriix7bdwcg0868mfc7jy6zbwjwdmjwbh0ah6dbddrhiabrda8j")))) + "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-gtk-doc"))) (native-inputs `(("gobject-introspection" ,gobject-introspection) - ("glib:bin" ,glib "bin") ; for glib-mkenums + ("glib:bin" ,glib "bin") ; for glib-mkenums ("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config))) (inputs -- cgit v1.2.3 From bf92ba6b7bfe91c529195a500eb10ff173f4b5ad Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 15:41:58 +0200 Subject: gnu: amtk: Don't use NAME in source URI. * gnu/packages/gnome.scm (amtk)[source]: Hard-code NAME. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ec8a208f64..91a781bfba 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3410,9 +3410,9 @@ which are easy to play with the aid of a mouse.") (version "5.0.1") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/amtk/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "amtk-" version ".tar.xz")) (sha256 (base32 "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d")))) -- cgit v1.2.3 From c6a99354f3b61f8ebf88e04962daede883f1091c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 16:04:30 +0200 Subject: gnu: mailutils: Update to 3.7. * gnu/packages/mail.scm (mailutils): Update to 3.7. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f937f50d6d..a994e4d344 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -140,14 +140,14 @@ (define-public mailutils (package (name "mailutils") - (version "3.6") + (version "3.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.xz")) (sha256 (base32 - "07phzpwrnkdclx6jvirljk9zcavl8wh02kpx3mfba9msr99kpqj6")))) + "1gwajsl39f1dkzrjld0dm9px8hrj7l7rwzazz00h5rwghk9mhwhq")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 5ce153b1106fe44a9910d08663b4b9cd2a27b2d6 Mon Sep 17 00:00:00 2001 From: wednesday Date: Tue, 30 Apr 2019 22:43:45 +0100 Subject: gnu: emacs: Add mailutils to inputs. * gnu/packages/emacs.scm (emacs)[inputs]: Add mailutils. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/emacs.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 5a3577350d..6c6f0e4567 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2019 Jesse John Gildersleve ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,12 +50,13 @@ #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) ; for librsvg + #:use-module (gnu packages gnome) ; for librsvg #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) - #:use-module (gnu packages linux) ; alsa-lib + #:use-module (gnu packages linux) ; alsa-lib + #:use-module (gnu packages mail) ; for mailutils #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) @@ -146,6 +148,10 @@ `(("gnutls" ,gnutls) ("ncurses" ,ncurses) + ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email + ;; only via insecure channels. This is not needed for (modern) IMAP. + ("mailutils" ,mailutils) + ;; TODO: Add the optional dependencies. ("libx11" ,libx11) ("gtk+" ,gtk+) -- cgit v1.2.3 From d72bfe075cc906d228e960c6bb515b7cd863dbd4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 14:46:09 +0200 Subject: gnu: BOINC: Remove redundant comment. * gnu/packages/distributed.scm (boinc-client)[description]: Don't mention license terms. --- gnu/packages/distributed.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm index 0eaa1d8b83..e78d62d3d5 100644 --- a/gnu/packages/distributed.scm +++ b/gnu/packages/distributed.scm @@ -72,10 +72,7 @@ (description "BOINC is a platform for high-throughput computing on a large scale (thousands or millions of computers). It can be used for volunteer computing (using consumer devices) or grid computing (using organizational -resources). It supports virtualized, parallel, and GPU-based applications. - -BOINC is distributed under the LGPL open source license. It can be used for -commercial purposes, and applications need not be open source.") +resources). It supports virtualized, parallel, and GPU-based applications.") (home-page "https://boinc.berkeley.edu/") (license license:gpl3+))) -- cgit v1.2.3 From c21dae9b890d4bff598fe55134fde13a189a2c07 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 14:50:29 +0200 Subject: gnu: BOINC: Update license. * gnu/packages/distributed.scm (boinc-client)[license]: Add LGPL3+. --- gnu/packages/distributed.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm index e78d62d3d5..46f5cc535f 100644 --- a/gnu/packages/distributed.scm +++ b/gnu/packages/distributed.scm @@ -74,7 +74,8 @@ scale (thousands or millions of computers). It can be used for volunteer computing (using consumer devices) or grid computing (using organizational resources). It supports virtualized, parallel, and GPU-based applications.") (home-page "https://boinc.berkeley.edu/") - (license license:gpl3+))) + ;; BOINC is distributed as LGPL3+, with some individual modules under GPL3+. + (license (list license:lgpl3+ license:gpl3+)))) (define-public boinc-server (package (inherit boinc-client) -- cgit v1.2.3 From ecfc86a21dc257a2e495f69d9dc9d0fccb059d90 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 14:52:33 +0200 Subject: gnu: BOINC: Add a source file name. While at it, future-proof the URL as well. * gnu/packages/distributed.scm (boinc-client)[source](file-name): New field. --- gnu/packages/distributed.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm index 46f5cc535f..4e1acc4b67 100644 --- a/gnu/packages/distributed.scm +++ b/gnu/packages/distributed.scm @@ -18,6 +18,7 @@ (define-module (gnu packages distributed) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) @@ -47,8 +48,9 @@ (uri (git-reference (url "https://github.com/boinc/boinc.git") (commit (string-append "client_release/" - "7.16/" - version)))) + (version-major+minor version) + "/" version)))) + (file-name (git-file-name "boinc" version)) (sha256 (base32 "0w2qimcwyjhapk3z7zyq7jkls23hsnmm35iw7m4s4if04fp70dx0")))) -- cgit v1.2.3 From 37e47aa73d70d59ebb3f21963bbe55d34483761f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 14:54:21 +0200 Subject: gnu: arx-libertatis: Update description. * gnu/packages/games.scm (arx-libertatis)[description]: Remove "open source". --- gnu/packages/games.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 1b6849a9aa..2ed505bbc4 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6828,13 +6828,12 @@ game field is extended to 4D space, which has to filled up by the gamer with ("innoextract" ,innoextract))) (home-page "https://arx-libertatis.org/") (synopsis "Port of Arx Fatalis, a first-person role-playing game") - (description "Arx Libertatis is a cross-platform, open source port of Arx -Fatalis, a 2002 first-person role-playing game / dungeon crawler developed by -Arkane Studios. This port however does not include the game data, so you need -to obtain a copy of the original Arx Fatalis or its demo to play Arx -Libertatis. Arx Fatalis features crafting, melee and ranged combat, as well -as a unique casting system where the player draws runes in real time to effect -the desired spell.") + (description "Arx Libertatis is a cross-platform port of Arx Fatalis, a 2002 +first-person role-playing game / dungeon crawler developed by Arkane Studios. +This port however does not include the game data, so you need to obtain a copy +of the original Arx Fatalis or its demo to play Arx Libertatis. Arx Fatalis +features crafting, melee and ranged combat, as well as a unique casting system +where the player draws runes in real time to effect the desired spell.") (license license:gpl3+))) (define-public edgar -- cgit v1.2.3 From bd2bd80df8b319aeb5af5939fdfe92ff539092e9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 14:55:29 +0200 Subject: gnu: FANN: Update description. * gnu/packages/machine-learning.scm (fann)[description]: Remove "open source". --- gnu/packages/machine-learning.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3a40d9c093..33f8c7149a 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -109,9 +109,9 @@ (home-page "http://leenissen.dk/fann/wp/") (synopsis "Fast Artificial Neural Network") (description - "FANN is a free open source neural network library, which implements -multilayer artificial neural networks in C with support for both fully -connected and sparsely connected networks.") + "FANN is a neural network library, which implements multilayer +artificial neural networks in C with support for both fully connected and +sparsely connected networks.") (license license:lgpl2.1)))) (define-public libsvm -- cgit v1.2.3 From 0effc65cc9dcd3471167001a9ef28a6a0ef72e53 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 14:56:30 +0200 Subject: gnu: gRPC: Update description. * gnu/packages/machine-learning.scm (grpc)[description]: Remove "open source". --- gnu/packages/machine-learning.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 33f8c7149a..254ee59c4a 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1306,12 +1306,12 @@ Python.") ("python" ,python-wrapper))) (home-page "https://grpc.io") (synopsis "High performance universal RPC framework") - (description "gRPC is a modern open source high performance @dfn{Remote -Procedure Call} (RPC) framework that can run in any environment. It can -efficiently connect services in and across data centers with pluggable support -for load balancing, tracing, health checking and authentication. It is also -applicable in last mile of distributed computing to connect devices, mobile -applications and browsers to backend services.") + (description "gRPC is a modern high performance @dfn{Remote Procedure Call} +(RPC) framework that can run in any environment. It can efficiently connect +services in and across data centers with pluggable support for load balancing, +tracing, health checking and authentication. It is also applicable in last +mile of distributed computing to connect devices, mobile applications and +browsers to backend services.") (license license:asl2.0))) ;; Note that Tensorflow includes a "third_party" directory, which seems to not -- cgit v1.2.3 From fa0f774b2623848b9ac16688e3371257aea49709 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 15:39:10 +0200 Subject: gnu: python-django: Update to 1.11.25 [security fixes]. * gnu/packages/django.scm (python-django): Update to 1.11.25. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index dcef7370bd..8e43447921 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -41,13 +41,13 @@ (define-public python-django (package (name "python-django") - (version "1.11.21") + (version "1.11.25") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "0adhcw8sx2mgwk9y2j760y96pqbip1ni3sf2v2ls5zxc9x93wwms")))) + "0rpgx212n8gh61nwizkyldvskna808xpcvawmavk5mc5c9cfh52k")))) (build-system python-build-system) (arguments '(#:modules ((srfi srfi-1) -- cgit v1.2.3 From 72e7cba286f07ed6702e3a7a523cbc40e554f4e5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 15:39:37 +0200 Subject: gnu: kodi: Update to 18.4. * gnu/packages/kodi.scm (kodi): Update to 18.4. --- gnu/packages/kodi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index a9b5b85a47..0e032d05db 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -271,7 +271,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (define-public kodi (package (name "kodi") - (version "18.3") + (version "18.4") (source (origin (method git-fetch) (uri (git-reference @@ -280,7 +280,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (file-name (git-file-name name version)) (sha256 (base32 - "18fbl5hs3aqccrn0m3x7hp95wlafjav0yvrwmb5q3gj24mwf6jld")) + "1m0295czxabdcqyqf5m94av9d88pzhnzjvyfs1q07xqq82h313p7")) (patches (search-patches "kodi-skip-test-449.patch" "kodi-set-libcurl-ssl-parameters.patch")) (snippet -- cgit v1.2.3 From 196e35794c8598d28613d702311c365d4d9e0c36 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 15:44:03 +0200 Subject: gnu: twolame: Update to 0.4.0. * gnu/packages/audio.scm (twolame): Update to 0.4.0. [source](snippet): Remove. --- gnu/packages/audio.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 58547a2cca..88f3b5eccd 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2771,22 +2771,14 @@ conversion. It may be used, for example, to resample PCM-encoded audio.") (define-public twolame (package (name "twolame") - (version "0.3.13") + (version "0.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/twolame/twolame/" version "/twolame-" version ".tar.gz")) (sha256 - (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq")) - (modules '((guix build utils))) - ;; The tests break with Perl 5.24: - ;; https://github.com/njh/twolame/issues/21 - ;; TODO: Remove this snippet when upgrading twolame. - (snippet - '(begin - (substitute* "tests/test.pl" (("\\(@_\\)") "($_[0])")) - #t)))) + (base32 "0zf8sxqb02w07ah55b1y7ab643zmpbhn62spa9pqra0rc17l4dfc")))) (build-system gnu-build-system) (inputs `(("libsndfile" ,libsndfile))) -- cgit v1.2.3 From e14d8dcff3e2882a5d0896c164f5bbde4f7a74fd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 16:10:28 +0200 Subject: gnu: Add doctest. * gnu/packages/check.scm (doctest): New public variable. --- gnu/packages/check.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index c7d8615b0b..6a48c08064 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -354,6 +354,25 @@ a CxxTest testing library, it employs no advanced features of C++ (e.g. RTTI) and it supports a very flexible form of test discovery.") (license license:lgpl3+))) +(define-public doctest + (package + (name "doctest") + (version "2.3.5") + (home-page "https://github.com/onqtam/doctest") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rddlzhnv0f5036q0m0p019pismka7sx6x8cnzk65sk77b1dsbhg")))) + (build-system cmake-build-system) + (synopsis "C++ test framework") + (description + "doctest is a single-header testing framework for C++11 and later. It +has been designed to be fast, light and unintrusive.") + (license license:expat))) + (define-public go-gopkg.in-check.v1 (let ((commit "788fd78401277ebd861206a03c884797c6ec5541") (revision "1")) -- cgit v1.2.3 From ff97c862958095c9df0b41eb0574e7529ffab123 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 16:49:41 +0200 Subject: gnu: json-modern-cxx: Update to 3.7.0. * gnu/packages/cpp.scm (json-modern-cxx): Update to 3.7.0. [source](snippet): Adjust for new doctest requirement. [native-inputs]: Add DOCTEST. [inputs]: Remove CATCH-FRAMEWORK2. --- gnu/packages/cpp.scm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1c98e381ab..6aac60d284 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -206,7 +206,7 @@ as ordering relation.") (define-public json-modern-cxx (package (name "json-modern-cxx") - (version "3.1.2") + (version "3.7.0") (home-page "https://github.com/nlohmann/json") (source (origin @@ -215,30 +215,34 @@ as ordering relation.") (commit (string-append "v" version)))) (sha256 (base32 - "1mpr781fb2dfbyscrr7nil75lkxsazg4wkm749168lcf2ksrrbfi")) + "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet '(begin - (delete-file-recursively "./third_party") - (delete-file-recursively "./test/thirdparty") - (delete-file-recursively "./benchmarks/thirdparty") - ;; Splits catch and fifo_map + ;; Delete bundled software. Preserve doctest_compatibility.h, which + ;; is a wrapper library added by this package. + (install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp") + (for-each delete-file-recursively + '("./third_party" "./test/thirdparty" "./benchmarks/thirdparty")) + (install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest") + + ;; Adjust for the unbundled fifo_map and doctest. + (substitute* "./test/thirdparty/doctest/doctest_compatibility.h" + (("#include \"doctest\\.h\"") + "#include ")) (with-directory-excursion "test/src" - (let ((files (find-files "." ".*\\.cpp"))) - (substitute* files - (("#include ?\"(catch.hpp)\"" all catch-hpp) - (string-append "#include "))) + (let ((files (find-files "." "\\.cpp$"))) (substitute* files (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp) (string-append "#include "))))) #t)))) (native-inputs - `(("amalgamate" ,amalgamate))) + `(("amalgamate" ,amalgamate) + ("doctest" ,doctest))) (inputs - `(("catch2" ,catch-framework2) - ("fifo-map" ,fifo-map))) + `(("fifo-map" ,fifo-map))) (build-system cmake-build-system) (synopsis "JSON parser and printer library for C++") (description "JSON for Modern C++ is a C++ JSON library that provides -- cgit v1.2.3 From 9f294736b247c55c65bb1a7053e1c98d9bfa161c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 18:37:29 +0200 Subject: gnu: python-jupyter-kernel-test: Use PYTHON-VERSION. * gnu/packages/jupyter.scm (python-jupyter-kernel-test)[arguments]: Use PYTHON-VERSION to determite Python version. --- gnu/packages/jupyter.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index 7ec987b2a4..fbb4367ea5 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -118,9 +118,7 @@ launching and using Jupyter kernels.") (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (version ((@@ (guix build python-build-system) - get-python-version) - (assoc-ref inputs "python"))) + (version (python-version (assoc-ref inputs "python"))) (pydir (string-append out "/lib/python" version "/site-packages/" "jupyter_kernel_test"))) -- cgit v1.2.3 From bc0873ef33488b37190f14ce73a63c807a5e1a9a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 12 Oct 2019 20:57:15 +0300 Subject: gnu: efl: Update to 1.23.1. * gnu/packages/enlightenment.scm (efl): Update to 1.23.1. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 63854bf5ae..1da6d2aea2 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -67,7 +67,7 @@ (define-public efl (package (name "efl") - (version "1.23.0") + (version "1.23.1") (source (origin (method url-fetch) (uri (string-append @@ -75,7 +75,7 @@ version ".tar.xz")) (sha256 (base32 - "1iawq5k1ggas41h3vrwc0y98hf83vr0vh3phfgw22iij3cb2b5nd")))) + "0q9g4j7k10s1a8rv2ca9v9lydh7ml3zsrqvgncc4qhvdl76208nn")))) (build-system meson-build-system) (native-inputs `(("check" ,check) -- cgit v1.2.3 From 93ae28c029a75234e802121486759797c931360e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Oct 2019 21:44:26 +0200 Subject: gnu: e2fsprogs: Update to 1.45.4 [fixes CVE-2019-5094]. * gnu/packages/linux.scm (e2fsprogs): Update to 1.45.4. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 88db31ee7e..bc39757da2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1279,7 +1279,7 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.45.2") + (version "1.45.4") (source (origin (method url-fetch) (uri (string-append @@ -1288,7 +1288,7 @@ slabtop, and skill.") name "-" version ".tar.xz")) (sha256 (base32 - "02g0cm72sgz709s9pkg4mvj56m7bgs7rwnyc2cp7cvg3j6pcjlj9")))) + "00nwl1ppjalxbnx40dsm895r3q793p8nni6n81saj7faj2szdyk5")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 6ad7e3578b6ec924ceddabc908decdab8e453eca Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 17:54:26 +0200 Subject: gnu: parted: Update to 3.3. * gnu/packages/disk.scm (parted): Update to 3.3. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 4de0745190..eb3934155f 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -78,7 +78,7 @@ (define-public parted (package (name "parted") - (version "3.2") + (version "3.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parted/parted-" @@ -86,7 +86,7 @@ (patches (search-patches "parted-glibc-compat.patch")) (sha256 (base32 - "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5")))) + "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 54b74cc6680c40ef612d4cedf0d3fe31250e475a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 19:16:32 +0200 Subject: gnu: eog-plugins: Update to 3.26.4. * gnu/packages/gnome.scm (eog-plugins): Update to 3.26.4. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 91a781bfba..d6f7037831 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4146,7 +4146,7 @@ supports image conversion, rotation, and slideshows.") ;; 'XDG_DATA_DIRS' appropriately set. (package (name "eog-plugins") - (version "3.26.3") + (version "3.26.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/eog-plugins/" @@ -4154,7 +4154,7 @@ supports image conversion, rotation, and slideshows.") "eog-plugins-" version ".tar.xz")) (sha256 (base32 - "06fnjs2p18ad5vk07z685cx26sc7d3azywss00w9xvz794b2i1g3")))) + "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx")))) (build-system gnu-build-system) (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins") (synopsis "Extensions for the Eye of GNOME image viewer") -- cgit v1.2.3 From a1c6fb52f71b5095037d1c68e3dc9f6b658a22e8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 22:15:37 +0200 Subject: gnu: shotwell: Update to 0.30.7. * gnu/packages/gnome.scm (shotwell): Update to 0.30.7. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d6f7037831..c86cd8c227 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4721,7 +4721,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.30.4") + (version "0.30.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4729,7 +4729,7 @@ metadata in photo and video files of various formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1yiz3j0y2yg6985y3alb3hpkfbv68n8ibys5gpwcjdhmhf3czg5p")))) + "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) -- cgit v1.2.3 From 5497d68257fb5a7521886b203aa72e0428d86ac8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 12 Oct 2019 22:15:41 +0200 Subject: gnu: shotwell: Don't use NAME in source URI. * gnu/packages/gnome.scm (shotwell)[source]: Hard-code NAME. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c86cd8c227..aeec3dbcfb 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4724,9 +4724,9 @@ metadata in photo and video files of various formats.") (version "0.30.7") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/shotwell/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "shotwell-" version ".tar.xz")) (sha256 (base32 "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l")))) -- cgit v1.2.3 From e60e1cb24477cb1061459ec277ef8d55542fb7bf Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 12 Oct 2019 18:32:07 +0200 Subject: gnu: emacs-sly: Update to 20191003. * gnu/packages/emacs-xyz.scm (emacs-sly): Update to 20191003. [native-inputs]: Add texinfo to build doc. [arguments]: Include "contrib" and "slink" folders so that SLY can start. Add "install-doc" phase. --- gnu/packages/emacs-xyz.scm | 55 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a55282a0a9..a3f56b34ed 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6898,14 +6898,14 @@ are pretty much the same (and SLIME served as the principle inspiration for CIDER).") (license license:gpl3+))) -;; There hasn't been a tag or release since 2015, so we take the latest +;; There hasn't been a tag or release since 2016, so we take the latest ;; commit. (define-public emacs-sly - (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9") - (revision "1")) + (let ((commit "29dccc0735283897a6dbd97e0b6828a45c2985e2") + (revision "2")) (package (name "emacs-sly") - (version (string-append "1.0.0-" revision "." (string-take commit 9))) + (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) @@ -6915,14 +6915,45 @@ CIDER).") (file-name (git-file-name name version)) (sha256 (base32 - "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l")))) + "0d0skgyqn422130xn8lrdp04m5cjk3sl18w6lf2wrmrndc1crqxk")))) (build-system emacs-build-system) + (native-inputs + `(("texinfo" ,texinfo))) (arguments - `(#:include (cons "^lib\\/" %default-include) + `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include) #:phases ;; The package provides autoloads. (modify-phases %standard-phases - (delete 'make-autoloads)))) + (delete 'make-autoloads) + (add-before 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info-dir (string-append out "/share/info")) + (doc-dir (string-append out "/share/doc/" + ,name "-" ,version)) + (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below. + "README.md" "NEWS.md" "PROBLEMS.md" + "CONTRIBUTING.md"))) + (with-directory-excursion "doc" + (substitute* "Makefile" + (("infodir=/usr/local/info") + (string-append "infodir=" info-dir)) + ;; Don't rebuild contributors.texi since we are not in + ;; the git repo. + (("contributors.texi: Makefile texinfo-tabulate.awk") + "contributors.texi:")) + (invoke "make" "html/index.html") + (invoke "make" "sly.info") + ;; TODO: We need minimal texlive with "preprint" package + ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf") + (install-file "sly.info" info-dir) + (copy-recursively "html" (string-append doc-dir "/html"))) + (for-each (lambda (f) + (install-file f doc-dir) + (delete-file f)) + doc-files) + (delete-file-recursively "doc") + #t)))))) (home-page "https://github.com/joaotavora/sly") (synopsis "Sylvester the Cat's Common Lisp IDE") (description @@ -6931,13 +6962,13 @@ contains the following improvements over it: @enumerate @item Completely redesigned REPL based on Emacs's own full-featured - @code{comint.el} -@item Live code annotations via a new @code{sly-stickers} contrib + @code{comint.el}. +@item Live code annotations via a new @code{sly-stickers} contrib. @item Consistent interactive button interface. Everything can be copied to the REPL. -@item Multiple inspectors with independent history -@item Regexp-capable @code{M-x sly-apropos} -@item Contribs are first class SLY citizens and enabled by default +@item Multiple inspectors with independent history. +@item Regexp-capable @code{M-x sly-apropos}. +@item Contribs are first class SLY citizens and enabled by default. @item Use ASDF to loads contribs on demand. @end enumerate -- cgit v1.2.3 From 4dfb02690d007b8ec723e8071b85791688c7854c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 12 Oct 2019 19:56:45 +0200 Subject: gnu: Add emacs-sly-quicklisp. * gnu/packages/emacs-xyz.scm (emacs-sly-quicklisp): New variable. --- gnu/packages/emacs-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a3f56b34ed..85e8dd28f7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6976,6 +6976,38 @@ SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector, xref, etc...) are still available, but with better integration.") (license license:gpl3+)))) +(define-public emacs-sly-quicklisp + (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c") + (revision "1")) + (package + (name "emacs-sly-quicklisp") + (version (git-version "0.0.0" revision commit)) + (home-page "https://github.com/joaotavora/sly-quicklisp") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-sly" ,emacs-sly))) + (arguments + `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) + #:phases + ;; The package provides autoloads. + (modify-phases %standard-phases + (delete 'make-autoloads)))) + (synopsis "Quicklisp support for SLY") + (description + "@command{sly-quicklisp} is an external contrib for SLY that provides a +sly-quickload command that prompts the user for a package to install. ") + (license license:gpl3+)))) + (define-public emacs-lua-mode (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") (revision "2")) -- cgit v1.2.3 From b51c402f23e77a17c564a035887e55b61ef7aecf Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 12 Oct 2019 21:01:14 +0200 Subject: gnu: Add emacs-sly-asdf. * gnu/packages/emacs-xyz.scm (emacs-sly-asdf): New variable. --- gnu/packages/emacs-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 85e8dd28f7..fbeca8022c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7008,6 +7008,43 @@ xref, etc...) are still available, but with better integration.") sly-quickload command that prompts the user for a package to install. ") (license license:gpl3+)))) +(define-public emacs-sly-asdf + (let ((commit "355739e42c91b9b2339f84453292b938b6d17b0d") + (revision "1")) + (package + (name "emacs-sly-asdf") + (version (git-version "0.1.0" revision commit)) + (home-page "https://github.com/mmgeorge/sly-asdf") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1plkqh4dj35c3cf8ykan8fcvqmxcdqragh4j6xg0sls27mjjz1bq")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-sly" ,emacs-sly))) + (arguments + `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-autoload + ;; TODO: Reported upstream: https://github.com/mmgeorge/sly-asdf/pull/11 + (lambda _ + (substitute* "sly-asdf.el" + (("\\(add-to-list 'sly-contribs 'sly-asdf 'append\\)") + "(with-eval-after-load 'sly + (add-to-list 'sly-contribs 'sly-asdf 'append))"))))))) + (synopsis "ASDF contrib for SLY") + (description + "@command{sly-asdf} is an external contrib for SLY that provides +additional support for working with ASDF projects.") + (license license:gpl3+)))) + (define-public emacs-lua-mode (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") (revision "2")) -- cgit v1.2.3 From 20e015733361033667a730e09af94939aef8873a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 12:48:26 +0200 Subject: gnu: parted: Complete the 3.3 update. Fixes . Reported by Jesse Gibbons . This is a follow-up to commit 6ad7e3578b6ec924ceddabc908decdab8e453eca. * gnu/packages/patches/parted-glibc-compat.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/disk.scm (parted)[source](patches): Remove. [native-inputs]: Add E2FSPROGS. --- gnu/local.mk | 1 - gnu/packages/disk.scm | 2 +- gnu/packages/patches/parted-glibc-compat.patch | 17 ----------------- 3 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 gnu/packages/patches/parted-glibc-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0a4ee7c986..912e9c67e3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1187,7 +1187,6 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-CVE-2016-9296.patch \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ - %D%/packages/patches/parted-glibc-compat.patch \ %D%/packages/patches/patchelf-page-size.patch \ %D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchutils-test-perms.patch \ diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index eb3934155f..c00df73a22 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -83,7 +83,6 @@ (method url-fetch) (uri (string-append "mirror://gnu/parted/parted-" version ".tar.xz")) - (patches (search-patches "parted-glibc-compat.patch")) (sha256 (base32 "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp")))) @@ -105,6 +104,7 @@ (native-inputs `(("gettext" ,gettext-minimal) ;; For the tests. + ("e2fsprogs" ,e2fsprogs) ("perl" ,perl) ("python" ,python-2))) (home-page "https://www.gnu.org/software/parted/") diff --git a/gnu/packages/patches/parted-glibc-compat.patch b/gnu/packages/patches/parted-glibc-compat.patch deleted file mode 100644 index edf4afb0d1..0000000000 --- a/gnu/packages/patches/parted-glibc-compat.patch +++ /dev/null @@ -1,17 +0,0 @@ -Include for "major" and "minor". - -Taken from upstream: -https://git.savannah.gnu.org/cgit/parted.git/commit/?id=ba5e0451b51c983e40afd123b6e0d3eddb55e610 - -diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 31b98ab..7e86b51 100644 ---- a/libparted/arch/linux.c -+++ b/libparted/arch/linux.c -@@ -41,6 +41,7 @@ - #include /* for uname() */ - #include - #include -+#include - #ifdef ENABLE_DEVICE_MAPPER - #include - #endif -- cgit v1.2.3 From bd321df37abb4a2d32c7223ffafd8fa46cc64114 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 12:49:15 +0200 Subject: gnu: parted: End phases on #t. * gnu/packages/disk.scm (parted)[arguments]: End phase on #t and reindent. --- gnu/packages/disk.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c00df73a22..8421682924 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -90,13 +90,13 @@ (arguments `(#:phases (modify-phases %standard-phases - (add-after - 'unpack 'fix-locales-and-python - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "tests/t0251-gpt-unicode.sh" - (("C.UTF-8") "en_US.utf8")) ;not in Glibc locales - (substitute* "tests/msdos-overlap" - (("/usr/bin/python") (which "python")))))))) + (add-after 'unpack 'fix-locales-and-python + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/t0251-gpt-unicode.sh" + (("C.UTF-8") "en_US.utf8")) ;not in Glibc locales + (substitute* "tests/msdos-overlap" + (("/usr/bin/python") (which "python"))) + #t))))) (inputs `(("lvm2" ,lvm2) ("readline" ,readline) -- cgit v1.2.3 From b5f6700fb454edad46e84cc46edb3654e42b5172 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 12 Oct 2019 22:29:18 +0100 Subject: gnu: id3lib: Apply patch for UTF16 writing bug. * gnu/packages/patches/id3lib-UTF16-writing-bug.patch: New file. * gnu/packages/mp3.scm (id3lib)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Danny Milosavljevic --- gnu/local.mk | 1 + gnu/packages/mp3.scm | 5 +-- .../patches/id3lib-UTF16-writing-bug.patch | 39 ++++++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/id3lib-UTF16-writing-bug.patch diff --git a/gnu/local.mk b/gnu/local.mk index 912e9c67e3..3caaec4046 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -975,6 +975,7 @@ dist_patch_DATA = \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ + %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/ilmbase-openexr-pkg-config.patch \ %D%/packages/patches/inkscape-poppler-0.76.patch \ diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index a218071edb..9a1cf60c2e 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Thomas Danckaert -;;; Copyright © 2017 Pierre Langlois +;;; Copyright © 2017, 2019 Pierre Langlois ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -123,7 +123,8 @@ versions of ID3v2.") (modules '((guix build utils))) ;; Don't use bundled zlib (snippet '(begin (delete-file-recursively "zlib") #t)) - (patches (search-patches "id3lib-CVE-2007-4460.patch")))) + (patches (search-patches "id3lib-CVE-2007-4460.patch" + "id3lib-UTF16-writing-bug.patch")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (arguments diff --git a/gnu/packages/patches/id3lib-UTF16-writing-bug.patch b/gnu/packages/patches/id3lib-UTF16-writing-bug.patch new file mode 100644 index 0000000000..4a8f69b321 --- /dev/null +++ b/gnu/packages/patches/id3lib-UTF16-writing-bug.patch @@ -0,0 +1,39 @@ +diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog +--- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100 ++++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100 +@@ -1,3 +1,8 @@ ++2006-02-17 Jerome Couderc ++ ++ * Patch from Spoon to fix UTF-16 writing bug ++ http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 ++ + 2003-03-02 Sunday 17:38 Thijmen Klok + + * THANKS (1.20): added more people +diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp +--- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100 ++++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100 +@@ -363,11 +363,22 @@ + // Write the BOM: 0xFEFF + unicode_t BOM = 0xFEFF; + writer.writeChars((const unsigned char*) &BOM, 2); ++ // Patch from Spoon : 2004-08-25 14:17 ++ // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 ++ // Wrong code ++ //for (size_t i = 0; i < size; i += 2) ++ //{ ++ // unicode_t ch = (data[i] << 8) | data[i+1]; ++ // writer.writeChars((const unsigned char*) &ch, 2); ++ //} ++ // Right code ++ unsigned char *pdata = (unsigned char *) data.c_str(); + for (size_t i = 0; i < size; i += 2) + { +- unicode_t ch = (data[i] << 8) | data[i+1]; ++ unicode_t ch = (pdata[i] << 8) | pdata[i+1]; + writer.writeChars((const unsigned char*) &ch, 2); + } ++ // End patch + } + return writer.getCur() - beg; + } -- cgit v1.2.3 From 55af64560543409789b4ab61d9bf4c2457e8a3ac Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 12 Oct 2019 22:30:08 +0100 Subject: gnu: easytag: Fix mp3 support. * gnu/packages/music.scm (easytag)[arguments]: Add 'Name', 'Description' and 'Version' entries to temporary id3tag.pc pkg-config file. Terminate phases with #t. Signed-off-by: Danny Milosavljevic --- gnu/packages/music.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ac4333168c..4c74ae5ffa 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Rodger Fox ;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou -;;; Copyright © 2017, 2018 Pierre Langlois +;;; Copyright © 2017, 2018, 2019 Pierre Langlois ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 nee @@ -593,12 +593,17 @@ enable professional yet simple and intuitive pattern-based drum programming.") "prefix=~@*~a~@ libdir=${prefix}/lib~@ includedir=${prefix}/include~@ + + Name: libid3tag~@ + Description:~@ + Version:~@ Libs: -L${libdir} -lid3tag -lz~@ Cflags: -I${includedir}~%" libid3tag))) (setenv "PKG_CONFIG_PATH" (string-append (getenv "PKG_CONFIG_PATH") - ":" (getcwd) "/pkgconfig"))))) + ":" (getcwd) "/pkgconfig")) + #t))) (add-after 'unpack 'patch-makefile (lambda _ (substitute* "Makefile.in" @@ -606,7 +611,8 @@ enable professional yet simple and intuitive pattern-based drum programming.") ;; script with /bin/sh hard-coded. (("/bin/sh") (which "sh")) ;; Don't create 'icon-theme.cache'. - (("gtk-update-icon-cache") "true"))))))) + (("gtk-update-icon-cache") "true")) + #t))))) (home-page "https://wiki.gnome.org/Apps/EasyTAG") (synopsis "Simple application for viewing and editing tags in audio files") (description -- cgit v1.2.3 From 0163b9002ab6fac5f2fc470e2d3baf6a188ccfc7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 7 Oct 2019 23:29:07 -0500 Subject: gnu: Add pragha. * gnu/packages/music.scm (pragha): New variable. --- gnu/packages/music.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 4c74ae5ffa..66ff861dc3 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014, 2019 Eric Bavier ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2016 Al McElrath @@ -4628,3 +4628,52 @@ easier to perform. Features include: @item Adjust tempo; Playback speed of loops can be adjusted on the fly. @end itemize\n") (license license:gpl2)))) + +(define-public pragha + (package + (name "pragha") + (version "1.3.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/pragha-music-player/pragha/" + "releases/download/v" version "/pragha-" version + ".tar.bz2")) + (sha256 + (base32 + "19kbhq99bkimx3aqrdzln0vlr4slkpx6kq66j731jvqyq76nlkp5")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("grilo" ,grilo) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gtk+" ,gtk+) + ("libcddb" ,libcddb) + ("libcdio" ,libcdio) + ("libcdio-paranoia" ,libcdio-paranoia) + ("libgudev" ,libgudev) + ("libnotify" ,libnotify) + ("libpeas" ,libpeas) + ("libsoup" ,libsoup) + ("sqlite" ,sqlite) + ("taglib" ,taglib))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/pragha") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))) + #t)))))) + (home-page "https://pragha-music-player.github.io") + (synopsis "Music player") + (description "Pragha is a lightweight music player based on Gtk and +sqlite. It is constructed to be fast, light, and simultaneously tries to be +complete without obstructing your daily work.") + (license license:gpl3+))) -- cgit v1.2.3 From a4a70cc4d75666ce5b29d934016fdcc463db3e5b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 17:23:28 +0200 Subject: gnu: util-linux: Adjust indentation. * gnu/packages/linux.scm (util-linux): Re-indent. --- gnu/packages/linux.scm | 79 ++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 41 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index bc39757da2..6cfe47f90c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1090,7 +1090,7 @@ providing the system administrator with some help in common tasks.") #t)))) (build-system gnu-build-system) (outputs '("out" - "static")) ; >2 MiB of static .a libraries + "static")) ;>2 MiB of static .a libraries (arguments `(#:configure-flags (list "--disable-use-tty-group" "--enable-fs-paths-default=/run/current-system/profile/sbin" @@ -1102,45 +1102,42 @@ providing the system administrator with some help in common tasks.") (assoc-ref %outputs "out") "/etc/bash_completion.d")) #:phases (modify-phases %standard-phases - (add-before - 'build 'set-umount-file-name - (lambda* (#:key outputs #:allow-other-keys) - ;; Tell 'eject' the right file name of 'umount'. - (let ((out (assoc-ref outputs "out"))) - (substitute* "sys-utils/eject.c" - (("\"/bin/umount\"") - (string-append "\"" out "/bin/umount\""))) - #t))) - (add-before - 'check 'pre-check - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (net (assoc-ref inputs "net-base"))) - ;; Change the test to refer to the right file. - (substitute* "tests/ts/misc/mcookie" - (("/etc/services") - (string-append net "/etc/services"))) - #t))) - (add-after - 'install 'move-static-libraries - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (static (assoc-ref outputs "static"))) - (mkdir-p (string-append static "/lib")) - (with-directory-excursion out - (for-each (lambda (file) - (rename-file file - (string-append static "/" - file))) - (find-files "lib" "\\.a$")) - - ;; Remove references to the static library from the '.la' - ;; files so that Libtool does the right thing when both - ;; the shared and static library is available. - (substitute* (find-files "lib" "\\.la$") - (("old_library=.*") "old_library=''\n"))) - - #t)))))) + (add-before 'build 'set-umount-file-name + (lambda* (#:key outputs #:allow-other-keys) + ;; Tell 'eject' the right file name of 'umount'. + (let ((out (assoc-ref outputs "out"))) + (substitute* "sys-utils/eject.c" + (("\"/bin/umount\"") + (string-append "\"" out "/bin/umount\""))) + #t))) + (add-before 'check 'pre-check + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (net (assoc-ref inputs "net-base"))) + ;; Change the test to refer to the right file. + (substitute* "tests/ts/misc/mcookie" + (("/etc/services") + (string-append net "/etc/services"))) + #t))) + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (with-directory-excursion out + (for-each (lambda (file) + (rename-file file + (string-append static "/" + file))) + (find-files "lib" "\\.a$")) + + ;; Remove references to the static library from the '.la' + ;; files so that Libtool does the right thing when both + ;; the shared and static library is available. + (substitute* (find-files "lib" "\\.la$") + (("old_library=.*") "old_library=''\n"))) + + #t)))))) (inputs `(("zlib" ,zlib) ("ncurses" ,ncurses) @@ -1150,7 +1147,7 @@ providing the system administrator with some help in common tasks.") '()))) (native-inputs `(("perl" ,perl) - ("net-base" ,net-base))) ;for tests + ("net-base" ,net-base))) ;for tests (home-page "https://www.kernel.org/pub/linux/utils/util-linux/") (synopsis "Collection of utilities for the Linux kernel") (description "Util-linux is a diverse collection of Linux kernel -- cgit v1.2.3 From 068d0a1c345104983a9b43f5e2cf4f7e70ab3c07 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 17:41:58 +0200 Subject: gnu: tcl: Update home page. * gnu/packages/tcl.scm (tcl)[home-page]: Use HTTPS. --- gnu/packages/tcl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 21ca185066..1e4aa13cc9 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -81,7 +81,7 @@ ;; likely related to name resolution), but that doesn't cause ;; `make' to fail. #:test-target "test")) - (home-page "http://www.tcl.tk/") + (home-page "https://www.tcl.tk/") (synopsis "The Tcl scripting language") (description "The Tcl (Tool Command Language) scripting language.") (license license:tcl/tk))) -- cgit v1.2.3 From c7adcb7cf8c20fed954bfa3897f56cdca34a0f8a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 17:53:51 +0200 Subject: gnu: ao: Specify CPE name. * gnu/packages/xiph.scm (ao)[properties]: New field. --- gnu/packages/xiph.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index bac6ac0d4d..ab41219feb 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -230,6 +230,7 @@ It currently supports: @end enumerate ") (license license:gpl2+) + (properties '((cpe-name . "libao"))) (home-page "https://www.xiph.org/ao/"))) (define flac -- cgit v1.2.3 From c2734ff80987de8f0bb3e31d4339e5496a9821d2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 18:00:11 +0200 Subject: gnu: ao: Update to 1.2.2-5-g20dc8ed [fixes CVE-2017-11548]. * gnu/packages/xiph.scm (ao): Update to 1.2.2-5-g20dc8ed. [source]: Switch to GIT-FETCH. [native-inputs]: Add AUTOCONF, AUTOMAKE and LIBTOOL. --- gnu/packages/xiph.scm | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index ab41219feb..51719a2b4f 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015, 2016, 2017, 2019 Efraim Flashner -;;; Copyright © 2017, 2018 Marius Bakke +;;; Copyright © 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari ;;; @@ -27,6 +27,7 @@ (define-module (gnu packages xiph) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -41,6 +42,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:export (libogg libvorbis @@ -185,15 +187,17 @@ work from the @code{speex} codec.") (define ao (package (name "ao") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://downloads.xiph.org/releases/ao/libao-" - version ".tar.gz")) - (sha256 - (base32 - "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83")))) + ;; We need a few commits on top of 1.2.2 to fix CVE-2017-11548. + (version "1.2.2-5-g20dc8ed") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.xiph.org/libao.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d1b3g2a7jd43c32242yq6nfysqsmp7rjslhvbrmpgk119l5fnbj")))) (build-system gnu-build-system) ;; FIXME: Add further backends, see the summary printed after configure. ;; XXX: Should back-ends be pushed to different outputs? For instance, @@ -203,7 +207,10 @@ work from the @code{speex} codec.") `(("alsa-lib" ,alsa-lib) ("pulseaudio" ,pulseaudio))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (synopsis "Cross platform audio library") (description "Libao is a cross-platform audio library that allows programs to -- cgit v1.2.3 From fd82f7ae9b4b008b4fc856a929717a11bf0e2667 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 14 Aug 2019 23:12:48 +0300 Subject: gnu: emacs-magit: Update to 2.90.1-2.c761d28. * gnu/packages/emacs-xyz.scm (emacs-magit): Update to 2.90.1-2.c761d28. [arguments]: Add patch phase. --- gnu/packages/emacs-xyz.scm | 52 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index fbeca8022c..6533682b37 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -265,21 +265,28 @@ on stdout instead of using a socket as the Emacsclient does.") (license license:gpl3+))) (define-public emacs-magit - ;; Version 2.90.1 has trouble loading the transient library, - ;; so we use a more recent commit that fixes it. - (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94")) + ;; `magit-setup-buffer' macro introduced in c761d28d and required in + ;; `emacs-forge'. + (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770")) (package (name "emacs-magit") - (version (git-version "2.90.1" "1" commit)) + (version (git-version "2.90.1" "2" commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/magit/magit") + (url "https://github.com/magit/magit.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv")))) + "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix syntax error + (substitute* "lisp/magit-extras.el" + (("rev\\)\\)\\)\\)\\)\\)") "rev)))))")) + #t)))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) @@ -318,6 +325,39 @@ on stdout instead of using a socket as the Emacsclient does.") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (chmod "lisp/magit-extras.el" #o644) + (emacs-batch-edit-file "lisp/magit-extras.el" + `(progn (progn + (goto-char (point-min)) + (re-search-forward "(defun magit-copy-buffer-revision ()") + (forward-sexp 2) + (kill-sexp) + (insert ,(format #f "~S" + '(if (use-region-p) + (copy-region-as-kill nil nil 'region) + (when-let ((rev (cl-case major-mode + ((magit-cherry-mode + magit-log-select-mode + magit-reflog-mode + magit-refs-mode + magit-revision-mode + magit-stash-mode + magit-stashes-mode) + (car magit-refresh-args)) + ((magit-diff-mode magit-log-mode) + (let ((r (caar magit-refresh-args))) + (if (string-match "\\.\\.\\.?\\(.+\\)" r) + (match-string 1 r) + r))) + (magit-status-mode "HEAD")))) + (when (magit-commit-p rev) + (setq rev (magit-rev-parse rev)) + (push (list rev default-directory) magit-revision-stack) + (kill-new (message "%s" rev)))))))) + (basic-save-buffer))) + #t)) (delete 'configure) (add-before 'build 'patch-exec-paths -- cgit v1.2.3 From 2485f1725614cab0d15bef3738ad89cf1b6e91a4 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 14 Aug 2019 08:04:20 +0200 Subject: gnu: emacs-ghub: Update to 3.2.0-1.cf0b13a. * gnu/packages/emacs-xyz.scm (emacs-ghub): Update to 3.2.0-1.cf0b13a. Signed-off-by: Oleg Pykhalov --- gnu/packages/emacs-xyz.scm | 62 ++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6533682b37..a2e09bead9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -564,39 +564,41 @@ deliver data to mobile and web apps.") (license license:gpl3+))) (define-public emacs-ghub - (package - (name "emacs-ghub") - (version "3.2.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/ghub") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda _ - (invoke "make" "info")))))) - (native-inputs - `(("texinfo" ,texinfo))) - (propagated-inputs - `(("dash" ,emacs-dash) - ("graphql" ,emacs-graphql) - ("treepy" ,emacs-treepy))) - (home-page "https://github.com/magit/ghub") - (synopsis "Emacs client libraries for the APIs of various Git forges") - (description - "Ghub provides basic support for using the APIs of various Git forges from + ;; We need a newer commit to avoid problems in emacs-forge. + (let ((commit "cf0b13aeba4df3798e49c205cac2d8fefd53a137") + (revision "1")) + (package + (name "emacs-ghub") + (version (git-version "3.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/ghub") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fzayvcysk80vv4q332axcjf80x6gsnpcbl0svmpb017ii6wxhid")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (invoke "make" "info")))))) + (native-inputs + `(("texinfo" ,texinfo))) + (propagated-inputs + `(("dash" ,emacs-dash) + ("treepy" ,emacs-treepy))) + (home-page "https://github.com/magit/ghub") + (synopsis "Emacs client libraries for the APIs of various Git forges") + (description + "Ghub provides basic support for using the APIs of various Git forges from Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab, Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a handful of functions that are not resource-specific.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-scribble-mode (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2") -- cgit v1.2.3 From 735a972eaee88a693557e1b2a6cdb3fcba9c6b68 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sat, 5 Oct 2019 20:42:48 +0300 Subject: gnu: emacs-closql: Update to 1.0.0-1.70b98db. * gnu/packages/emacs-xyz.scm (emacs-closql): Update to 1.0.0-1.70b98db. --- gnu/packages/emacs-xyz.scm | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a2e09bead9..060259e2e1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11503,31 +11503,33 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.") (license license:gpl3+))) (define-public emacs-closql - (package - (name "emacs-closql") - (version "1.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacscollective/closql.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-emacsql" ,emacs-emacsql))) - (home-page "https://github.com/emacscollective/closql") - (synopsis "Store EIEIO objects using EmacSQL") - (description - "This package allows to store uniform EIEIO objects in an EmacSQL + ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3. + (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef")) + (package + (name "emacs-closql") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacscollective/closql.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-emacsql" ,emacs-emacsql))) + (home-page "https://github.com/emacscollective/closql") + (synopsis "Store EIEIO objects using EmacSQL") + (description + "This package allows to store uniform EIEIO objects in an EmacSQL database. SQLite is used as backend. This library imposes some restrictions on what kind of objects can be stored; it isn't intended to store arbitrary objects. All objects have to share a common superclass and subclasses cannot add any additional instance slots.") - (license license:gpl3))) + (license license:gpl3)))) (define-public emacs-epkg ;; The release version is to old for the current database scheme. -- cgit v1.2.3 From 0475c88d6f751eac63a928e3a4fd367f2251eb89 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sat, 10 Aug 2019 19:17:12 +0300 Subject: gnu: Add emacs-forge. * gnu/packages/emacs-xyz.scm (emacs-forge): New variable. --- gnu/packages/emacs-xyz.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 060259e2e1..4f0f262f93 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17295,6 +17295,85 @@ command\", but because it always involves at least two commands (a prefix and a suffix) we prefer to call it just a \"transient\".") (license license:gpl3+)))) +(define-public emacs-forge + (let ((commit "a6721c071226ae8da6852e9330f2bdcba92a4577")) + (package + (name "emacs-forge") + (version (git-version "0.1.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/forge.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gzr1di29a9szkzm6kjznq7c8md71cm5761pznf08nmmk63dl3zm")))) + (build-system gnu-build-system) + (native-inputs + `(("texinfo" ,texinfo) + ("emacs" ,emacs-minimal))) + (propagated-inputs + `(("emacs-closql" ,emacs-closql) + ("emacs-dash" ,emacs-dash) + ("emacs-emacsql-sqlite" ,emacs-emacsql) + ("emacs-ghub" ,emacs-ghub) + ("emacs-let-alist" ,emacs-let-alist) + ("emacs-magit" ,emacs-magit) + ("emacs-markdown-mode" ,emacs-markdown-mode) + ("emacs-transient" ,emacs-transient))) + (arguments + `(#:tests? #f ;no tests + #:modules ((srfi srfi-26) + (guix build gnu-build-system) + ((guix build emacs-build-system) #:prefix emacs:) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'install) + (add-after 'unpack 'delete-doc-targets + (lambda _ + (substitute* "./Makefile" + (("lisp docs") "lisp")))) + (add-after 'delete-doc-targets 'emacs-set-emacs-load-path + (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) + (add-after 'emacs-set-emacs-load-path 'chdir-lisp + (lambda _ + (chdir "lisp"))) + (add-after 'chdir-lisp 'emacs-install + (assoc-ref emacs:%standard-phases 'install)) + (add-after 'emacs-install 'emacs-make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads)) + (add-after 'build 'install-elc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (el-dir (string-append + out "/share/emacs/site-lisp/guix.d/forge-" + ,version))) + (for-each (cut install-file <> el-dir) + (find-files "." "\\.elc")) + #t))) + (add-after 'install-elc 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (with-directory-excursion "../docs" + (invoke "makeinfo" "forge.texi") + (install-file "forge.info" info) + #t))))))) + (home-page "https://github.com/magit/ghub/") + (synopsis "Access Git forges from Magit") + (description + "Work with Git forges, such as Github and Gitlab, from the comfort of +Magit and the rest of Emacs.") + (license license:gpl3+)))) + (define-public emacs-matcha (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9")) (package -- cgit v1.2.3 From d6718086f8904c72eb97a8c274cd156a9c08072a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 20:50:18 +0200 Subject: gnu: OpenSSL@1.0: Replace with 1.0.2t [fixes CVE-2019-1547, CVE-2019-1563]. * gnu/packages/tls.scm (openssl-1.0.2t): New variable. (openssl-1.0)[replacement]: New field. --- gnu/packages/tls.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index c45767c1b3..2def6ee703 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -392,6 +392,7 @@ required structures.") (inherit openssl) (name "openssl") (version "1.0.2s") + (replacement openssl-1.0.2t) (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -473,6 +474,27 @@ required structures.") ,version "/misc")) #t))))))))) +(define openssl-1.0.2t + (package + (inherit openssl) + (version "1.0.2t") + (source (origin + (inherit (package-source openssl-1.0)) + (uri (list (string-append "https://www.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/" + "openssl-" version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/old/" + (string-trim-right version char-set:letter) + "/openssl-" version ".tar.gz"))) + (sha256 + (base32 + "1g67ra0ph7gpz6fgvv1i96d792jmd6ymci5kk53vbikszr74djql")))) + (arguments + (substitute-keyword-arguments (package-arguments openssl-1.0) + ;; Parallel build is not supported in 1.0.x. + ((#:parallel-build? _ #f) #f))))) + (define-public libressl (package (name "libressl") -- cgit v1.2.3 From cb867883ea5cfc56dd7fe5bc6c29fda491d374c2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 20:50:47 +0200 Subject: gnu: nghttp2: Replace with 1.39.2 [fixes CVE-2019-9511, CVE-2019-9513]. * gnu/packages/web.scm (nghttp2-1.39.2): New variable. (nghttp2)[replacement]: New field. --- gnu/packages/web.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7b0bb915ca..728fb6046c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6530,6 +6530,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (package (name "nghttp2") (version "1.39.1") + (replacement nghttp2-1.39.2) (source (origin (method url-fetch) @@ -6607,6 +6608,19 @@ compressed JSON header blocks. @end itemize\n") (license license:expat))) +(define nghttp2-1.39.2 + (package + (inherit nghttp2) + (version "1.39.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/nghttp2/nghttp2/" + "releases/download/v" version "/" + "nghttp2-" version ".tar.xz")) + (sha256 + (base32 + "12yfsjghbaypp4w964d45ih9vs38g6anih80wbsflaxx192idlm2")))))) + (define-public hpcguix-web (let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508") (revision "4")) -- cgit v1.2.3 From 046915dead530a0a7918063739e8ac0de5cd5890 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 20:51:17 +0200 Subject: gnu: curl: Replace with 7.66.0 [fixes CVE-2019-5481, CVE-2019-5482]. * gnu/packages/curl.scm (curl-7.66.0): New variable. (curl)[replacement]: New field. --- gnu/packages/curl.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 5e1e7eb400..aa5d24c401 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2016, 2017, 2019 Leo Famulari -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2019 Marius Bakke ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Roel Janssen @@ -51,6 +51,7 @@ (package (name "curl") (version "7.65.3") + (replacement curl-7.66.0) (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" @@ -142,6 +143,18 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) +(define curl-7.66.0 + (package + (inherit curl) + (version "7.66.0") + (source (origin + (method url-fetch) + (uri (string-append "https://curl.haxx.se/download/curl-" + version ".tar.xz")) + (sha256 + (base32 + "1hcqxpibhknhjy56wcxz5vd6m9ggx3ykwp3wp5wx05ih36481d6v")))))) + (define-public kurly (package (name "kurly") -- cgit v1.2.3 From 24496210ea55bb1a573dcb80f4aa4bd13b861f1d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 21:02:08 +0200 Subject: gnu: libgcrypt: Replace with 1.8.5 [fixes CVE-2019-13627]. * gnu/packages/gnupg.scm (libgcrypt-1.8.5): New variable. (libgcrypt)[replacement]: New field. --- gnu/packages/gnupg.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 4ee7ed6634..06e5f6782f 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Petter ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018, 2019 Marius Bakke ;;; Copyright © 2018 Björn Höfling ;;; ;;; This file is part of GNU Guix. @@ -111,6 +111,7 @@ Daemon and possibly more in the future.") (package (name "libgcrypt") (version "1.8.4") + (replacement libgcrypt-1.8.5) (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" @@ -143,6 +144,18 @@ generation.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgcrypt"))))) +(define-public libgcrypt-1.8.5 + (package + (inherit libgcrypt) + (version "1.8.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" + version ".tar.bz2")) + (sha256 + (base32 + "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv")))))) + (define-public libassuan (package (name "libassuan") -- cgit v1.2.3 From e436379c9412cf1550a6c977a5ede1aa4b8a1e04 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 21:06:53 +0200 Subject: gnu: expat: Replace with 2.2.9 [fixes CVE-2019-15903]. * gnu/packages/xml.scm (expat-2.2.9): New variable. (expat)[replacement]: New field. --- gnu/packages/xml.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 54dc92f3f2..59f30116a3 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2016, 2017, 2018 Marius Bakke +;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2017 Gregor Giesen ;;; Copyright © 2017 Alex Vong @@ -67,6 +67,7 @@ (package (name "expat") (version "2.2.7") + (replacement expat-2.2.9) (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) (origin (method url-fetch) @@ -88,6 +89,23 @@ stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).") (license license:expat))) +(define expat-2.2.9 + (package + (inherit expat) + (version "2.2.9") + (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) + (origin + (method url-fetch) + (uri (list (string-append "mirror://sourceforge/expat/expat/" + version "/expat-" version ".tar.xz") + (string-append + "https://github.com/libexpat/libexpat/releases/download/R_" + (string-map dot->underscore version) + "/expat-" version ".tar.xz"))) + (sha256 + (base32 + "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy"))))))) + (define-public libebml (package (name "libebml") -- cgit v1.2.3 From 64855281c18bab87a61c77a18c9001e6e222fb08 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 13 Oct 2019 21:18:19 +0200 Subject: gnu: librsvg: Update to 2.46.0. * gnu/packages/gnome.scm (librsvg-next): Update to 2.46.0. [arguments]: Patch SHELL in "po/Makefile.in.in". [native-inputs]: Replace RUST-1.27 with RUST-1.34. --- gnu/packages/gnome.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index aeec3dbcfb..7f16b17499 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1397,7 +1397,7 @@ library.") (define-public librsvg-next (package (name "librsvg") - (version "2.44.12") + (version "2.46.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1405,7 +1405,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "1h3qnqhr0l7pd2bxg69ki6ckl4srdwgr471dpp4jq9i4784hp0v6")))) + "1la3az2af2ccm6rp86b6wh0kq7kxzl4n8pli5qxhyic1rd91xj4n")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1423,6 +1423,7 @@ library.") (lambda _ (for-each patch-shebang '("tap-driver.sh" "tap-test")) (patch-/usr/bin/file "configure") + (patch-makefile-SHELL "po/Makefile.in.in") #t)) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) @@ -1460,9 +1461,9 @@ library.") #t))))) (native-inputs `(("pkg-config" ,pkg-config) - ;; This is the minimum supported Rust version in Librsvg 2.44. - ("rust" ,rust-1.27) - ("cargo" ,rust-1.27 "cargo") + ;; This is the minimum supported Rust version in Librsvg 2.46. + ("rust" ,rust-1.34) + ("cargo" ,rust-1.34 "cargo") ("vala" ,vala) ("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. -- cgit v1.2.3