Subject: [bug#72406] [PATCH emacs-team WIP v3 21/24] gnu: emacs-exwm: Build variants.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 10 Aug 2024 07:54:19 +0200

* gnu/packages/emacs-xyz.scm (emacs-exwm)[arguments]: Drop #:emacs.
[properties]: Add ‘minimal-variant’.
(emacs-no-x-toolkit-exwm, emacs-next-exwm, emacs-pgtk-exwm): New variables.
(emacs-exwm-no-x-toolkit): Deprecate in favour of emacs-no-x-toolkit-exwm.
---
 gnu/packages/emacs-xyz.scm | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b825cd26e0..b63bd372a3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -20302,7 +20302,6 @@ (define-public emacs-exwm
     ;; x-display-pixel-width, x-display-pixel-height
     (arguments
      (list
-      #:emacs emacs
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'build 'install-xsession
@@ -20343,26 +20342,20 @@ (define-public emacs-exwm
     (description
      "EXWM is a full-featured tiling X window manager for Emacs built on top
 of XELB.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties `((minimal-variant . ,(delay emacs-no-x-toolkit-exwm))))))
 
-(define-public emacs-xelb-no-x-toolkit
-  (package
-    (inherit emacs-xelb)
-    (name "emacs-xelb-no-x-toolkit")
-    (arguments
-     (substitute-keyword-arguments (package-arguments emacs-xelb)
-       ((#:emacs emacs) `,emacs-no-x-toolkit)))))
+(define-public emacs-next-exwm
+  (package-with-emacs-next emacs-exwm))
+
+(define-public emacs-pgtk-exwm
+  (package-with-emacs-pgtk emacs-exwm))
+
+(define-public emacs-no-x-toolkit-exwm
+  (package-with-emacs-no-x-toolkit emacs-exwm))
 
 (define-public emacs-exwm-no-x-toolkit
-  (package
-    (inherit emacs-exwm)
-    (name "emacs-exwm-no-x-toolkit")
-    (synopsis "Emacs X window manager (without an X toolkit)")
-    (propagated-inputs
-     (list emacs-xelb-no-x-toolkit))
-    (arguments
-     (substitute-keyword-arguments (package-arguments emacs-exwm)
-       ((#:emacs emacs) `,emacs-no-x-toolkit)))))
+  (deprecated-package "emacs-exwm-no-x-toolkit" emacs-no-x-toolkit-exwm))
 
 (define-public emacs-switch-window
   (package
-- 
2.45.2