Mark H Weaver <m...@netris.org> writes:

> Ricardo Wurmus <rek...@elephly.net> writes:
>
>> arandr doesn’t work as it needs “xrandr” at runtime.  I tried to patch
>> the sources to replace the path to the “xrandr” binary with a full store
>> item path, but this wasn’t quite as pretty as I hoped as the arandr
>> sources don’t define the path once but directly assemble command line
>> strings in several places.  Propagating “xrandr” is the cleaner solution
>> in my opinion.
>
> How about making a wrapper for arandr that sets PATH to find xrandr?

Patch attached:

>From 28f0dc229bdba3e53bd101e5acf5e93e4ff7907e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rek...@elephly.net>
Date: Sat, 27 Feb 2016 12:00:20 +0100
Subject: [PATCH] gnu: arandr: Add "xrandr" to inputs.

* gnu/packages/xdisorg.scm (arandr)[inputs]: Add "xrandr".
[arguments]: Add build phase "make-xrandr-available" to ensure "xrandr"
executable is found at runtime.
---
 gnu/packages/xdisorg.scm | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index f01e17a..1cc5ef5 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2015 xd1le <elisp....@gmail.com>
 ;;; Copyright © 2015 Florian Paul Schmidt <mista.ta...@gmx.net>
 ;;; Copyright © 2016 Christopher Allan Webber <cweb...@dustycloud.org>
+;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,9 +67,20 @@
                (base32
                 "0d574mbmhaqmh7kivaryj2hpghz6xkvic9ah43s1hf385y7c33kd"))))
     (build-system python-build-system)
-    (arguments `(#:python ,python-2     ;incompatible with python 3
-                 #:tests? #f))          ;no tests
-    (inputs `(("pygtk" ,python2-pygtk)))
+    (arguments
+     `(#:python ,python-2     ;incompatible with python 3
+       #:tests? #f ;no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'make-xrandr-available
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/arandr")
+               `("PATH" ":" prefix (,(string-append (assoc-ref inputs "xrandr")
+                                                    "/bin"))))
+             #t)))))
+    (inputs `(("pygtk" ,python2-pygtk)
+              ("xrandr" ,xrandr)))
     (native-inputs `(("gettext"           ,gnu-gettext)
                      ("python-docutils"   ,python2-docutils)
                      ("python-setuptools" ,python2-setuptools)))
-- 
2.6.3

Reply via email to