unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add wmctrl.
@ 2014-12-05 12:54 Alex Kost
  2014-12-06 14:15 ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Kost @ 2014-12-05 12:54 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 397 bytes --]

A couple of notes on this package:

- I took the patch for fixing 64-bit bug from
  <https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/X11/wmctrl/64-bit-data.patch>.
  Should the header comment be changed?

- I tested it only on 32-bit machine so I don't really know how it works
  on 64-bit.

- Is it ok to make "wmctrl.scm" or would it be more appropriate to put
  it into "xdisorg.scm"?


[-- Attachment #2: 0001-gnu-Add-wmctrl.patch --]
[-- Type: text/x-diff, Size: 5827 bytes --]

From 080fcefdcb814cc0942569ea0fb8d61513a4ec8a Mon Sep 17 00:00:00 2001
From: Alex Kost <alezost@gmail.com>
Date: Fri, 5 Dec 2014 00:22:04 +0300
Subject: [PATCH] gnu: Add wmctrl.

* gnu/packages/wmctrl.scm: New file.
* gnu/packages/patches/wmctrl-64-fix.patch: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add package file.
  (dist_patch_DATA): Add patch file.
---
 gnu-system.am                            |  2 ++
 gnu/packages/patches/wmctrl-64-fix.patch | 32 +++++++++++++++++
 gnu/packages/wmctrl.scm                  | 61 ++++++++++++++++++++++++++++++++
 3 files changed, 95 insertions(+)
 create mode 100644 gnu/packages/patches/wmctrl-64-fix.patch
 create mode 100644 gnu/packages/wmctrl.scm

diff --git a/gnu-system.am b/gnu-system.am
index b3ba176..4077720 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -269,6 +269,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/wget.scm				\
   gnu/packages/which.scm			\
   gnu/packages/wine.scm				\
+  gnu/packages/wmctrl.scm			\
   gnu/packages/wordnet.scm			\
   gnu/packages/wv.scm				\
   gnu/packages/xfig.scm				\
@@ -443,6 +444,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/util-linux-perl.patch			\
   gnu/packages/patches/vpnc-script.patch			\
   gnu/packages/patches/w3m-fix-compile.patch			\
+  gnu/packages/patches/wmctrl-64-fix.patch
   gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch	\
   gnu/packages/patches/xf86-video-openchrome-includes.patch	\
   gnu/packages/patches/xmodmap-asprintf.patch
diff --git a/gnu/packages/patches/wmctrl-64-fix.patch b/gnu/packages/patches/wmctrl-64-fix.patch
new file mode 100644
index 0000000..3ec1c91
--- /dev/null
+++ b/gnu/packages/patches/wmctrl-64-fix.patch
@@ -0,0 +1,32 @@
+Description: Correct 64 Architecture implementation of 32 bit data
+Author: Chris Donoghue <cdonoghu@gmail.com>
+Bug-Debian: http://bugs.debian.org/362068
+
+--- wmctrl-1.07.orig/main.c
++++ wmctrl-1.07/main.c
+@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis
+      *
+      * long_length = Specifies the length in 32-bit multiples of the
+      *               data to be retrieved.
++     *
++     * NOTE:  see 
++     * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html
++     * In particular:
++     *
++     * 	When the X window system was ported to 64-bit architectures, a
++     * rather peculiar design decision was made. 32-bit quantities such
++     * as Window IDs, atoms, etc, were kept as longs in the client side
++     * APIs, even when long was changed to 64 bits.
++     *
+      */
+     if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False,
+             xa_prop_type, &xa_ret_type, &ret_format,     
+@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis
+ 
+     /* null terminate the result to make string handling easier */
+     tmp_size = (ret_format / 8) * ret_nitems;
++    /* Correct 64 Architecture implementation of 32 bit data */
++    if(ret_format==32) tmp_size *= sizeof(long)/4;
+     ret = g_malloc(tmp_size + 1);
+     memcpy(ret, ret_prop, tmp_size);
+     ret[tmp_size] = '\0';
diff --git a/gnu/packages/wmctrl.scm b/gnu/packages/wmctrl.scm
new file mode 100644
index 0000000..a664dc8
--- /dev/null
+++ b/gnu/packages/wmctrl.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;;
+;;; 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 wmctrl)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages xorg))
+
+(define-public wmctrl
+  (package
+    (name "wmctrl")
+    (version "1.07")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://tomas.styblo.name/wmctrl/dist/wmctrl-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
+              (patches (list (search-patch "wmctrl-64-fix.patch")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list (string-append "--mandir="
+                            (assoc-ref %outputs "out")
+                            "/share/man"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxmu" ,libxmu)
+       ("glib" ,glib)))
+    (home-page "http://tomas.styblo.name/wmctrl/")
+    (synopsis "Command-line tool to control X Window Manager")
+    (description
+     "Wmctrl allows to interact with an X Window Manager that is compatible
+with the EWMH/NetWM specification.  It can query the Window Manager for
+information, and request for certain window management actions (resize and
+move windows, switch between desktops, etc.)")
+    (license gpl2+)))
-- 
2.1.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-05 12:54 [PATCH] gnu: Add wmctrl Alex Kost
@ 2014-12-06 14:15 ` Ludovic Courtès
  2014-12-06 19:42   ` Alex Kost
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2014-12-06 14:15 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> - I took the patch for fixing 64-bit bug from
>   <https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/X11/wmctrl/64-bit-data.patch>.
>   Should the header comment be changed?

I think this one is OK.

> - I tested it only on 32-bit machine so I don't really know how it works
>   on 64-bit.

It works for me (except that ratpoison seems not to be NetWM-compliant.)

> - Is it ok to make "wmctrl.scm" or would it be more appropriate to put
>   it into "xdisorg.scm"?

xdisorg.scm would seem preferable to me.

> +  gnu/packages/patches/wmctrl-64-fix.patch

Missing backslash.
> +    (synopsis "Command-line tool to control X Window Manager")

“to control X11 window managers”

> +    (description
> +     "Wmctrl allows to interact with an X Window Manager that is compatible
> +with the EWMH/NetWM specification.  It can query the Window Manager for

“window manager” (lower case.)

OK to push with these adjustments.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-06 14:15 ` Ludovic Courtès
@ 2014-12-06 19:42   ` Alex Kost
  2014-12-06 22:29     ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Kost @ 2014-12-06 19:42 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès (2014-12-06 17:15 +0300) wrote:

> Alex Kost <alezost@gmail.com> skribis:

[...]
>> - Is it ok to make "wmctrl.scm" or would it be more appropriate to put
>>   it into "xdisorg.scm"?
>
> xdisorg.scm would seem preferable to me.

OK, then I think "unclutter" should go there as well.  What about "scrot"?

>> +  gnu/packages/patches/wmctrl-64-fix.patch
>
> Missing backslash.

Ouch, it was missed somehow.

>> +    (synopsis "Command-line tool to control X Window Manager")
>
> “to control X11 window managers”
>
>> +    (description
>> +     "Wmctrl allows to interact with an X Window Manager that is compatible
>> +with the EWMH/NetWM specification.  It can query the Window Manager for
>
> “window manager” (lower case.)

Thanks, I'll fix the case.

> OK to push with these adjustments.

I have not committed yet: I have a concern that "wmctrl" will bring a
dependency on (gnu packages glib) to “xdisorg.scm”.  Would it be a
problem?  However I see that xdisorg uses (gnu packages xorg) and xorg
uses (gnu packages xdisorg), so probably not.

-- 
Alex

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-06 19:42   ` Alex Kost
@ 2014-12-06 22:29     ` Ludovic Courtès
  2014-12-07  6:24       ` Alex Kost
  2014-12-07  9:28       ` Andreas Enge
  0 siblings, 2 replies; 8+ messages in thread
From: Ludovic Courtès @ 2014-12-06 22:29 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> Ludovic Courtès (2014-12-06 17:15 +0300) wrote:
>
>> Alex Kost <alezost@gmail.com> skribis:
>
> [...]
>>> - Is it ok to make "wmctrl.scm" or would it be more appropriate to put
>>>   it into "xdisorg.scm"?
>>
>> xdisorg.scm would seem preferable to me.
>
> OK, then I think "unclutter" should go there as well.  What about "scrot"?

Unclutter seems to come from x.org, so it either belongs in xorg.scm
(Andreas?) or xdisorg.scm, IMO.  Scrot seems like it could go in
xdisorg.scm.

> I have not committed yet: I have a concern that "wmctrl" will bring a
> dependency on (gnu packages glib) to “xdisorg.scm”.  Would it be a
> problem?

Normally no.  Try “make clean-go && make” to be sure.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-06 22:29     ` Ludovic Courtès
@ 2014-12-07  6:24       ` Alex Kost
  2014-12-09 20:53         ` Alex Kost
  2014-12-07  9:28       ` Andreas Enge
  1 sibling, 1 reply; 8+ messages in thread
From: Alex Kost @ 2014-12-07  6:24 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès (2014-12-07 01:29 +0300) wrote:

> Alex Kost <alezost@gmail.com> skribis:
>
>> Ludovic Courtès (2014-12-06 17:15 +0300) wrote:
>>
>>> Alex Kost <alezost@gmail.com> skribis:
>>
>> [...]
>>>> - Is it ok to make "wmctrl.scm" or would it be more appropriate to put
>>>>   it into "xdisorg.scm"?
>>>
>>> xdisorg.scm would seem preferable to me.
>>
>> OK, then I think "unclutter" should go there as well.  What about "scrot"?
>
> Unclutter seems to come from x.org, so it either belongs in xorg.scm
> (Andreas?) or xdisorg.scm, IMO.  Scrot seems like it could go in
> xdisorg.scm.

Initially I suggested to put unclutter to xorg.scm, but if I understood
correctly it shouldn't be there:
<http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00115.html>.

I'm going to move scrot to xdisorg.scm if other people do not object.

-- 
Alex

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-06 22:29     ` Ludovic Courtès
  2014-12-07  6:24       ` Alex Kost
@ 2014-12-07  9:28       ` Andreas Enge
  1 sibling, 0 replies; 8+ messages in thread
From: Andreas Enge @ 2014-12-07  9:28 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Alex Kost

On Sat, Dec 06, 2014 at 11:29:48PM +0100, Ludovic Courtès wrote:
> Unclutter seems to come from x.org, so it either belongs in xorg.scm
> (Andreas?) or xdisorg.scm, IMO.  Scrot seems like it could go in
> xdisorg.scm.

It comes from "x.org/contrib". I would suggest xdisorg.

Andreas

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-07  6:24       ` Alex Kost
@ 2014-12-09 20:53         ` Alex Kost
  2014-12-09 21:14           ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Kost @ 2014-12-09 20:53 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 110 bytes --]

Just in case I'm attaching all 3 patches for adding wmctrl, scrot and
unclutter to xdisorg.scm.  OK to push?


[-- Attachment #2: 0001-gnu-Add-wmctrl.patch --]
[-- Type: text/x-diff, Size: 5150 bytes --]

From e8b2d17e9fb236afad6fd11201f2784fa6b3abf7 Mon Sep 17 00:00:00 2001
From: Alex Kost <alezost@gmail.com>
Date: Fri, 5 Dec 2014 00:22:04 +0300
Subject: [PATCH 1/3] gnu: Add wmctrl.

* gnu/packages/xdisorg.scm (wmctrl): New variable.
* gnu/packages/patches/wmctrl-64-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                            |  1 +
 gnu/packages/patches/wmctrl-64-fix.patch | 32 ++++++++++++++++++++++++++++
 gnu/packages/xdisorg.scm                 | 36 ++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+)
 create mode 100644 gnu/packages/patches/wmctrl-64-fix.patch

diff --git a/gnu-system.am b/gnu-system.am
index ab62510..d493245 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -446,6 +446,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/util-linux-perl.patch			\
   gnu/packages/patches/vpnc-script.patch			\
   gnu/packages/patches/w3m-fix-compile.patch			\
+  gnu/packages/patches/wmctrl-64-fix.patch			\
   gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch	\
   gnu/packages/patches/xf86-video-openchrome-includes.patch	\
   gnu/packages/patches/xmodmap-asprintf.patch
diff --git a/gnu/packages/patches/wmctrl-64-fix.patch b/gnu/packages/patches/wmctrl-64-fix.patch
new file mode 100644
index 0000000..3ec1c91
--- /dev/null
+++ b/gnu/packages/patches/wmctrl-64-fix.patch
@@ -0,0 +1,32 @@
+Description: Correct 64 Architecture implementation of 32 bit data
+Author: Chris Donoghue <cdonoghu@gmail.com>
+Bug-Debian: http://bugs.debian.org/362068
+
+--- wmctrl-1.07.orig/main.c
++++ wmctrl-1.07/main.c
+@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis
+      *
+      * long_length = Specifies the length in 32-bit multiples of the
+      *               data to be retrieved.
++     *
++     * NOTE:  see 
++     * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html
++     * In particular:
++     *
++     * 	When the X window system was ported to 64-bit architectures, a
++     * rather peculiar design decision was made. 32-bit quantities such
++     * as Window IDs, atoms, etc, were kept as longs in the client side
++     * APIs, even when long was changed to 64 bits.
++     *
+      */
+     if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False,
+             xa_prop_type, &xa_ret_type, &ret_format,     
+@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis
+ 
+     /* null terminate the result to make string handling easier */
+     tmp_size = (ret_format / 8) * ret_nitems;
++    /* Correct 64 Architecture implementation of 32 bit data */
++    if(ret_format==32) tmp_size *= sizeof(long)/4;
+     ret = g_malloc(tmp_size + 1);
+     memcpy(ret, ret_prop, tmp_size);
+     ret[tmp_size] = '\0';
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index a118fd7..a46b8f8 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +28,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages xorg))
 
 ;; packages outside the x.org system proper
@@ -215,3 +217,37 @@ notification protocol.  The reference implementation is mostly under an X Window
 System style license, and has no special dependencies.")
     ;; Most of the code is provided under x11 license.
     (license license:lgpl2.0+)))
+
+(define-public wmctrl
+  (package
+    (name "wmctrl")
+    (version "1.07")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://tomas.styblo.name/wmctrl/dist/wmctrl-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
+              (patches (list (search-patch "wmctrl-64-fix.patch")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list (string-append "--mandir="
+                            (assoc-ref %outputs "out")
+                            "/share/man"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxmu" ,libxmu)
+       ("glib" ,glib)))
+    (home-page "http://tomas.styblo.name/wmctrl/")
+    (synopsis "Command-line tool to control X window managers")
+    (description
+     "Wmctrl allows to interact with an X window manager that is compatible
+with the EWMH/NetWM specification.  It can query the window manager for
+information, and request for certain window management actions (resize and
+move windows, switch between desktops, etc.)")
+    (license license:gpl2+)))
-- 
2.1.3


[-- Attachment #3: 0002-gnu-Move-scrot-to-gnu-packages-xdisorg.patch --]
[-- Type: text/x-diff, Size: 6314 bytes --]

From 70bdda7711131de3f52500ac16967c96baab42bf Mon Sep 17 00:00:00 2001
From: Alex Kost <alezost@gmail.com>
Date: Tue, 9 Dec 2014 21:23:46 +0300
Subject: [PATCH 2/3] gnu: Move scrot to (gnu packages xdisorg).

* gnu/packages/scrot.scm: Remove.
  (scrot) Move to...
* gnu/packages/xdisorg.scm (scrot): ... here.  New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove scrot file name.
---
 gnu-system.am            |  1 -
 gnu/packages/scrot.scm   | 68 ------------------------------------------------
 gnu/packages/xdisorg.scm | 43 ++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/scrot.scm

diff --git a/gnu-system.am b/gnu-system.am
index d493245..880e311 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -231,7 +231,6 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/scanner.scm			\
   gnu/packages/scheme.scm			\
   gnu/packages/screen.scm			\
-  gnu/packages/scrot.scm			\
   gnu/packages/sdl.scm				\
   gnu/packages/search.scm			\
   gnu/packages/serveez.scm			\
diff --git a/gnu/packages/scrot.scm b/gnu/packages/scrot.scm
deleted file mode 100644
index b842c2d..0000000
--- a/gnu/packages/scrot.scm
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
-;;;
-;;; 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 scrot)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix licenses)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages image))
-
-(define-public scrot
-  (package
-    (name "scrot")
-    (version "0.8")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://linuxbrit.co.uk/downloads/scrot-"
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
-    (build-system gnu-build-system)
-    (arguments
-     ;; By default, man and doc are put in PREFIX/{man,doc} instead of
-     ;; PREFIX/share/{man,doc}.
-     '(#:configure-flags
-       (list (string-append "--mandir="
-                            (assoc-ref %outputs "out")
-                            "/share/man"))
-       #:phases (alist-replace
-                 'install
-                 (lambda* (#:key inputs outputs #:allow-other-keys)
-                   (let* ((out (assoc-ref outputs "out"))
-                          (doc (string-append out "/share/doc/scrot")))
-                     (mkdir-p doc)
-                     (zero?
-                      (system* "make" "install"
-                               (string-append "docsdir=" doc)))))
-                 %standard-phases)))
-    (inputs
-     `(("libx11" ,libx11)
-       ("giblib" ,giblib)))
-    (home-page "http://linuxbrit.co.uk/software/")
-    (synopsis "Command-line screen capture utility for X Window System")
-    (description
-     "Scrot allows to save a screenshot of a full screen, a window or a part
-of the screen selected by mouse.")
-    ;; This license removes a clause about X Consortium from the original
-    ;; X11 license.
-    (license (x11-style "file://COPYING"
-                        "See 'COPYING' in the distribution."))))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index a46b8f8..fccdeb5 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -251,3 +251,46 @@ with the EWMH/NetWM specification.  It can query the window manager for
 information, and request for certain window management actions (resize and
 move windows, switch between desktops, etc.)")
     (license license:gpl2+)))
