[bug#34758,4/4] gnu: Add cdemu-client.

Message ID 20190305172853.21358-3-mail@ambrevar.xyz
State Accepted
Headers show
Series [bug#34758,1/4] gnu: Add libmirage. | expand

Checks

Context Check Description
cbaines/comparison success View comparison
cbaines/applying patch success Successfully applied
cbaines/applying patch fail Apply failed
cbaines/applying patch fail Apply failed

Commit Message

Pierre Neidhardt March 5, 2019, 5:28 p.m. UTC
* gnu/packages/cdrom.scm (cdemu-client): New variable.
---
 gnu/packages/cdrom.scm | 49 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

Comments

Ludovic Courtès March 22, 2019, 9:14 p.m. UTC | #1
Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> * gnu/packages/cdrom.scm (cdemu-client): New variable.

[...]

> +         (add-after 'patch-shebang 'wrap-program
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((prog (string-append (assoc-ref outputs "out")
> +                                        "/bin/cdemu")))
> +               (wrap-program prog
> +                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
> +                 ;; `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
> +                 )

What’s the story with GI_TYPELIB_PATH?

Otherwise LGTM, thanks!

Ludo’.
Pierre Neidhardt March 22, 2019, 9:25 p.m. UTC | #2
Ludovic Courtès <ludo@gnu.org> writes:

> What’s the story with GI_TYPELIB_PATH?

Hasty copy-pasting! ;)

Patch

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 48d6f58a2..9fd3b9201 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -945,3 +945,52 @@  between the CDemu userspace daemon and linux kernel.")
     (description "CDemu is a software suite designed to emulate an optical
 drive and disc (including CD-ROMs and DVD-ROMs).")
     (license gpl2+)))
+
+(define-public cdemu-client
+  (package
+    (name "cdemu-client")
+    (version "3.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://downloads.sourceforge.net/cdemu/cdemu-client-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "1zwz987pb2pakfk9kz8a6xa9hq1ip48cn4ryl9z85dik8k2sizm9"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)))
+    (inputs
+     `(("python" ,python)
+       ("python-pygobject" ,python-pygobject)
+       ("cdemu-daemon" ,cdemu-daemon)))
+    (arguments
+     ;; No tests.
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'patch-shebang
+           (lambda* (#:key outputs #:allow-other-keys)
+             (patch-shebang (string-append (assoc-ref outputs "out")
+                                           "/bin/cdemu"))
+             #t))
+         (add-after 'patch-shebang 'wrap-program
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((prog (string-append (assoc-ref outputs "out")
+                                        "/bin/cdemu")))
+               (wrap-program prog
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 ;; `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
+                 )
+               #t))))))
+    (home-page "https://cdemu.sourceforge.io/")
+    (synopsis "Command-line client for controlling cdemu-daemon")
+    (description "CDEmu client is a simple command-line client for controlling
+CDEmu daemon.
+
+It provides a way to perform the key tasks related to controlling the CDEmu
+daemon, such as loading and unloading devices, displaying devices' status and
+retrieving/setting devices' debug masks.")
+    (license gpl2+)))