Re: [PATCH 1/2] gnu: magit-svn: Update to 2.1.0.
Alex Kost alez...@gmail.com writes: From dbc3edbb675b437eb179008c27565805fd6e8119 Mon Sep 17 00:00:00 2001 From: Alex Kost alez...@gmail.com Date: Wed, 19 Aug 2015 22:57:08 +0300 Subject: [PATCH 1/2] gnu: magit-svn: Update to 2.1.0. Have you verified that magit-svn-2.1.0 works properly with magit-1.4.2? Mark
Re: [PATCH 2/2] gnu: git-modes: Update to 1.2.0.
Alex Kost alez...@gmail.com writes: From b2f3b8873f7243c13cbfdd8395c8adc9a5678418 Mon Sep 17 00:00:00 2001 From: Alex Kost alez...@gmail.com Date: Wed, 19 Aug 2015 23:06:12 +0300 Subject: [PATCH 2/2] gnu: git-modes: Update to 1.2.0. [...] - #:test-target test + #:tests? #f ; no check target Interesting. Did version 1.0.0 have a test suite, and they got rid of it in 1.2.0? Otherwise looks good to me. Thanks, Mark
Re: [PATCH v2] gnu: Add dvtm.
Leo Famulari l...@famulari.name writes: * gnu/packages/dvtm.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. Pushed, thanks! Mark
Re: update youtube-dl
Efraim Flashner efr...@flashner.co.il writes: From ad9e46ab427c9cbca0263066d1625b8c9285cf9c Mon Sep 17 00:00:00 2001 From: Efraim Flashner efr...@flashner.co.il Date: Wed, 19 Aug 2015 16:27:36 +0300 Subject: [PATCH] * gnu/packages/video.scm (youtube-dl): Update to 2015.08.16.1. Your commit log is missing the summary line. The entire commit log should look like this: --8---cut here---start-8--- gnu: youtube-dl: Update to 2015.08.16.1. * gnu/packages/video.scm (youtube-dl): Update to 2015.08.16.1. --8---cut here---end---8--- I went ahead and pushed it with this change. Thanks! Mark
[PATCH] guix package: -s shows outputs
lfam on #guix pointed out that guix package -s does not show the outputs of the package. This patch fixes that. Mark From 5853d9df55f4adae4c9d872e3491336efd3b292c Mon Sep 17 00:00:00 2001 From: Mark H Weaver m...@netris.org Date: Sat, 22 Aug 2015 00:31:11 -0400 Subject: [PATCH] guix package: -s shows outputs. * guix/ui.scm (package-recutils): Print outputs:. --- guix/ui.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/ui.scm b/guix/ui.scm index 28d4b97..a6d4fd1 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -803,6 +803,7 @@ WIDTH columns. ;; Note: Don't i18n field names so that people can post-process it. (format port name: ~a~% (package-name p)) (format port version: ~a~% (package-version p)) + (format port outputs: ~a~% (string-join (package-outputs p))) (format port systems: ~a~% (string-join (package-transitive-supported-systems p))) (format port dependencies: ~a~% -- 2.5.0
Re: [PATCH 2/2] gnu: abcde: Update to 2.7.
Efraim Flashner efr...@flashner.co.il writes: * gnu/packages/cdrom.scm (abcde): Update to 2.7. Pushed, thanks! Mark
Re: [PATCH] gnu: Add sassc.
David Thompson dthomps...@worcester.edu writes: From 4a6d1a798a0625d8bc104b86db56f5d2594a5d80 Mon Sep 17 00:00:00 2001 From: David Thompson dthomps...@worcester.edu Date: Wed, 19 Aug 2015 21:54:57 -0400 Subject: [PATCH] gnu: Add sassc. * gnu/packages/web.scm (sassc): New variable. --- gnu/packages/web.scm | 53 1 file changed, 53 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 48bfbc7..ce4cfeb 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -642,6 +642,59 @@ minimum to provide high performance operation.) ;; bundled CuTest framework uses a different non-copyleft license. (license (list l:asl2.0 (l:non-copyleft file://test/CuTest-README.txt) +(define-public sassc + ;; libsass must be statically linked and it isn't included in source the + ;; sassc release tarballs, hence this odd package recipe. + (let* ((version 3.2.5) + (libsass + (origin +(method url-fetch) +(uri (string-append + https://github.com/sass/libsass/archive/; + version .tar.gz)) +(file-name (string-append libsass- version .tar.gz)) +(sha256 + (base32 + 1x25k6p1s1yzsdpzb7bzh8japilmi1mk3z96q66pycbinj9z9is4) +(package + (name sassc) + (version version) + (source (origin +(method url-fetch) +(uri (string-append https://github.com/sass/sassc/archive/; +version .tar.gz)) Please add a 'file-name' field here. +(sha256 + (base32 + 1xf3w75w840rj0nx375rxi7mcv1ngqqq8p3zrzjlyx8jfpnldmv5 + (build-system gnu-build-system) + (arguments + `(#:make-flags '(CC=gcc) + #:test-target test + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-libsass-path + (lambda* (#:key inputs #:allow-other-keys) + (system* tar xvf (assoc-ref inputs libsass)) I think this phase should be renamed, since it is doing much more than just setting the path. How about 'unpack-libsass-and-set-path'? The return value of 'system*' should be checked. Also, I think this pass should go after 'unpack' instead of before 'build', so that the other passes between 'unpack' and 'build' can do their jobs. It's possible that it doesn't make a difference in this case, but that might change in a future version of libsass, and anyway since copy+paste from existing packages is a common method, we should encourage best practices. + (setenv SASS_LIBSASS_PATH + (string-append (getcwd) /libsass- ,version)) + + #t)) I'd probably remove that blank line here. + (replace 'install ; no install target + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs out) /bin))) + (mkdir-p bin) + (copy-file bin/sassc +(string-append bin /sassc)) + #t)) + (inputs + `((libsass ,libsass))) + (synopsis CSS pre-processor) + (description SassC is a compiler written in C for the CSS pre-processor +language known as SASS.) + (home-page http://sass-lang.com/libsass;) + (license l:expat Otherwise it looks good to me. Thanks! Mark
Re: [PATCH 2/2] gnu: Add d-feet.
One more thing: 宋文武 iyzs...@gmail.com writes: + (modify-phases %standard-phases + (add-before + 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) +;; The test suite requires a running X server. +(system (format #f ~a/bin/Xvfb :1 +(assco-ref inputs xorg-server))) +(setenv DISPLAY :1) +;; Don't fail on missing '/etc/machine-id'. +(setenv DBUS_FATAL_WARNINGS 0) +;; tests.py and window.py don't meet E402: +;; E402 module level import not at top of file +(substitute* src/tests/Makefile + ((--ignore=E123) --ignore=E123,E402 I forgot to mention that you should add #t here, since phase procedures are supposed to return a boolean, but the return value of 'substitute*' is unspecified. Thanks, Mark
Re: [PATCH 1/2] gnu: itstool: Wrap with PTYHONPATH.
Mark H Weaver m...@netris.org writes: 宋文武 iyzs...@gmail.com writes: gnu: itstool: Wrap with PTYHONPATH. s/PTYHONPATH/PYTHONPATH/ oops, thanks! * gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'. [arguments]: New field. --- gnu/packages/glib.scm | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 88c61b6..59d64e9 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -315,10 +315,18 @@ The intltool collection can be used to do these things: (base32 0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z (build-system gnu-build-system) -(propagated-inputs +(inputs `((libxml2 ,libxml2) (python2-libxml2 ,python2-libxml2) (python-2 ,python-2))) +(arguments + '(#:phases + (modify-phases %standard-phases + (add-after + 'install 'wrap-program + (lambda _ +(wrap-program (string-append %output /bin/itstool) In phase procedures, it's probably better to accept the 'outputs' keyword argument to the phase procedure and use that. ok. + `(PYTHONPATH = (,(getenv PYTHONPATH) (home-page http://www.itstool.org;) (synopsis Tool to translate XML documents with PO files) (description Otherwise it looks good to me. Pushed, thanks for review!
Re: [PATCH] daemon: Split CHROOT_ENABLED into CHROOT_ENABLED and CONTAINER_ENABLED.
Manolis Ragkousis manolis...@gmail.com writes: With this patch, the daemon can perform chrooted builds on Hurd, without creating problems to other parts of the daemon that can't be supported. So as Mark said, the cases are: 1. CONTAINER_ENABLED and CHROOT_ENABLED are both true. In this case, the daemon works as expected, which is what happens in Linux now. 2. CONTAINER_ENABLED is false and CHROOT_ENABLED is true. Here, things like namespaces cannot be supported, but we can still perform chrooted builds. 3. CONTAINER_ENABLED and CHROOT_ENABLED are both false. Here, the daemon is unusable on the system, as it should. From 9faae6784c63a47f3cc8faa160c208f60dad1e9c Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis manolis...@gmail.com Date: Thu, 20 Aug 2015 13:50:04 +0300 Subject: [PATCH] daemon: Split CHROOT_ENABLED into CHROOT_ENABLED and CONTAINER_ENABLED. * nix/libstore/build.cc (CHROOT_ENABLED): Split. (DerivationGoal::startBuilder): Replace CHROOT_ENABLED with CONTAINER_ENABLED. (DerivationGoal::runChild): Same. --- nix/libstore/build.cc | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index a9eedce..7cde735 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -51,7 +51,15 @@ #include linux/fs.h #endif -#define CHROOT_ENABLED HAVE_CHROOT HAVE_UNSHARE HAVE_SYS_MOUNT_H defined(MS_BIND) defined(MS_PRIVATE) defined(CLONE_NEWNS) defined(SYS_pivot_root) +/* In non Linux systems we can still support chroot builds, even + though sys/mount.h doesn't exist.*/ +#if __linux__ +#define CHROOT_ENABLED HAVE_CHROOT HAVE_SYS_MOUNT_H +#else +#define CHROOT_ENABLED HAVE_CHROOT +#endif + +#define CONTAINER_ENABLED CHROOT_ENABLED defined(MS_BIND) defined(MS_PRIVATE) defined(CLONE_NEWNS) defined(SYS_pivot_root) #if CHROOT_ENABLED #include sys/socket.h @@ -1946,7 +1954,7 @@ void DerivationGoal::startBuilder() - The UTS namespace ensures that builders see a hostname of localhost rather than the actual hostname. */ -#if CHROOT_ENABLED +#if CONTAINER_ENABLED if (useChroot) { char stack[32 * 1024]; int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | SIGCHLD; @@ -1994,7 +2002,7 @@ void DerivationGoal::runChild() commonChildInit(builderOut); -#if CHROOT_ENABLED +#if CONTAINER_ENABLED if (useChroot) { /* Initialise the loopback interface. */ AutoCloseFD fd(socket(PF_INET, SOCK_DGRAM, IPPROTO_IP)); This still doesn't look right. What about all the code starting from line 2040 that sets up /dev and /etc in the chroot, as well as all the store directories, and notably the code starting from line 2123 that actually does the chroot? As you have it now, I don't think it's actually doing the chroot at all when CONTAINER_ENABLED is false. Am I missing something? Mark
elogind status
Hi :) To pick up a thread from May, I was poking at elogind recently. A bit of recap as to how things got here, then the status. To recall: by default on a Unix system, the user has full control over their space, but can't do very much about the system itself. When D-Bus came along, more and more system services were exposing interfaces allowing users to take actions on the system, but that bent the policy too far towards the user -- the admin had no control. So things started going the other way again, with PolicyKit brokering privileged actions, and the admin could specify rules saying under what conditions a user would be able to take a privileged action, such as rebooting the system, inhibiting suspend, etc. One of the conditions that PolicyKit can use to determine whether an action is authorized or not is knowing whether the user is physically sitting in front of the computer or not. This information used to be maintained by ConsoleKit, which implemented login tracking by running a wrapper around sessions -- like ck-launch-session. It exposed a D-Bus interface that programs could query. But ConsoleKit is unmaintained now. The CK developers joined the systemd team, and shifted to work on logind, which is a part of systemd. Logind tracks sessions by integrating with PAM -- every time a user logs in, logind can know it, add some metadata to their PAM session, and likewise for logout. This also lets logind know how they log in -- graphically, at the console, remotely, etc. Logind exposes a C API, in practice these days part of libsystemd, but it's more common for programs to use logind's D-Bus API. I want GNOME on Guix :) GNOME used to support ConsoleKit but doesn't any more. There is a ConsoleKit2 project that started recently but without buy-in from GNOME I don't see a future for it. GNOME really needs the org.freedesktop.login1 D-Bus interface -- really wants it. So I thought, OK, let's pull logind out of systemd, and see where that gets us. The result is https://github.com/andywingo/elogind. It provides: * a logind-compatible API with a different library name, libelogind * a pkg-config file, libelogind.pc * a daemon, elogind * a PAM module, pam_elogind.so * a query/control utility, loginctl It might be worth it to install more compatibility interfaces for systemd, e.g. libsystemd.so, or a symlink for systemd/sd-login.h to go to elogind/sd-login.h. Or perhaps we should just provide the systemd header files with the systemd names. In practice this means that building packages that use the C interfaces need a bit more munging in Guix to replace names. In the patches I sent to this list, we have also a service which runs elogind, and the facilities to integrate pam_elogind.so with the rest of the system. The PAM integration is really horrible and I'd be interested in other options; see footnote for my os-config.scm. Upstream logind integrates with systemd to ensure that user sessions are run in cgroups, which is a pretty neat feature. They manage cgroups with a hierarchical slice abstraction. Perhaps DMD should do this at some point. Using cgroups also lets logind know when a process was started by a user but the user has logged out, and optionally lets the administrator kill user processes when they log out. So, elogind will expose information about users, sessions, and seats, but for now not slices. Most logind users don't care so this is OK. Andy [*] Configuring elogind First of all you need some extra file systems. These paths provide a documented interface to logind information: (file-system (device systemd) (mount-point /run/systemd) (type tmpfs) (check? #f) (flags '(no-suid no-dev no-exec)) (options mode=0755) (create-mount-point? #t)) (file-system (device systemd) (mount-point /run/user) (type tmpfs) (check? #f) (flags '(no-suid no-dev no-exec)) (options mode=0755) (create-mount-point? #t)) Since elogind wants to manage the content of these directories, it has a little internal rm-rf helper to clean them when elogind starts up. But that helper is really conservative and doesn't want to remove files on a filesystem that's not tmpfs or ramfs, hence these mounts. Secondly you need to configure a pam-elogind module. (define pam-elogind (pam-entry (control required) (module #~(string-append #$elogind /lib/security/pam_elogind.so We add the pam module to the base pam services: (pam-services (base-pam-services #:additional-session-modules (list pam-elogind))) Now we have to add that module to *all* services that can log in that elogind should know about :( In my case: (services (let ((motd (text-file motd This is the GNU operating system, welcome!\n\n))) (list (console-font-service tty1) (console-font-service tty2) (console-font-service tty3) (console-font-service tty4) (console-font-service tty5)
Re: elogind status
Andy Wingo wi...@igalia.com writes: [...] Great news! On Fri 21 Aug 2015 13:48, Claes Wallin (韋嘉誠) g...@clacke.user.lysator.liu.se writes: How much do you know about what uselessd, nosh and the Ubuntu logind shim and how they did things? I don't know anything, I just know these things exist. No idea! Could be some things didn't exist back in May? Looking now: * uselessd is unmaintained, based on an old fork of systemd, actively hates things I don't care about, aims to replace systemd and not just logind * nosh: doesn't implement the login1 d-bus interface * Ubuntu logind shim: Couldn't find information about this. Ubuntu uses systemd now so this isn't a way forward for Guix. AFAIK, systemd-shim emulates the systemd function, so that Debian/Ubuntu could run logind(from systemd) without running systemd as init. I think it's for migration. Also, I find another attempt 'LoginKit' from Devuan, but it suspended. https://github.com/dimkr/LoginKit/issues/11 I like systemd so I don't have many motivations of anti-systemd people :) I'm cool with DMD too, don't really care to be honest. But logind interfaces seem to pervade a lot of GNOME, so I'm happy to just take systemd's implementation and hack it into a standalone thing. Really cool, I think we can reach GNOME soon :-)
[PATCH] gnu: llvm: Update to 3.6.2.
Applies on top of my previous LLVM patch. From f126a706123f27d77c528444602325ca17f691b2 Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@igalia.com Date: Fri, 21 Aug 2015 16:52:26 +0200 Subject: [PATCH] gnu: llvm: Update to 3.6.2. * gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.6.2. --- gnu/packages/llvm.scm | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 2f315a3..18e0ca9 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -35,7 +35,7 @@ (define-public llvm (package (name llvm) -(version 3.6.0) +(version 3.6.2) (source (origin (method url-fetch) @@ -43,7 +43,7 @@ version /llvm- version .src.tar.xz)) (sha256 (base32 -1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk +153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn (build-system cmake-build-system) (native-inputs `((python ,python-wrapper) @@ -172,11 +172,11 @@ code analysis tools.) (define-public clang-runtime (clang-runtime-from-llvm llvm - 04bbn946jninynkrjyp337xqs8ihn4fkz5xgvmywxkddwmwznjbz)) + 11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg)) (define-public clang (clang-from-llvm llvm clang-runtime - 0b8825mvdhfk5r9gwcwp1j2dl9kw5glgyk7pybq2dzhrh4vnj3my)) + 1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df)) (define-public llvm-3.5 (package (inherit llvm) -- 2.4.3
[PATCH] gnu: rhythmbox: Add gst-plugins-ugly dependency.
Not sure what the right solution to this mess is; ideally a user would just have to install a set of gstreamer plugins and those would work across all of their applications, and you wouldn't have to specify the plugins for each gst-using app. Dunno. For now this works better than not being able to play mp3s tho :P Andy From d73e56bbb687eb42a7449aca37c807afdbf2cbaf Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@igalia.com Date: Fri, 21 Aug 2015 16:49:31 +0200 Subject: [PATCH] gnu: rhythmbox: Add gst-plugins-ugly dep. * gnu/packages/gnome.scm (rhythmbox): Depend on gst-plugins-ugly so that we can play mp3 files. --- gnu/packages/gnome.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b97c9ff..433a37a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3007,6 +3007,7 @@ which can read a large number of file formats.) (gstreamer ,gstreamer) (gst-plugins-base ,gst-plugins-base) (gst-plugins-good ,gst-plugins-good) + (gst-plugins-ugly ,gst-plugins-ugly) (totem-pl-parser ,totem-pl-parser) (libgudev ,libgudev) ;;(libmtp ,libmtp) FIXME: Not detected -- 2.4.3
Re: elogind status
On Fri 21 Aug 2015 13:48, Claes Wallin (韋嘉誠) g...@clacke.user.lysator.liu.se writes: How much do you know about what uselessd, nosh and the Ubuntu logind shim and how they did things? I don't know anything, I just know these things exist. No idea! Could be some things didn't exist back in May? Looking now: * uselessd is unmaintained, based on an old fork of systemd, actively hates things I don't care about, aims to replace systemd and not just logind * nosh: doesn't implement the login1 d-bus interface * Ubuntu logind shim: Couldn't find information about this. Ubuntu uses systemd now so this isn't a way forward for Guix. I like systemd so I don't have many motivations of anti-systemd people :) I'm cool with DMD too, don't really care to be honest. But logind interfaces seem to pervade a lot of GNOME, so I'm happy to just take systemd's implementation and hack it into a standalone thing. Andy
Re: [PATCH 6/7] gnu: Add elogind service.
Andy Wingo wi...@igalia.com writes: * gnu/services/desktop.scm (elogind-service): New function. (%desktop-services): Add elogind-service. --- gnu/services/desktop.scm | 27 ++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 4e4b49d..737a734 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -26,6 +26,7 @@ #:use-module (gnu system shadow) #:use-module (gnu packages glib) #:use-module (gnu packages admin) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gnome) #:use-module (gnu packages avahi) #:use-module (gnu packages wicd) @@ -39,6 +40,7 @@ geoclue-application %standard-geoclue-applications geoclue-service +elogind-service %desktop-services)) ;;; Commentary: @@ -374,6 +376,28 @@ site} for more information. ;;; +;;; Elogind login and seat management service. +;;; + +(define* (elogind-service #:key (elogind elogind)) + Return a service that runs the @command{elogind} login and seat management +service. The @command{elogind} service integrates with PAM to allow other +system components to know the set of logged-in users as well as their session +types (graphical, console, remote, etc.). It can also clean up after users +when they log out. + (with-monad %store-monad +(return + (service + (documentation Run the elogind login and seat management service.) + (provision '(elogind)) + (requirement '(dbus-system)) + + (start #~(make-forkexec-constructor +(list (string-append #$elogind /lib/elogind/elogind Should be /libexec/elogind/elogind. + (stop #~(make-kill-destructor)) + + +;;; ;;; The default set of desktop services. ;;; (define %desktop-services @@ -389,7 +413,8 @@ site} for more information. ;; time, so we currently add them to the set of default services. (colord-service) (geoclue-service) - (dbus-service (list avahi wicd upower colord geoclue)) + (elogind-service) + (dbus-service (list avahi wicd upower colord geoclue elogind)) (ntp-service) -- 2.4.3 Look good to me!
Re: elogind status
On Fri, Aug 21, 2015 at 8:11 AM, Andy Wingo wi...@igalia.com wrote: I like systemd so I don't have many motivations of anti-systemd people :) I'm cool with DMD too, don't really care to be honest. But logind interfaces seem to pervade a lot of GNOME, so I'm happy to just take systemd's implementation and hack it into a standalone thing. I think this is a good strategy. It will be nice to finally have GNOME. I am completely ignorant of how all this stuff fits together so many, many thanks for working on it. - Dave
Re: [PATCH 6/7] gnu: Add elogind service.
On Fri 21 Aug 2015 16:17, 宋文武 iyzs...@gmail.com writes: Look good to me! Thanks :) There is a v2 of this patch. I had to change some paths in upstream elogind and the path to the binary changed; so if you apply, apply v2 of the patch please. Attaching below as I had some mail weirdness and perhaps it didn't go through. Cheers, Andy From 7517af974b60a0a3e6ce03d3419863e16edd5999 Mon Sep 17 00:00:00 2001 Message-Id: 7517af974b60a0a3e6ce03d3419863e16edd5999.1440062095.git.wi...@pobox.com In-Reply-To: 95cd06d0b1639449fffa2ded823e54d0f26afbb6.1440062095.git.wi...@pobox.com References: 95cd06d0b1639449fffa2ded823e54d0f26afbb6.1440062095.git.wi...@pobox.com From: Andy Wingo wi...@pobox.com Date: Tue, 18 Aug 2015 11:56:17 +0200 Subject: [PATCH v2 6/7] gnu: Add elogind service. To: guix-devel@gnu.org * gnu/services/desktop.scm (elogind-service): New function. (%desktop-services): Add elogind-service. --- gnu/services/desktop.scm | 27 ++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 4e4b49d..4973e82 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -26,6 +26,7 @@ #:use-module (gnu system shadow) #:use-module (gnu packages glib) #:use-module (gnu packages admin) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gnome) #:use-module (gnu packages avahi) #:use-module (gnu packages wicd) @@ -39,6 +40,7 @@ geoclue-application %standard-geoclue-applications geoclue-service +elogind-service %desktop-services)) ;;; Commentary: @@ -374,6 +376,28 @@ site} for more information. ;;; +;;; Elogind login and seat management service. +;;; + +(define* (elogind-service #:key (elogind elogind)) + Return a service that runs the @command{elogind} login and seat management +service. The @command{elogind} service integrates with PAM to allow other +system components to know the set of logged-in users as well as their session +types (graphical, console, remote, etc.). It can also clean up after users +when they log out. + (with-monad %store-monad +(return + (service + (documentation Run the elogind login and seat management service.) + (provision '(elogind)) + (requirement '(dbus-system)) + + (start #~(make-forkexec-constructor +(list (string-append #$elogind /libexec/elogind/elogind + (stop #~(make-kill-destructor)) + + +;;; ;;; The default set of desktop services. ;;; (define %desktop-services @@ -389,7 +413,8 @@ site} for more information. ;; time, so we currently add them to the set of default services. (colord-service) (geoclue-service) - (dbus-service (list avahi wicd upower colord geoclue)) + (elogind-service) + (dbus-service (list avahi wicd upower colord geoclue elogind)) (ntp-service) -- 2.4.3
[PATCH] gnu: Add conky.
Hi, This depends on my previous Lua patch, adding its pkg-config file. SinišaFrom 24415951e5458ce176ee3fe860b125e1229c9a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sini=C5=A1a=20Bi=C4=91in?= sin...@bidin.eu Date: Fri, 21 Aug 2015 18:20:46 +0200 Subject: [PATCH] gnu: Add conky. * gnu/packages/conky.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/conky.scm | 78 ++ 2 files changed, 79 insertions(+) create mode 100644 gnu/packages/conky.scm diff --git a/gnu-system.am b/gnu-system.am index b43dc5b..9557515 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -65,6 +65,7 @@ GNU_SYSTEM_MODULES =\ gnu/packages/commencement.scm \ gnu/packages/compression.scm \ gnu/packages/conkeror.scm \ + gnu/packages/conky.scm \ gnu/packages/cook.scm\ gnu/packages/cpio.scm\ gnu/packages/cppi.scm\ diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm new file mode 100644 index 000..fa04c56 --- /dev/null +++ b/gnu/packages/conky.scm @@ -0,0 +1,78 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 SiniÅ¡a BiÄin sin...@bidin.eu +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see http://www.gnu.org/licenses/. + +(define-module (gnu packages conky) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages lua) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xorg)) + +(define-public conky + (package +(name conky) +(version 1.10.0) +(source + (origin + (method url-fetch) + (uri (string-append https://github.com/brndnmtthws/conky/archive/v; + version .tar.gz)) + (file-name (string-append name - version .tar.gz)) + (sha256 +(base32 1szq4ckfkvyabv5llf9nkdxipn7429sralsxyr7z0dyc3zwz74pk +(build-system cmake-build-system) +(arguments + `(#:tests? #f ; there are no tests + #:phases + (alist-cons-after +'unpack 'add-freetype-to-search-path +(lambda* (#:key inputs #:allow-other-keys) + (substitute* cmake/ConkyPlatformChecks.cmake +((set\\(INCLUDE_SEARCH_PATH) + (string-append + set(INCLUDE_SEARCH_PATH + (assoc-ref inputs freetype) /include/freetype2 ))) + #t) +(alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs out) /bin))) + (mkdir-p bin) + (copy-file src/conky (string-append bin /conky + %standard-phases +(inputs + `((freetype ,freetype) + (ncurses ,ncurses) + (libx11 ,libx11) + (libxdamage ,libxdamage) + (libxft ,libxft) + (lua ,lua))) +(native-inputs + `((pkg-config ,pkg-config))) +(home-page https://github.com/brndnmtthws/conky;) +(synopsis Light-weight system monitor for X) +(description + Conky is a free, light-weight system monitor for X, that displays any +kind of information on your desktop.) +(license (list license:bsd-3 license:gpl3 -- 2.4.3
Re: elogind status
On Fri 21 Aug 2015 17:19, 宋文武 iyzs...@gmail.com writes: I follow the config, and get elogind running up. The pam, seat and session things work, I can use loginctl or call the dbus method to switch between sessions. Nice! But the reboot and poweroff don't work, which turn out to run the systemd special target ;- Yeah I think they call out to systemd's dbus interface. Same for suspend and lid handling. I am not sure what to do there; I would rather not fake systemd's dbus interface, because that sounds like a large compatibility headache. Perhaps we could invoke hooks instead, and have distros customize those hooks. Or perhaps we include systemd's code to do these tasks, if that code is small. Andy
Re: screen locker
Marcus Moeller marcus.moel...@gmx.ch writes: Hi all. I wanted to install a screen locker on GuixSD and all I found was slock. Sadly when I try to start it as unprivileged user, I got an error like: cannot disable the out-of-memory-killer for this process Same here, I think only root can run it. (the unprivileged user can't set /proc/self/oom_score_adj).
Re: elogind status
Andy Wingo wi...@igalia.com writes: Hi :) [...] The result is https://github.com/andywingo/elogind. It provides: * a logind-compatible API with a different library name, libelogind * a pkg-config file, libelogind.pc * a daemon, elogind * a PAM module, pam_elogind.so * a query/control utility, loginctl It might be worth it to install more compatibility interfaces for systemd, e.g. libsystemd.so, or a symlink for systemd/sd-login.h to go to elogind/sd-login.h. Or perhaps we should just provide the systemd header files with the systemd names. In practice this means that building packages that use the C interfaces need a bit more munging in Guix to replace names. Yeah, as seen in your polkit patch. In the patches I sent to this list, we have also a service which runs elogind, and the facilities to integrate pam_elogind.so with the rest of the system. The PAM integration is really horrible and I'd be interested in other options; see footnote for my os-config.scm. Upstream logind integrates with systemd to ensure that user sessions are run in cgroups, which is a pretty neat feature. They manage cgroups with a hierarchical slice abstraction. Perhaps DMD should do this at some point. Using cgroups also lets logind know when a process was started by a user but the user has logged out, and optionally lets the administrator kill user processes when they log out. So, elogind will expose information about users, sessions, and seats, but for now not slices. Most logind users don't care so this is OK. Thanks for the detail explaination, maybe we can use cgmanager somehow later: https://github.com/lxc/cgmanager Andy [*] Configuring elogind [...] It's a bit of a cross-cutting concern and I don't know what to do about it exactly. But, with all of this, and the patches I have sent, pam_elogind.so does tell logind about users. I rewired polkit to use elogind for console information but I haven't tried going back up the stack to get a GNOME session. Future work, I guess, and help is very much welcome :) If you are interested in hacking on elogind I am sure you will find things to do. Let me know and I'll add you to the maintainers. I follow the config, and get elogind running up. The pam, seat and session things work, I can use loginctl or call the dbus method to switch between sessions. But the reboot and poweroff don't work, which turn out to run the systemd special target ;-
Re: elogind status
On Fri, Aug 21, 2015 at 11:19 AM, 宋文武 iyzs...@gmail.com wrote: Andy Wingo wi...@igalia.com writes: Hi :) [...] The result is https://github.com/andywingo/elogind. It provides: * a logind-compatible API with a different library name, libelogind * a pkg-config file, libelogind.pc * a daemon, elogind * a PAM module, pam_elogind.so * a query/control utility, loginctl It might be worth it to install more compatibility interfaces for systemd, e.g. libsystemd.so, or a symlink for systemd/sd-login.h to go to elogind/sd-login.h. Or perhaps we should just provide the systemd header files with the systemd names. In practice this means that building packages that use the C interfaces need a bit more munging in Guix to replace names. Yeah, as seen in your polkit patch. In the patches I sent to this list, we have also a service which runs elogind, and the facilities to integrate pam_elogind.so with the rest of the system. The PAM integration is really horrible and I'd be interested in other options; see footnote for my os-config.scm. Upstream logind integrates with systemd to ensure that user sessions are run in cgroups, which is a pretty neat feature. They manage cgroups with a hierarchical slice abstraction. Perhaps DMD should do this at some point. Using cgroups also lets logind know when a process was started by a user but the user has logged out, and optionally lets the administrator kill user processes when they log out. So, elogind will expose information about users, sessions, and seats, but for now not slices. Most logind users don't care so this is OK. Thanks for the detail explaination, maybe we can use cgmanager somehow later: https://github.com/lxc/cgmanager I think I'm opposed to this. I say I think because I haven't done all of my homework yet, but I am just starting to write a Scheme interface to cgroups for use with 'call-with-container' so I've learned a thing or two. I'd like to see dmd use cgroups like systemd does, but I don't think we need to bring in any LXC tools to do it. All the LXC stuff I've looked at has been too high level to be useful to us. Guile has everything we need. :) - Dave
Re: [PATCH] gnu: rhythmbox: Add gst-plugins-ugly dependency.
Andy Wingo wi...@igalia.com writes: Not sure what the right solution to this mess is; ideally a user would just have to install a set of gstreamer plugins and those would work across all of their applications, and you wouldn't have to specify the plugins for each gst-using app. Dunno. For now this works better than not being able to play mp3s tho :P I don't think we should apply this patch. Instead, please set GST_PLUGIN_SYSTEM_PATH to ~/.guix-profile/lib/gstreamer-1.0 and then all gstreamer plugins installed in your profile should be available to programs based on gstreamer. Works for me with totem, anyway. Note that we have a 'native-search-paths' specification on the 'gstreamer' package, so if you install that package in your profile, it should remind you to set GST_PLUGIN_SYSTEM_PATH. Unfortunately, this is not very satisfactory because there's usually no reason to install gstreamer in your profile. It would be good to find a better solution to this more general problem. Ideally, it would be good to remind the user about 'native-search-paths' for all *run-time* dependencies of the packages in the user's profile. Things get messy in a different way when your packages are split between your user profile and the system profile. I'm not sure yet how to solve the more general problem. What do you think? Thanks, Mark
Re: [PATCH] gnu: Simplify LLVM build.
Hi Andy, Thank you for this most excellent, radical simplification of our llvm package! However, I agree with Eric about the commit log. Andy Wingo wi...@igalia.com writes: On Mon 17 Aug 2015 10:43, Eric Bavier ericbav...@openmailbox.org writes: From db066d194d3b8359eddd0149234bfad29c11542d Mon Sep 17 00:00:00 2001 From: Andy Wingo wi...@igalia.com Date: Mon, 17 Aug 2015 08:26:07 +0200 Subject: [PATCH] gnu: Simplify LLVM build. * gnu/packages/llvm.scm (llvm): Simplify build. Could this perhaps be a bit more descriptive? It also doesn't follow our standard. Maybe: gnu: llvm: Simplify build rpath handling. * gnu/packages/llvm.scm (llvm)[arguments]: Remove phases argument. Add to configure-flags -DCMAKE_SKIP_BUILD_RPATH=FALSE and -DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE. `~Eric It could :) However I do not see how the change you mention would be indicated by the GCS, HACKING, or guix.texi. As per the GCS I think this falls under simple changes. Whether changes are simple is a matter of judgment, I suppose. In this case you've replaced 18 out of 45 lines (40%) of the package description, the entire customization of the cmake-build-system process. Under Ludovic's leadership, we strive for high standards in our commit logs, and I for one am thankful for that when looking over the logs. If Guix has additional requirements they should be indicated somewhere; did I miss the document? No, you didn't miss it. We have a lot to do, and writing precise documentation of our coding standards is not something we've yet found time for. I'm not sure it's something that could be precisely documented even if we tried. I'd like to push your commit with Eric's proposed commit log. Is that okay? Mark
[GSoC] Guix + GNUnet: report
Hello! it’s been a while since my last report, time for some news. What happened since last time? —— After our meeting with Ludovic and Christian, I started working on the downloading and publication related functions. The tests and example programs were rapidly riddled with bugs and segfaults, and I’ve spent around one month trying to get the publication working. Once these problems have been addressed (i.e. a week ago), I could finally start working on the GNUnet publisher for Guix. Its first version can only upload one store item at a time, and isn’t even functional yet: a fikle segfault deems it unusable. Before noticing this segfault (it doesn’t always happen), I started working on a more complex version that would allow bulk publication of store items, but this gain in complexity came with a hole new set of strange and hardly traceable errors (SIGILL and SIGBUS), and it’s far from being usable. Moreover, the two version seem to have difficulties handling symlinks. Guile – GNUnet —— The bindings are focused on the FileSharing service, and seem usable. I’ll write detailed documentation before the end of the GSoC, and list the pitfalls to avoid (at least those I’m aware of). There’s still work to do, notably: — unify the names, according to Scheme/Guile/Guix conventions, and reorganize the source. — check every function for lacks of arguments checking, verify everything that’s given to foreign functions. — replace all ad-hoc exceptions with more meaningful srfi-34 exceptions; — replace `invalid-result` exceptions, raised whenever a foreign function returns NULL, with more meaningful ones (by inspecting the GNUnet source); — use the various “context pointers” to allow a more functional style: discarded in the current bindings, these are transmitted from one function call to another (akin `fold`). — improve testing, document everything, complete the bindings and extend them to other GNUnet services. Publishing packages ——— Eclosed you’ll find the more usable version of the publisher, “tested” with the following software: — Guix: commit 7cb6f648b2486b0e6060a333564432a0830637de — GNUnet: rev. 36242 — Libextractor: rev. 36031 — the bindings: commit dc6f74d269fcb324d8649f3c511299b7ba2be2a4 It’s important to use a recent version of GNUnet, because its API changed recently (especially, Guix’s currently packaged version isn’t good). This publisher can be tested: for that you’ll have to put `publish-gnunet.scm` and `publish-utils.scm` in `guix/scripts`, and start GNUnet (see my previous reports). Then you can create an ego: $ gnunet-identity -C mytestego and call the publisher with: $ guix publish-gnunet -c /path/to/gnunet.conf -P mytestego \ /gnu/store/somedirectory The file `publish-utils.scm` contains code shared between the HTTP publisher and this one; I did not knew were to store it, thus the improper module in (guix scripts). `publish-gnunet-multi.scm` is the WIP second version, not usable at all :( As usual, do not hesitate to contact me for any question or remark! -- Rémi ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Rémi Birot-Delrue asg...@free.fr ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see http://www.gnu.org/licenses/. (define-module (guix scripts publish-gnunet) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module ((srfi srfi-26) #:select (cut)) #:use-module (srfi srfi-37) #:use-module ((rnrs bytevectors) #:select (string-utf8 utf8-string)) #:use-module (ice-9 match) #:use-module (ice-9 ftw) #:use-module (ice-9 regex) #:use-module (system foreign) #:use-module (guix base32) #:use-module (guix pki) #:use-module (guix store) #:use-module (guix ui) #:use-module ((guix config) #:select (%store-directory)) #:use-module ((gnu gnunet common)#:renamer (symbol-prefix-proc 'gn:)) #:use-module ((gnu gnunet configuration) #:renamer (symbol-prefix-proc 'gn:)) #:use-module ((gnu gnunet scheduler) #:renamer (symbol-prefix-proc 'gn:)) #:use-module ((gnu gnunet container metadata) #:renamer (symbol-prefix-proc 'gn:)) #:use-module ((gnu gnunet identity)
Re: screen locker
On Fri, Aug 21, 2015, at 11:47, 宋文武 wrote: Same here, I think only root can run it. (the unprivileged user can't set /proc/self/oom_score_adj). Slock on Debian (package suckless-tools) doesn't have this issue. I am looking into how they deal with it.
Re: question
Dika Setya Prayogi dikasetyapray...@gmail.com writes: hi. is there any guixhurd available to dowoload, or is still under development ? It's still under development. Mark
Re: screen locker
It seems that slock wants to have the setuid bit set. I see in the docs [1] that the store cannot contain setuid programs. Is the workaround in the docs only applicable to GuixSD, or can it be used with the standalone package manager? [1] http://www.gnu.org/software/guix/manual/html_node/Setuid-Programs.html On Fri, Aug 21, 2015, at 13:46, Leo Famulari wrote: On Fri, Aug 21, 2015, at 11:47, 宋文武 wrote: Same here, I think only root can run it. (the unprivileged user can't set /proc/self/oom_score_adj). Slock on Debian (package suckless-tools) doesn't have this issue. I am looking into how they deal with it.
Re: [PATCH 1/1] gnu: Add dvtm.
Hi! Leo Famulari l...@famulari.name writes: * gnu/packages/dvtm.scm: New file. * gnu-system.am: Add it. Please include the Makefile variable being changed, like this: * gnu-system.am (GNU_SYSTEM_MODULES): Add it. diff --git a/gnu/packages/dvtm.scm b/gnu/packages/dvtm.scm new file mode 100644 index 000..83ee293 --- /dev/null +++ b/gnu/packages/dvtm.scm @@ -0,0 +1,29 @@ +(define-module (gnu packages dvtm) This new file needs the same header as our other source files, but with only your own copyright notice on top. + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (gnu packages ncurses)) + +(define-public dvtm + (package + (name dvtm) + (version 0.14) + (source (origin + (method url-fetch) Please don't use any tabs in *.scm files. + (uri (string-append http://www.brain-dump.org/projects/dvtm/dvtm-; version.tar.gz)) Please keep all lines in *.scm files to 80 columns or less. Also, there should be a space after version. + (sha256 + (base32 0ykl8dz7ivjgdzhmhlgidnp2ffh5gxq9lbg276w7iid4z10v76wa + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append PREFIX= (assoc-ref %outputs out))) (arguments should be lined up with (build-system, and the ` should be below the 'a'. + #:phases (alist-replace 'configure (lambda _ (setenv CC (which gcc))) %standard-phases) You should be able to remove this line and simply add CC=gcc to the make flags. + #:tests? #f)) Please add a comment saying why tests are disabled. It could be as simple as: #:tests? #f)) ; no test suite + + (inputs `((ncurses ,ncurses))) + (synopsis Tiling window management for the console) + (description dvtm brings the concept of tiling window management, +popularized by X11-window managers like dwm to the console. As a console window +manager it tries to make it easy to work with multiple console based programs. ) There should probably be a comma after dwm here. Please remove the extraneous spaces at the end of the description, and wrap to fit in 80 columns. + (home-page http://www.brain-dump.org/projects/dvtm/;) + (license (list isc x11 When there is more than one license, we add a comment above the 'license' field explaining the license situation. We need to do this because the meaning of our license lists is ambiguous: it might mean dual-licensing, or it might mean that some of the code is under one license and some is under another. Also, it should be the 'expat' license, not the 'x11' license. They are both often ambiguously called the mit license, and are very similar, so it's a common mistake. Can you send an updated patch? Thanks, Mark
Re: [PATCH 1/2] gnu: Add font-ubuntu
Hi, sorry this is a bit late, but: l...@gnu.org (Ludovic Courtès) writes: Eric Dvorsak e...@dvorsak.fr skribis: * gnu/packages/fonts/scm (font-ubuntu): New variable. That last / should have been a .. Oh well. I changed the license URL to http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt and applied it. Thank you! The patch labelled this license as 'non-copyleft', but I'm not sure that's right. It includes this text: 4) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this licence, and must not be distributed under any other licence. [...] So this ensures that additional restrictions cannot be added later, like a copyleft license. I'm not entirely sure it's a free software license as indicated by 'fsf-free' either, but that's okay because fonts qualify as non-functional data. It might be that we don't yet have anything in (guix licenses) that applies here. Maybe we need another license-producing procedure for non-functional works that satify the FSDG requirements? Mark
Re: elogind status
On Fri, Aug 21, 2015 at 12:33 PM, Andy Wingo wi...@igalia.com wrote: Hi :) To pick up a thread from May, I was poking at elogind recently. A bit of recap as to how things got here, then the status. [ . . . ] I want GNOME on Guix :) GNOME used to support ConsoleKit but doesn't any more. There is a ConsoleKit2 project that started recently but without buy-in from GNOME I don't see a future for it. GNOME really needs the org.freedesktop.login1 D-Bus interface -- really wants it. So I thought, OK, let's pull logind out of systemd, and see where that gets us. The result is https://github.com/andywingo/elogind. It provides: * a logind-compatible API with a different library name, libelogind * a pkg-config file, libelogind.pc * a daemon, elogind * a PAM module, pam_elogind.so * a query/control utility, loginctl This is great to hear! How much do you know about what uselessd, nosh and the Ubuntu logind shim and how they did things? I don't know anything, I just know these things exist. I want GNOME on Guix too! Currently running Guix on NixOS mostly for this reason (they use systemd). -- /c
Re: screen locker
On 2015-08-20 04:51, Marcus Moeller wrote: Hi all. I wanted to install a screen locker on GuixSD and all I found was slock. Sadly when I try to start it as unprivileged user, I got an error like: cannot disable the out-of-memory-killer for this process Greets Marcus You can install xlockmore and configure your password to screen locker. Enlightenment have you own screen locker. Gnome3 too but not available on GuixSD. In soon 3:) So when I use Windowmaker or Xfce I was use xlockmore package. -- Daniel Pimentel (d4n1 3:)
Re: [PATCH 1/1] gnu: Add dvtm.
Hello, Thanks for your detailed critique of my first patch! On Fri, Aug 21, 2015, at 18:35, Mark H Weaver wrote: Please include the Makefile variable being changed, like this: * gnu-system.am (GNU_SYSTEM_MODULES): Add it. Done. This new file needs the same header as our other source files, but with only your own copyright notice on top. Done. Please don't use any tabs in *.scm files. All the tabs are gone. I'm new to scheme so I tried to follow Riastradh's Lisp Style Rules, as suggested in guix docs section 7.4.4 (Coding Style). Basically, I just used C-M-q in vanilla emacs but I guess that that is not enough. I will have to read more code and configure my editor more carefully... Please keep all lines in *.scm files to 80 columns or less. Also, there should be a space after version. Done. (arguments should be lined up with (build-system, and the ` should be below the 'a'. Done. + #:phases (alist-replace 'configure (lambda _ (setenv CC (which gcc))) %standard-phases) You should be able to remove this line and simply add CC=gcc to the make flags. I'm glad you told me this. That line was copy-pasted. I've replaced the part that skipped configure and check using modify-phases, which I find much clearer. Please add a comment saying why tests are disabled. It could be as simple as: #:tests? #f)) ; no test suite Done. + (description dvtm brings the concept of tiling window management, +popularized by X11-window managers like dwm to the console. As a console window +manager it tries to make it easy to work with multiple console based programs. ) There should probably be a comma after dwm here. Please remove the extraneous spaces at the end of the description, and wrap to fit in 80 columns. I copied this description verbatim from the project's home page. Think I should file a bug upstream? ;) I hadn't noticed the error but now it bugs me, so I've made the change. Trailing whitespace removed. + (home-page http://www.brain-dump.org/projects/dvtm/;) + (license (list isc x11 When there is more than one license, we add a comment above the 'license' field explaining the license situation. We need to do this because the meaning of our license lists is ambiguous: it might mean dual-licensing, or it might mean that some of the code is under one license and some is under another. Also, it should be the 'expat' license, not the 'x11' license. They are both often ambiguously called the mit license, and are very similar, so it's a common mistake. Done. Can you send an updated patch? It follows this email. Thanks for your help. Please let know if there are problems with the new revision. Leo On Fri, Aug 21, 2015, at 18:35, Mark H Weaver wrote: Hi! Leo Famulari l...@famulari.name writes: * gnu/packages/dvtm.scm: New file. * gnu-system.am: Add it. Please include the Makefile variable being changed, like this: * gnu-system.am (GNU_SYSTEM_MODULES): Add it. diff --git a/gnu/packages/dvtm.scm b/gnu/packages/dvtm.scm new file mode 100644 index 000..83ee293 --- /dev/null +++ b/gnu/packages/dvtm.scm @@ -0,0 +1,29 @@ +(define-module (gnu packages dvtm) This new file needs the same header as our other source files, but with only your own copyright notice on top. + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (gnu packages ncurses)) + +(define-public dvtm + (package + (name dvtm) + (version 0.14) + (source (origin + (method url-fetch) Please don't use any tabs in *.scm files. + (uri (string-append http://www.brain-dump.org/projects/dvtm/dvtm-; version.tar.gz)) Please keep all lines in *.scm files to 80 columns or less. Also, there should be a space after version. + (sha256 +(base32 0ykl8dz7ivjgdzhmhlgidnp2ffh5gxq9lbg276w7iid4z10v76wa + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append PREFIX= (assoc-ref %outputs out))) (arguments should be lined up with (build-system, and the ` should be below the 'a'. + #:phases (alist-replace 'configure (lambda _ (setenv CC (which gcc))) %standard-phases) You should be able to remove this line and simply add CC=gcc to the make flags. + #:tests? #f)) Please add a comment saying why tests are disabled. It could be as simple as: #:tests? #f)) ; no test suite + + (inputs `((ncurses ,ncurses))) + (synopsis Tiling window management for the console) + (description dvtm brings the concept of tiling window management, +popularized by X11-window managers like dwm to the console. As a console window +manager it tries to make it easy to work with multiple console based programs. ) There should probably be a comma after dwm here.
[PATCH v2] gnu: Add dvtm.
* gnu/packages/dvtm.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/dvtm.scm | 54 +++ 2 files changed, 55 insertions(+) create mode 100644 gnu/packages/dvtm.scm diff --git a/gnu-system.am b/gnu-system.am index 3858e73..b2b177b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -87,6 +87,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/docbook.scm \ gnu/packages/doxygen.scm \ gnu/packages/dunst.scm \ + gnu/packages/dvtm.scm\ gnu/packages/ebook.scm \ gnu/packages/ed.scm \ gnu/packages/elf.scm \ diff --git a/gnu/packages/dvtm.scm b/gnu/packages/dvtm.scm new file mode 100644 index 000..17c7205 --- /dev/null +++ b/gnu/packages/dvtm.scm @@ -0,0 +1,54 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Leo Famulari l...@famulari.name +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see http://www.gnu.org/licenses/. + +(define-module (gnu packages dvtm) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (gnu packages ncurses)) + +(define-public dvtm + (package + (name dvtm) + (version 0.14) + (source (origin +(method url-fetch) +(uri (string-append http://www.brain-dump.org/projects/dvtm/dvtm-; + version .tar.gz)) +(sha256 + (base32 0ykl8dz7ivjgdzhmhlgidnp2ffh5gxq9lbg276w7iid4z10v76wa + (build-system gnu-build-system) + (arguments +`(#:make-flags (list CC=gcc + (string-append PREFIX= (assoc-ref %outputs out))) + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'check ; no test suite + (inputs `((ncurses ,ncurses))) + (synopsis Tiling window management for the console) + (description dvtm brings the concept of tiling window management, +popularized by X11-window managers like dwm, to the console. As a console +window manager it tries to make it easy to work with multiple console based +programs.) + (home-page http://www.brain-dump.org/projects/dvtm/;) + + ;; dvtm reuses some code of dwm and is released under the same MIT/X11 + ;; license. The terminal emulation part is licensed under the ISC license. + ;; source: http://www.brain-dump.org/projects/dvtm/#license + (license (list expat isc -- 2.4.3
Re: [PATCH 1/2] gnu: itstool: Wrap with PTYHONPATH.
宋文武 iyzs...@gmail.com writes: gnu: itstool: Wrap with PTYHONPATH. s/PTYHONPATH/PYTHONPATH/ * gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'. [arguments]: New field. --- gnu/packages/glib.scm | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 88c61b6..59d64e9 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -315,10 +315,18 @@ The intltool collection can be used to do these things: (base32 0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z (build-system gnu-build-system) -(propagated-inputs +(inputs `((libxml2 ,libxml2) (python2-libxml2 ,python2-libxml2) (python-2 ,python-2))) +(arguments + '(#:phases + (modify-phases %standard-phases + (add-after + 'install 'wrap-program + (lambda _ +(wrap-program (string-append %output /bin/itstool) In phase procedures, it's probably better to accept the 'outputs' keyword argument to the phase procedure and use that. + `(PYTHONPATH = (,(getenv PYTHONPATH) (home-page http://www.itstool.org;) (synopsis Tool to translate XML documents with PO files) (description Otherwise it looks good to me. Thanks, Mark
Re: [PATCH 2/2] gnu: Add d-feet.
宋文武 iyzs...@gmail.com writes: * gnu/packages/gnome.scm (d-feet): New variable. --- gnu/packages/gnome.scm | 55 ++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 1c31be2..393e983 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3302,3 +3302,58 @@ work and the interface is well tested.) Epiphany is a GNOME web browser targeted at non-technical users. Its principles are simplicity and standards compliance.) (license license:gpl2+))) + +(define-public d-feet + (package +(name d-feet) +(version 0.3.10) +(source (origin + (method url-fetch) + (uri (string-append mirror://gnome/sources/ name / + (version-major+minor version) / + name - version .tar.xz)) + (sha256 + (base32 +0nb31bvwnj7pcpm85g8bvgjc6s5kbqy8g4qp7pzqf8w6rdgxzw48 +(build-system glib-or-gtk-build-system) +(arguments + '(#:out-of-source? #f ; tests need to run in the source directory. + #:phases + (modify-phases %standard-phases + (add-before + 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) +;; The test suite requires a running X server. +(system (format #f ~a/bin/Xvfb :1 +(assco-ref inputs xorg-server))) Did you test this? I don't see how this could work, since you mispelled 'assoc-ref'. Anyway, I guess that Xvfb will be in $PATH, so you can probably just launch it as Xvfb. If so, you could avoid the 'format' and change the 'lambda*' to just lambda _ +(setenv DISPLAY :1) +;; Don't fail on missing '/etc/machine-id'. +(setenv DBUS_FATAL_WARNINGS 0) +;; tests.py and window.py don't meet E402: +;; E402 module level import not at top of file +(substitute* src/tests/Makefile + ((--ignore=E123) --ignore=E123,E402 + (add-after + 'install 'wrap-program + (lambda _ +(wrap-program (string-append %output /bin/d-feet) + `(PYTHONPATH = (,(getenv PYTHONPATH))) + `(GI_TYPELIB_PATH = (,(getenv GI_TYPELIB_PATH) +(native-inputs + `((intltool ,intltool) + (itstool ,itstool) + (pkg-config ,pkg-config) + (python-pep8 ,python-pep8) + (xmllint ,libxml2) + (xorg-server ,xorg-server))) +(inputs + `((gobject-introspection ,gobject-introspection) + (gtk+ ,gtk+) + (python ,python-wrapper) + (python-pygobject ,python-pygobject))) +(home-page https://wiki.gnome.org/Apps/DFeet;) +(synopsis D-Bus debugger) +(description + D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces +of running programs and invoke methods on those interfaces.) +(license license:gpl2+))) Otherwise it looks good to me. Thanks, Mark
Re: [PATCH 1/2] gnu: Add eyed3.
On Thu, Aug 20, 2015 at 05:50:10PM +0800, 宋文武 wrote: eyeD3 is both a tool and python library, I wonder whether 'python-eyed3' fits better. Usually when a package provides binaries we do not use the python prefix. It would also depend on whether there is a python- and a python2- variant. If not, this could be seen as an indication that the binary characteristic is stronger than the library property. Andreas
Re: [GSoC update] Porting Guix to GNU/Hurd
Amirouche Boubekki writes: Le 2015-08-19 22:27, taylanbayi...@gmail.com a écrit: Manolis Ragkousis manolis...@gmail.com writes: [...] But nevertheless we can safely say we have ported Guix to Hurd. :-) [...] Amazing news! :-) Thanks so much for working on this. I haven't tried out Hurd so far but am meaning to do so eventually; sounds like my first Hurd system will be GuixSD at the same time. So much awesome in one system. I second that. Thanks :) +1 Congratulations on your good progress, Manolis! Alex