~ruther/guix-exprs

a207b72ec92abdf2ba425020209e4f3de35e6e3a — Rutherther 2 months ago b456264
feat: add wayfreeze
1 files changed, 119 insertions(+), 0 deletions(-)

M modules/ruther/packages/wayland.scm
M modules/ruther/packages/wayland.scm => modules/ruther/packages/wayland.scm +119 -0
@@ 16,6 16,16 @@
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages base)

  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system cargo)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix packages)
  #:use-module (gnu packages xdisorg)
  #:use-module (gnu packages crates-graphics)
  #:use-module (gnu packages crates-windows)
  #:use-module (gnu packages crates-io)

  #:use-module ((guix build-system gnu))
  #:use-module ((guix build-system gnu) #:prefix gnu:)
  #:use-module ((guix build-system meson) #:prefix meson:)


@@ 94,6 104,36 @@
    (description "mew is a efficient dynamic menu for Wayland, an effective port of dmenu to Wayland.")
    (license license:expat)))

(define-public wfreeze
  (package
    (name "wfreeze")
    (version "1.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://codeberg.org/sewn/wfreeze")
             (commit "b6fe6a54ca")))
       (sha256
        (base32 "10058n5dhmvr82hhpvppn0ak6zy60pv9yi66a3dgf08fgsgvz2p0"))))
    (inputs
     (list
      pkg-config
      wayland-protocols
      wayland))
    (arguments
     (list
      #:tests? #f
      #:phases #~(modify-phases %standard-phases
                   (delete 'configure))
      #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
                           (string-append "PREFIX=" #$output))))
    (home-page "https://codeberg.org/sewn/wfreeze")
    (build-system gnu-build-system)
    (synopsis "Freeze the screen, and run a command. Works well with slurp and compositors such as river and dwl.")
    (description "Freeze the screen, and run a command. Works well with slurp and compositors such as river and dwl.")
    (license license:expat)))

(define-public wayland-1.23
  (package
    (inherit wayland)


@@ 306,3 346,82 @@ Simple client implementing zwlr-output-power-management-v1.
wlopm is licensed under the GPLv3.")
    (license license:gpl3)
    (home-page "https://git.sr.ht/~leon_plickat/wlopm")))

(define rust-argparse-0.2
  (package
    (name "rust-argparse")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "argparse" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0iqy2jkifwq0azrrh26qjssp7sknjylycq35jkalzb744xcbz3iz"))))
    (build-system cargo-build-system)
    (arguments (list #:skip-build? #t))
    (home-page
      "http://github.com/tailhook/rust-argparse")
    (synopsis
      "Powerful command-line argument parsing library")
    (description
      "This package provides Powerful command-line argument parsing library.")
    (license license:expat)))

(define rust-scoped-tls-1
  (package
    (name "rust-scoped-tls")
    (version "1.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scoped-tls" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "15524h04mafihcvfpgxd8f4bgc3k95aclz8grjkg9a0rxcvn9kz1"))))
    (build-system cargo-build-system)
    (arguments (list #:skip-build? #t))
    (home-page
      "https://github.com/alexcrichton/scoped-tls")
    (synopsis
      "Library implementation of the standard library's old `scoped_thread_local!`\nmacro for providing scoped access to thread local storage (TLS) so any type can\nbe stored into TLS.")
    (description
      "This package provides Library implementation of the standard library's old `scoped_thread_local!`\nmacro for providing scoped access to thread local storage (TLS) so any type can\nbe stored into TLS.")
    (license (list license:expat license:asl2.0))))

(define-public wayfreeze
  (package
    (name "wayfreeze")
    (version "0.1.0")
    (source
     (origin
      (method git-fetch)
      (uri (git-reference
            (url "https://github.com/Jappie3/wayfreeze")
            (commit "8277f981b4aace2a8411b39e2fbd4e15ad211078")))
      (sha256
       (base32 "0csgx2jhgk7lhl8cyrm61z4kkzpf5756cnzczqmcndmmag6h2mny"))))
    (build-system cargo-build-system)
    (inputs
     (list
      libxkbcommon))
    (arguments
      (list #:cargo-inputs
            (list rust-argparse-0.2
                  rust-clap-4
                  rust-env-logger-0.11
                  rust-log-0.4
                  rust-tempfile-3
                  rust-wayland-client-0.31
                  rust-wayland-protocols-0.31
                  rust-wayland-protocols-wlr-0.2
                  rust-wayland-server-0.31
                  rust-xkbcommon-0.7)))
    (home-page "https://github.com/Jappie3/wayfreeze")
    (synopsis "A small CLI tool to freeze the screen of a wlroots compositor, this can be useful to, for example, take a screenshot. Supports multiple monitors & fractional scaling.")
    (description "A small CLI tool to freeze the screen of a wlroots compositor, this can be useful to, for example, take a screenshot. Supports multiple monitors & fractional scaling.")
    (license license:agpl3)))

Do not follow this link