Re: [PATCH] Allow building other kernels
Andy Wingo wi...@pobox.com skribis: From 1dbdc673654f94868b0176876dd83fb8b5bfe68c Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Fri, 3 Apr 2015 12:25:26 +0200 Subject: [PATCH 1/3] Allow specification of #:linux kernel when making an initrd * gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to specify the linux kernel to use. * gnu/system/vm.scm (expression-derivation-in-linux-vm): Propagate #:linux to base-initrd. (system-qemu-image, virtualized-operating-system): Delegate to the wrapped OS object's initrd builder, to allow the OS to specify the kernel. I’ve applied the patch with a slight difference: #:linux is systematically passed from ‘operating-system-initrd-file’, as is done for mapped devices. Thanks! Ludo’.
Re: [PATCH] Fix gettext linkage to expat
Andy Wingo wi...@pobox.com skribis: From 8e2db815693ef8a300e860fd2601ad1996f90cf9 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sun, 5 Apr 2015 10:22:28 +0200 Subject: [PATCH 1/3] gnu: gettext: Link explicitly to libexpat, again. * gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from 0e4e4b1329bcf881620f230fda60b6b63d1f8356 to explictly link to libexpat. Otherwise libexpat was searched at runtime via dlopen, which obviously doesn't work in a Guix context. Pushed to ‘core-updates’, which will hopefully be merged within a week or so. Thank you! Ludo’.
Re: info dir clashes
Mark H Weaver m...@netris.org skribis: Federico Beffa be...@ieee.org writes: From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 5 Apr 2015 21:59:18 +0200 Subject: [PATCH] build-system/gnu: Add 'delete-info-dir-file' phase. * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it. --- guix/build/gnu-build-system.scm | 10 ++ 1 file changed, 10 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5220bda..284d1ee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -538,6 +538,15 @@ DOCUMENTATION-COMPRESSOR-FLAGS. (format #t not compressing documentation~%) #t))) +(define* (delete-info-dir-file #:key outputs #:allow-other-keys) + (every (match-lambda + ((output . directory) + (let ((info-dir-file (string-append directory /share/info/dir))) + (when (file-exists? info-dir-file) + (delete-file info-dir-file)) + #t))) + outputs)) In this case 'for-each' is the appropriate tool, since it ignores the results of the procedure calls, which are made only for their side effects. So you can omit the #t. Agreed. Also add a docstring please. Otherwise, looks good to me for 'core-updates'. One last thing: patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install +delete-info-dir-file patch-shebangs strip validate-runpath validate-documentation-location The phase should go after ‘validate-documentation-location’, which is makes sure things are in share/info/ rather than info/. OK to push to ‘core-updates’ with these changes. Thanks! Ludo’.
Re: [PATCHES] gnu: nginx: Clean up installation directories.
David Thompson dthomps...@worcester.edu skribis: From 81adae7d0de6e6d9213b81dc6a8747bfc6487420 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:31:54 -0400 Subject: [PATCH 1/2] gnu: nginx: Use modify-phases syntax. * gnu/packages/web.scm (nginx): Use modify-phases syntax. OK (note that in ‘core-updates’ ‘modify-phases’ no longer introduces quotes so we’ll have to update it.) From 6757351ece10cafc5e9c04f5778e6ba6334979d5 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:34:45 -0400 Subject: [PATCH 2/2] gnu: nginx: Clean up installation directories. * gnu/packages/web.scm (nginx): Add 'fix-root-dirs' phase. LGTM! OK for the upgrade as well. Thank you, Ludo’.
Re: [PATCH] Allow building other kernels
Mark H Weaver m...@netris.org skribis: Andy Wingo wi...@pobox.com writes: To use a different kernel, for example do: (kernel linux-mine) (initrd (lambda (file-systems . rest) (apply base-initrd file-systems #:linux linux-mine rest))) It would be great if users could specify a custom kernel without having to override the default value of 'initrd' like this. I suppose this could be arranged by passing #:linux (operating-system-kernel os) in every call of the initrd procedure. What do you think? Ludovic? (Our messages crossed.) Agreed, and this is why 0d275f4 does things slightly differently compared to the original patch. Ludo’.
Re: [PATCH] Add upower
Andy Wingo wi...@pobox.com writes: Two patches attached. Unfortunately to use this you need to expand out %base-services to add upower to the udev-service form. Also you need the upower-service, obviously, and upower needs to be added to the dbus-service form as well. This isn't the first time I've seen people expanding out %base-services, and I was also planning to do so for my OS config. I wonder if we should create a 'make-base-services' procedure that accomodates the common tweaks to the %base-services list: the MOTD, the list of packages for dbus-service, etc. Anyway, these patches are awesome to me! Very minor nitpicks and a style question below: From 4725d267b7c18bc4ba4294f90336871311386bb2 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 21:48:01 +0200 Subject: [PATCH 2/3] Add upower package. * gnu/packages/gnome.scm (upower): New variable. * gnu/packages/patches/upower-builddir.patch: New patch. --- gnu/packages/gnome.scm | 53 ++ gnu/packages/patches/upower-builddir.patch | 44 + 2 files changed, 97 insertions(+) create mode 100644 gnu/packages/patches/upower-builddir.patch diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 445b4a1..8b0a055 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages gnutls) #:use-module (gnu packages iso-codes) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages image) #:use-module (gnu packages perl) @@ -1718,3 +1719,55 @@ your system. It supports several profiles, multiple tabs and implements several keyboard shortcuts.) (license license:gpl3+))) + +(define-public upower + (package +(name upower) +(version 0.99.2) +(source + (origin + (method url-fetch) + (uri (string-append http://upower.freedesktop.org/releases/; + name - version .tar.xz)) + (sha256 +(base32 + 0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79)) + (patches (list (search-patch upower-builddir.patch) Could you add a comment about the upstream status of this patch, perhaps with a URL pointing to the relevant bug tracker, if applicable? +(build-system glib-or-gtk-build-system) +(arguments + '(;; The tests want to contact the system bus, which can't be done in the + ;; build environment. The integration test can run, but the last of + ;; the up-self-tests doesn't. Disable tests for now. + #:tests? #f + #:configure-flags (list --localstatedir=/var + (string-append --with-udevrulesdir= + (assoc-ref %outputs out) + /lib/udev/rules.d)) + #:phases + (modify-phases %standard-phases + (add-before configure patch-/bin/true + (lambda _ + (substitute* configure + ((/bin/true) (which true) + (add-before configure patch-integration-test + (lambda _ + (substitute* src/linux/integration-test + ((/usr/bin/python3) (which python3 +(native-inputs + `((pkg-config ,pkg-config) + (intltool ,intltool) + (python ,python))) +(inputs + `((eudev ,eudev) + (dbus ,dbus) + (dbus-glib ,dbus-glib) + (libusb ,libusb) + )) Reunite with the parens on the previous line for maximum happiness. :) +(home-page http://upower.freedesktop.org/;) +(synopsis System daemon for managing power devices) +(description + UPower is an abstraction for enumerating power devices, +listening to device events and querying history and statistics. Any +application or service on the system can access the org.freedesktop.UPower +service via the system message bus.) +(license license:gpl2+))) [...] From ee0d6fa2b5951edca3c79e3046b42226aca0540a Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 21:49:02 +0200 Subject: [PATCH 3/3] Add upower service. * gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/upower.scm. * gnu/services/upower.scm: New file, defining a upower service. --- gnu-system.am | 1 + gnu/services/upower.scm | 120 2 files changed, 121 insertions(+) create mode 100644 gnu/services/upower.scm diff --git a/gnu-system.am b/gnu-system.am index 95c4eeb..a3638d7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -330,6 +330,7 @@ GNU_SYSTEM_MODULES = \ gnu/services/lirc.scm \ gnu/services/networking.scm
Re: [PATCH] Add upower
Hi Andy! Here are some more comments to add to David's: Andy Wingo wi...@pobox.com writes: From 4725d267b7c18bc4ba4294f90336871311386bb2 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 21:48:01 +0200 Subject: [PATCH 2/3] Add upower package. By our conventions, we write this first line as: gnu: Add upower. * gnu/packages/gnome.scm (upower): New variable. * gnu/packages/patches/upower-builddir.patch: New patch. The patch also needs to be added to 'dist_patch_DATA' in gnu-system.am. David Thompson dthomps...@worcester.edu wrote: Could you add a comment about the upstream status of this patch, perhaps with a URL pointing to the relevant bug tracker, if applicable? Agreed, but I think this should go in the top of the patch file rather than in the package definition itself. Thanks! Mark
[PATCH] Allow building other kernels
To use a different kernel, for example do: (kernel linux-mine) (initrd (lambda (file-systems . rest) (apply base-initrd file-systems #:linux linux-mine rest))) in your operating-system form. A starting point for an alternate kernel definition: (define-public linux-mine (package (inherit linux-libre) (name linux-mine))) From 1dbdc673654f94868b0176876dd83fb8b5bfe68c Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Fri, 3 Apr 2015 12:25:26 +0200 Subject: [PATCH 1/3] Allow specification of #:linux kernel when making an initrd * gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to specify the linux kernel to use. * gnu/system/vm.scm (expression-derivation-in-linux-vm): Propagate #:linux to base-initrd. (system-qemu-image, virtualized-operating-system): Delegate to the wrapped OS object's initrd builder, to allow the OS to specify the kernel. --- gnu/system/linux-initrd.scm | 4 ++-- gnu/system/vm.scm | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 9feb8f7..1914df9 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -147,6 +147,7 @@ initrd code. qemu-networking? virtio? volatile-root? + (linux linux-libre) (extra-modules '())) Return a monadic derivation that builds a generic initrd. FILE-SYSTEMS is a list of file-systems to be mounted by the initrd, possibly in addition to @@ -224,8 +225,7 @@ loaded at boot time in the order in which they appear. (open source target))) mapped-devices)) - (mlet %store-monad ((kodir (flat-linux-module-directory linux-libre - linux-modules))) + (mlet %store-monad ((kodir (flat-linux-module-directory linux linux-modules))) (expression-initrd #~(begin (use-modules (gnu build linux-boot) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index c93e26d..a551c89 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -149,6 +149,7 @@ made available under the /xchg CIFS share. (initrd (if initrd ; use the default initrd? (return initrd) (base-initrd %linux-vm-file-systems + #:linux linux #:virtio? #t #:qemu-networking? #t @@ -326,7 +327,7 @@ of the GNU system as described by OS. (let ((os (operating-system (inherit os) ;; Use an initrd with the whole QEMU shebang. (initrd (lambda (file-systems . rest) -(apply base-initrd file-systems +(apply (operating-system-initrd os) file-systems #:virtio? #t #:qemu-networking? #t rest))) @@ -409,7 +410,7 @@ environment with the store shared with the host. MAPPINGS is a list of (operating-system (inherit os) (initrd (lambda (file-systems . rest) - (apply base-initrd file-systems + (apply (operating-system-initrd os) file-systems #:volatile-root? #t #:virtio? #t #:qemu-networking? #t -- 2.2.1 -- http://wingolog.org/
[PATCH] Upgrade GLib to 2.44.0
From 1f49addfe19de1cd932c424365ecb38d1008021a Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 22:30:10 +0200 Subject: [PATCH 1/3] Upgrade GLib to 2.44.0. * gnu/packages/glib.scm (glib): Upgrade to 2.44.0. --- 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 3c68d86..1b928e5 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -119,7 +119,7 @@ shared NFS home directories.) (define glib (package (name glib) - (version 2.42.1) + (version 2.44.0) (source (origin (method url-fetch) (uri (string-append mirror://gnome/sources/ @@ -127,7 +127,7 @@ shared NFS home directories.) name - version .tar.xz)) (sha256 (base32 - 16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg)) + 1fgmjv3yzxgbks31h42201x2izpw0sd84h8dfw0si3x00sqn5lzj)) (patches (list (search-patch glib-tests-homedir.patch) (search-patch glib-tests-desktop.patch) (search-patch glib-tests-prlimit.patch) -- 2.2.1 -- http://wingolog.org/
[PATCH] Add upower
Two patches attached. Unfortunately to use this you need to expand out %base-services to add upower to the udev-service form. Also you need the upower-service, obviously, and upower needs to be added to the dbus-service form as well. From 4725d267b7c18bc4ba4294f90336871311386bb2 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 21:48:01 +0200 Subject: [PATCH 2/3] Add upower package. * gnu/packages/gnome.scm (upower): New variable. * gnu/packages/patches/upower-builddir.patch: New patch. --- gnu/packages/gnome.scm | 53 ++ gnu/packages/patches/upower-builddir.patch | 44 + 2 files changed, 97 insertions(+) create mode 100644 gnu/packages/patches/upower-builddir.patch diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 445b4a1..8b0a055 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages gnutls) #:use-module (gnu packages iso-codes) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages image) #:use-module (gnu packages perl) @@ -1718,3 +1719,55 @@ your system. It supports several profiles, multiple tabs and implements several keyboard shortcuts.) (license license:gpl3+))) + +(define-public upower + (package +(name upower) +(version 0.99.2) +(source + (origin + (method url-fetch) + (uri (string-append http://upower.freedesktop.org/releases/; + name - version .tar.xz)) + (sha256 +(base32 + 0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79)) + (patches (list (search-patch upower-builddir.patch) +(build-system glib-or-gtk-build-system) +(arguments + '(;; The tests want to contact the system bus, which can't be done in the + ;; build environment. The integration test can run, but the last of + ;; the up-self-tests doesn't. Disable tests for now. + #:tests? #f + #:configure-flags (list --localstatedir=/var + (string-append --with-udevrulesdir= + (assoc-ref %outputs out) + /lib/udev/rules.d)) + #:phases + (modify-phases %standard-phases + (add-before configure patch-/bin/true + (lambda _ + (substitute* configure + ((/bin/true) (which true) + (add-before configure patch-integration-test + (lambda _ + (substitute* src/linux/integration-test + ((/usr/bin/python3) (which python3 +(native-inputs + `((pkg-config ,pkg-config) + (intltool ,intltool) + (python ,python))) +(inputs + `((eudev ,eudev) + (dbus ,dbus) + (dbus-glib ,dbus-glib) + (libusb ,libusb) + )) +(home-page http://upower.freedesktop.org/;) +(synopsis System daemon for managing power devices) +(description + UPower is an abstraction for enumerating power devices, +listening to device events and querying history and statistics. Any +application or service on the system can access the org.freedesktop.UPower +service via the system message bus.) +(license license:gpl2+))) diff --git a/gnu/packages/patches/upower-builddir.patch b/gnu/packages/patches/upower-builddir.patch new file mode 100644 index 000..13cef58 --- /dev/null +++ b/gnu/packages/patches/upower-builddir.patch @@ -0,0 +1,44 @@ +Remove explicit set of UPOWER_CONF_FILE_NAME in up-self-test.c; +instead the harness should set it. In Guix we set it explicitly; the +right thing is to use AM_TEST_ENVIRONMENT and regenerate the +makefiles, but we can't regenerate because current autotools carp on +some things, so we patch the Makefile.in instead. + +Also fix to not try to create /var/lib/upower if /var isn't writable. + +Patch by Andy Wingo wi...@igalia.com + +--- upower-0.99.2.orig/src/Makefile.in 2014-12-18 10:32:01.0 +0100 upower-0.99.2/src/Makefile.in 2015-04-04 19:49:28.020843678 +0200 +@@ -780,6 +780,7 @@ + + @UP_BUILD_TESTS_TRUE@up_self_test_CFLAGS = $(AM_CFLAGS) $(WARNINGFLAGS_C) + @UP_BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = $(DBUS_LAUNCH) ++@UP_BUILD_TESTS_TRUE@AM_TESTS_ENVIRONMENT = UPOWER_CONF_FILE_NAME=$(top_srcdir)/etc/UPower.conf + dbusservicedir = $(datadir)/dbus-1/system-services + dbusservice_in_files = org.freedesktop.UPower.service.in + dbusservice_DATA = $(dbusservice_in_files:.service.in=.service) +@@ -1789,7 +1790,7 @@ + @HAVE_SYSTEMDSYSTEMUNITDIR_TRUE@ @sed -e s|\@libexecdir\@|$(libexecdir)| $ $@ + + install-data-hook: +- if test -w $(DESTDIR)$(prefix)/; then \ ++ if test -w $(DESTDIR)$(localstatedir)/; then \ + mkdir -p $(DESTDIR)$(historydir); \ + fi + +---
[PATCH] Upgrade Cairo to 1.14.2
From 59702707729caa85c60c39cc07c6472a5863041f Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 22:44:02 +0200 Subject: [PATCH 2/3] Upgrade Cairo to 1.14.2. * gnu/packages/gtk.scm (cairo): Upgrade to 1.14.2. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b3688d5..de728fb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -77,14 +77,14 @@ tools have full access to view and control running applications.) (define-public cairo (package (name cairo) - (version 1.12.18) + (version 1.14.2) (source (origin (method url-fetch) (uri (string-append http://cairographics.org/releases/cairo-; version .tar.xz)) (sha256 (base32 - 1dpmlxmmigpiyv0jchjsn2l1a29655x24g5073hy8p4lmjvz0nfw + 1sycbq0agbwmg1bj9lhkgsf0glmblaf2jrdy9g6vxfxivncxj6f9 (build-system gnu-build-system) (propagated-inputs `((fontconfig ,fontconfig) -- 2.2.1 -- http://wingolog.org/
Re: [PATCH] Upgrade GLib to 2.44.0
Andy Wingo wi...@pobox.com writes: From 1f49addfe19de1cd932c424365ecb38d1008021a Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 22:30:10 +0200 Subject: [PATCH 1/3] Upgrade GLib to 2.44.0. By our conventions, we write this first line as: gnu: glib: Update to 2.44.0. I've pushed both this patch and the cairo update patch to a new branch 'glib-rebuild', and asked hydra to rebuild the system based on it. http://hydra.gnu.org/jobset/gnu/glib-rebuild When it's finished rebuilding for x86_64 and i686, I'll push these updates to master. Thanks! Mark
Update Python to 3.4.3?
Our Python package uses version 3.3.5, but 3.4.3 is the latest stable release. Shall we upgrade (in core-updates), or is this choice deliberate? -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
Re: [PATCH] Upgrade Cairo to 1.14.2
Andy Wingo wi...@pobox.com writes: From 59702707729caa85c60c39cc07c6472a5863041f Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 22:44:02 +0200 Subject: [PATCH 2/3] Upgrade Cairo to 1.14.2. Please see my reply to your Glib upgrade patch. Thanks! Mark
[PATCH] Fix gettext linkage to expat
Gettext wants to dlopen expat on linux platforms. Guix used to fix this, but the fix was removed for some reason in the past, resulting in an xgettext that can't find expat and thus can't handle Glade files. GTK+ 3.16.0 requires xgettext to support Glade files. This patch fixes the issue. Thanks to Ludovic for the tip. From 8e2db815693ef8a300e860fd2601ad1996f90cf9 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sun, 5 Apr 2015 10:22:28 +0200 Subject: [PATCH 1/3] gnu: gettext: Link explicitly to libexpat, again. * gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from 0e4e4b1329bcf881620f230fda60b6b63d1f8356 to explictly link to libexpat. Otherwise libexpat was searched at runtime via dlopen, which obviously doesn't work in a Guix context. --- gnu/packages/gettext.scm | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 27b5fb5..3a96cd6 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -70,7 +70,15 @@ (substitute* gettext-tools/src/project-id ((/bin/pwd) pwd) - %standard-phases) + (alist-cons-before + 'configure 'link-expat + (lambda _ +;; Gettext defaults to opening expat via dlopen on +;; Linux. Change to link directly. +(substitute* gettext-tools/configure + ((LIBEXPAT=\-ldl\) LIBEXPAT=\-ldl -lexpat\) + ((LTLIBEXPAT=\-ldl\) LTLIBEXPAT=\-ldl -lexpat\))) + %standard-phases)) ;; When tests fail, we want to know the details. #:make-flags '(VERBOSE=yes))) -- 2.2.1 -- http://wingolog.org/
Re: [PATCH] gnu: Add libepoxy.
Andy Wingo wi...@pobox.com writes: This is a new dep of GTK+. From 42e4d5669bd12dbe7de3e47d14f987a0f3cd7059 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sun, 5 Apr 2015 11:28:32 +0200 Subject: [PATCH 2/3] gnu: Add libepoxy. * gnu/packages/gl.scm (libepoxy): New variable. --- gnu/packages/gl.scm | 46 ++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index dc90a12..15bc91c 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -418,3 +418,49 @@ extension functionality is exposed in a single header file.) Guile-OpenGL is a library for Guile that provides bindings to the OpenGL graphics API.) (license l:lgpl3+))) + +(define-public libepoxy + (package +(name libepoxy) +(version 1.2) +(source (origin + (method url-fetch) + (uri (string-append +https://github.com/anholt/libepoxy/archive/v; +version +.tar.gz)) + (sha256 + (base32 +1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2 +(arguments + '(#:phases + (alist-cons-after +'unpack 'autoreconf +(lambda _ + (zero? (system* autoreconf -vif))) +(alist-cons-before + 'configure 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs python)) + (mesa (assoc-ref inputs mesa))) + (substitute* src/gen_dispatch.py + ((/usr/bin/env python) python)) + (substitute* (find-files . \\.[ch]$) + ((libGL.so.1) (string-append mesa /lib/libGL.so.1)) + ((libEGL.so.1) (string-append mesa /lib/libEGL.so.1) + %standard-phases It would be preferable to write this using our new 'modify-phases' syntax. (modify-phases %standard-phases (add-after unpack autoreconf ...) (add-before configure patch-paths ...)) +(build-system gnu-build-system) +(native-inputs + `((autoconf ,autoconf) + (automake ,automake) + (libtool ,libtool) + (pkg-config ,pkg-config) + (python ,python))) +(inputs + `((mesa ,mesa))) + +(home-page http://github.com/anholt/libepoxy/;) +(synopsis A library for handling OpenGL function pointer management) +(description + A library for handling OpenGL function pointer management.) libepoxy is a library for... Expound just a bit if you can. +(license l:x11))) -- 2.2.1 Looking good! -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
Re: Update Python to 3.4.3?
On 04/05/2015 03:40 PM, David Thompson wrote: Our Python package uses version 3.3.5, but 3.4.3 is the latest stable release. Shall we upgrade (in core-updates), or is this choice deliberate? Updating to 3.4.x should not break anything, so please go ahead! Cyril.
Re: hackage importer
Federico Beffa be...@ieee.org skribis: My intention wasn't to make an universal Cabal parser for two reasons: (i) I've not found any full, formal description of the file format. I could in principle deduce it from the Haskell code, but I'm just starting to learn Haskell. (ii) I don't see any use of Cabal files in the Scheme world, but maybe I'm just blind :-) You’re right, of course ;-), but thinking in terms of separate libraries can help structure the code IMO. Anyway, I’ve probably used enough of your time by now. :-) If this discussion gives you ideas on how to structure the code, that is fine, but otherwise we can probably go with the architecture you propose. How does that sound? I think that restructuring the code as you suggest requires quite a bit of effort. At this point in time I'm not ready to invest the required time. If one day I will decide to work on improving the code to make it handle block structured files, that may be the right moment to reorganize it. Sounds good! Please find attached updated patches with added documentation, two more tests, and an option to disable the inclusion of dependencies only requited by the test-suite of the package. 'read-cabal' now takes a port and 'strip-cabal' was renamed as suggested and made local to the former. If parsing fails now an exception of type 'message' is raised with a meaningful message. OK. From 633bfb5af57f707dea12ab747133182d085951ff Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sat, 7 Mar 2015 17:23:14 +0100 Subject: [PATCH 01/29] import: Add hackage importer. * guix/scripts/import.scm (importers): Add hackage. * guix/scripts/import/hackage.scm: New file. * po/guix/POTFILES.in: Add guix/scripts/import.scm. * doc/guix.texi: Add section on 'hackage' importer. [...] +The command below imports meta-data for latest version of the ^^^ + “the” From efb8a09ce3aee85ef73206be2957ef6c4e3360a2 Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 8 Mar 2015 07:48:38 +0100 Subject: [PATCH 02/29] import: Add hackage importer. * guix/import/hackage.scm: New file. * tests/hackage.scm: New file. Perfect! OK to push these two. Thanks for your patience and for the great work! Ludo’.
[PATCHES] gnu: nginx: Clean up installation directories.
Two patches below. One to rewrite the phases using modify-phases syntax, and the other to clean up the mess that 'make install' creates. From 81adae7d0de6e6d9213b81dc6a8747bfc6487420 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:31:54 -0400 Subject: [PATCH 1/2] gnu: nginx: Use modify-phases syntax. * gnu/packages/web.scm (nginx): Use modify-phases syntax. --- gnu/packages/web.scm | 62 +--- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 42d58c8..031bbca 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -108,38 +108,36 @@ and its related documentation.) (arguments `(#:tests? #f ; no test target #:phases - (alist-cons-before -'configure 'patch-/bin/sh -(lambda _ - (substitute* auto/feature -((/bin/sh) (which bash -(alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((flags - (list (string-append --prefix= (assoc-ref outputs out)) ---with-http_ssl_module ---with-pcre-jit ---with-ipv6 ---with-debug -;; Even when not cross-building, we pass the -;; --crossbuild option to avoid customizing for the -;; kernel version on the build machine. -,(let ((system Linux); uname -s - (release 2.6.32) ; uname -r - ;; uname -m - (machine (match (or (%current-target-system) - (%current-system)) - (x86_64-linux x86_64) - (i686-linux i686) - (mips64el-linux mips64 - (string-append --crossbuild= - system : release : machine) - (setenv CC gcc) - (format #t environment variable `CC' set to `gcc'~%) - (format #t configure flags: ~s~% flags) - (zero? (apply system* ./configure flags - %standard-phases + (modify-phases %standard-phases + (add-before configure patch-/bin/sh + (lambda _ + (substitute* auto/feature + ((/bin/sh) (which bash) + (replace configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((flags +(list (string-append --prefix= (assoc-ref outputs out)) + --with-http_ssl_module + --with-pcre-jit + --with-ipv6 + --with-debug + ;; Even when not cross-building, we pass the + ;; --crossbuild option to avoid customizing for the + ;; kernel version on the build machine. + ,(let ((system Linux); uname -s + (release 2.6.32) ; uname -r + ;; uname -m + (machine (match (or (%current-target-system) + (%current-system)) +(x86_64-linux x86_64) +(i686-linux i686) +(mips64el-linux mips64 + (string-append --crossbuild= +system : release : machine) + (setenv CC gcc) + (format #t environment variable `CC' set to `gcc'~%) + (format #t configure flags: ~s~% flags) + (zero? (apply system* ./configure flags (home-page http://nginx.org;) (synopsis HTTP and reverse proxy server) (description -- 2.1.4 From 6757351ece10cafc5e9c04f5778e6ba6334979d5 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:34:45 -0400 Subject: [PATCH 2/2] gnu: nginx: Clean up installation directories. * gnu/packages/web.scm (nginx): Add 'fix-root-dirs' phase. --- gnu/packages/web.scm | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 031bbca..c41e9ba 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -137,7 +137,25 @@ and its related documentation.) (setenv CC gcc) (format #t environment variable `CC' set to `gcc'~%) (format #t configure flags: ~s~% flags) - (zero? (apply system*
Re: [PATCHES] gnu: Add livestreamer.
Mark H Weaver m...@netris.org writes: [...] Otherwise looks good to me! Fixed everything you mentioned and pushed. Thanks! -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
Re: [PATCHES] gnu: nginx: Clean up installation directories.
While we're at it, how about we upgrade to the latest release? From c25aa2aaf1ba54dfdc1cac1f05af3ea14c24d493 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:58:46 -0400 Subject: [PATCH] gnu: nginx: Update to 1.7.11. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index c41e9ba..2497a9f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -93,14 +93,14 @@ and its related documentation.) (define-public nginx (package (name nginx) -(version 1.6.2) +(version 1.7.11) (source (origin (method url-fetch) (uri (string-append http://nginx.org/download/nginx-; version .tar.gz)) (sha256 (base32 -060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m +15cnlrhiqklqfzwfspkp0i6g04zdhc092dh593yqnqqf450dgnfs (build-system gnu-build-system) (inputs `((pcre ,pcre) (openssl ,openssl) -- 2.1.4 -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
[PATCH] gnu: Add libepoxy.
This is a new dep of GTK+. From 42e4d5669bd12dbe7de3e47d14f987a0f3cd7059 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sun, 5 Apr 2015 11:28:32 +0200 Subject: [PATCH 2/3] gnu: Add libepoxy. * gnu/packages/gl.scm (libepoxy): New variable. --- gnu/packages/gl.scm | 46 ++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index dc90a12..15bc91c 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -418,3 +418,49 @@ extension functionality is exposed in a single header file.) Guile-OpenGL is a library for Guile that provides bindings to the OpenGL graphics API.) (license l:lgpl3+))) + +(define-public libepoxy + (package +(name libepoxy) +(version 1.2) +(source (origin + (method url-fetch) + (uri (string-append +https://github.com/anholt/libepoxy/archive/v; +version +.tar.gz)) + (sha256 + (base32 +1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2 +(arguments + '(#:phases + (alist-cons-after +'unpack 'autoreconf +(lambda _ + (zero? (system* autoreconf -vif))) +(alist-cons-before + 'configure 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs python)) + (mesa (assoc-ref inputs mesa))) + (substitute* src/gen_dispatch.py + ((/usr/bin/env python) python)) + (substitute* (find-files . \\.[ch]$) + ((libGL.so.1) (string-append mesa /lib/libGL.so.1)) + ((libEGL.so.1) (string-append mesa /lib/libEGL.so.1) + %standard-phases +(build-system gnu-build-system) +(native-inputs + `((autoconf ,autoconf) + (automake ,automake) + (libtool ,libtool) + (pkg-config ,pkg-config) + (python ,python))) +(inputs + `((mesa ,mesa))) + +(home-page http://github.com/anholt/libepoxy/;) +(synopsis A library for handling OpenGL function pointer management) +(description + A library for handling OpenGL function pointer management.) +(license l:x11))) -- 2.2.1 -- http://wingolog.org/
[PATCH] gnu: gtk+: Update to 3.16.0.
From 2aa825f107d49b371bb8442cf060995d13cf7892 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 22:46:47 +0200 Subject: [PATCH 3/3] gnu: gtk+: Update to 3.16.0. * gnu/packages/gtk.scm (gtk+): Upgrade to 3.16.0, adding a libepoxy dep and adding gettext. --- gnu/packages/gtk.scm | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index de728fb..6eab59c 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages icu4c) @@ -433,7 +434,7 @@ application suites.) (define-public gtk+ (package (inherit gtk+-2) (name gtk+) - (version 3.14.7) + (version 3.16.0) (source (origin (method url-fetch) (uri (string-append mirror://gnome/sources/ name / @@ -441,11 +442,12 @@ application suites.) name - version .tar.xz)) (sha256 (base32 - 0vm40n6nf0w3vv54wqy67jcxddka7hplksi093xim3119yq196gv + 1si6ihl1wlvag8qq3166skr9fnm9i33dimbfry1j628qzqc76qff (propagated-inputs `((at-spi2-atk ,at-spi2-atk) (atk ,atk) (gdk-pixbuf ,gdk-pixbuf) + (libepoxy ,libepoxy) (libxi ,libxi) (libxinerama ,libxinerama) (libxdamage ,libxdamage) @@ -456,6 +458,7 @@ application suites.) (native-inputs `((perl ,perl) (glib ,glib bin) + (gettext ,gnu-gettext) (pkg-config ,pkg-config) (gobject-introspection ,gobject-introspection) (python-wrapper ,python-wrapper) @@ -474,6 +477,10 @@ application suites.) (substitute* testsuite/Makefile.in ((SUBDIRS = gdk gtk a11y css reftests) SUBDIRS = gdk)) + (substitute* demos/widget-factory/Makefile.in + ((gtk-update-icon-cache) $(bindir)/gtk-update-icon-cache)) + (substitute* demos/gtk-demo/Makefile.in + ((gtk-update-icon-cache) $(bindir)/gtk-update-icon-cache)) (apply configure args))) %standard-phases) -- 2.2.1 -- http://wingolog.org/
Re: [PATCHES] gnu: nginx: Clean up installation directories.
David Thompson dthomps...@worcester.edu writes: From 81adae7d0de6e6d9213b81dc6a8747bfc6487420 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:31:54 -0400 Subject: [PATCH 1/2] gnu: nginx: Use modify-phases syntax. Okay. From 6757351ece10cafc5e9c04f5778e6ba6334979d5 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Sun, 5 Apr 2015 12:34:45 -0400 Subject: [PATCH 2/2] gnu: nginx: Clean up installation directories. * gnu/packages/web.scm (nginx): Add 'fix-root-dirs' phase. --- gnu/packages/web.scm | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 031bbca..c41e9ba 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -137,7 +137,25 @@ and its related documentation.) (setenv CC gcc) (format #t environment variable `CC' set to `gcc'~%) (format #t configure flags: ~s~% flags) - (zero? (apply system* ./configure flags + (zero? (apply system* ./configure flags) + (add-after install fix-root-dirs + (lambda* (#:key outputs #:allow-other-keys) + ;; 'make install' puts things in strange places, so we need to + ;; clean it up ourselves. + (let* ((out (assoc-ref outputs out)) +(share (string-append out /share/nginx))) + ;; This directory is empty, so get rid of it. + (rmdir (string-append out /logs)) + ;; Example configuration and HTML files belong in + ;; /share. + (mkdir-p share) + (rename-file (string-append out /conf) +(string-append share /conf)) + (rename-file (string-append out /html) +(string-append share /html)) Okay. + ;; No reason to use /sbin + (rename-file (string-append out /sbin) +(string-append out /bin I would prefer to avoid diverging from upstream without good reason, and I don't see a good reason for this change. What do you think? Okay to push everything here except for the /sbin - /bin change. Thanks! Mark
Re: [PATCHES] gnu: nginx: Clean up installation directories.
David Thompson dthomps...@worcester.edu writes: While we're at it, how about we upgrade to the latest release? [...] -(version 1.6.2) +(version 1.7.11) 1.6 is a stable branch and 1.7 is a development branch. I would prefer to stick with the stable branch. We could add 1.7 if you want (maybe with variable name 'nginx-devel'), but we should keep 1.6 as well. Thanks, Mark
Re: info dir clashes
On Sat, Mar 28, 2015 at 3:37 PM, Ludovic Courtès l...@gnu.org wrote: Federico Beffa be...@ieee.org skribis: given that the file .../share/info/dir creates clashes in user profiles and that it is anyway handled with the help of info-dir substitutes, shouldn't we systematically delete them with the help, e.g., of a phase in gnu-build-system? We should do that, indeed. Would you like to prepare a patch for ‘core-updates’? Finally I prepared a patch for this. Regards, Fede From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 5 Apr 2015 21:59:18 +0200 Subject: [PATCH] build-system/gnu: Add 'delete-info-dir-file' phase. * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it. --- guix/build/gnu-build-system.scm | 10 ++ 1 file changed, 10 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5220bda..284d1ee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -538,6 +538,15 @@ DOCUMENTATION-COMPRESSOR-FLAGS. (format #t not compressing documentation~%) #t))) +(define* (delete-info-dir-file #:key outputs #:allow-other-keys) + (every (match-lambda + ((output . directory) + (let ((info-dir-file (string-append directory /share/info/dir))) + (when (file-exists? info-dir-file) + (delete-file info-dir-file)) + #t))) + outputs)) + (define %standard-phases ;; Standard build phases, as a list of symbol/procedure pairs. (let-syntax ((phases (syntax-rules () @@ -546,6 +555,7 @@ DOCUMENTATION-COMPRESSOR-FLAGS. patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install +delete-info-dir-file patch-shebangs strip validate-runpath validate-documentation-location -- 2.2.1
Re: [PATCH] profiles: Generate GHC's package database cache.
Federico Beffa be...@ieee.org skribis: From dfe3b875267731006512b8a9803aaa56f07db12e Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sat, 4 Apr 2015 22:51:13 +0200 Subject: [PATCH] profiles: Generate GHC's package database cache. * guix/profiles.scm (ghc-package-cache-file): New procedure. (profile-derivation): Add 'ghc-package-cache?' keyword argument. If true (the default), add the result of 'ghc-package-cache-file' to 'inputs'. * guix/scripts/package.scm (guix-package)[process-actions]: Pass #:ghc-package-cache? to 'profile-generation'. * tests/packages.scm (--search-paths with pattern): Likewise. * tests/profiles.scm (profile-derivation): Likewise. LG, but... On Sun, Apr 5, 2015 at 7:21 AM, Mark H Weaver m...@netris.org wrote: I believe this will require GHC to build *any* non-empty profile. Since GHC is only available on Intel platforms, this will break profile building on MIPS and ARM. Even on Intel platforms, I don't want to have to install GHC to build profiles that don't contain any Haskell packages, especially since it involves trusting the upstream binaries from GHC. All good points. Good point. Would this check be satisfactory for you? ;; Don't depend on GHC when there's nothing to do. (if (any (cut string-prefix? ghc ) (map manifest-entry-name (manifest-entries manifest))) (gexp-derivation ghc-package-cache build #:modules '((guix build utils)) #:local-build? #t) (gexp-derivation ghc-package-cache #~(mkdir #$output I think that would do. Eventually we could think of more sophisticated way to determine whether to trigger a given “hook” (info-dir, ca-certificates, ghc.) Perhaps this ‘ghc-package-cache-file’ procedure could be added as an ‘environment-hook’ field of the ghc package and it would be triggered iff GHC is installed. (This approach would work well for GHC, but not for info-dir or ca-certificates, though.) What if I want to use Hugs instead, or some other Haskell implementation that is capable of being bootstrapped from source code. Is GHC the only tool that can do this job? As far as I know, the library database is compiler specific. Here we are handling GHC only. I think this is fine. A similar hook could be added for Hugs if/when we see fit and presumably they would not interfere. Thoughts? Thanks, Ludo’.
Re: [PATCH] gnu: gtk+: Update to 3.16.0.
Andy Wingo wi...@pobox.com writes: From 2aa825f107d49b371bb8442cf060995d13cf7892 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Sat, 4 Apr 2015 22:46:47 +0200 Subject: [PATCH 3/3] gnu: gtk+: Update to 3.16.0. * gnu/packages/gtk.scm (gtk+): Upgrade to 3.16.0, adding a libepoxy dep and adding gettext. Looks good to me! However, based on our conversations on IRC, I gather that this depends on your patch for 'gettext' that triggers a full rebuild, the 'glib' and 'cairo' updates, and also on a patch to fix a circularity problem that you've not yet posted. Is that right? Any other prerequisites? Thanks! Mark
Re: Update Python to 3.4.3?
Cyril Roelandt tipec...@gmail.com writes: On 04/05/2015 03:40 PM, David Thompson wrote: Our Python package uses version 3.3.5, but 3.4.3 is the latest stable release. Shall we upgrade (in core-updates), or is this choice deliberate? Updating to 3.4.x should not break anything, so please go ahead! None of the three patches in the recipe applied, and removing them lead to a broken build. I'll leave this task for someone that is more familiar with Python than I am. -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
Re: [PATCHES] gnu: nginx: Clean up installation directories.
Mark H Weaver m...@netris.org writes: David Thompson dthomps...@worcester.edu writes: While we're at it, how about we upgrade to the latest release? [...] -(version 1.6.2) +(version 1.7.11) 1.6 is a stable branch and 1.7 is a development branch. I would prefer to stick with the stable branch. We could add 1.7 if you want (maybe with variable name 'nginx-devel'), but we should keep 1.6 as well. Oh, so it is. Nevermind, then. -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
Re: [PATCHES] gnu: nginx: Clean up installation directories.
Mark H Weaver m...@netris.org writes: David Thompson dthomps...@worcester.edu writes: + ;; No reason to use /sbin + (rename-file (string-append out /sbin) +(string-append out /bin I would prefer to avoid diverging from upstream without good reason, and I don't see a good reason for this change. What do you think? Okay to push everything here except for the /sbin - /bin change. Fair enough. Pushed everything but that. -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate
Re: info dir clashes
Federico Beffa be...@ieee.org writes: From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 5 Apr 2015 21:59:18 +0200 Subject: [PATCH] build-system/gnu: Add 'delete-info-dir-file' phase. * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it. --- guix/build/gnu-build-system.scm | 10 ++ 1 file changed, 10 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5220bda..284d1ee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -538,6 +538,15 @@ DOCUMENTATION-COMPRESSOR-FLAGS. (format #t not compressing documentation~%) #t))) +(define* (delete-info-dir-file #:key outputs #:allow-other-keys) + (every (match-lambda + ((output . directory) + (let ((info-dir-file (string-append directory /share/info/dir))) + (when (file-exists? info-dir-file) + (delete-file info-dir-file)) + #t))) + outputs)) In this case 'for-each' is the appropriate tool, since it ignores the results of the procedure calls, which are made only for their side effects. So you can omit the #t. Otherwise, looks good to me for 'core-updates'. Thanks! Mark
Re: [PATCH] profiles: Generate GHC's package database cache.
Federico Beffa be...@ieee.org writes: On Sun, Apr 5, 2015 at 7:21 AM, Mark H Weaver m...@netris.org wrote: I believe this will require GHC to build *any* non-empty profile. Since GHC is only available on Intel platforms, this will break profile building on MIPS and ARM. Even on Intel platforms, I don't want to have to install GHC to build profiles that don't contain any Haskell packages, especially since it involves trusting the upstream binaries from GHC. Good point. Would this check be satisfactory for you? ;; Don't depend on GHC when there's nothing to do. (if (any (cut string-prefix? ghc ) (map manifest-entry-name (manifest-entries manifest))) (gexp-derivation ghc-package-cache build #:modules '((guix build utils)) #:local-build? #t) (gexp-derivation ghc-package-cache #~(mkdir #$output Sure, this would be fine, although I wonder if we could replace the 'string-prefix?' with 'string=?'. If so, the conditional could be changed to: (if (member ghc (map manifest-entry-name (manifest-entries manifest))) ...) What do you think? What if I want to use Hugs instead, or some other Haskell implementation that is capable of being bootstrapped from source code. Is GHC the only tool that can do this job? As far as I know, the library database is compiler specific. Here we are handling GHC only. Okay, makes sense. Thank you! Mark
Re: [PATCH] profiles: Generate GHC's package database cache.
l...@gnu.org (Ludovic Courtès) writes: Eventually we could think of more sophisticated way to determine whether to trigger a given “hook” (info-dir, ca-certificates, ghc.) Perhaps this ‘ghc-package-cache-file’ procedure could be added as an ‘environment-hook’ field of the ghc package and it would be triggered iff GHC is installed. (This approach would work well for GHC, but not for info-dir or ca-certificates, though.) On top of the mentioned cases above, there are many programs making use of caches. Some are: * GLib's IO modules normally use a cache file 'giomodule.cache'. We set the env. var. GIO_EXTRA_MODULES, but it's use is explicitly discouraged by the project. * XDG icons 'icon-theme.cache': I see some clashes in my profile (e.g., gtk and Inkscape). * TeX 'ls-R' files: it would probably simplify modularization. * I see python's easy_install site.py clashes in my profile. These are probably harmless, but annoying. It would definitely be good to establish a solid and general way to run hooks to address this kind of situations. Regards, Fede
Re: [PATCH] Allow building other kernels
Andy Wingo wi...@pobox.com writes: To use a different kernel, for example do: (kernel linux-mine) (initrd (lambda (file-systems . rest) (apply base-initrd file-systems #:linux linux-mine rest))) It would be great if users could specify a custom kernel without having to override the default value of 'initrd' like this. I suppose this could be arranged by passing #:linux (operating-system-kernel os) in every call of the initrd procedure. What do you think? Ludovic? Mark From 1dbdc673654f94868b0176876dd83fb8b5bfe68c Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@pobox.com Date: Fri, 3 Apr 2015 12:25:26 +0200 Subject: [PATCH 1/3] Allow specification of #:linux kernel when making an initrd * gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to specify the linux kernel to use. * gnu/system/vm.scm (expression-derivation-in-linux-vm): Propagate #:linux to base-initrd. (system-qemu-image, virtualized-operating-system): Delegate to the wrapped OS object's initrd builder, to allow the OS to specify the kernel. --- gnu/system/linux-initrd.scm | 4 ++-- gnu/system/vm.scm | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 9feb8f7..1914df9 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -147,6 +147,7 @@ initrd code. qemu-networking? virtio? volatile-root? + (linux linux-libre) (extra-modules '())) Return a monadic derivation that builds a generic initrd. FILE-SYSTEMS is a list of file-systems to be mounted by the initrd, possibly in addition to @@ -224,8 +225,7 @@ loaded at boot time in the order in which they appear. (open source target))) mapped-devices)) - (mlet %store-monad ((kodir (flat-linux-module-directory linux-libre - linux-modules))) + (mlet %store-monad ((kodir (flat-linux-module-directory linux linux-modules))) (expression-initrd #~(begin (use-modules (gnu build linux-boot) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index c93e26d..a551c89 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -149,6 +149,7 @@ made available under the /xchg CIFS share. (initrd (if initrd ; use the default initrd? (return initrd) (base-initrd %linux-vm-file-systems + #:linux linux #:virtio? #t #:qemu-networking? #t @@ -326,7 +327,7 @@ of the GNU system as described by OS. (let ((os (operating-system (inherit os) ;; Use an initrd with the whole QEMU shebang. (initrd (lambda (file-systems . rest) -(apply base-initrd file-systems +(apply (operating-system-initrd os) file-systems #:virtio? #t #:qemu-networking? #t rest))) @@ -409,7 +410,7 @@ environment with the store shared with the host. MAPPINGS is a list of (operating-system (inherit os) (initrd (lambda (file-systems . rest) - (apply base-initrd file-systems + (apply (operating-system-initrd os) file-systems #:volatile-root? #t #:virtio? #t #:qemu-networking? #t -- 2.2.1
Making service values transparent
David Thompson dthomps...@worcester.edu skribis: Andy Wingo wi...@pobox.com writes: Two patches attached. Unfortunately to use this you need to expand out %base-services to add upower to the udev-service form. Also you need the upower-service, obviously, and upower needs to be added to the dbus-service form as well. This isn't the first time I've seen people expanding out %base-services, and I was also planning to do so for my OS config. I wonder if we should create a 'make-base-services' procedure that accomodates the common tweaks to the %base-services list: the MOTD, the list of packages for dbus-service, etc. This must be fixed, basically by making the return value of the foo-service procedures transparent and amenable to customization, filtering, etc. Now that we have extensible gexps, I think we may be able to “demonadify” those service procedures, by adding declarative forms corresponding to ‘text-file*’ and co. (just like ‘local-file’ is the declarative equivalent of the ‘interned-file’ procedure.) I’m not yet sure this is the right thing, but it’s appealing. Thoughts? Ludo’.
Re: [PATCH] profiles: Generate GHC's package database cache.
On Sun, Apr 5, 2015 at 10:24 PM, Mark H Weaver m...@netris.org wrote: ;; Don't depend on GHC when there's nothing to do. (if (any (cut string-prefix? ghc ) (map manifest-entry-name (manifest-entries manifest))) (gexp-derivation ghc-package-cache build #:modules '((guix build utils)) #:local-build? #t) (gexp-derivation ghc-package-cache #~(mkdir #$output Sure, this would be fine, although I wonder if we could replace the 'string-prefix?' with 'string=?'. If so, the conditional could be I used 'string-prefix?' to catch any GHC library (that we are prefixing with 'ghc-...'). However, to compile such a library we need GHC, so I think that 'string=?' should do. changed to: (if (member ghc (map manifest-entry-name (manifest-entries manifest))) ...) What do you think? Thanks, I will update the patch. Regards, Fede
Re: [PATCH] gnu: Add glib-networking.
宋文武 iyzs...@gmail.com skribis: * gnu/packages/gnome.scm (glib-networking): New variable. OK! Ludo'.