+
+(define-public scrot
+  (package
+    (name "scrot")
+    (version "0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://linuxbrit.co.uk/downloads/scrot-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
+    (build-system gnu-build-system)
+    (arguments
+     ;; By default, man and doc are put in PREFIX/{man,doc} instead of
+     ;; PREFIX/share/{man,doc}.
+     '(#:configure-flags
+       (list (string-append "--mandir="
+                            (assoc-ref %outputs "out")
+                            "/share/man"))
+       #:phases (alist-replace
+                 'install
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (let* ((out (assoc-ref outputs "out"))
+                          (doc (string-append out "/share/doc/scrot")))
+                     (mkdir-p doc)
+                     (zero?
+                      (system* "make" "install"
+                               (string-append "docsdir=" doc)))))
+                 %standard-phases)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("giblib" ,giblib)))
+    (home-page "http://linuxbrit.co.uk/software/")
+    (synopsis "Command-line screen capture utility for X Window System")
+    (description
+     "Scrot allows to save a screenshot of a full screen, a window or a part
+of the screen selected by mouse.")
+    ;; This license removes a clause about X Consortium from the original
+    ;; X11 license.
+    (license (license:x11-style "file://COPYING"
+                                "See 'COPYING' in the distribution."))))
-- 
2.1.3


[-- Attachment #4: 0003-gnu-Move-unclutter-to-gnu-packages-xdisorg.patch --]
[-- Type: text/x-diff, Size: 6800 bytes --]

From 99d6d0c4600cd80df269d080df79c0d62690e798 Mon Sep 17 00:00:00 2001
From: Alex Kost <alezost@gmail.com>
Date: Tue, 9 Dec 2014 21:42:56 +0300
Subject: [PATCH 3/3] gnu: Move unclutter to (gnu packages xdisorg).

* gnu/packages/unclutter.scm: Remove.
  (unclutter) Move to...
* gnu/packages/xdisorg.scm (unclutter): ... here.  New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove unclutter file name.
---
 gnu-system.am              |  1 -
 gnu/packages/unclutter.scm | 69 ----------------------------------------------
 gnu/packages/xdisorg.scm   | 45 ++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 70 deletions(-)
 delete mode 100644 gnu/packages/unclutter.scm

diff --git a/gnu-system.am b/gnu-system.am
index 880e311..bfe25b3 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -252,7 +252,6 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/tmux.scm				\
   gnu/packages/tor.scm				\
   gnu/packages/tre.scm				\
-  gnu/packages/unclutter.scm			\
   gnu/packages/unrtf.scm			\
   gnu/packages/upnp.scm				\
   gnu/packages/uucp.scm				\
diff --git a/gnu/packages/unclutter.scm b/gnu/packages/unclutter.scm
deleted file mode 100644
index ca1f7ed..0000000
--- a/gnu/packages/unclutter.scm
+++ /dev/null
@@ -1,69 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
-;;;
-;;; 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 unclutter)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix licenses)
-  #:use-module (gnu packages xorg))
-
-(define-public unclutter
-  (package
-   (name "unclutter")
-   (version "8")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append
-                  "http://ftp.x.org/contrib/utilities/unclutter-"
-                  version ".tar.Z"))
-            (sha256
-             (base32
-              "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
-   (build-system gnu-build-system)
-   (arguments
-    '(#:tests? #f  ; no check target
-      #:phases (alist-delete
-                'configure
-                (alist-replace
-                 'install
-                 (lambda* (#:key inputs outputs #:allow-other-keys)
-                   (let* ((out  (assoc-ref outputs "out"))
-                          (bin  (string-append out "/bin"))
-                          (man1 (string-append out "/share/man/man1")))
-                     (mkdir-p bin)
-                     (mkdir-p man1)
-                     (zero?
-                      (system* "make" "install" "install.man"
-                               (string-append "BINDIR=" bin)
-                               (string-append "MANDIR=" man1)))))
-                 %standard-phases))))
-   (inputs `(("libx11" ,libx11)))
-   (home-page "http://ftp.x.org/contrib/utilities/")
-   (synopsis "Hide idle mouse cursor")
-   (description
-    "Unclutter is a program which runs permanently in the background of an
-X11 session.  It checks on the X11 pointer (cursor) position every few
-seconds, and when it finds it has not moved (and no buttons are pressed
-on the mouse, and the cursor is not in the root window) it creates a
-small sub-window as a child of the window the cursor is in.  The new
-window installs a cursor of size 1x1 but a mask of all 0, i.e. an
-invisible cursor.  This allows you to see all the text in an xterm or
-xedit, for example.  The human factors crowd would agree it should make
-things less distracting.")
-   (license public-domain)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index fccdeb5..6820d01 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -294,3 +294,48 @@ of the screen selected by mouse.")
     ;; X11 license.
     (license (license:x11-style "file://COPYING"
                                 "See 'COPYING' in the distribution."))))
+
+(define-public unclutter
+  (package
+    (name "unclutter")
+    (version "8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://ftp.x.org/contrib/utilities/unclutter-"
+                    version ".tar.Z"))
+              (sha256
+               (base32
+                "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f                      ; no check target
+       #:phases (alist-delete
+                 'configure
+                 (alist-replace
+                  'install
+                  (lambda* (#:key inputs outputs #:allow-other-keys)
+                    (let* ((out  (assoc-ref outputs "out"))
+                           (bin  (string-append out "/bin"))
+                           (man1 (string-append out "/share/man/man1")))
+                      (mkdir-p bin)
+                      (mkdir-p man1)
+                      (zero?
+                       (system* "make" "install" "install.man"
+                                (string-append "BINDIR=" bin)
+                                (string-append "MANDIR=" man1)))))
+                  %standard-phases))))
+    (inputs `(("libx11" ,libx11)))
+    (home-page "http://ftp.x.org/contrib/utilities/")
+    (synopsis "Hide idle mouse cursor")
+    (description
+     "Unclutter is a program which runs permanently in the background of an
+X11 session.  It checks on the X11 pointer (cursor) position every few
+seconds, and when it finds it has not moved (and no buttons are pressed
+on the mouse, and the cursor is not in the root window) it creates a
+small sub-window as a child of the window the cursor is in.  The new
+window installs a cursor of size 1x1 but a mask of all 0, i.e. an
+invisible cursor.  This allows you to see all the text in an xterm or
+xedit, for example.  The human factors crowd would agree it should make
+things less distracting.")
+    (license license:public-domain)))
-- 
2.1.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] gnu: Add wmctrl.
  2014-12-09 20:53         ` Alex Kost
@ 2014-12-09 21:14           ` Ludovic Courtès
  0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2014-12-09 21:14 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> Just in case I'm attaching all 3 patches for adding wmctrl, scrot and
> unclutter to xdisorg.scm.  OK to push?

Fine with me!

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-12-09 21:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-05 12:54 [PATCH] gnu: Add wmctrl Alex Kost
2014-12-06 14:15 ` Ludovic Courtès
2014-12-06 19:42   ` Alex Kost
2014-12-06 22:29     ` Ludovic Courtès
2014-12-07  6:24       ` Alex Kost
2014-12-09 20:53         ` Alex Kost
2014-12-09 21:14           ` Ludovic Courtès
2014-12-07  9:28       ` Andreas Enge

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).