summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-07-02 22:45:33 +0200
committerLudovic Courtès <ludo@gnu.org>2017-07-02 22:52:30 +0200
commit1b0f266e40aead09be95a984bd9c6cec3dff397e (patch)
tree0076be5d4f4fc82114dc27deb5433f5587126266 /gnu
parent61f81618a87ce4fc3b93c3ac3fa7aa2f148c1ed8 (diff)
gnu: Switch guile-cairo and dependents to Guile 2.2 again.
Fixes <https://bugs.gnu.org/27551>. Reported by Leo Famulari <leo@famulari.name>. This reinstates the following commits: e3ddb1e83 * gnu: guile-cairo: Switch to Guile 2.2. ae5c6ef39 * gnu: guile-gnome: Update to 2.16.5. 0fd8013fc * gnu: guile-rsvg: Update to commit 05c6a2fd. 66b9183c4 * gnu: guile-lib: Switch to Guile 2.2. and adds the following changes: * gnu/bootloader/grub.scm (svg->png): Add 'package->derivation' call for GUILE-2.2. Pass #:guile-for-build to 'gexp->derivation'. * gnu/build/svg.scm (svg->png): Add 'em' and 'ex' to the 'let-values' form to account for all the values returned by 'rsvg-handle-get-dimensions', which Guile 2.2 does not truncate.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader/grub.scm35
-rw-r--r--gnu/build/svg.scm4
-rw-r--r--gnu/packages/gtk.scm94
-rw-r--r--gnu/packages/guile.scm9
-rw-r--r--gnu/packages/patches/guile-rsvg-pkgconfig.patch2
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/skribilo.scm2
7 files changed, 83 insertions, 67 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index f1cc3324db9..880491c9832 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -34,6 +34,7 @@
34 #:autoload (gnu packages bootloaders) (grub) 34 #:autoload (gnu packages bootloaders) (grub)
35 #:autoload (gnu packages compression) (gzip) 35 #:autoload (gnu packages compression) (gzip)
36 #:autoload (gnu packages gtk) (guile-cairo guile-rsvg) 36 #:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
37 #:autoload (gnu packages guile) (guile-2.2)
37 #:use-module (ice-9 match) 38 #:use-module (ice-9 match)
38 #:use-module (ice-9 regex) 39 #:use-module (ice-9 regex)
39 #:use-module (srfi srfi-1) 40 #:use-module (srfi srfi-1)
@@ -118,21 +119,25 @@ otherwise."
118 119
119(define* (svg->png svg #:key width height) 120(define* (svg->png svg #:key width height)
120 "Build a PNG of HEIGHT x WIDTH from SVG." 121 "Build a PNG of HEIGHT x WIDTH from SVG."
121 (gexp->derivation "grub-image.png" 122 ;; Note: Guile-RSVG & co. are now built for Guile 2.2, so we use 2.2 here.
122 (with-imported-modules '((gnu build svg)) 123 ;; TODO: Remove #:guile-for-build when 2.2 has become the default.
123 #~(begin 124 (mlet %store-monad ((guile (package->derivation guile-2.2 #:graft? #f)))
124 ;; We need these two libraries. 125 (gexp->derivation "grub-image.png"
125 (add-to-load-path (string-append #+guile-rsvg 126 (with-imported-modules '((gnu build svg))
126 "/share/guile/site/" 127 #~(begin
127 (effective-version))) 128 ;; We need these two libraries.
128 (add-to-load-path (string-append #+guile-cairo 129 (add-to-load-path (string-append #+guile-rsvg
129 "/share/guile/site/" 130 "/share/guile/site/"
130 (effective-version))) 131 (effective-version)))
131 132 (add-to-load-path (string-append #+guile-cairo
132 (use-modules (gnu build svg)) 133 "/share/guile/site/"
133 (svg->png #+svg #$output 134 (effective-version)))
134 #:width #$width 135
135 #:height #$height))))) 136 (use-modules (gnu build svg))
137 (svg->png #+svg #$output
138 #:width #$width
139 #:height #$height)))
140 #:guile-for-build guile)))
136 141
137(define* (grub-background-image config #:key (width 1024) (height 768)) 142(define* (grub-background-image config #:key (width 1024) (height 768))
138 "Return the GRUB background image defined in CONFIG with a ratio of 143 "Return the GRUB background image defined in CONFIG with a ratio of
diff --git a/gnu/build/svg.scm b/gnu/build/svg.scm
index f7e92a1a199..b5474ec4a09 100644
--- a/gnu/build/svg.scm
+++ b/gnu/build/svg.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> 3;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
4;;; 4;;;
5;;; This file is part of GNU Guix. 5;;; This file is part of GNU Guix.
@@ -50,7 +50,7 @@ dimensions of IN-SVG."
50 (define svg 50 (define svg
51 (rsvg-handle-new-from-file in-svg)) 51 (rsvg-handle-new-from-file in-svg))
52 52
53 (let-values (((origin-width origin-height) 53 (let-values (((origin-width origin-height em ex)
54 (rsvg-handle-get-dimensions svg))) 54 (rsvg-handle-get-dimensions svg)))
55 (let* ((surf (cairo-image-surface-create 'argb32 55 (let* ((surf (cairo-image-surface-create 'argb32
56 origin-width origin-height)) 56 origin-width origin-height))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1d9ee15246f..d5b472049d8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -795,7 +795,7 @@ application suites.")
795 (inputs 795 (inputs
796 `(("guile-lib" ,guile-lib) 796 `(("guile-lib" ,guile-lib)
797 ("expat" ,expat) 797 ("expat" ,expat)
798 ("guile" ,guile-2.0))) 798 ("guile" ,guile-2.2)))
799 (propagated-inputs 799 (propagated-inputs
800 ;; The .pc file refers to 'cairo'. 800 ;; The .pc file refers to 'cairo'.
801 `(("cairo" ,cairo))) 801 `(("cairo" ,cairo)))
@@ -813,43 +813,49 @@ exceptions, macros, and a dynamic programming environment.")
813 (license license:lgpl3+))) 813 (license license:lgpl3+)))
814 814
815(define-public guile-rsvg 815(define-public guile-rsvg
816 (package 816 ;; Use a recent snapshot that supports Guile 2.2 and beyond.
817 (name "guile-rsvg") 817 (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678")
818 (version "2.18.1") 818 (revision "0"))
819 (source (origin 819 (package
820 (method url-fetch) 820 (name "guile-rsvg")
821 (uri (string-append "http://wingolog.org/pub/guile-rsvg/" 821 (version (string-append "2.18.1-" revision "."
822 name "-" version ".tar.gz")) 822 (string-take commit 7)))
823 (sha256 823 (source (origin
824 (base32 824 (method url-fetch)
825 "136f236iw3yrrz6pkkp1ma9c5mrs5icqha6pnawinqpk892r3jh7")) 825 (uri (string-append "https://gitlab.com/wingo/guile-rsvg/"
826 (patches (search-patches "guile-rsvg-pkgconfig.patch")) 826 "repository/archive.tar.gz?ref="
827 (modules '((guix build utils))) 827 commit))
828 (snippet 828 (sha256
829 '(substitute* (find-files "." "Makefile\\.am") 829 (base32
830 (("/share/guile/site") 830 "0vdzjx8l5nc4y2xjqs0g1rqn1zrwfsm30brh5gz00r1x41a2pvv2"))
831 "/share/guile/site/2.0"))))) 831 (patches (search-patches "guile-rsvg-pkgconfig.patch"))
832 (build-system gnu-build-system) 832 (modules '((guix build utils)))
833 (arguments 833 (snippet
834 `(#:phases (modify-phases %standard-phases 834 '(substitute* (find-files "." "Makefile\\.am")
835 (add-before 'configure 'bootstrap 835 (("/share/guile/site")
836 (lambda _ 836 "/share/guile/site/@GUILE_EFFECTIVE_VERSION@")))
837 (zero? (system* "autoreconf" "-vfi"))))))) 837 (file-name (string-append name "-" version ".tar.gz"))))
838 (native-inputs `(("pkg-config" ,pkg-config) 838 (build-system gnu-build-system)
839 ("autoconf" ,autoconf) 839 (arguments
840 ("automake" ,automake) 840 `(#:phases (modify-phases %standard-phases
841 ("libtool" ,libtool) 841 (add-before 'configure 'bootstrap
842 ("texinfo" ,texinfo))) 842 (lambda _
843 (inputs `(("guile" ,guile-2.0) 843 (zero? (system* "autoreconf" "-vfi")))))))
844 ("librsvg" ,librsvg) 844 (native-inputs `(("pkg-config" ,pkg-config)
845 ("guile-lib" ,guile-lib))) ;for (unit-test) 845 ("autoconf" ,autoconf)
846 (propagated-inputs `(("guile-cairo" ,guile-cairo))) 846 ("automake" ,automake)
847 (synopsis "Render SVG images using Cairo from Guile") 847 ("libtool" ,libtool)
848 (description 848 ("texinfo" ,texinfo)))
849 "Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG 849 (inputs `(("guile" ,guile-2.2)
850 ("librsvg" ,librsvg)
851 ("guile-lib" ,guile-lib))) ;for (unit-test)
852 (propagated-inputs `(("guile-cairo" ,guile-cairo)))
853 (synopsis "Render SVG images using Cairo from Guile")
854 (description
855 "Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG
850images onto Cairo surfaces.") 856images onto Cairo surfaces.")
851 (home-page "http://wingolog.org/projects/guile-rsvg/") 857 (home-page "http://wingolog.org/projects/guile-rsvg/")
852 (license license:lgpl2.1+))) 858 (license license:lgpl2.1+))))
853 859
854(define-public guile-present 860(define-public guile-present
855 (package 861 (package
@@ -883,7 +889,7 @@ images onto Cairo surfaces.")
883 out "/share/guile/site/2.0 "))))) 889 out "/share/guile/site/2.0 ")))))
884 %standard-phases))) 890 %standard-phases)))
885 (native-inputs `(("pkg-config" ,pkg-config))) 891 (native-inputs `(("pkg-config" ,pkg-config)))
886 (inputs `(("guile" ,guile-2.0))) 892 (inputs `(("guile" ,guile-2.2)))
887 (propagated-inputs 893 (propagated-inputs
888 ;; These are used by the (present …) modules. 894 ;; These are used by the (present …) modules.
889 `(("guile-lib" ,guile-lib) 895 `(("guile-lib" ,guile-lib)
@@ -902,7 +908,7 @@ documents.")
902(define-public guile-gnome 908(define-public guile-gnome
903 (package 909 (package
904 (name "guile-gnome") 910 (name "guile-gnome")
905 (version "2.16.4") 911 (version "2.16.5")
906 (source (origin 912 (source (origin
907 (method url-fetch) 913 (method url-fetch)
908 (uri 914 (uri
@@ -911,7 +917,7 @@ documents.")
911 version ".tar.gz")) 917 version ".tar.gz"))
912 (sha256 918 (sha256
913 (base32 919 (base32
914 "1hqnqbb2lmr3hgbcv9kds1himn3av6h0lkk0zll8agcrsn7d9axd")))) 920 "1gnf3j96nip5kl99a268i0dy1hj7s1cfs66sps3zwysnkd7qr399"))))
915 (build-system gnu-build-system) 921 (build-system gnu-build-system)
916 (native-inputs 922 (native-inputs
917 `(("pkg-config" ,pkg-config) 923 `(("pkg-config" ,pkg-config)
@@ -930,7 +936,7 @@ documents.")
930 ("pango" ,pango) 936 ("pango" ,pango)
931 ("libffi" ,libffi) 937 ("libffi" ,libffi)
932 ("glib" ,glib))) 938 ("glib" ,glib)))
933 (inputs `(("guile" ,guile-2.0))) 939 (inputs `(("guile" ,guile-2.2)))
934 (propagated-inputs 940 (propagated-inputs
935 `(("guile-cairo" ,guile-cairo) 941 `(("guile-cairo" ,guile-cairo)
936 ("g-wrap" ,g-wrap) 942 ("g-wrap" ,g-wrap)
@@ -943,7 +949,7 @@ documents.")
943 (let ((out (assoc-ref outputs "out"))) 949 (let ((out (assoc-ref outputs "out")))
944 (substitute* (find-files "." "^Makefile.in$") 950 (substitute* (find-files "." "^Makefile.in$")
945 (("guilesite :=.*guile/site" all) 951 (("guilesite :=.*guile/site" all)
946 (string-append all "/2.0"))) 952 (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
947 #t)))))) 953 #t))))))
948 (outputs '("out" "debug")) 954 (outputs '("out" "debug"))
949 (synopsis "Guile interface for GTK+ programming for GNOME") 955 (synopsis "Guile interface for GTK+ programming for GNOME")
@@ -951,7 +957,9 @@ documents.")
951 "Includes guile-clutter, guile-gnome-gstreamer, 957 "Includes guile-clutter, guile-gnome-gstreamer,
952guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.") 958guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
953 (home-page "https://www.gnu.org/software/guile-gnome/") 959 (home-page "https://www.gnu.org/software/guile-gnome/")
954 (license license:gpl2+))) 960 (license license:gpl2+)
961 (properties '((upstream-name . "guile-gnome-platform")
962 (ftp-directory . "/gnu/guile-gnome/guile-gnome-platform")))))
955 963
956;;; 964;;;
957;;; C++ bindings. 965;;; C++ bindings.
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 7f6d15515c2..6bff343429a 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -624,7 +624,7 @@ format is also supported.")
624 ("gettext" ,gettext-minimal) 624 ("gettext" ,gettext-minimal)
625 ("pkg-config" ,pkg-config))) 625 ("pkg-config" ,pkg-config)))
626 (inputs `(("guile" ,guile-2.0) ("which" ,which))) 626 (inputs `(("guile" ,guile-2.0) ("which" ,which)))
627 (propagated-inputs `(("guile-lib" ,guile-lib))) 627 (propagated-inputs `(("guile-lib" ,guile2.0-lib)))
628 (home-page "https://github.com/artyom-poptsov/guile-ics") 628 (home-page "https://github.com/artyom-poptsov/guile-ics")
629 (synopsis "Guile parser library for the iCalendar format") 629 (synopsis "Guile parser library for the iCalendar format")
630 (description 630 (description
@@ -661,7 +661,7 @@ The library is shipped with documentation in Info format and usage examples.")
661$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) 661$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
662 #t))))) 662 #t)))))
663 (native-inputs `(("pkg-config" ,pkg-config))) 663 (native-inputs `(("pkg-config" ,pkg-config)))
664 (inputs `(("guile" ,guile-2.0))) 664 (inputs `(("guile" ,guile-2.2)))
665 (home-page "http://www.nongnu.org/guile-lib/") 665 (home-page "http://www.nongnu.org/guile-lib/")
666 (synopsis "Collection of useful Guile Scheme modules") 666 (synopsis "Collection of useful Guile Scheme modules")
667 (description 667 (description
@@ -675,8 +675,11 @@ for Guile\".")
675 ;; details. 675 ;; details.
676 (license license:gpl3+))) 676 (license license:gpl3+)))
677 677
678(define-public guile2.0-lib
679 (package-for-guile-2.0 guile-lib))
680
678(define-public guile2.2-lib 681(define-public guile2.2-lib
679 (package-for-guile-2.2 guile-lib)) 682 (deprecated-package "guile2.2-lib" guile-lib))
680 683
681(define-public guile-json 684(define-public guile-json
682 (package 685 (package
diff --git a/gnu/packages/patches/guile-rsvg-pkgconfig.patch b/gnu/packages/patches/guile-rsvg-pkgconfig.patch
index 2272b4e1cd0..51483a3472a 100644
--- a/gnu/packages/patches/guile-rsvg-pkgconfig.patch
+++ b/gnu/packages/patches/guile-rsvg-pkgconfig.patch
@@ -9,7 +9,7 @@ and LDFLAGS for Guile would not be captured.
9 9
10+dnl The above macro fails to set the 'GUILE_CFLAGS' and 'GUILE_LIBS' 10+dnl The above macro fails to set the 'GUILE_CFLAGS' and 'GUILE_LIBS'
11+dnl substitution variables, hence this line. 11+dnl substitution variables, hence this line.
12+PKG_CHECK_MODULES(GUILE, guile-2.0) 12+PKG_CHECK_MODULES(GUILE, guile-$GUILE_EFFECTIVE_VERSION)
13+ 13+
14 PKG_CHECK_MODULES(GUILE_CAIRO, guile-cairo >= 1.4.0) 14 PKG_CHECK_MODULES(GUILE_CAIRO, guile-cairo >= 1.4.0)
15 AC_SUBST(GUILE_CAIRO_LIBS) 15 AC_SUBST(GUILE_CAIRO_LIBS)
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index f94d56992e9..482ae1b8628 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> 3;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
4;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> 4;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
5;;; 5;;;
@@ -100,7 +100,7 @@ scientific data.")
100 "godir = $(moddir)\n")))))) 100 "godir = $(moddir)\n"))))))
101 (build-system gnu-build-system) 101 (build-system gnu-build-system)
102 (native-inputs `(("pkg-config" ,pkg-config))) 102 (native-inputs `(("pkg-config" ,pkg-config)))
103 (inputs `(("guile" ,guile-2.0))) 103 (inputs `(("guile" ,guile-2.2)))
104 (propagated-inputs `(("guile-cairo" ,guile-cairo))) 104 (propagated-inputs `(("guile-cairo" ,guile-cairo)))
105 (home-page "http://wingolog.org/software/guile-charting/") 105 (home-page "http://wingolog.org/software/guile-charting/")
106 (synopsis "Create charts and graphs in Guile") 106 (synopsis "Create charts and graphs in Guile")
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index 78b4806c8c3..458d91e5695 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -74,7 +74,7 @@
74 ;; The 'skribilo' command needs them, and for people using Skribilo as a 74 ;; The 'skribilo' command needs them, and for people using Skribilo as a
75 ;; library, these inputs are needed as well. 75 ;; library, these inputs are needed as well.
76 (propagated-inputs `(("guile-reader" ,guile2.0-reader) 76 (propagated-inputs `(("guile-reader" ,guile2.0-reader)
77 ("guile-lib" ,guile-lib))) 77 ("guile-lib" ,guile2.0-lib)))
78 78
79 (home-page "http://www.nongnu.org/skribilo/") 79 (home-page "http://www.nongnu.org/skribilo/")
80 (synopsis "Document production tool written in Guile Scheme") 80 (synopsis "Document production tool written in Guile Scheme")