diff mbox series

[bug#52806,v4] gnu: Add xinitrc-xsession.

Message ID Tca_dw8KFQqPly2ZsyvwXwJwc7jXy0WHVlxf8V3BZSVoTh3sL3Jw3HLlu4e47rLSUAenurW-o4YPuT9IQEDoEzcZAlweUOGyxYYrR2WmIGw=@protonmail.com
State New
Headers show
Series [bug#52806,v4] gnu: Add xinitrc-xsession. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

John Kehayias Jan. 11, 2022, 9:29 p.m. UTC
Updated this package after feedback via IRC, updated to use git-version and gexp.

Comments

Maxime Devos Jan. 11, 2022, 10:24 p.m. UTC | #1
John Kehayias via Guix-patches via schreef op di 11-01-2022 om 21:29 [+0000]:
> +              (lambda* (#:key outputs #:allow-other-keys)
> +                (let* ((xinitrc-desktop
> +                        (string-append #$output
"/share/xsessions/xinitrc.desktop"))
> +                       (xinitrc-helper
> +                        (string-append #$output
"/bin/xinitrcsession-helper")))
> +                  (substitute* xinitrc-desktop
> +                    (("Exec=xinitrcsession-helper")
> +                     (string-append "Exec=" xinitrc-helper)))))))

'outputs' is unused here, so you can simplify the lambda from
(lambda * (#:key outputs #:allow-other-keys) ...)
to
(lambda _ ...).

Greetings,
Maxime
diff mbox series

Patch

From 99cddf5130f9b5c95f268f09bce8b50e7951a7c3 Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
Date: Sun, 26 Dec 2021 11:43:26 -0500
Subject: [PATCH] gnu: Add xinitrc-xsession.

* gnu/packages/wm.scm (xinitrc-xsession): New variable.
---
 gnu/packages/wm.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index bf24dfa0d9..297244abcf 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -48,6 +48,7 @@ 
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -68,9 +69,11 @@  (define-module (gnu packages wm)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system asdf)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system meson)
@@ -2317,6 +2320,47 @@  (define-public xclickroot
 button is pressed on the root window.")
     (license license:public-domain)))
 
+(define-public xinitrc-xsession
+  (let ((commit "cbfc77a1ccaf07b7d8a35f4d8007c7102f365374")
+        (revision "0"))
+    (package
+      (name "xinitrc-xsession")
+      (version (git-version "1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://aur.archlinux.org/xinit-xsession.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "12nv3qyjhy2l9mcb547f414d8bj79mhdhsra0g8x7x71b1xxl15b"))))
+      (build-system copy-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'install 'patch-xsession-file
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let* ((xinitrc-desktop
+                        (string-append #$output "/share/xsessions/xinitrc.desktop"))
+                       (xinitrc-helper
+                        (string-append #$output "/bin/xinitrcsession-helper")))
+                  (substitute* xinitrc-desktop
+                    (("Exec=xinitrcsession-helper")
+                     (string-append "Exec=" xinitrc-helper)))))))
+        #:install-plan
+        #~(list '("xinitrcsession-helper" "bin/")
+                '("xinitrc.desktop" "share/xsessions/"))))
+      (home-page "https://aur.archlinux.org/packages/xinit-xsession/")
+      (synopsis "Use ~/.xinitrc as an xsession from your display manager")
+      (description
+       "Xinitrc-xsession allows @code{~/.xinitrc} to be run as a session from your
+display manager.  Make @code{~/.xinitrc} executable and use this package in
+your system configuration have this xsession available to your display
+manager.")
+      (license license:gpl3))))
+
 (define-public xmenu
   (package
     (name "xmenu")
-- 
2.34.0