diff mbox series

[bug#52784,4/5,v2] Add xmonad-next and ghc-xmonad-contrib-next.

Message ID YeKkQRi9Xa3ucwx3@noor.fritz.box
State Accepted
Headers show
Series None | expand

Commit Message

Lars-Dominik Braun Jan. 15, 2022, 10:38 a.m. UTC
Hi,

> Here is version two of the patch (number 4/5) this time adding the updated xmonad and xmonad-contrib versions as new variables. I kept in the previous commit message of the changes relative to the current version (0.16), but wasn't sure if that was appropriate. The xmonad compile patch was added as a new patch and added to local.mk.
It would be nice if we could use inheritance to avoid duplicated
metadata. I implemented that on top of your changes in the attached patch,
so when the time comes we can just delete xmonad and rename xmonad-next
to xmonad. What do you think?
 
> I don't use xmobar and wasn't sure about that, doesn't seem to have explicit dependencies on xmonad or xmonad-contrib. So I've left it as is, though I'm guessing would need to be rebased due to the line changes?
I tested it and the new version works fine for me.

Cheers,
Lars

Comments

John Kehayias Jan. 15, 2022, 6:49 p.m. UTC | #1
Hi Lars,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Saturday, January 15th, 2022 at 5:38 AM, Lars-Dominik Braun wrote:

> Hi,
>
> > Here is version two of the patch (number 4/5) this time adding the updated xmonad and xmonad-contrib versions as new variables. I kept in the previous commit message of the changes relative to the current version (0.16), but wasn't sure if that was appropriate. The xmonad compile patch was added as a new patch and added to local.mk.
>
> It would be nice if we could use inheritance to avoid duplicated
> metadata. I implemented that on top of your changes in the attached patch,
> so when the time comes we can just delete xmonad and rename xmonad-next
> to xmonad. What do you think?
>

Yes, that makes more sense, let's go with that.

> > I don't use xmobar and wasn't sure about that, doesn't seem to have explicit dependencies on xmonad or xmonad-contrib. So I've left it as is, though I'm guessing would need to be rebased due to the line changes?
>
> I tested it and the new version works fine for me.
>

Ah, good to know. (I've been using polybar but have a huge stack of packages to add taffybar. I've been putting off submitting it because it is a lot of packages that I need to figure where each goes, but I'll get to it. If you were interested in trying out taffybar, let me know and I can make the WIP patches available for testing.)

Thanks for your work on this, I'll have to try moving my xmonad cabal setup to just Guix now.

John
Lars-Dominik Braun Jan. 17, 2022, 7:32 p.m. UTC | #2
Hi John,

> Yes, that makes more sense, let's go with that.
I merged your patches as 5387a9c00ef2f972c32ab4430a3f1879131b1652 and
following. Thank you!

> Ah, good to know. (I've been using polybar but have a huge stack of packages to add taffybar. I've been putting off submitting it because it is a lot of packages that I need to figure where each goes, but I'll get to it. If you were interested in trying out taffybar, let me know and I can make the WIP patches available for testing.)
Sure, I can try out taffybar.

Cheers,
Lars
diff mbox series

Patch

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7a62dbeacb..67e113aaa2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -737,10 +737,10 @@  (define-public i3lock-fancy
 desktop environment.")
     (license license:expat)))
 
-(define-public xmonad
+(define-public xmonad-next
   (package
-    (name "xmonad")
-    (version "0.15")
+    (name "xmonad-next")
+    (version "0.17.0")
     (synopsis "Tiling window manager")
     (source (origin
               (method url-fetch)
@@ -748,21 +748,13 @@  (define-public xmonad
                                   "xmonad-" version ".tar.gz"))
               (sha256
                (base32
-                "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa"))
-              (patches (search-patches "xmonad-dynamic-linking.patch"))))
+                "04qspdz9w6xpw1npcmx2zx0595wc68q985pv4i0hvp32zillvdqy"))
+              (patches (search-patches "xmonad-next-dynamic-linking.patch"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-extensible-exceptions
-           ghc-data-default
-           ghc-quickcheck
-           ghc-semigroups
-           ghc-setlocale
-           ghc-utf8-string
-           ghc-x11))
+    (inputs (list ghc-data-default-class ghc-setlocale ghc-x11))
+    (native-inputs (list ghc-quickcheck ghc-quickcheck-classes))
     (arguments
-     `(#:cabal-revision
-       ("1" "0yqh96qqphllr0zyz5j93cij5w2qvf39xxnrb52pz0qz3pywz9wd")
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after
           'install 'install-xsession
@@ -790,50 +782,32 @@  (define-public xmonad
 tiled on several screens.")
     (license license:bsd-3)))
 
-(define-public xmonad-next
+(define-public xmonad
   (package
-    (name "xmonad-next")
-    (version "0.17.0")
-    (synopsis "Tiling window manager")
+    (inherit xmonad-next)
+    (name "xmonad")
+    (version "0.15")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://hackage/package/xmonad/"
                                   "xmonad-" version ".tar.gz"))
               (sha256
                (base32
-                "04qspdz9w6xpw1npcmx2zx0595wc68q985pv4i0hvp32zillvdqy"))
-              (patches (search-patches "xmonad-next-dynamic-linking.patch"))))
-    (build-system haskell-build-system)
-    (inputs (list ghc-data-default-class ghc-setlocale ghc-x11))
-    (native-inputs (list ghc-quickcheck ghc-quickcheck-classes))
+                "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa"))
+              (patches (search-patches "xmonad-dynamic-linking.patch"))))
+    (inputs
+     (list ghc-extensible-exceptions
+           ghc-data-default
+           ghc-quickcheck
+           ghc-semigroups
+           ghc-setlocale
+           ghc-utf8-string
+           ghc-x11))
+    (native-inputs '())
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after
-          'install 'install-xsession
-          (lambda _
-            (let* ((xsessions (string-append %output "/share/xsessions")))
-              (mkdir-p xsessions)
-              (call-with-output-file
-                  (string-append xsessions "/xmonad.desktop")
-                (lambda (port)
-                  (format port "~
-                    [Desktop Entry]~@
-                    Name=~a~@
-                    Comment=~a~@
-                    Exec=~a/bin/xmonad~@
-                    Type=Application~%" ,name ,synopsis %output)))))))))
-    (home-page "https://xmonad.org")
-    (description
-     "Xmonad is a tiling window manager for X.  Windows are arranged
-automatically to tile the screen without gaps or overlap, maximising screen
-use.  All features of the window manager are accessible from the keyboard: a
-mouse is strictly optional.  Xmonad is written and extensible in Haskell.
-Custom layout algorithms, and other extensions, may be written by the user in
-config files.  Layouts are applied dynamically, and different layouts may be
-used on each workspace.  Xinerama is fully supported, allowing windows to be
-tiled on several screens.")
-    (license license:bsd-3)))
+     `(#:cabal-revision
+       ("1" "0yqh96qqphllr0zyz5j93cij5w2qvf39xxnrb52pz0qz3pywz9wd")
+       ,@(package-arguments xmonad-next)))))
 
 (define-public xmobar
   (package
@@ -908,30 +882,20 @@  (define-public yeganesh
 particular, it displays commonly-chosen options before uncommon ones.")
     (license license:bsd-3)))
 
-(define-public ghc-xmonad-contrib
+(define-public ghc-xmonad-contrib-next
   (package
-    (name "ghc-xmonad-contrib")
-    (version "0.16")
+    (name "ghc-xmonad-contrib-next")
+    (version "0.17.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://hackage/package/xmonad-contrib/"
                            "xmonad-contrib-" version ".tar.gz"))
        (sha256
-        (base32 "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd"))))
+        (base32 "11g1cyfgfvcmz35qhgi9wzxrk3br8m8b7qy3jvph4nnf6aj13wvy"))))
     (build-system haskell-build-system)
