unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#40212] [PATCH] gnu: xorriso: Build gui frontend.
@ 2020-03-24 14:53 Efraim Flashner
  2020-03-26 17:55 ` Thomas Schmitt
  2020-04-10 10:51 ` bug#40212: " Efraim Flashner
  0 siblings, 2 replies; 3+ messages in thread
From: Efraim Flashner @ 2020-03-24 14:53 UTC (permalink / raw)
  To: 40212; +Cc: Efraim Flashner

* gnu/packages/cdrom.scm (xorriso)[outputs]: Add gui.
[arguments]: Add custom phase to install gui files to separate output
and wrap the binary.
[inputs]: Add tk.
---

A while ago I had to burn a CD (or I thought I did) and I realized I
didn't know how to do it anymore and for some reason it was easier to
build the GUI front-end for xorriso than other options.

Adding tk as an input increases the closure size from about 80 MiB to about
150 MiB so I moved it to a separate output.  Creating a separate package
entirely would be easier, it's literally just adding "tk" as an input.

---
 gnu/packages/cdrom.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index d6127d11f9..c760725ba3 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
@@ -66,6 +66,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages image)
   #:use-module (gnu packages photo)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages video)
   #:use-module (gnu packages wget)
   #:use-module (gnu packages xiph))
@@ -156,6 +157,7 @@ libcdio.")
   (package
     (name "xorriso")
     (version "1.5.2")
+    (outputs '("out" "gui"))
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/xorriso/xorriso-"
@@ -172,10 +174,31 @@ libcdio.")
              (let* ((out (assoc-ref outputs "out"))
                     (out-bin (string-append out "/bin")))
                (install-file "frontend/grub-mkrescue-sed.sh" out-bin)
+               #t)))
+         (add-after 'install 'move-gui-to-separate-output
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gui (assoc-ref outputs "gui"))
+                   (name "xorriso-tcltk"))
+               (mkdir-p (string-append gui "/bin"))
+               (mkdir-p (string-append gui "/share/info"))
+               (mkdir-p (string-append gui "/share/man/man1"))
+               (rename-file
+                 (string-append out "/bin/" name)
+                 (string-append gui "/bin/" name))
+               (rename-file
+                 (string-append out "/share/info/" name ".info")
+                 (string-append gui "/share/info/" name ".info"))
+               (rename-file
+                 (string-append out "/share/man/man1/" name ".1")
+                 (string-append gui "/share/man/man1/" name ".1"))
+               (wrap-program (string-append gui "/bin/" name)
+                 `("PATH" ":" prefix (,(string-append out "/bin"))))
                #t))))))
     (inputs
      `(("acl" ,acl)
        ("readline" ,readline)
+       ("tk" ,tk)
        ("zlib" ,zlib)))
     (home-page "https://www.gnu.org/software/xorriso/")
     (synopsis "Create, manipulate, burn ISO-9660 file systems")
-- 
2.26.0

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

* [bug#40212] [PATCH] gnu: xorriso: Build gui frontend.
  2020-03-24 14:53 [bug#40212] [PATCH] gnu: xorriso: Build gui frontend Efraim Flashner
@ 2020-03-26 17:55 ` Thomas Schmitt
  2020-04-10 10:51 ` bug#40212: " Efraim Flashner
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Schmitt @ 2020-03-26 17:55 UTC (permalink / raw)
  To: 40212

Hi,

the "[/]" buttons of xorriso-tcltk need the Tcl/Tk package "BWidget"
to display a file browser.

Without it, the up-popping windows only offer a text input field for
entering an absolute file path. That's quite unusual for a GUI program.
The file browser widget does not look fancy but provides the interface
which a GUI user probably expects.


Have a nice day :)

Thomas

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

* bug#40212: [PATCH] gnu: xorriso: Build gui frontend.
  2020-03-24 14:53 [bug#40212] [PATCH] gnu: xorriso: Build gui frontend Efraim Flashner
  2020-03-26 17:55 ` Thomas Schmitt
@ 2020-04-10 10:51 ` Efraim Flashner
  1 sibling, 0 replies; 3+ messages in thread
From: Efraim Flashner @ 2020-04-10 10:51 UTC (permalink / raw)
  To: 40212-done

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

Patch pushed with some code cleanup to make the phase shorter.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, other threads:[~2020-04-10 10:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-24 14:53 [bug#40212] [PATCH] gnu: xorriso: Build gui frontend Efraim Flashner
2020-03-26 17:55 ` Thomas Schmitt
2020-04-10 10:51 ` bug#40212: " Efraim Flashner

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).