summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-11-08 11:56:37 -0500
committerFreya Murphy <freya@freyacat.org>2024-11-08 11:56:37 -0500
commit92bd36b305b5899f3111be238e91050967673b8f (patch)
treeeee55d9565a9b971b94d0cf5bf959779deff20c0
parentupdate gamescope to v3.15.14 (diff)
downloadsakura-92bd36b305b5899f3111be238e91050967673b8f.tar.gz
sakura-92bd36b305b5899f3111be238e91050967673b8f.tar.bz2
sakura-92bd36b305b5899f3111be238e91050967673b8f.zip
refactor hypr
-rw-r--r--sakura/packages/hypr.scm560
-rw-r--r--sakura/packages/patches/aquamarine-fix-cmake.patch25
-rw-r--r--sakura/packages/patches/hyprland-fix-cmake.patch33
3 files changed, 247 insertions, 371 deletions
diff --git a/sakura/packages/hypr.scm b/sakura/packages/hypr.scm
index 48befd5..ce8af15 100644
--- a/sakura/packages/hypr.scm
+++ b/sakura/packages/hypr.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages admin)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages commencement)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix gexp)
@@ -42,61 +43,11 @@
#:use-module (sakura packages)
#:use-module (guix utils))
-
;; Newer packages needed for Hyprland
;;
-;; - libinput
-;; - wayland
-;; - hwdata
;; - udis86
-;; - xorg headers
-;; - mesa libglvnd
;; - sdbus-cpp
-
-(define-public libinput-minimal-for-hyprland
- (hidden-package (package
- (inherit libinput-minimal)
- (name "libinput-minimal")
- (version "1.26.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.freedesktop.org/libinput/libinput.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "094k23i10jjmgdzhv5lj7xpc3fgkwi9afcihf0l2fjj71ym8l9fy"))))
- (native-inputs
- (modify-inputs (package-native-inputs libinput)
- (append python-minimal-wrapper python-pytest))))))
-
-
-(define-public wayland-for-hyprland
- (hidden-package (package
- (inherit wayland)
- (name "wayland")
- (version "1.23.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://gitlab.freedesktop.org/" name
- "/" name "/-/releases/" version "/downloads/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6")))))))
-
-
-(define-public hwdata-for-hyprland
- (hidden-package (package
- (inherit hwdata)
- (arguments
- (substitute-keyword-arguments (package-arguments hwdata)
- ((#:phases _) #~%standard-phases)))
- (outputs '("out")))))
-
-
(define-public udis86-for-hyprland
(let ((revision "186")
(commit "5336633af70f3917760a6d441ff02d93477b0c86"))
@@ -122,37 +73,6 @@ set architectures. It consists of a C library called @code{libudis86} and a
command line tool called @code{udcli} that incorporates the library.")
(license license:bsd-2)))))
-
-(define-public xorg-server-xwayland-for-hyprland
- (hidden-package (package
- (inherit xorg-server-xwayland)
- (arguments
- (substitute-keyword-arguments (package-arguments xorg-server-xwayland)
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'install 'install-headers
- (lambda _
- (let ((fmw (string-append #$output "/include")))
- (mkdir-p fmw)
- (copy-recursively "include" fmw))
- ))
- )))))))
-
-
-(define-public mesa-for-hyprland
- (hidden-package (package
- (inherit mesa)
- (inputs
- (modify-inputs
- (package-inputs mesa)
- (prepend libglvnd)))
- (arguments
- (substitute-keyword-arguments (package-arguments mesa)
- ((#:configure-flags flags ''())
- #~(append (list "-Dglvnd=true")
- #$flags)))))))
-
-
(define-public sdbus-c++-for-hyprland
(hidden-package (package
(inherit sdbus-c++)
@@ -174,10 +94,8 @@ command line tool called @code{udcli} that incorporates the library.")
(delete 'check)))))
)))
-
;; Hyprland Packages
-
(define-public hyprland-protocols
(package
(name "hyprland-protocols")
@@ -202,45 +120,6 @@ functionality. Since @code{wlr-protocols} is closed for new submissions, and
protocols used by Hyprland to bridge the aforementioned gap.")
(license license:bsd-3)))
-
-
-;; Common Packages needed by
-;; multiple hyprland packages
-
-(define hyprwayland-common
- (list ; libs
- cairo
- pango
- ; mesa
- mesa-for-hyprland
- libglvnd
- ; wayland
- wayland-for-hyprland
- wayland-protocols-next
- hyprland-protocols))
-
-;; Common Packages needed by
-;; aquamarine and any package
-;; that uses it
-
-(define aquamarine-common
- (append hyprwayland-common
- (list ; lib
- libseat
- pixman
- libinput-minimal-for-hyprland
- ; x11
- libdisplay-info
- libxcb
- libxinerama
- libxcursor
- libxkbcommon
- xcb-util
- xcb-util-errors
- xcb-util-keysyms
- xcb-util-wm)))
-
-
(define-public hyprlang
(package
(name "hyprlang")
@@ -255,8 +134,7 @@ protocols used by Hyprland to bridge the aforementioned gap.")
(base32
"0yvfrz3hdyxzhngzhr0bgc5279ra5fv01hbfi6pdj84pz0lpaw02"))))
(build-system cmake-build-system)
- (native-inputs (list gcc-13
- pkg-config))
+ (native-inputs (list gcc-13 pkg-config))
(inputs (list hyprutils))
(home-page "https://hyprland.org/hyprlang/")
(synopsis "Official implementation library for hypr config language")
@@ -265,7 +143,6 @@ protocols used by Hyprland to bridge the aforementioned gap.")
language used in @code{hyprland}.")
(license license:gpl3+)))
-
(define-public hyprcursor
(package
(name "hyprcursor")
@@ -281,15 +158,14 @@ language used in @code{hyprland}.")
"1rdn03ln7pqcwp8h4nmi7nc489q8y25dd3v4paq8ykvwzhvs3a1n"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f))
- (inputs (list cairo hyprlang librsvg libzip tomlplusplus))
(native-inputs (list gcc-13 pkg-config))
+ (inputs (list cairo hyprlang (librsvg-for-system) libzip tomlplusplus))
(home-page "https://hyprland.org/")
(synopsis "Hyprland cursor format, library and utilities")
(description
"This package provides Hyprland cursor format, library and utilities.")
(license license:bsd-3)))
-
(define-public hyprwayland-scanner
(package
(name "hyprwayland-scanner")
@@ -314,7 +190,6 @@ language used in @code{hyprland}.")
for c++.")
(license license:bsd-3)))
-
(define-public hyprutils
(package
(name "hyprutils")
@@ -337,7 +212,6 @@ for c++.")
"this package provides hyprutils")
(license license:bsd-3)))
-
(define-public aquamarine
(package
(name "aquamarine")
@@ -347,28 +221,35 @@ for c++.")
(uri (git-reference
(url "https://github.com/hyprwm/aquamarine")
(commit (string-append "v" version))))
- (patches (sakura-patches "aquamarine-fix-cmake.patch"))
(file-name (git-file-name name version))
(sha256
(base32
"0x1zz1ywchs0awkjkvdgskgqnp6pz5lqwmgr8g0zc0i7inhyg1p3"))))
(build-system cmake-build-system)
(arguments
- (list #:tests? #f))
+ (list #:cmake cmake-3.30
+ #:tests? #f))
(native-inputs
(list gcc-13
pkg-config
- mesa-headers
- hyprwayland-scanner
- hwdata-for-hyprland))
+ hyprwayland-scanner))
(inputs
- (append aquamarine-common (list hyprutils)))
+ (list eudev
+ hwdata
+ hyprutils
+ libdisplay-info
+ libglvnd
+ libinput-minimal
+ libseat
+ mesa
+ pixman
+ wayland
+ wayland-protocols))
(home-page "https://hyprland.org")
- (synopsis "Aquamarine is a very light linux rendering backend library ")
- (description "") ;; TODO: this
+ (synopsis "Aquamarine is a very light linux rendering backend library.")
+ (description "Aquamarine is a very light linux rendering backend library.")
(license license:bsd-3)))
-
(define-public hyprland
(package
(name "hyprland")
@@ -379,10 +260,11 @@ for c++.")
(uri (git-reference
(url "https://github.com/hyprwm/Hyprland")
(commit (string-append "v" version))))
- (patches (sakura-patches "hyprland-fix-cmake.patch"))
(modules '((guix build utils)))
(snippet
'(begin
+ (substitute* "CMakeLists.txt"
+ (("^add_subdirectory\\(hyprpm\\).*") ""))
(for-each delete-file-recursively
'("hyprpm"
"subprojects"))))
@@ -391,65 +273,49 @@ for c++.")
(base32 "11vw1h9al4jvqprwbrmxvcpxwhvsjj398wbz4flqbnmxa8idvdq1"))))
(build-system cmake-build-system)
(arguments
- (list #:tests? #f
- #:cmake cmake-3.30
- #:build-type "release"
+ (list #:cmake cmake-3.30
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'fix-path
+ (add-after 'unpack 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "src" "\\.cpp$")
(("/usr/local(/bin/Hyprland)" _ path)
(string-append #$output path))
(("/usr") #$output)
- (("(execAndGet\\(\")\\<(cat|fc-list|lspci)\\>"
- _ pre cmd)
- (string-append
- pre (search-input-file
- inputs (string-append "bin/" cmd))))
- (("\\<cc\\>") (search-input-file inputs "bin/gcc"))
- ;; NOTE: Add binutils to inputs will override ld-wrapper.
- (("(execAndGet\\(\\(\")\\<nm\\>" _ pre)
- (string-append pre #$binutils "/bin/nm"))
(("\\<(addr2line|objcopy)\\>" _ cmd)
(string-append #$binutils "/bin/" cmd)))
- (substitute* "CMakeLists.txt"
- (("libudis86") "udis86"))
- ))
- (add-after 'fix-path 'fix-protocols
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((protocols (string-append
- (getcwd)
- "/subprojects/hyprland-protocols/protocols")))
- (mkdir-p protocols)
- (copy-recursively
- (search-input-directory inputs "share/hyprland-protocols/protocols")
- protocols))))
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (mesa (assoc-ref inputs "mesa")))
- (wrap-program (string-append out "/bin/Hyprland")
- `("__EGL_VENDOR_LIBRARY_DIRS" prefix ,(list (string-append mesa "/share/glvnd/egl_vendor.d")))))))
+ (substitute* "src/xwayland/Server.cpp"
+ (("Xwayland( \\{\\})" _ suffix)
+ (string-append
+ (search-input-file inputs "bin/Xwayland")
+ suffix)))))
)))
(native-inputs
(list gcc-14
- jq
- pkg-config
hyprwayland-scanner
- hwdata-for-hyprland))
+ ld-wrapper
+ pkg-config))
(inputs
- (append aquamarine-common
- (list ; libs
- pciutils
- libliftoff
- udis86-for-hyprland
- xorg-server-xwayland-for-hyprland
- ; hypr
- aquamarine
- hyprcursor
- hyprlang
- hyprutils)))
+ (list aquamarine
+ binutils
+ cairo
+ hyprcursor
+ hyprland-protocols
+ hyprlang
+ hyprutils
+ libinput-minimal
+ libxcursor
+ libxkbcommon
+ mesa
+ pango
+ pciutils
+ udis86-for-hyprland
+ wayland
+ wayland-protocols
+ xcb-util-errors
+ xcb-util-wm
+ xorg-server-xwayland))
(home-page "https://hyprland.org")
(synopsis "Dynamic tiling Wayland compositor based on wlroots")
(description
@@ -459,7 +325,6 @@ ef cts, has a very flexible IPC model allowing for a lot of customization, and
mo .")
(license license:bsd-3)))
-
(define-public hyprpaper
(package
(name "hyprpaper")
@@ -473,54 +338,69 @@ mo .")
"1rwi2cs8hwbyk67q57cvi5ybfs881xhzq8zdb8qlcr0jwk3sk1hh"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f))
- (native-inputs
- (list gcc-13
- pkg-config))
- (inputs
- (append hyprwayland-common
- (list ; libs
- libjpeg-turbo
- libwebp
- ; hypr
- hyprwayland-scanner
- hyprutils
- hyprlang)))
- (home-page "https://github.com/hyprwm/hyprpaper")
- (license license:bsd-3)
- (synopsis "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")
- (description "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")))
-
+ (list #:cmake cmake-3.30
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("PkgConfig REQUIRED")
+ (string-append "PkgConfig REQUIRED)\n"
+ "find_package(OpenGL REQUIRED COMPONENTS \"GLES2\""))
+ ((" OpenGL")
+ "OpenGL::GL")
+ ((" GLESv2")
+ "OpenGL::GLES2")))))))
+ (native-inputs
+ (list gcc-13
+ hyprwayland-scanner
+ ld-wrapper
+ pkg-config))
+ (inputs
+ (list binutils
+ cairo
+ hyprutils
+ hyprlang
+ libjpeg-turbo
+ libwebp
+ mesa
+ pango
+ wayland
+ wayland-protocols))
+ (home-page "https://github.com/hyprwm/hyprpaper")
+ (synopsis "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")
+ (description "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")
+ (license license:bsd-3)))
(define-public hypridle
(package
(name "hypridle")
- (version "0.1.4")
+ (version "0.1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/hypridle"
"/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32
- "0l406qgdrzxxl2fbpwdr8nw6223175iq8dlh9zr2vav5pqbqk1sa"))))
+ "0jwak5544mcbcg0hix307y94qmmmjyrc6z0av3k7jp7c0r3lnk8p"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f))
- (native-inputs
- (list gcc-13
- pkg-config))
- (inputs
- (append hyprwayland-common
- (list ; libs
- sdbus-c++-for-hyprland
- ; hypr
- hyprlang
- hyprutils)))
- (home-page "https://github.com/hyprwm/hypridle")
- (license license:bsd-3)
- (synopsis "Hyprland's idle daemon ")
- (description "Hyprland's idle daemon ")))
-
+ (list #:cmake cmake-3.30
+ #:tests? #f))
+ (native-inputs
+ (list gcc-13
+ pkg-config))
+ (inputs
+ (list hyprlang
+ hyprutils
+ sdbus-c++-for-hyprland
+ wayland
+ wayland-protocols))
+ (home-page "https://github.com/hyprwm/hypridle")
+ (license license:bsd-3)
+ (synopsis "Hyprland's idle daemon ")
+ (description "Hyprland's idle daemon ")))
(define-public hyprlock
(package
@@ -535,38 +415,71 @@ mo .")
"16dg3lvrdyvw7vwl8bhnqsihnjjijq0qra1x9qdd4ni0vsch32jg"))))
(build-system cmake-build-system)
(arguments
- (list
- #:tests? #f
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (mesa (assoc-ref inputs "mesa")))
- (wrap-program (string-append out "/bin/hyprlock")
- `("__EGL_VENDOR_LIBRARY_DIRS" prefix ,(list (string-append mesa "/share/glvnd/egl_vendor.d"))))))))))
+ (list #:cmake cmake-3.30
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ((" opengl") "")
+ (("OpenGL REQUIRED")
+ "OpenGL REQUIRED COMPONENTS GLES2 EGL")))))))
(native-inputs
(list gcc-13
- pkg-config
- mesa-headers
- wayland))
+ ld-wrapper
+ pkg-config))
(inputs
- (append aquamarine-common
- (list ; lib
- libjpeg-turbo
- libwebp
- libdrm
- linux-pam
- sdbus-c++-for-hyprland
- ; hypr
- aquamarine
- hyprlang
- hyprutils)))
+ (list cairo
+ hyprutils
+ hyprlang
+ libjpeg-turbo
+ libwebp
+ libxkbcommon
+ linux-pam
+ mesa
+ pango
+ sdbus-c++-for-hyprland
+ wayland
+ wayland-protocols))
(home-page "https://github.com/hyprwm/hyprlock")
(license license:bsd-3)
(synopsis "Screen locker for Hyprland")
(description "Screen locker for hyprland.")))
+(define-public hyprpicker
+ (package
+ (name "hyprpicker")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/hyprwm/hyprpicker"
+ "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "12ikv9zd3hv8rmxjyljw8p9lmqlq9vn7a21p54xn7za5jqgqhkg1"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:cmake ,cmake-3.30
+ #:tests? #f
+ #:configure-flags (list (string-append "-DCMAKE_INSTALL_MANDIR="
+ (assoc-ref %outputs "out")
+ "/share/man"))))
+ (native-inputs (list gcc-13
+ hyprwayland-scanner
+ pkg-config))
+ (inputs (list cairo
+ hyprutils
+ libjpeg-turbo
+ libxkbcommon
+ mesa
+ pango
+ wayland
+ wayland-protocols))
+ (home-page "https://hyprland.org/")
+ (synopsis "Wlroots-compatible Wayland color picker that does not suck")
+ (description "A wlroots-compatible Wayland color picker that does not suck.")
+ (license license:bsd-3)))
(define-public xdg-desktop-portal-hyprland
(package
@@ -583,35 +496,37 @@ mo .")
"0aixrjyky2mzclnwypybpg01ihfbmwzfv09zbjis49q1clrszq2p"))))
(build-system cmake-build-system)
(arguments
- (list #:tests? #f ;No tests
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* (find-files "." "\\.cp?*$")
- (("/bin/sh") "sh")
- (("\\<(sh|grim|hyprctl|slurp)\\>" _ cmd)
- (search-input-file inputs (string-append "/bin/" cmd)))
- (("\\<(hyprland-share-picker)\\>" _ cmd)
- (string-append #$output "/bin/" cmd))))))))
+ (list #:cmake cmake-3.30
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "." "\\.cp?*$")
+ (("/bin/sh") "sh")
+ (("\\<(sh|grim|hyprctl|hyprpicker|slurp)\\>" _ cmd)
+ (search-input-file inputs (string-append "/bin/" cmd)))
+ (("\\<(hyprland-share-picker)\\>" _ cmd)
+ (string-append #$output "/bin/" cmd))))))))
(native-inputs
(list gcc-13
- pkg-config
- hyprwayland-scanner))
+ hyprwayland-scanner
+ pkg-config))
(inputs
- (append hyprwayland-common
- (list ; libs
- bash-minimal
- grim
- sdbus-c++-for-hyprland
- slurp
- qtbase
- pipewire
- qtwayland
- ; hypr
- hyprland
- hyprlang
- hyprutils)))
+ (list bash-minimal
+ grim
+ hyprland
+ hyprland-protocols
+ hyprlang
+ hyprpicker
+ hyprutils
+ pipewire
+ slurp
+ sdbus-c++-for-hyprland
+ qtbase
+ qtwayland
+ wayland
+ wayland-protocols))
(home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
(synopsis "XDG Desktop Portal backend for Hyprland")
(description
@@ -621,7 +536,6 @@ mo .")
extra portals specific to Hyprland, mostly for window sharing.")
(license license:bsd-3)))
-
(define-public hyprland-plugin-hy3
(package
(name "hyprland-plugin-hy3")
@@ -636,28 +550,31 @@ extra portals specific to Hyprland, mostly for window sharing.")
"03gxjkn43j85ff8d0hx9nhv5bfwv7vw7m8kacpmajmfnx43mldg9"))))
(build-system cmake-build-system)
(arguments
- (list #:tests? #f
+ (list #:cmake cmake-3.30
+ #:tests? #f
#:configure-flags #~(list "DCMAKE_BUILD_TYPE=Release")))
(native-inputs
- (list gcc-13
- pkg-config
- hyprwayland-scanner))
+ (list pkg-config
+ gcc-13))
(inputs
- (append aquamarine-common
- (list ; lib
- gcc-13
- libdrm
- ; hypr
- aquamarine
- hyprland
- hyprlang
- hyprutils)))
+ (list aquamarine
+ cairo
+ hyprland
+ hyprlang
+ hyprutils
+ libinput-minimal
+ libxkbcommon
+ libdrm
+ mesa
+ pango
+ pixman
+ hyprland
+ wayland))
(license license:gpl3)
(home-page "https://github.com/outfoxxed/hy3")
(synopsis "i3 / sway like layout for hyprland.")
(description "Hyprland plugin for an i3 / sway like manual tiling layout")))
-
(define-syntax hyprland-plugin-impl
(syntax-rules ()
((_ plugin)
@@ -676,56 +593,51 @@ extra portals specific to Hyprland, mostly for window sharing.")
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- (list #:tests? #f
- #:cmake cmake-3.30
+ (list #:cmake cmake-3.30
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir (string-append "../source/" plugin "/")))))))
(native-inputs
(list pkg-config
- gcc-13
- hyprwayland-scanner))
+ gcc-13))
(inputs
- (append aquamarine-common
- (list ; libs
- gcc-13
- libdrm
- ; hypr
- aquamarine
- hyprland
- hyprlang
- hyprutils)))
+ (list aquamarine
+ hyprland
+ hyprlang
+ hyprutils
+ libdrm
+ libinput
+ libxkbcommon
+ mesa
+ pango
+ pixman
+ wayland
+ xcb-util-wm))
(license license:bsd-3)
(home-page "https://github.com/hyprwm/hyprland-plugins")
(synopsis (string-append "official " plugin " plugin for hyprland"))
(description (string-append "official " plugin " plugin for hyprland"))))))
-
(define-public hyprland-plugin-borders-plus-plus
(hyprland-plugin-impl "borders-plus-plus"))
-
(define-public hyprland-plugin-csgo-vulkan-fix
(hyprland-plugin-impl "csgo-vulkan-fix"))
-
(define-public hyprland-plugin-hyprbars
(hyprland-plugin-impl "hyprbars"))
-
(define-public hyprland-plugin-hyprexpo
(hyprland-plugin-impl "hyprexpo"))
-
(define-public hyprland-plugin-hyprtrails
(hyprland-plugin-impl "hyprtrails"))
-
(define-public hyprland-plugin-hyprwinwrap
(hyprland-plugin-impl "hyprwinwrap"))
-
(define-public hyprland-plugins
(package
(name "hyprland-plugins")
@@ -744,12 +656,11 @@ extra portals specific to Hyprland, mostly for window sharing.")
hyprland-plugin-hyprtrails
hyprland-plugin-hyprwinwrap))))
-
(define-syntax hyprland-contrib-impl
(syntax-rules ()
((_ contrib)
(package
- (name (string-append "hyprland-conrib-" contrib))
+ (name (string-append "hyprland-contrib-" contrib))
(version "0.1")
(source
(origin
@@ -776,30 +687,53 @@ extra portals specific to Hyprland, mostly for window sharing.")
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "install" (string-append "PREFIX=" (assoc-ref outputs "out")))))
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((binpath (lambda (name)
+ (string-append (assoc-ref inputs name)
+ "/bin"))))
+ (for-each
+ (lambda (binary)
+ (wrap-program binary
+ `("PATH" ":" prefix
+ (,(binpath "grim")
+ ,(binpath "jq")
+ ,(binpath "hyprland")
+ ,(binpath "hyprpicker")
+ ,(binpath "libnotify")
+ ,(binpath "sed")
+ ,(binpath "slurp")
+ ,(binpath "wl-clipboard")))))
+ (find-files (string-append (assoc-ref outputs "out")
+ "/bin"))))))
)))
(native-inputs (list scdoc))
+ (inputs
+ (list grim
+ jq
+ hyprland
+ hyprpicker
+ libnotify
+ sed
+ slurp
+ wl-clipboard))
(license license:expat)
(home-page "https://github.com/hyprwm/contrib")
(synopsis (string-append "official " contrib " script for hyprland"))
(description (string-append "official " contrib " script for hyprland"))))))
-
(define-public hyprland-contrib-grimblast
(hyprland-contrib-impl "grimblast"))
-
(define-public hyprland-contrib-hyprprop
(hyprland-contrib-impl "hyprprop"))
-
(define-public hyprland-contrib-scratchpad
(hyprland-contrib-impl "scratchpad"))
-
(define-public hyprland-contrib-shellevents
(hyprland-contrib-impl "shellevents"))
-
(define-public hyprland-contrib
(package
(name "hyprland-contrib")
diff --git a/sakura/packages/patches/aquamarine-fix-cmake.patch b/sakura/packages/patches/aquamarine-fix-cmake.patch
deleted file mode 100644
index bd29649..0000000
--- a/sakura/packages/patches/aquamarine-fix-cmake.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7b6f11ed0708d8775f42107e19d9099835e2498e Mon Sep 17 00:00:00 2001
-From: Freya Murphy <freya@freyacat.org>
-Date: Mon, 5 Aug 2024 17:52:48 -0400
-Subject: [PATCH] fix cmake
-
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bb7a4d6..7f7e7ff 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -19,7 +19,7 @@ set(INCLUDE ${CMAKE_INSTALL_FULL_INCLUDEDIR})
- set(LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR})
-
- find_package(PkgConfig REQUIRED)
--find_package(OpenGL REQUIRED COMPONENTS "GLES2")
-+find_package(OpenGL REQUIRED)
- find_package(hyprwayland-scanner 0.4.0 REQUIRED)
- pkg_check_modules(
- deps
---
-2.45.1
-
diff --git a/sakura/packages/patches/hyprland-fix-cmake.patch b/sakura/packages/patches/hyprland-fix-cmake.patch
deleted file mode 100644
index 1ac9782..0000000
--- a/sakura/packages/patches/hyprland-fix-cmake.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 33fac66982422104cc1c2664f9a841fc96295c13 Mon Sep 17 00:00:00 2001
-From: Freya Murphy <freya@freyacat.org>
-Date: Mon, 5 Aug 2024 20:35:50 -0400
-Subject: [PATCH] fix cmake
-
----
- CMakeLists.txt | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fa58b63d..51ea6cfa 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -85,7 +84,7 @@ if(LEGACY_RENDERER)
- else()
- set(GLES_VERSION "GLES3")
- endif()
--find_package(OpenGL REQUIRED COMPONENTS ${GLES_VERSION})
-+find_package(OpenGL REQUIRED)
-
- pkg_check_modules(
- deps
-@@ -314,7 +313,6 @@ protocolwayland()
-
- # tools
- add_subdirectory(hyprctl)
--add_subdirectory(hyprpm)
-
- # binary and symlink
- install(TARGETS Hyprland)
---
-2.45.1
-