Re: [PATCH] gnu: Add gnome-calendar.
Kei Yamashita writes: > From 29033622d9490d299d2409b73f9e21862ca939ec Mon Sep 17 00:00:00 2001 > From: Kei Yamashita > Date: Tue, 10 May 2016 00:16:46 -0400 > Subject: [PATCH] gnu: Add gnome-calendar. Thank you! > +(define-public gnome-calendar > + (package > +(name "gnome-calendar") > +(version "3.18.3") About 32 hours ago we merged the 'gnome-updates' branch, which brought us GNOME 3.20. Would you like to update this package to 3.20.2? Mark
Re: [PATCH] gnu: Add Chez-Scheme.
On Sat, May 14, 2016 at 4:51 AM, Leo Famulari wrote: > On Fri, May 13, 2016 at 10:44:28PM +0200, Andreas Enge wrote: >> Hi Fede, >> >> just a tiny comment, as I do not have more time right now: >> >> On Fri, May 13, 2016 at 09:03:25PM +0200, Federico Beffa wrote: >> > There is no official release yet, so I took a snapshot of the git >> > repo. We can switch later. >> > +(define-public chez-scheme >> > + (package >> > +(name "chez-scheme") >> > +(version "20160512.41d94b07") >> >> Did we not decide on a convention that was "previous version + git commit", >> something like "0.0.0-41d94b07", so that the version numbers will increase >> with the next (or first) release and upgrades will be smooth? > > Yes, the manual describes it in 7.6.3 Version Numbers: > > https://www.gnu.org/software/guix/manual/guix.html#Version-Numbers Officially this is version 9.4 and I suppose the coming release will have that number. I will then use 9.3-1.41d94b07 so that going to 9.4 will be seen as an upgrade. Regards, Fede
Re: [PATCH] gnu: Add Chez-Scheme.
On Sat, May 14, 2016 at 9:28 AM, Federico Beffa wrote: > On Sat, May 14, 2016 at 4:51 AM, Leo Famulari wrote: >> On Fri, May 13, 2016 at 10:44:28PM +0200, Andreas Enge wrote: >>> Hi Fede, >>> >>> just a tiny comment, as I do not have more time right now: >>> >>> On Fri, May 13, 2016 at 09:03:25PM +0200, Federico Beffa wrote: >>> > There is no official release yet, so I took a snapshot of the git >>> > repo. We can switch later. >>> > +(define-public chez-scheme >>> > + (package >>> > +(name "chez-scheme") >>> > +(version "20160512.41d94b07") >>> >>> Did we not decide on a convention that was "previous version + git commit", >>> something like "0.0.0-41d94b07", so that the version numbers will increase >>> with the next (or first) release and upgrades will be smooth? >> >> Yes, the manual describes it in 7.6.3 Version Numbers: >> >> https://www.gnu.org/software/guix/manual/guix.html#Version-Numbers > > Officially this is version 9.4 and I suppose the coming release will > have that number. I will then use 9.3-1.41d94b07 so that going to 9.4 > will be seen as an upgrade. Well, the new release has just appeared :-) So I will switch to it immediately. Regards, Fede
FIXUP: [PATCH 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.
Jan Nieuwenhuizen writes: Fix for ./pre-inst-env guix build --target=mips64el-linux-gnuabi64 hello attached. Adds srfi-26 to glibc for cut. As Andy suggested I will be factoring-out the for-each (setenv) CROSS_* stanzas but I'm still experimenting with that, with cross-libtool and the whole lilypond stack. Greetings, Jan >From 0361374c4469b1e9b573668a6020b19e7abfbfe2 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 14 May 2016 10:13:21 +0200 Subject: [PATCH] gnu: cross-base: Add srfi-26 for glibc. Fixes glibc-based cross builds. * gnu/packages/cross-base.scm (glibc): Add (srfi srfi-26) to (arguments --- gnu/packages/cross-base.scm | 5 + 1 file changed, 5 insertions(+) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 73ac76a..7ed4ae4 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -323,6 +323,11 @@ XBINUTILS and the cross tool chain." ;; itself. #:implicit-cross-inputs? #f + ;; We need cut from srfi-26 + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + ,@(package-arguments glibc)) ((#:configure-flags flags) `(cons ,(string-append "--host=" target) -- 2.7.3 -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
Re: [PATCH] gnu: Add Chez-Scheme.
On Sat, May 14, 2016 at 09:55:01AM +0200, Federico Beffa wrote: > > Officially this is version 9.4 and I suppose the coming release will > > have that number. I will then use 9.3-1.41d94b07 so that going to 9.4 > > will be seen as an upgrade. > Well, the new release has just appeared :-) So I will switch to it > immediately. :-) Andreas
[PATCH] gnu: Add SBC.
* gnu/packages/linux.scm (sbc): New variable. --- gnu/packages/linux.scm | 24 1 file changed, 24 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index aa778be..7c5ca6a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016 Raymond Nicholson ;;; Copyright © 2016 Mathieu Lirzin +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -2385,6 +2386,29 @@ system calls, important for the performance of databases and other advanced applications.") (license license:lgpl2.1+))) +(define-public sbc + (package +(name "sbc") +(version "1.3") +(source (origin + (method url-fetch) + (uri (string-append "https://www.kernel.org/pub/linux/bluetooth/"; + name "-" version ".tar.xz")) + (sha256 + (base32 +"02ckd2z51z0h85qgv7x8vv8ybp5czm9if1z78411j53gaz7j4476" +(build-system gnu-build-system) +(inputs + `(("libsndfile" ,libsndfile))) +(native-inputs + `(("pkg-config" ,pkg-config))) +(home-page "https://www.kernel.org/pub/linux/bluetooth/";) +(synopsis "Bluetooth subband audio codec") +(description + "The SBC is a digital audio encoder and decoder used to transfer data to +Bluetooth audio output devices like headphones or loudspeakers.") +(license license:gpl2+))) + (define-public bluez (package (name "bluez") -- 2.7.3
[PATCH] Add Bluetooth support to Pulseaudio.
Hello Guix, this patch adds Bluetooth support to pulseaudio. (Since bluez5 there is no native support for the ALSA backend any more.) This adds very little to the pulseaudio closure as you can see below. Note that this depends on the previous patch adding SBC. More than 100 packages would need to be rebuilt. Among those are big packages like GNOME, Blender, and conkeror. Should I push this to core-updates then? Without Bluetooth support: store item totalself /gnu/store/0r8ppfz6nlgfllnqkdllc7a7p9dkw8ql-pulseaudio-8.0 153.8 7.7 5.0% /gnu/store/ls0g4gd1mrky3zgf6nw2khxkvjpqsvh7-avahi-0.6.31 113.0 2.4 1.5% /gnu/store/m5hvapdxh6l8sr4b7mp23hb96csqmp4y-eudev-3.1.5 96.9 7.0 4.5% /gnu/store/66nq87yz0syphfzay4x5w810jpf5dl5n-util-linux-2.27 88.5 10.2 6.6% /gnu/store/lbkdykh3aa1469li01rwyya02q50r3b9-glib-2.46.1 86.0 13.2 8.6% /gnu/store/vhl6a5harxz1pxjnkvqrm3f5fhygcx6k-fftwf-3.3.4 75.9 3.6 2.3% /gnu/store/ndf679ac3g9kjfqika5fr73wg6zrdrnr-kmod-17 74.1 0.3 0.2% /gnu/store/z8vgpay1q450ndgil902xxxz5mq0b1qr-xz-5.2.273.4 1.1 0.7% /gnu/store/dafbdv4drmyc40gia6hhin9n1s4aj0m6-dbus-1.10.0 73.2 1.7 1.1% /gnu/store/7cdd8s466qyjh64m0byq0rz9gk1jid40-bash-4.3.42 72.3 4.7 3.1% /gnu/store/xqzmjw2b2j5i9pmkjmnjp3dm7hdiqln0-libx11-1.6.370.9 4.9 3.2% /gnu/store/jvxkis7gibms9x5irnvwha0a7x0zrsbi-libsndfile-1.0.26 68.0 1.8 1.2% /gnu/store/p7kjmkfsax6qgz2ihh2wiicxmd0mydhz-readline-6.367.6 1.2 0.8% /gnu/store/xadbq6k36aphlx0haxxzym3xmd5r1rp8-ncurses-6.0 66.4 5.7 3.7% /gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11 65.9 5.0 3.3% /gnu/store/xr9p87kwcdgcxb0la74d7ichrshykz14-libvorbis-1.3.5 64.0 2.8 1.8% /gnu/store/ryy53w510l3ppw3a0lspzqxbdkyg2li2-flac-1.3.1 63.4 2.2 1.5% /gnu/store/pv2xg14lgghxfpl7jhirc7dp0m3172js-alsa-lib-1.0.27.1 62.7 2.0 1.3% /gnu/store/sn3rchx4zcf55jc1388rq96z731ivk9w-speex-1.2rc162.2 1.0 0.7% /gnu/store/w7vb2skc8q5wjcfbya0qba7nj83pl6z4-expat-2.1.0 61.3 0.6 0.4% /gnu/store/84d0xnz6jjwl0bj7hlywpc7vckjg66kr-gdbm-1.11 61.2 0.5 0.3% /gnu/store/8a2fncbkp9m8yq1xd1995i31c6b063f0-libogg-1.3.261.2 0.5 0.3% /gnu/store/zvm9rk007dd6r7rzy0ykjggpi5rjrr56-libcap-2.24 61.1 0.1 0.1% /gnu/store/hsxhfmjgh8m4c0pavq3gd3gcrn8zrgxj-zlib-1.2.8 61.1 0.4 0.2% /gnu/store/rpwnky5cppw0j9qbapajin7k7n3fn1jj-attr-2.4.47 61.0 0.2 0.2% /gnu/store/j45119cdl7r92z41bfkfnlv91waidf8k-json-c-0.12 60.9 0.2 0.1% /gnu/store/zhrhrs1myalxjppwjyn2971l6gld22rp-libxdmcp-1.1.2 60.9 0.2 0.1% /gnu/store/557i3227wv6h8rj2zrc5vr4rmh0zgi6i-libffi-3.2.160.8 0.1 0.1% /gnu/store/rs3cww7dqv9x5zhbs87f0nvkzx8h3dn3-libltdl-2.4.6 60.8 0.1 0.1% /gnu/store/g9jbnfywqq0v0mkkb3313r0z9p0kar4b-libdaemon-0.14 60.8 0.1 0.1% /gnu/store/c56bqxg9clybrmsgj0nk1z5n425cgfas-libxau-1.0.860.8 0.0 0.0% /gnu/store/v39bh3ln3ncnzhyw0kd12d46kww9747v-gcc-4.9.3-lib 60.7 22.9 14.9% /gnu/store/b1yqjimbdh5bf9jnizd4h7yf110744j2-bash-4.3.42 49.5 4.7 3.1% /gnu/store/0wy21msm26sdgg1jdnvinbz7hgpz7cjm-readline-6.344.8 1.2 0.8% /gnu/store/aj3jaf7jln8yfzy9k96mn01fnmjnyx0g-ncurses-6.0 43.6 5.7 3.7% /gnu/store/8m00x5x8ykmar27s9248cmhnkdb2n54a-glibc-2.22 37.9 36.5 23.7% /gnu/store/5y72ql4zbnbd50lf88k91k0y766kq75x-bash-static-4.3.42 1.4 1.4 0.9% With Bluetooth support: store item totalself /gnu/store/qzrc629zic2l99qlxpbq15icxzwxwvp6-pulseaudio-8.0 154.5 8.0 5.2% /gnu/store/ls0g4gd1mrky3zgf6nw2khxkvjpqsvh7-avahi-0.6.31 113.0 2.4 1.5% /gnu/store/m5hvapdxh6l8sr4b7mp23hb96csqmp4y-eudev-3.1.5 96.9 7.0 4.5% /gnu/store/66nq87yz0syphfzay4x5w810jpf5dl5n-util-linux-2.27 88.5 10.2 6.6% /gnu/store/lbkdykh3aa1469li01rwyya02q50r3b9-glib-2.46.1 86.0 13.2 8.5% /gnu/store/vhl6a5harxz1pxjnkvqrm3f5fhygcx6k-fftwf-3.3.4 75.9 3.6 2.3% /gnu/store/ndf679ac3g9kjfqika5fr73wg6zrdrnr-kmod-17 74.1 0.3 0.2% /gnu/store/z8vgpay1q450ndgil902xxxz5mq0b1qr-xz-5.2.273.4 1.1 0.7% /gnu/store/dafbdv4drmyc40gia6hhin9n1s4aj0m6-dbus-1.10.0 73.2 1.7 1.1% /gnu/store/7cdd8s466qyjh64m0byq0rz9gk1jid40-bash-4.3.42 72.3 4.7 3.0% /gnu/store/xqzmjw2b2j5i9pmkjmnjp3dm7hdiqln0-libx11-1.6.370.9 4.9 3.2% /gnu/store/jvxkis7gibms9x5irnvwha0a7x0zrsbi-libsndfile-1.0.26 68.0 1.8 1.1% /g
[PATCH] gnu: pulseaudio: Enable support for Bluetooth.
* gnu/packages/pulseaudio.scm (pulseaudio)[arguments]: Add "--enable-bluez5" to configure flags. [inputs]: Add "bluez" and "sbc". --- gnu/packages/pulseaudio.scm | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index b2b0508..2d97539 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -138,6 +139,7 @@ rates.") (arguments `(#:configure-flags (list "--localstatedir=/var" ;"--sysconfdir=/etc" "--disable-oss-output" + "--enable-bluez5" (string-append "--with-udev-rules-dir=" (assoc-ref %outputs "out") "/lib/udev/rules.d")) @@ -153,8 +155,9 @@ rates.") %standard-phases))) (inputs ;; TODO: Add optional inputs (GTK+?). - `(;; ("sbc" ,sbc) - ("alsa-lib" ,alsa-lib) + `(("alsa-lib" ,alsa-lib) + ("bluez" ,bluez) + ("sbc" ,sbc) ("json-c" ,json-c) ("speex" ,speex) ("libsndfile" ,libsndfile) -- 2.7.3
Re: [PATCH 2/2] gnu: netpbm: Fix location of X color name database.
Federico Beffa (2016-05-13 21:44 +0300) wrote: > On Fri, May 13, 2016 at 7:10 PM, Andreas Enge wrote: >> Hello, >> >> On Fri, May 13, 2016 at 06:51:27PM +0200, Federico Beffa wrote: >>> This fixes some of the provided programs like, e.g. 'pamtogif'. >> >> I think the common practice is to separate the switch to the %modify-phases >> syntax and the real change into two commits; right now, the diff looks big, >> but I imagine it must be rather trivial. > > Indeed the change is trivial. > > Regards, > Fede > > From be37669b50c000ad45eb85075f32d4f23c26489d Mon Sep 17 00:00:00 2001 > From: Federico Beffa > Date: Fri, 13 May 2016 15:32:49 +0200 > Subject: [PATCH 2/3] gnu: netpbm: Use 'modify-phases' syntax. > > * gnu/packages/netpbm.scm (netpbm)[arguments]: Do it. > --- > gnu/packages/netpbm.scm | 86 > - > 1 file changed, 42 insertions(+), 44 deletions(-) > > diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm > index 475635e..d7d8576 100644 > --- a/gnu/packages/netpbm.scm > +++ b/gnu/packages/netpbm.scm > @@ -99,50 +99,48 @@ > ("python" ,python-wrapper))) > (arguments > `(#:phases > - (alist-replace > - 'configure > - (lambda _ > -(copy-file "config.mk.in" "config.mk") > -(chmod "config.mk" #o664) > -(let ((f (open-file "config.mk" "a"))) > - (display "CC=gcc\n" f) > - (display "CFLAGS_SHLIB += -fPIC\n" f) > - (display "TIFFLIB = libtiff.so\n" f) > - (display "JPEGLIB = libjpeg.so\n" f) > - (display "ZLIB = libz.so\n" f) > - (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f) > - (close-port f))) > - (alist-cons-before > - 'check 'setup-check > - (lambda _ > - ;; install temporarily into /tmp/netpbm > - (system* "make" "package") > - ;; remove test requiring X > - (substitute* "test/all-in-place.test" (("pamx") "")) > - ;; do not worry about non-existing file > - (substitute* "test/all-in-place.test" (("^rm ") "rm -f ")) > - ;; remove four tests that fail for unknown reasons > - (substitute* "test/Test-Order" > - (("all-in-place.test") "") > - (("pnmpsnr.test") "") > - (("pnmremap1.test") "") > - (("gif-roundtrip.test") ""))) > - (alist-replace > - 'install > - (lambda* (#:key outputs make-flags #:allow-other-keys) > -(let ((out (assoc-ref outputs "out"))) > - (apply system* "make" "package" > -(string-append "pkgdir=" out) make-flags) > - ;; copy static library > - (copy-file (string-append out "/link/libnetpbm.a") > -(string-append out "/lib/libnetpbm.a")) > - ;; remove superfluous folders and files > - (system* "rm" "-r" (string-append out "/link")) > - (system* "rm" "-r" (string-append out "/misc")) > - (with-directory-excursion out > - (for-each delete-file > - '("config_template" "pkginfo" "README" "VERSION") > - %standard-phases) > + (modify-phases %standard-phases > + (replace 'configure > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (copy-file "config.mk.in" "config.mk") > + (chmod "config.mk" #o664) > + (let ((f (open-file "config.mk" "a"))) > + (display "CC=gcc\n" f) > + (display "CFLAGS_SHLIB += -fPIC\n" f) > + (display "TIFFLIB = libtiff.so\n" f) > + (display "JPEGLIB = libjpeg.so\n" f) > + (display "ZLIB = libz.so\n" f) > + (display (string-append "LDFLAGS += -Wl,-rpath=" %output > "/lib") f) > + (close-port f > + (add-before 'check 'setup-check > + (lambda _ > + ;; install temporarily into /tmp/netpbm > + (system* "make" "package") > + ;; remove test requiring X > + (substitute* "test/all-in-place.test" (("pamx") "")) > + ;; do not worry about non-existing file > + (substitute* "test/all-in-place.test" (("^rm ") "rm -f ")) > + ;; remove four tests that fail for unknown reasons > + (substitute* "test/Test-Order" > + (("all-in-place.test") "") > + (("pnmpsnr.test") "") > + (("pnmremap1.test") "") > + (("gif-roundtrip.test") "" > + (replace 'install > + (lambda* (#:key outputs make-flags #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (apply system* "make" "package" > +(string-append "pkgdir=" out) make-flags) > + ;; copy static library > + (copy-file (string-append out "/link/libnetpbm.a") > +(string-append out "/lib/libnetpbm.a")) > + ;; remove superfluous folders and files > + (system* "
Re: [PATCH] Add Bluetooth support to Pulseaudio.
Ricardo Wurmus (2016-05-14 12:43 +0300) wrote: > Hello Guix, > > this patch adds Bluetooth support to pulseaudio. (Since bluez5 there > is no native support for the ALSA backend any more.) This adds very > little to the pulseaudio closure as you can see below. > > Note that this depends on the previous patch adding SBC. > > More than 100 packages would need to be rebuilt. Among those are big > packages like GNOME, Blender, and conkeror. Should I push this to > core-updates then? Conkeror is not the big one; it's a rather small wrapper around icecat (in our case). I don't know why "guix refresh -l pulseaudio" shows conkeror and not icecat, but icecat is a really big and important one, so I think it's better to commit this to core-updates, indeed. Although ISTR Ludovic told that core-updates is only for the real core packages (that rebuild the whole world). BTW do you still have problems with using guix repo through ssh? I do, I mean I can't push or fetch. And as I see that other people commit to the guix repo, I begin to think that it's only me who have this problem. -- Alex
[PATCH] envstore-2.1
Good day all, Submitting patch for envstore-2.1. Let me know if I need to make any changes. >From 8de06b6e26d9e1eb7bb7ef6df163f54a46db3d89 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Thu, 12 May 2016 14:57:34 -0400 Subject: [PATCH] gnu: Added envstore package. * gnu/package/enstore.scm: New file. --- gnu/packages/envstore.scm | 42 ++ 1 file changed, 42 insertions(+) create mode 100644 gnu/packages/envstore.scm diff --git a/gnu/packages/envstore.scm b/gnu/packages/envstore.scm new file mode 100644 index 000..e3ec99d --- /dev/null +++ b/gnu/packages/envstore.scm @@ -0,0 +1,42 @@ +(define-module (gnu packages envstore) + #:use-module (guix) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix licenses)) + +(define-public envstore + (package +(name "envstore") +(version "2.1") +(source + (origin + (method url-fetch) + (uri (string-append "https://github.com/derf/"; name "/archive/" + version ".tar.gz")) + (sha256 +(base32 "097yd6w0fql8a3xh0gmz8bf40w61j4893rp8c28rngrrk80bk9a8" +(build-system gnu-build-system) +(arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (setenv "CC" (which "gcc")) + (system* "make"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "PREFIX" "/") + (setenv "DESTDIR" out) + (system* "make" "install"))) +(home-page "https://finalrewind.org/projects/envstore/";) +(synopsis "Save and restore environment variables") +(description "Envstore is a program for sharing environment variables +between various shells or commands.") +(license + (non-copyleft "http://www.wtfpl.net/txt/copying/"; -- 2.7.4 Sincerely, -- Matthew Jordan Sent with my mu4e
Re: [PATCH] Add Bluetooth support to Pulseaudio.
> BTW do you still have problems with using guix repo through ssh? I do, > I mean I can't push or fetch. And as I see that other people commit to > the guix repo, I begin to think that it's only me who have this problem. > FWIW, I can't pull either, not even for url = git://git.sv.gnu.org/guix.git $ git pull fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
Re: [PATCH 0/1] libarchive: Fix CVE-2016-1541
Okay from me as well. Thank you Manolis
Re: FIXUP: [PATCH 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.
Jan Nieuwenhuizen skribis: > From 0361374c4469b1e9b573668a6020b19e7abfbfe2 Mon Sep 17 00:00:00 2001 > From: Jan Nieuwenhuizen > Date: Sat, 14 May 2016 10:13:21 +0200 > Subject: [PATCH] gnu: cross-base: Add srfi-26 for glibc. Fixes glibc-based > cross builds. > > * gnu/packages/cross-base.scm (glibc): Add (srfi srfi-26) to (arguments Thanks for your quick response, applied with an adjusted commit log. I concur with Mark: this is a very sensitive area that takes time to test and adjust, which is the main reason why it takes me so much time to review and such ;-), so we want to make sure we don’t break it. In the future, please make sure to test individual patches with the known-good *-linux-gnu targets. Thanks! Ludo’.
Re: Publishing an Official Statement on Self-Hosted Compilers
Hi! Alex Griffin skribis: > I've put my initial notes in a git repository > [here](https://gitlab.com/ajgrf/bootstrapping-compilers/blob/master/notes.org). > They are in a very rough state, but mostly everything is there in some > form. If anyone has any thoughts please let me know! I like it. :-) I think the bit about the “trusting trust” attack should go under “The Problem”. Specifically, I would suggest expounding on the software freedom bit (the fact that users must be provided with the Corresponding Source), and the reproducibility bit (allow people to build from source and to ensure the binaries correspond to the source), and then on security (“trusting trust”.) WDYT? We should then discuss it with the repro-builds folks, and probably contact a bunch of compiler writers to get initial feedback. Thanks, Ludo’. PS: I would suggest wrapping lines in notes.org, which would make it easier to read IMO, and also facilitate patch handling.
Re: Publishing an Official Statement on Self-Hosted Compilers
Hi! Alex Griffin skribis: > I've put my initial notes in a git repository > [here](https://gitlab.com/ajgrf/bootstrapping-compilers/blob/master/notes.org). > They are in a very rough state, but mostly everything is there in some > form. If anyone has any thoughts please let me know! I like it. :-) I think the bit about the “trusting trust” attack should go under “The Problem”. Specifically, I would suggest expounding on the software freedom bit (the fact that users must be provided with the Corresponding Source), and the reproducibility bit (allow people to build from source and to ensure the binaries correspond to the source), and then on security (“trusting trust”.) WDYT? We should then discuss it with the repro-builds folks, and probably contact a bunch of compiler writers to get initial feedback. Thanks, Ludo’. PS: I would suggest wrapping lines in notes.org, which would make it easier to read IMO, and also facilitate patch handling.
Re: [PATCH 02/11] gnu: cross-build: i686-w64-mingw32: new cross target.
Andy Wingo writes: >> + (system* "tar" "xf" mingw-source) >> + (copy-file (string-append mingw-headers >> "/crt/_mingw.h.in") >> + (string-append mingw-headers >> "/crt/_mingw.h")) >> + (substitute* (string-append mingw-headers >> "/crt/_mingw.h") >> + (("@MINGW_HAS_SECURE_API@") "#define >> MINGW_HAS_SECURE_API 1")) > > What's this last bit about? You would think that GCC's configure was > meant to handle this. It could be the right thing but a comment is > necessary. I have added these comments ;; libc is false, so we are building xgcc-sans-libc ;; Add essential headers from mingw-w64. (let ((mingw-source (assoc-ref inputs "mingw-source")) (mingw-headers (string-append (getcwd) "/mingw-w64-v5.0-rc2/mingw-w64-headers"))) (system* "tar" "xf" mingw-source) ;; We need _mingw.h which will gets built from ;; _mingw.h.in by mingw-w64's configure. We cannot ;; configure mingw-w64 until we have ;; xgcc-sans-libc; substitute to the rescue. (copy-file (string-append mingw-headers "/crt/_mingw.h.in") (string-append mingw-headers "/crt/_mingw.h")) (substitute* (string-append mingw-headers "/crt/_mingw.h") (("@MINGW_HAS_SECURE_API@") "#define MINGW_HAS_SECURE_API 1")) >> (define* (cross-gcc target >> -#:optional (xbinutils (cross-binutils target)) libc) >> +#:optional (xbinutils (cross-binutils target)) (libc >> #f)) > > FWIW this change doesn't change anything -- if a default isn't given to > an optional or keyword argument, the default is #f. It is equally good > both ways, so no feedback to you other than to make sure you know this > is the case :) Thanks! Removed, masking hide my previous ignorance about this :) >> - (if libc >> + (cond >> +((mingw-target? target) >> + (if libc >> + `(("libc" ,mingw-w64) >> + ,@inputs) >> + `(("mingw-source" ,(package-source mingw-w64)) >> + ,@inputs))) >> +(libc >> `(("libc" ,libc) > > Please fix indentation here. Ok. In my own code base I always just do indent-region on the whole file, but that makes for lots of changes in Guix... >> + (cond >> + ((cross-newlib? target) >> +(cross-newlib? target)) > > Also (cond (x x)) is the same as (cond (x)). Ah, nice. Changed now to (as a response to your remarks below) (cond ((cross-newlib? target) (native-libc target)) > But what's this about? I thought this procedure should return a > package, not a boolean. ... >> +(define (native-libc target) >> + (if (mingw-target? target) >> + mingw-w64 >> + glibc)) >> + >> +(define (cross-newlib? target) >> + (and (not (eq? (native-libc target) glibc)) >> + (native-libc target))) > > Aaaah I was confused because cross-newlib? was written as if it returned > a boolean. Please rename the function to, for example, > `maybe-cross-newlib' or something. Other names welcome but please, > nothing ending in '?' :) ...Ah, okay... Changed to (define (native-libc target) (if (mingw-target? target) mingw-w64 glibc)) (define (cross-newlib? target) (not (eq? (native-libc target) glibc))) I have adopted the meme in my own code to have any function? always return the thing itself; that's also always true (as long as you don't do things like (eq? (function?) #t). That allows code like (or (foo?) bar) Something I wanted to ask and I guess now why don't we let functions like pair?, null?, string-prefix? not return the thing itself? I guess doing that for new code is frowned up because it breaks the principle of least surprise. Thanks! Greetings, Jan >From c587c6d9c635380cc8053e5293de091ada787607 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 May 2016 20:08:40 +0200 Subject: [PATCH 02/11] gnu: cross-build: i686-w64-mingw32: new cross target. * guix/utils.scm (mingw-target?): New function. * gnu/packages/cross-base.scm (cross-gcc-snippet): New function for mingw. (cross-gcc): Use it. (cross-gcc-arguments, cross-gcc-patches, cross-gcc): Support mingw. (native-libc, cross-newlib?): New functions. (cross-libc): Use cross-newlib? to support mingw. (xbinutils-i686-w64-mingw32, xgcc-sans-libc-i686-w64-mingw32, xgcc-i686-w64-mingw32): New variables. --- gnu/packages/cross-base.scm | 292 +++- guix/utils.scm | 5 + 2 files changed, 213 insertions(+), 84 deletions(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 7ed4ae4..6efd748 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -19,12 +19,17 @@ ;
Re: [PATCH 08/11] gnu: libtool: support cross-libtool mingw.
Andy Wingo writes: >> +Upstream status: not yet presented upstream. >> + >> +--- libtool-2.4.6/build-aux/ltmain.in~ 2015-02-06 >> 13:57:56.0 +0100 >> libtool-2.4.6/build-aux/ltmain.in 2016-05-06 07:46:29.425142546 >> +0200 >> +@@ -3658,12 +3658,10 @@ >> + #if defined _MSC_VER >> + # define setmode _setmode >> +-# define stat_stat >> + # define chmod _chmod >> + # define getcwd _getcwd >> + # define putenv _putenv >> + # define S_IXUSR _S_IEXEC >> + #elif defined __MINGW32__ >> + # define setmode _setmode >> +-# define stat_stat >> + # define chmod _chmod >> + # define getcwd _getcwd > > This doesn't look right to me. Stat was actually the first of this set > to be added to the weird define list, via: Ah, two problems here. I did not want to patch the _MSC_VER bit and wanted to /add/ lstat rather than remove stat. (I have tested quite some variants until before everything worked; the comment actually advertises this redefining stat also impacts struct stat, breaking lstat's signature. That is fixed be #define'ing lstat along.) I now have @@ -3658,6 +3658,7 @@ # define S_IXUSR _S_IEXEC #elif defined __MINGW32__ # define setmode _setmode +# define lstat _lstat # define stat_stat # define chmod _chmod # define getcwd _getcwd (changed both instances of this) > commit 781fc82e1b2bceaa5c55388d6ab1d1744663f992 > Author: Peter Rosin > Date: Sun Jul 22 17:57:10 2007 + > > * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add > support for Microsoft Visual C. Also, older MinGW versions > seem to need stdint.h to find intptr_t. Wow, you looked it up for me. Hmm. > And there does appear to exist "struct _stat" in the API > (https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx). Yes, there is _stat, and that's the problem because functions _stat _lstat use struct _stat, while all other functions use struct stat. > Does it mean that "lstat" is coming from somewhere else (i.e. not the > system libc), expecting to have a "struct stat" as an argument? I > don't know very much about this stuff but this change looks fishy to > me. I have added lstat as a patch to mingw-w64. We were discussing the readline patch I used that just #ifdef'd-out apparently missing symbols such as SIGHUP..SIGALRM, S_ISGUID...and S_SFLNK. I started looking into porting Bash and found it uses such symbols that are missing in MinGW without #ifdef guards in many places. I decided it would make sense to try adding these symbols mingw's signal.h and sys/stat.h, instead of patching all patches that use them. On strange thing here is that I found some signals are include in MinGW but only behind an #ifdef _POSIX flag. That puzzles me, aren't we creating (limited) POSIX compatibility here, why limit it further using a flag...? Anyway, adding these symbols and using -D_POSIX works nicely for readline, no patch needed anymore and it helps a lot with bash. Then, I tried to build ncurses with the cross-libtool. I found that when libtool finds S_ISLNK is defined, it decides to use lstat. So instead of patching libtool, I went back to mingw-w64 and added lstat variants alongside stat +#define _lstat32 _lstat #define _stat32 _stat +#define _lstat _lstat64i32 #define _stat _stat64i32 int __cdecl stat(const char *_Filename,struct stat *_Stat); +static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);} _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat); + static inline int __cdecl _lstat32(const char *_Name,struct _stat32 *_Stat) {return _stat32(_Name, _Stat);} That also helps with other packages that use lstat without testing (eg, flex) and seems to be the right thing? However, now libtool's redefinition of stat without redefining lstat # define stat_stat breaks lstat here +static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);} Does that make sense? Greetings, Jan >From 7955f98d8c7608c5b46935577594bcc62c72afa0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 4 May 2016 20:35:34 +0200 Subject: [PATCH 08/11] gnu: libtool: support cross-libtool mingw. * gnu/packages/patches/libtool-mingw.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/autotools.scm (libtool): Support cross-libtool for mingw. --- gnu/packages/autotools.scm | 3 ++- gnu/packages/patches/libtool-mingw.patch | 28 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libtool-mingw.patch diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index ddc628d..30c0482 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -272,7 +272,8 @@ Makefile, simplifying the entire process for the developer.") (sha
Re: [PATCH 07/11] gnu: cross-base: Add cross-libtool.
Andy Wingo writes: >> +(arguments >> + `(;; Libltdl is provided as a separate package, so don't install it >> here. >> + #:configure-flags >> + `("--disable-ltdl-install" >> + ,(string-append "--host=" ,target) >> + ,(string-append "--target=" ,target) >> + ,(string-append "--program-prefix=" ,target "-") >> + ,(string-append "CC=" ,target "-gcc")) > > Is this the right --host setting? I think so. The libtool script uses $host rather than $target in tests like these if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; I have added this comment ;; The libtool script uses `host' rather than `target' to decide ;; whether to use -lc, for example. ,(string-append "--host=" ,target) >> + (for-each (lambda (var) >> + (and=> (getenv var) >> + (lambda (value) >> + (let ((cross >> + (string-append "CROSS_" var))) >> + (setenv cross value)) >> + (unsetenv var >> +'("C_INCLUDE_PATH" >> + "CPLUS_INCLUDE_PATH" >> + "OBJC_INCLUDE_PATH" >> + "OBJCPLUS_INCLUDE_PATH" >> + "LIBRARY_PATH")) >> + #t))) > > Ignorant question: Why do we have to do this here? Is libtool a special > case? We should certainly limit the number of places in Guix's code > where we have to do (for-each ... '("C_INCLUDE_PATH" ...)). libtool is `special' when it is built as a cross package, like we do here in cross-libtool. I have added this comment ;; As we are setup as a cross package, PATHs get setup ;; without the CROSS_ prefix. Change that here. (add-before 'configure 'setenv Thanks! Greetings, Jan >From 78efd3acd57df52ec635de5d306a5d3865b473b6 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 27 Apr 2016 10:33:52 +0200 Subject: [PATCH 07/11] gnu: cross-base: Add cross-libtool. * gnu/packages/cross-base.scm (cross-libtool): New function. --- gnu/packages/cross-base.scm | 52 + 1 file changed, 52 insertions(+) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 6efd748..18329df 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -22,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages autotools) #:use-module (gnu packages bash) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) @@ -40,6 +41,7 @@ #:use-module (ice-9 match) #:export (cross-binutils cross-libc +cross-libtool cross-gcc cross-newlib?)) @@ -460,6 +462,56 @@ XBINUTILS and the cross tool chain." ,@(package-inputs glibc) ;FIXME: static-bash ,@(package-native-inputs glibc +(define* (cross-libtool target +#:optional +(xgcc (cross-gcc target + (cross-binutils target) + (cross-libc target))) +(xbinutils (cross-binutils target)) +(xlibc (cross-libc target))) + (package +(inherit libtool) +(name (string-append "cross-libtool-" target)) +(inputs `(("xlibc" ,xlibc))) +(native-inputs `(,@`(("xgcc" ,xgcc) + ("xbinutils" ,xbinutils) + ("xlibc" ,xlibc)) + ,@(package-native-inputs libtool))) +(arguments + `(;; Libltdl is provided as a separate package, so don't install it here. + #:configure-flags + `("--disable-ltdl-install" + ;; The libtool script uses `host' rather than `target' to decide + ;; whether to use -lc, for example. + ,(string-append "--host=" ,target) + ,(string-append "--target=" ,target) + ,(string-append "--program-prefix=" ,target "-") + ,(string-append "CC=" ,target "-gcc")) + #:tests? #f + #:phases (modify-phases %standard-phases + ;; As we are setup as a cross package, PATHs get setup + ;; without the CROSS_ prefix. Change that here. + (add-before 'configure 'setenv +(lambda* (#:key inputs native-inputs #:allow-other-keys) +
Re: [PATCH 03/11] gnu: Add function libiconv-if-needed.
Andy Wingo writes: >> +(define* (libiconv-if-needed #:optional (target (%current-target-system))) >> + (if (mingw-target? target) >> + `(("libiconv" ,libiconv)) >> + '())) >> + > > Needs a docstring, please. Thanks :) How is this? (define* (libiconv-if-needed #:optional (target (%current-target-system))) "Return either a libiconv package specification to include in a dependency list for platforms that have an incomplete libc, or the empty list. If a package needs iconv ,@(libiconv-if-needed) should be added." ;; POSIX C libraries provide iconv. Platforms with an incomplete libc ;; without iconv, such as MinGW, must return the then clause. (if (mingw-target? target) `(("libiconv" ,libiconv)) '())) Greetings, Jan >From a1ee6d5a33a9bd32828d9c8534b50f709c27b11a Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 May 2016 18:49:33 +0200 Subject: [PATCH 03/11] gnu: Add function libiconv-if-needed. * gnu/packages/base.scm (libiconv-if-needed): New function. --- gnu/packages/base.scm | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index beb689e..35e37e0 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -44,7 +44,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + :export (libiconv-if-needed)) ;;; Commentary: ;;; @@ -964,6 +965,16 @@ program. It supports a wide variety of different encodings.") (home-page "http://www.gnu.org/software/libiconv/";) (license lgpl3+))) +(define* (libiconv-if-needed #:optional (target (%current-target-system))) + "Return either a libiconv package specification to include in a dependency +list for platforms that have an incomplete libc, or the empty list. If a +package needs iconv ,@(libiconv-if-needed) should be added." + ;; POSIX C libraries provide iconv. Platforms with an incomplete libc + ;; without iconv, such as MinGW, must return the then clause. + (if (mingw-target? target) + `(("libiconv" ,libiconv)) + '())) + (define-public (canonical-package package) ;; Avoid circular dependency by lazily resolving 'commencement'. (let* ((iface (resolve-interface '(gnu packages commencement))) -- 2.7.3 -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
Re: [PATCH 05/11] gnu: gmp: build shared library for mingw.
Andy Wingo writes: >> + ,@(cond ((mingw-target?) >> + ;; Static and shared cannot be built in one go: >> + ;; they produce different headers. We need >> shared. >> + `("--disable-static" >> + "--enable-shared")) >> + (else '()) >> (synopsis "Multiple-precision arithmetic library") >> (description >> "GMP is a library for arbitrary precision arithmetic, operating on > > LGTM. A bit of a shame that mingw is an abnormal architecture in this > way -- i.e. other targets will have both static and shared libraries, > but not this one. Oh well, this does look to be the right thing for > now. Okay, thanks. Yes, I can imagine that when we find that this change is needed for more packages/libraries we may want to make a function for it. Greetings, Jan -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
Re: [PATCH 11/11] gnu: guile-2.0: support mingw.
Andy Wingo writes: Hi Andy, What I meant to say in my first mail, I'll do in the last. Thanks so much again for this round of reviews! It took me quite some rebuilds to get sane answers to your remarks and there were some bugs that I needed to get straightened out first, that's why I could not answer sooner. >> - (native-inputs `(("pkgconfig" ,pkg-config))) >> + (native-inputs `(("pkgconfig" ,pkg-config) >> +,@(if (mingw-target?) `(("bash" ,bash)) '( > > AFAIU we can remove the "bash" thing here, as we decided to punt on > (ice-9 popen); sound right to you? Indeed. Tested without this addition and removed. (This is about the native, build-hosts' bash anyway. I think including the build host bash explicitly may have been necessary when I was creating the cross-build.) >> + (if bash >> + (string-append bash "/bin/bash") >> + "bash") > > Needs a comment here explaining that although we should always have bash > as an input, it isn't packaged yet on mingw so we are falling back to > finding it in the run-time path if needed. Added this comment ;; If bash is #f allow fallback for user to provide ;; "bash" in PATH. This happens when cross-building to ;; MinGW for which we do not have Bash yet. (("/bin/sh") (if bash (string-append bash "/bin/bash") "bash") > FWIW although Windows doesn't support `fork', `open-process' should work > in Windows, and we should therefore be able to get (ice-9 popen) working > in Windows eventually. Yes, I agree. Greetings, Jan >From dfd0f3dbee2c0062b02c9f35c598d937c85ea614 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 24 Apr 2016 14:06:56 +0200 Subject: [PATCH 11/11] gnu: guile-2.0: support mingw. * gnu/packages/guile.scm (guile-2.0): Support mingw. --- gnu/packages/guile.scm | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 53ea3e5..b4ffe86 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -138,8 +138,8 @@ without requiring the source code to be rewritten.") (native-inputs `(("pkgconfig" ,pkg-config))) (inputs `(("libffi" ,libffi) ("readline" ,readline) - ("bash" ,bash))) - + ,@(libiconv-if-needed) + ,@(if (mingw-target?) '() `(("bash" ,bash) (propagated-inputs `( ;; These ones aren't normally needed here, but since `libguile-2.0.la' ;; reads `-lltdl -lunistring', adding them here will add the needed @@ -167,8 +167,13 @@ without requiring the source code to be rewritten.") ;; Tell (ice-9 popen) the file name of Bash. (let ((bash (assoc-ref inputs "bash"))) (substitute* "module/ice-9/popen.scm" + ;; If bash is #f allow fallback for user to provide + ;; "bash" in PATH. This happens when cross-building to + ;; MinGW for which we do not have Bash yet. (("/bin/sh") - (string-append bash "/bin/bash") + (if bash + (string-append bash "/bin/bash") + "bash") %standard-phases))) (native-search-paths -- 2.7.3 -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
Re: FIXUP: [PATCH 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.
Ludovic Courtès writes: > Thanks for your quick response, applied with an adjusted commit log. Thanks. > I concur with Mark: this is a very sensitive area that takes time to > test and adjust, which is the main reason why it takes me so much time > to review and such ;-), so we want to make sure we don’t break it. Sure, I agree. These two real silly problems I introduced only makes me appreciate more that it takes some time to get the patches in ;-) > In the future, please make sure to test individual patches with the > known-good *-linux-gnu targets. Yes. I wrongly assumed (though that I knew and saw happen) that cross-gcc and cross-libc were used in the bootstrap process that I was thus testing them...I've seen a lot of my build host compilers and libc getting built and rebuilt. Now I know that's not the case and need to test for that when touching this area. That's still no excuse for not testing the cross-base.scm patches individually :-/ I would still like to explore getting rid of the patched gcc and all the environment variables and use a --sysroot instead; but I would need some help/inspiration to get that experiment going. Greetings, Jan -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
Re: [PATCH] gnu: Add gtkspell3.
On Tue, May 10, 2016 at 06:22:02PM -0400, Kei Yamashita wrote: > I'll be submitting a few patches in order to eventually package > Evolution for the GNOME desktop. If someone could verify that this > package definition is okay for submission, that would be excellent! > From 68a9f9f5a90e5cecbfa38aac72530688b025 Mon Sep 17 00:00:00 2001 > From: Kei Yamashita > Date: Tue, 10 May 2016 18:15:54 -0400 > Subject: [PATCH] gnu: Add gtkspell3. > > * gnu/packages/gtk.scm (gtkspell3): New variable. > --- > gnu/packages/gtk.scm | 29 + > 1 file changed, 29 insertions(+) > > diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm > index 255d885..21657fa 100644 > --- a/gnu/packages/gtk.scm > +++ b/gnu/packages/gtk.scm > @@ -10,6 +10,7 @@ > ;;; Copyright © 2015 David Hashe > ;;; Copyright © 2016 Efraim Flashner > ;;; Copyright © 2016 Fabian Harfert > +;;; Copyright © 2016 Kei Yamashita > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -41,6 +42,7 @@ >#:use-module (gnu packages check) >#:use-module (gnu packages compression) >#:use-module (gnu packages docbook) > + #:use-module (gnu packages enchant) >#:use-module (gnu packages fontutils) >#:use-module (gnu packages gettext) >#:use-module (gnu packages ghostscript) > @@ -1239,3 +1241,30 @@ Redmond95 and ThinIce.") > "Murrine is a cairo-based GTK+ theming engine. It is named after the > glass artworks done by Venicians glass blowers.") > (license license:gpl2+))) > + > +(define-public gtkspell3 > + (package > +(name "gtkspell3") > +(version "3.0.8") > +(source (origin > + (method url-fetch) > + (uri (string-append "mirror://sourceforge/gtkspell/" > + version "/" name "-" version ".tar.gz")) > + (sha256 > + (base32 > +"1zrz5pz4ryvcssk898liynmy2wyxgj95ak7mp2jv7x62yzihq6h1" > +(build-system gnu-build-system) > +(native-inputs > + `(("intltool" ,intltool) > + ("pkg-config" ,pkg-config))) > +(inputs > + `(("enchant" ,enchant) > + ("gobject-introspection" ,gobject-introspection) > + ("gtk+" ,gtk+) > + ("pango" ,pango))) > +(home-page "http://gtkspell.sourceforge.net";) > +(synopsis "Spell-checking addon for GTK's TextView widget") > +(description > + "GtkSpell provides word-processor-style highlighting and replacement of > +misspelled words in a GtkTextView widget.") > +(license license:gpl2+))) > -- > 2.7.4 > This built with no problems for me and looks good. I'm not such a fan of the description, but the one in Debian just copies the description from the website; more verbose, but doesn't really add anything. I'll push it in a bit. -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted signature.asc Description: PGP signature
Re: [PATCH] Add Bluetooth support to Pulseaudio.
On Sat, May 14, 2016 at 07:54:57PM +0300, Alex Kost wrote: > Ricardo Wurmus (2016-05-14 12:43 +0300) wrote: > > > Hello Guix, > > > > this patch adds Bluetooth support to pulseaudio. (Since bluez5 there > > is no native support for the ALSA backend any more.) This adds very > > little to the pulseaudio closure as you can see below. > > > > Note that this depends on the previous patch adding SBC. > > > > More than 100 packages would need to be rebuilt. Among those are big > > packages like GNOME, Blender, and conkeror. Should I push this to > > core-updates then? > > Conkeror is not the big one; it's a rather small wrapper around icecat > (in our case). I don't know why "guix refresh -l pulseaudio" shows > conkeror and not icecat, but icecat is a really big and important one, > so I think it's better to commit this to core-updates, indeed. Although > ISTR Ludovic told that core-updates is only for the real core packages > (that rebuild the whole world). conkeror depends on iceweasel, `guix refresh -l foo' only shows the leafs that need to be rebuilt. > > BTW do you still have problems with using guix repo through ssh? I do, > I mean I can't push or fetch. And as I see that other people commit to > the guix repo, I begin to think that it's only me who have this problem. if you change your url in .git/config to: url = http://git.savannah.gnu.org/r/guix.git you should be able to fetch/pull as before -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted signature.asc Description: PGP signature
Re: [PATCH] envstore-2.1
Hi, Matthew Jordan writes: > From 8de06b6e26d9e1eb7bb7ef6df163f54a46db3d89 Mon Sep 17 00:00:00 2001 > From: Matthew Jordan > Date: Thu, 12 May 2016 14:57:34 -0400 > Subject: [PATCH] gnu: Added envstore package. The summary line should be "gnu: Add envstore." > > * gnu/package/enstore.scm: New file. You misspelled "envstore.scm", but it would be better to find an existing file in gnu/package/*.scm that would be appropriate for this. > diff --git a/gnu/packages/envstore.scm b/gnu/packages/envstore.scm > new file mode 100644 > index 000..e3ec99d > --- /dev/null > +++ b/gnu/packages/envstore.scm > @@ -0,0 +1,42 @@ > +(define-module (gnu packages envstore) When adding a new *.scm file, it needs to contain a copyright notice and header at the top, as with our other source files. > + #:use-module (guix) > + #:use-module (guix packages) > + #:use-module (guix build-system gnu) > + #:use-module (gnu packages) > + #:use-module (guix download) > + #:use-module (guix utils) > + #:use-module (guix licenses)) > + > +(define-public envstore > + (package > +(name "envstore") > +(version "2.1") > +(source > + (origin > + (method url-fetch) > + (uri (string-append "https://github.com/derf/"; name "/archive/" > + version ".tar.gz")) How about using https://finalrewind.org/projects/envstore/envstore-2.1.tar.bz2 instead? That's the tarball linked from the project's home page, and unlike the github tarball, it's digitally signed. > + (sha256 > +(base32 "097yd6w0fql8a3xh0gmz8bf40w61j4893rp8c28rngrrk80bk9a8" > +(build-system gnu-build-system) > +(arguments > + `(#:test-target "test" > + #:phases > + (modify-phases %standard-phases > + (delete 'configure) > + (replace 'build > + (lambda _ > + (setenv "CC" (which "gcc")) > + (system* "make"))) Instead of replacing the 'build' phase, it would be better to add this to the 'arguments': #:make-flags (list "CC=gcc") See 'dvtm' in dvtm.scm for an example. > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (setenv "PREFIX" "/") > + (setenv "DESTDIR" out) > + (system* "make" "install"))) These are incorrect settings for PREFIX and DESTDIR. In general, PREFIX tells where the installed files will be located when the program is run, and DESTDIR names a temporary staging directory where "make install" will put the files, on the assumption that they will later be moved to PREFIX before they are run. So, PREFIX should be set to (assoc-ref outputs "out"), and DESTDIR should be left alone. Also, as with the 'build' phase, it would be better to simply add these to make-flags, like this: #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) > +(home-page "https://finalrewind.org/projects/envstore/";) > +(synopsis "Save and restore environment variables") > +(description "Envstore is a program for sharing environment variables > +between various shells or commands.") > +(license > + (non-copyleft "http://www.wtfpl.net/txt/copying/"; Can you send an updated patch? Thanks, Mark
Re: [PATCH] version bump libgcrypt -> 1.7
On 2016-05-11(12:50:04PM+), ng0 wrote: > On 2016-04-24(04:23:22+0200), Ludovic Courtès wrote: > > Leo Famulari skribis: > > > > > On Wed, Apr 20, 2016 at 07:03:40PM +0200, Ludovic Courtès wrote: > > >> Leo Famulari skribis: > > >> > > >> > On Sun, Apr 17, 2016 at 11:53:51AM +0200, ng0 wrote: > > >> >> Updated libgcrypt patch. > > >> > > > >> > Is there a consensus on upgrading from 1.6.5 and making the change on > > >> > core-updates? > > >> > > >> OK for doing it in ‘core-updates’! > > > > > > Done in 81068f178. > > > > > >> In an ideal world, we’d do it in a separate branch to check for > > >> breakage, but currently we lack the computational resources to do so. > > > > > > I'm going to build a new system with some changes to core packages. I > > > could test this change as well. Are there any libgcrypt-dependent > > > packages I should pay particular attention to? > > > > Not particularly. This new version is API- and ABI-compatible, so I’m > > rather confident. > > > > Ludo’. > > So I am not sure if this is libgcrypt-1.7 related, I am still debugging > this and will ask on gnunet-dev and proxy-maint-gentoo about this later, > but there's a slight chance that gnunet-gtk breaks with libgcrypt-1.7[1]. > It might of course be the ebuild rewrite causing this, that's what I'm > trying to find out. > Just a heads up and notice on why nothing happened with the guix > packages of gnunet, I'm stuck with debugging the last 1% before gnunet > suite gets into portage. > > I hope this is not libgcrypt-1.7 related, but if it is, I'll adjust all > packages accordingly until gnunet is patched to this. > > [1]: http://www.n0.is/static/pub/p/gnunet/debug/ and > http://far37qbrwiredyo5.onion/static/pub/p/gnunet/debug/ I guess It is safe to say that libgcrypt-1.7 does not break gnunet-gtk functionality, it has to be everything else I am looking at but not libgcrypt, error introduced itself on a new build system with libgcrypt-1.6.5 -- ♥Ⓐ ng0 4096R/13212A27975AF07677A29F7002A296150C201823
Re: [PATCH 0/1] libarchive: Fix CVE-2016-1541
On Tue, May 10, 2016 at 04:29:08PM -0400, Leo Famulari wrote: > I will follow this commit with an "ungrafting" commit on core-updates. Done as 4fa05a81983d4aa33837e1c01457442be7b58aad