-    (arguments
-     `(#:cabal-revision
-       ("1" "0vimkby2gq6sgzxzbvz67caba609xqlv2ii2gi8a1cjrnn6ib011")))
-    (propagated-inputs
-     (list ghc-old-time
-           ghc-random
-           ghc-utf8-string
-           ghc-extensible-exceptions
-           ghc-semigroups
-           ghc-x11
-           ghc-x11-xft
-           xmonad))
+    (propagated-inputs (list ghc-random ghc-x11 ghc-utf8-string ghc-x11-xft xmonad-next))
+    (native-inputs (list ghc-quickcheck ghc-hspec))
     (home-page "https://xmonad.org")
     (synopsis "Third party extensions for xmonad")
     (description
@@ -939,26 +903,32 @@  (define-public ghc-xmonad-contrib
 tiling window manager for X.")
     (license license:bsd-3)))
 
-(define-public ghc-xmonad-contrib-next
+(define-public ghc-xmonad-contrib
   (package
-    (name "ghc-xmonad-contrib-next")
-    (version "0.17.0")
+    (inherit ghc-xmonad-contrib-next)
+    (name "ghc-xmonad-contrib")
+    (version "0.16")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://hackage/package/xmonad-contrib/"
                            "xmonad-contrib-" version ".tar.gz"))
        (sha256
-        (base32 "11g1cyfgfvcmz35qhgi9wzxrk3br8m8b7qy3jvph4nnf6aj13wvy"))))
-    (build-system haskell-build-system)
-    (propagated-inputs (list ghc-random ghc-x11 ghc-utf8-string ghc-x11-xft xmonad-next))
-    (native-inputs (list ghc-quickcheck ghc-hspec))
-    (home-page "https://xmonad.org")
-    (synopsis "Third party extensions for xmonad")
-    (description
-     "Third party tiling algorithms, configurations, and scripts to Xmonad, a
-tiling window manager for X.")
-    (license license:bsd-3)))
+        (base32 "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd"))))
+    (arguments
+     `(#:cabal-revision
+       ("1" "0vimkby2gq6sgzxzbvz67caba609xqlv2ii2gi8a1cjrnn6ib011")
+       ,@(package-arguments ghc-xmonad-contrib-next)))
+    (native-inputs '())
+    (propagated-inputs
+     (list ghc-old-time
+           ghc-random
+           ghc-utf8-string
+           ghc-extensible-exceptions
+           ghc-semigroups
+           ghc-x11
+           ghc-x11-xft
+           xmonad))))
 
 (define-public evilwm
   (package