On Fri, 13 May 2016 12:25:07 +0200
Danny Milosavljevic <dan...@scratchpost.org> wrote:

> On Mon, 4 Apr 2016 17:04:51 -0400
> Kei Yamashita <k...@openmailbox.org> wrote:
> 
> > The source tarball comes from Debian.   
> 
> The wmbattery version
> <http://http.debian.net/debian/pool/main/w/wmbattery/wmbattery_2.50.orig.tar.gz>
> that we use in Guix has a memory leak. It's been eating up all memory
> of my laptop for some time now, so I tracked it down.
> 
> The fix would be:
> 
> diff -ur orig/dockapps-30b9edb/upower.c dockapps-30b9edb/upower.c
> --- orig/dockapps-30b9edb/upower.c    2015-08-31
> 01:58:13.000000000 +0200 +++ dockapps-30b9edb/upower.c
> 2016-05-12 07:21:27.550374114 +0200 @@ -56,7 +56,8 @@
>  
>  int upower_supported(void)
>  {
> -     up = up_client_new();
> +     if (!up)
> +             up = up_client_new();
>  
>       if (!up) {
>               return 0;
> @@ -78,7 +79,8 @@
>       GPtrArray *devices = NULL;
>       static int retries = 0;
>  
> -     up = up_client_new();
> +     if (!up)
> +             up = up_client_new();
>  
>       if (!up)
>               return -1;
> 
> I added Joey Hess, the author of the program, to Cc.
> 
> @Joey Hess: what do you think?

Until the patch is applied upstream, this patch should keep things in
order within Guix.
From e07912c6b5ea2ff45d5b923dccad26fef3ca932d Mon Sep 17 00:00:00 2001
From: Kei Yamashita <k...@openmailbox.org>
Date: Sat, 14 May 2016 22:27:15 -0400
Subject: [PATCH] gnu: wmbattery: Add `patch-upower' phase.

* gnu/packages/gnustep.scm (wmbattery): Add `patch-upower' phase.
---
 gnu/packages/gnustep.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index 31fca5b..961df0e 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -108,7 +108,13 @@ interface.  It is fast, feature rich, easy to configure, 
and easy to use.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'autoconf
-           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+           (lambda _ (zero? (system* "autoreconf" "-vfi"))))
+         (add-before 'configure 'patch-upower
+           (lambda _
+             (substitute* "upower.c"
+               (("up = up_client_new\\(\\);")
+                (string-append "if (!up)\n"
+                               "                up = up_client_new();"))))))))
     (inputs
      `(("glib" ,glib)
        ("libx11" ,libx11)
-- 
2.7.4

Attachment: pgpWr41SkmPb1.pgp
Description: OpenPGP digital signature

Reply via email to