[PATCH 0/3] gnu: add pywlroots

  • Open
  • quality assurance status badge
Details
2 participants
  • Aaron Covrig
  • bigbookofbug
Owner
unassigned
Submitted by
bigbookofbug
Severity
normal

Debbugs page

bigbookofbug wrote 5 months ago
(address . guix-patches@gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20240928050035.28933-1-bigbookofbug@proton.me
From: big bug <bigbookofbug@proton.me>

This is a series of patches building pywlroots and its dependencies. These can be used to eventually build a version of qtile with wayland support.

big bug (3):
gnu: add python-pywlroots
gnu: add pywlroots
gnu: add pywlroots

gnu/packages/python-xyz.scm | 79 +++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)


base-commit: 5e888ec915cfdd256e726959cdc23293bc36277e
--
2.46.0
bigbookofbug wrote 5 months ago
[PATCH 1/3] [PATCH 0/3] gnu: add python-pywlroots
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20240928063520.24064-1-bigbookofbug@proton.me
From: big bug <bigbookofbug@proton.me>

---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 22351e813a..83f645a038 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -155,6 +155,7 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
;;; Copyright © 2024 Peter Kannewitz <petre-vps@posteo.net>
+;;; Copyright © 2024 big bug <bigbookofbug@proton.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -11023,6 +11024,28 @@ (define-public python-pywal
your favourite programs.")
(license license:expat)))
+(define-public python-pywayland
+ (package
+ (name "python-pywayland")
+ (version "0.4.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pywayland" version))
+ (sha256
+ (base32 "0cv5aqn23id31mn95q6isn5vcnjcd4dvaqzn52ihbb9sg01dx2jr"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f))
+ (inputs (list wayland))
+ (propagated-inputs (list python-cffi))
+ (native-inputs (list python-pytest pkg-config))
+ (home-page "https://github.com/flacjacket/pywayland/")
+ (synopsis "Python bindings for the libwayland librar")
+ (description "PyWayland provides a wrapper to the libwayland library using the CFFI library to provide access to the Wayland library calls and written in pure Python.")
+ (license license:asl2.0)))
+
(define-public python-click-didyoumean
(package
(name "python-click-didyoumean")
--
2.46.0
bigbookofbug wrote 5 months ago
[PATCH 3/3] [PATCH 3/3] gnu: add pywlroots
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20240928063520.24064-3-bigbookofbug@proton.me
From: big bug <bigbookofbug@proton.me>

---
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 29a48dacaa..4a0b74d4f9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11064,6 +11064,44 @@ (define-public python-pywayland
(description "PyWayland provides a wrapper to the libwayland library using the CFFI library to provide access to the Wayland library calls and written in pure Python.")
(license license:asl2.0)))
+(define-public python-pywlroots
+ (package
+ (name "python-pywlroots")
+ (version "0.17.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pywlroots" version))
+ (sha256
+ (base32 "1frxqkkh2867rh0c6j0jsmzrga8k6235f6ygkk4cph2883hjpjvj"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ ;;needed, otherwise pixman.h will not be found
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pixman (string-append
+ (assoc-ref inputs "pixman")
+ "/include")))
+ (setenv "C_INCLUDE_PATH"
+ (string-append pixman "/" "pixman-1" ":"
+ (or (getenv "C_INCLUDE_PATH")
+ "")))))))))
+ (inputs
+ (list pixman wayland libinput libxkbcommon wlroots))
+ (propagated-inputs (list python-pywayland python-xkbcommon))
+ (native-inputs (append (if (%current-target-system)
+ (list pkg-config-for-build wayland) '())
+ (list pkg-config
+ python-cffi)))
+ (home-page "https://github.com/flacjacket/pywlroots")
+ (synopsis "Python binding to the wlroots library using cffi.")
+ (description "A Python binding to the wlroots library using cffi. The library uses pywayland to provide the Wayland bindings and python-xkbcommon to provide wlroots keyboard functionality.")
+ (license license:ncsa)))
+
(define-public python-click-didyoumean
(package
(name "python-click-didyoumean")
--
2.46.0
bigbookofbug wrote 5 months ago
[PATCH 2/3] [PATCH 2/3] gnu: add pywlroots
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20240928063520.24064-2-bigbookofbug@proton.me
From: big bug <bigbookofbug@proton.me>

---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 83f645a038..29a48dacaa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -458,6 +458,24 @@ (define-public python-awkward
using NumPy-like idioms.")
(license license:bsd-3)))
+(define-public python-xkbcommon
+ (package
+ (name "python-xkbcommon")
+ (version "1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xkbcommon" version))
+ (sha256
+ (base32 "0dnwbp8rriwkmsa8a40cpvrccjy7m8xz6jw0vbcka7gnvc44h5xc"))))
+ (build-system pyproject-build-system)
+ (inputs (list libxkbcommon))
+ (propagated-inputs (list python-cffi))
+ (home-page "https://github.com/sde1000/python-xkbcommon")
+ (synopsis "Python bindings for libxkbcommon using cffi")
+ (description "This package provides Python bindings for libxkcommon using python-cffi.")
+ (license license:expat)))
+
(define-public python-xmldiff
(package
(name "python-xmldiff")
--
2.46.0
bigbookofbug wrote 5 months ago
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20240928063957.30589-1-bigbookofbug@proton.me
From: big bug <bigbookofbug@proton.me>

---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 83f645a038..29a48dacaa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -458,6 +458,24 @@ (define-public python-awkward
using NumPy-like idioms.")
(license license:bsd-3)))
+(define-public python-xkbcommon
+ (package
+ (name "python-xkbcommon")
+ (version "1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xkbcommon" version))
+ (sha256
+ (base32 "0dnwbp8rriwkmsa8a40cpvrccjy7m8xz6jw0vbcka7gnvc44h5xc"))))
+ (build-system pyproject-build-system)
+ (inputs (list libxkbcommon))
+ (propagated-inputs (list python-cffi))
+ (home-page "https://github.com/sde1000/python-xkbcommon")
+ (synopsis "Python bindings for libxkbcommon using cffi")
+ (description "This package provides Python bindings for libxkcommon using python-cffi.")
+ (license license:expat)))
+
(define-public python-xmldiff
(package
(name "python-xmldiff")
--
2.46.0
Aaron Covrig wrote 5 months ago
[PATCH v3 1/3] gnu: Add python-xkbcommon version 1.5.1
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20241025002059.995836-1-aaron.covrig.us@ieee.org
From: big bug <bigbookofbug@proton.me>

* gnu/packages/python-xyz.scm (python-xkbcommon): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b58eb1ff88..5001732d4d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -457,6 +457,25 @@ (define-public python-awkward
using NumPy-like idioms.")
(license license:bsd-3)))
+(define-public python-xkbcommon
+ (package
+ (name "python-xkbcommon")
+ (version "1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xkbcommon" version))
+ (sha256
+ (base32 "0dnwbp8rriwkmsa8a40cpvrccjy7m8xz6jw0vbcka7gnvc44h5xc"))))
+ (build-system pyproject-build-system)
+ (inputs (list libxkbcommon))
+ (propagated-inputs (list python-cffi))
+ (home-page "https://github.com/sde1000/python-xkbcommon")
+ (synopsis "Python bindings for libxkbcommon using cffi")
+ (description
+ "This package provides Python bindings for libxkcommon using python-cffi.")
+ (license license:expat)))
+
(define-public python-xmldiff
(package
(name "python-xmldiff")

base-commit: 2394a7f5fbf60dd6adc0a870366adb57166b6d8b
--
2.46.0
Aaron Covrig wrote 5 months ago
[PATCH v3 2/3] gnu: Add pywayland version 0.4.18
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20241025002059.995836-2-aaron.covrig.us@ieee.org
From: big bug <bigbookofbug@proton.me>

* gnu/packages/python-xyz (python-pywayland): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5001732d4d..41ed393f67 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -155,6 +155,7 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
;;; Copyright © 2024 Peter Kannewitz <petre-vps@posteo.net>
+;;; Copyright © 2024 big bug <bigbookofbug@proton.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37124,6 +37125,31 @@ (define-public python-wasabi
toolkit for Python.")
(license license:expat)))
+(define-public python-pywayland
+ (package
+ (name "python-pywayland")
+ (version "0.4.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pywayland" version))
+ (sha256
+ (base32 "0cv5aqn23id31mn95q6isn5vcnjcd4dvaqzn52ihbb9sg01dx2jr"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f))
+ (inputs (list wayland))
+ (propagated-inputs (list python-cffi))
+ (native-inputs (list python-pytest pkg-config))
+ (home-page "https://github.com/flacjacket/pywayland/")
+ (synopsis "Python bindings for the libwayland librar")
+ (description
+ "PyWayland provides a wrapper to the libwayland library using the CFFI
+library to provide access to the Wayland library calls and written in pure
+Python.")
+ (license license:asl2.0)))
+
(define-public python-srt
(package
(name "python-srt")
--
2.46.0
Aaron Covrig wrote 5 months ago
[PATCH v3 3/3] gnu: Add pywlroots version 0.17.0
(address . 73523@debbugs.gnu.org)(name . big bug)(address . bigbookofbug@proton.me)
20241025002059.995836-3-aaron.covrig.us@ieee.org
From: big bug <bigbookofbug@proton.me>

* gnu/packages/python-xyz (python-pywlroots): New variable.
---
gnu/packages/python-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (59 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 41ed393f67..d22fef08b9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -287,6 +287,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
+ #:use-module (gnu packages wm)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
@@ -37150,6 +37151,44 @@ (define-public python-pywayland
Python.")
(license license:asl2.0)))
+(define-public python-pywlroots
+ (package
+ (name "python-pywlroots")
+ (version "0.17.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pywlroots" version))
+ (sha256
+ (base32 "1frxqkkh2867rh0c6j0jsmzrga8k6235f6ygkk4cph2883hjpjvj"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ ;; needed, otherwise pixman.h will not be found
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pixman (string-append (assoc-ref inputs "pixman")
+ "/include")))
+ (setenv "C_INCLUDE_PATH"
+ (string-append pixman "/" "pixman-1" ":"
+ (or (getenv "C_INCLUDE_PATH")
+ "")))))))))
+ (inputs (list pixman wayland libinput libxkbcommon wlroots))
+ (propagated-inputs (list python-pywayland python-xkbcommon))
+ (native-inputs (append (if (%current-target-system)
+ (list pkg-config-for-build wayland)
+ '())
+ (list pkg-config python-cffi)))
+ (home-page "https://github.com/flacjacket/pywlroots")
+ (synopsis "Python binding to the wlroots library using cffi")
+ (description
+ "A Python binding to the wlroots library using cffi. The library uses
+pywayland to provide the Wayland bindings and python-xkbcommon to provide
+wlroots keyboard functionality.")
+ (license license:ncsa)))
+
(define-public python-srt
(package
(name "python-srt")
--
2.46.0
Aaron Covrig wrote 5 months ago
Issue 73523 adjustments
20241024203522.45bc3770@mobile-dev
Hello big bug,

Thank you for your submission; I modified the patch files as they were
all garbled when pulled down and failed to apply. I'm curious as to how
the original commits were created, were they by chance manually copied
up instead of being sent using git:send-email? Here is a StackOverflow
on how to setup
git:send-email: https://stackoverflow.com/q/68238912it is for gmail
instead of proton mail, but should give a general idea (and if you
can't link proton mail this way, you can always create an anonymous
gmail to send in patches (someone else can chime in if there is an
alternate way to send patches that is more compatible with proton
mail/manual copy paste).

Additionally, Guix has additional documentation on how to send in
patches (and patch series):

For future reviewers, I have not extensively checked out the
patches/verified that they are working; but they should now build
successfully.

v/r,

Aaron

P.S.

There is also the Mumi interface for sending patches, but I have yet to
try it personally:
emma wrote 5 months ago
(name . Aaron Covrig)(address . aaron.covrig.us@ieee.org)(address . 73523@debbugs.gnu.org)
87h690ru6c.fsf@proton.me
"Aaron Covrig" <aaron.covrig.us@ieee.org> writes:

Toggle quote (46 lines)
> Hello big bug,
>
> Thank you for your submission; I modified the patch files as
> they were
> all garbled when pulled down and failed to apply. I'm curious as
> to how
> the original commits were created, were they by chance manually
> copied
> up instead of being sent using git:send-email? Here is a
> StackOverflow
> on how to setup
> git:send-email: https://stackoverflow.com/q/68238912 it is for
> gmail
> instead of proton mail, but should give a general idea (and if
> you
> can't link proton mail this way, you can always create an
> anonymous
> gmail to send in patches (someone else can chime in if there is
> an
> alternate way to send patches that is more compatible with
> proton
> mail/manual copy paste).
>
> Additionally, Guix has additional documentation on how to send
> in
> patches (and patch series):
> 1. https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html
> 2. https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html
>
> For future reviewers, I have not extensively checked out the
> patches/verified that they are working; but they should now
> build
> successfully.
>
> v/r,
>
> Aaron
>
> P.S.
>
> There is also the Mumi interface for sending patches, but I have
> yet to
> try it personally:
> *
> https://guix.gnu.org/manual/devel/en/html_node/Debbugs-User-Interfaces.html

hello aaron,
thank you for formatting and the links!
this was my first attempt using git send-email, and was
encountering several issues, which may be the source of the
garbling. the original commits were made using the steps laid out
in
but the aforementioned issues had me having to resend the failed
emails from my proton account. i've since resolved it so i future
patch submissions should not be garbled.

emma

--
emma
EF515F7D600717781DF9AB2E0FB1CF2867A117F5
Attachment: signature.asc
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73523@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73523
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help