diff options
author | Freya Murphy <freya@freyacat.org> | 2025-01-02 21:44:43 -0500 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-01-02 21:44:43 -0500 |
commit | e15ecdb44f56562a839d01fed4d05e906355bef3 (patch) | |
tree | 703628a46cee1086856fe59ffad147fd69095e6f | |
parent | emacs-tab-line-nerd-icons (diff) | |
download | sakura-e15ecdb44f56562a839d01fed4d05e906355bef3.tar.gz sakura-e15ecdb44f56562a839d01fed4d05e906355bef3.tar.bz2 sakura-e15ecdb44f56562a839d01fed4d05e906355bef3.zip |
update hypr suite
-rw-r--r-- | sakura/packages/glib.scm | 29 | ||||
-rw-r--r-- | sakura/packages/hypr.scm | 760 | ||||
-rw-r--r-- | sakura/packages/xdisorg.scm | 318 |
3 files changed, 347 insertions, 760 deletions
diff --git a/sakura/packages/glib.scm b/sakura/packages/glib.scm new file mode 100644 index 0000000..ff6ff36 --- /dev/null +++ b/sakura/packages/glib.scm @@ -0,0 +1,29 @@ +(define-module (sakura packages glib) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (gnu packages) + #:use-module (gnu packages glib)) + +(define-public sdbus-c++-2 + (hidden-package (package + (inherit sdbus-c++) + (name "sdbus-c++") + (version "2.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Kistler-Group/sdbus-cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s6vhzln0rvac2r3v8nq08hsjhyz3y46fsy18i23ppjm30apkiav")))) + (arguments + (substitute-keyword-arguments (package-arguments sdbus-c++) + ((#:phases phases) + #~(modify-phases #$phases + (delete 'check))))) + ))) + diff --git a/sakura/packages/hypr.scm b/sakura/packages/hypr.scm deleted file mode 100644 index 54e11a8..0000000 --- a/sakura/packages/hypr.scm +++ /dev/null @@ -1,760 +0,0 @@ -(define-module (sakura packages hypr) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages) - #:use-module (gnu packages wm) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages cpp) - #:use-module (gnu packages check) - #:use-module (gnu packages gcc) - #:use-module (gnu packages build-tools) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages compression) - #:use-module (gnu packages gtk) - #:use-module (gnu packages gl) - #:use-module (gnu packages linux) - #:use-module (gnu packages gnome) - #:use-module (gnu packages pciutils) - #:use-module (gnu packages image) - #:use-module (gnu packages xml) - #:use-module (gnu packages web) - #:use-module (gnu packages version-control) - #:use-module (gnu packages python) - #:use-module (gnu packages autotools) - #:use-module (gnu packages xorg) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages base) - #:use-module (gnu packages bash) - #:use-module (gnu packages man) - #:use-module (gnu packages qt) - #: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) - #:use-module (guix git-download) - #:use-module (guix build-system cmake) - #:use-module (guix build-system meson) - #:use-module (guix build-system trivial) - #:use-module (guix build-system gnu) - #:use-module (guix build utils) - #:use-module (sakura packages) - #:use-module (guix utils)) - -;; Newer packages needed for Hyprland -;; -;; - udis86 -;; - sdbus-cpp - -(define-public udis86-for-hyprland - (let ((revision "186") - (commit "5336633af70f3917760a6d441ff02d93477b0c86")) - (hidden-package (package - (name "udis86") - (version (git-version "1.7.2" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/canihavesomecoffee/udis86") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy")))) - (build-system gnu-build-system) - (native-inputs (list autoconf automake libtool python-minimal-wrapper)) - (home-page "https://github.com/canihavesomecoffee/udis86") - (synopsis "Disassembler Library for x86 and x86-64") - (description - "Udis86 is a disassembler for the x86 and x86-64 class of instruction -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 sdbus-c++-for-hyprland - (hidden-package (package - (inherit sdbus-c++) - (name "sdbus-c++") - (version "2.0.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Kistler-Group/sdbus-cpp") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1s6vhzln0rvac2r3v8nq08hsjhyz3y46fsy18i23ppjm30apkiav")))) - (arguments - (substitute-keyword-arguments (package-arguments sdbus-c++) - ((#:phases phases) - #~(modify-phases #$phases - (delete 'check))))) - ))) - -;; Hyprland Packages - -(define-public hyprland-protocols - (package - (name "hyprland-protocols") - (version "0.4.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprland-protocols") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0x86w7z3415qvixfhk9a8v5fnbnxdydzx366qz0mpmfg5h86qyha")))) - (build-system meson-build-system) - (home-page "https://hyprland.org") - (synopsis "Wayland protocol extensions for Hyprland") - (description - "This package provides Wayland protocol extensions for Hyprland and it -exists in an effort to bridge the gap between Hyprland and KDE/Gnome's -functionality. Since @code{wlr-protocols} is closed for new submissions, and -@code{wayland-protocols} is very slow with changes, this package will hold -protocols used by Hyprland to bridge the aforementioned gap.") - (license license:bsd-3))) - -(define-public hyprlang - (package - (name "hyprlang") - (version "0.5.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprlang") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0yvfrz3hdyxzhngzhr0bgc5279ra5fv01hbfi6pdj84pz0lpaw02")))) - (build-system cmake-build-system) - (native-inputs (list gcc-13 pkg-config)) - (inputs (list hyprutils)) - (home-page "https://hyprland.org/hyprlang/") - (synopsis "Official implementation library for hypr config language") - (description - "This package provides the official implementation for hypr configuration -language used in @code{hyprland}.") - (license license:gpl3+))) - -(define-public hyprcursor - (package - (name "hyprcursor") - (version "0.1.10") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprcursor") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1rdn03ln7pqcwp8h4nmi7nc489q8y25dd3v4paq8ykvwzhvs3a1n")))) - (build-system cmake-build-system) - (arguments (list #:tests? #f)) - (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") - (version "0.4.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprwayland-scanner") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0r7ay4zjkfyr0xd73wz99qhnqjq7nma98gm51wm9lmai4igw90qw")))) - (build-system cmake-build-system) - (arguments (list #:tests? #f)) - (inputs (list pugixml)) - (native-inputs (list gcc-13 pkg-config)) - (home-page "https://github.com/hyprwm/hyprwayland-scanner") - (synopsis "hyprland implementation of wayland-scanner, in and for c++") - (description - "this package provides a hyprland implementation of wayland-scanner, in and -for c++.") - (license license:bsd-3))) - -(define-public hyprutils - (package - (name "hyprutils") - (version "0.2.6") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprutils") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0scrfky9hkzhbyj5aji6qvi4b6ydf4g7sk0cknkpd7dg0zv8x5zq")))) - (build-system cmake-build-system) - (arguments (list #:tests? #f)) - (native-inputs (list gcc-13 pkg-config pixman)) - (home-page "https://github.com/hyprwm/hyprutils") - (synopsis "Hyprland utilities library used across the ecosystem ") - (description - "this package provides hyprutils") - (license license:bsd-3))) - -(define-public aquamarine - (package - (name "aquamarine") - (version "0.5.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/aquamarine") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0rvf0vizm1x7w16nkinac7qh9lijxkyswsywksingfrw5k56ng6l")))) - (build-system cmake-build-system) - (arguments - (list #:cmake cmake-3.30 - #:tests? #f)) - (native-inputs - (list gcc-13 - pkg-config - hyprwayland-scanner)) - (inputs - (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 "Aquamarine is a very light linux rendering backend library.") - (license license:bsd-3))) - -(define %hyprland-version - "0.45.2") - -(define-public hyprland - (package - (name "hyprland") - (version %hyprland-version) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/Hyprland") - (commit (string-append "v" version)))) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "CMakeLists.txt" - (("^add_subdirectory\\(hyprpm\\).*") "")) - (for-each delete-file-recursively - '("hyprpm" - "subprojects")))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0970kds3744szlqlbjq6m4a689dndb2yrcgyxpzrw9ig84sibnqh")))) - (build-system cmake-build-system) - (arguments - (list #:cmake cmake-3.30 - #:tests? #f - #:phases - #~(modify-phases %standard-phases - (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) - (("\\<(addr2line|objcopy)\\>" _ cmd) - (string-append #$binutils "/bin/" cmd))) - (substitute* "src/xwayland/Server.cpp" - (("Xwayland( \\{\\})" _ suffix) - (string-append - (search-input-file inputs "bin/Xwayland") - suffix))))) - ))) - (native-inputs - (list gcc-14 - hyprwayland-scanner - ld-wrapper - pkg-config)) - (inputs - (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 - "Hyprland is a dynamic tiling Wayland compositor based on @code{wlroots} -th doesn't sacrifice on its looks. It supports multiple layouts, fancy -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") - (version "0.7.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hyprwm/hyprpaper" - "/archive/refs/tags/v" version ".tar.gz")) - (sha256 - (base32 - "1rwi2cs8hwbyk67q57cvi5ybfs881xhzq8zdb8qlcr0jwk3sk1hh")))) - (build-system cmake-build-system) - (arguments - (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.5") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hyprwm/hypridle" - "/archive/refs/tags/v" version ".tar.gz")) - (sha256 - (base32 - "0jwak5544mcbcg0hix307y94qmmmjyrc6z0av3k7jp7c0r3lnk8p")))) - (build-system cmake-build-system) - (arguments - (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 - (name "hyprlock") - (version "0.5.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hyprwm/hyprlock" - "/archive/refs/tags/v" version ".tar.gz")) - (sha256 - (base32 - "16dg3lvrdyvw7vwl8bhnqsihnjjijq0qra1x9qdd4ni0vsch32jg")))) - (build-system cmake-build-system) - (arguments - (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 - ld-wrapper - pkg-config)) - (inputs - (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 - (name "xdg-desktop-portal-hyprland") - (version "1.3.8") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/xdg-desktop-portal-hyprland") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0aixrjyky2mzclnwypybpg01ihfbmwzfv09zbjis49q1clrszq2p")))) - (build-system cmake-build-system) - (arguments - (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 - hyprwayland-scanner - pkg-config)) - (inputs - (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 - "This package provides @code{xdg-desktop-portal-hyprland}, which extends -@code{xdg-desktop-portal-wlr} for Hyprland with support for -@code{xdg-desktop-portal} screenshot and casting interfaces, while adding a few -extra portals specific to Hyprland, mostly for window sharing.") - (license license:bsd-3))) - -(define-public hyprland-plugin-hy3 - (package - (name "hyprland-plugin-hy3") - (version "0.45.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/outfoxxed/hy3.git") - (commit (string-append "hl" version)))) - (sha256 - (base32 - "01h0a3plvs1na9b1miqdkx0l622mk542slagydajqka7sh9fwwvg")))) - (build-system cmake-build-system) - (arguments - (list #:cmake cmake-3.30 - #:tests? #f - #:configure-flags #~(list "DCMAKE_BUILD_TYPE=Release"))) - (native-inputs - (list pkg-config - gcc-13)) - (inputs - (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 %hyprland-plugins-version - %hyprland-version) - -(define %hyprland-plugins-commit - "344a69db96fa8c6dc3b8f1f8f5a75f6eb441cbf2") - -(define-syntax hyprland-plugin-impl - (syntax-rules () - ((_ plugin) - (package - (name (string-append "hyprland-plugin-" plugin)) - (version %hyprland-plugins-version) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprland-plugins.git") - (commit %hyprland-plugins-commit))) - (sha256 - (base32 - "1n4pxdfjl9j8js2gnk43jly9x8mmr6q9pdrzxfp7fhwk6chhrfk6")) - (file-name (git-file-name name version)))) - (build-system cmake-build-system) - (arguments - (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-14)) - (inputs - (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") - (version %hyprland-plugins-version) - (source #f) - (build-system trivial-build-system) - (arguments '(#:builder (begin (mkdir %output) #t))) - (license license:bsd-3) - (home-page "https://github.com/hyprwm/hyprland-plugins") - (synopsis "A collection of all the official hyprland plugins") - (description "A metapackage containing inputs for each official plugin") - (propagated-inputs (list hyprland-plugin-borders-plus-plus - hyprland-plugin-csgo-vulkan-fix - hyprland-plugin-hyprbars - hyprland-plugin-hyprexpo - hyprland-plugin-hyprtrails - hyprland-plugin-hyprwinwrap)))) - -(define-syntax hyprland-contrib-impl - (syntax-rules () - ((_ contrib) - (package - (name (string-append "hyprland-contrib-" contrib)) - (version "0.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/contrib.git") - (commit (string-append "v" version)))) - (sha256 - (base32 - "0ld0sj7ahf9jf8cqzbqkhj3m2w60027ixic24ih26nwy90b5qjwx")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (add-after 'unpack 'chdir - (lambda _ (chdir (string-append "../source/" contrib "/")))) - (add-after 'chdir 'patch-make - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Makefile" - (("scdoc") (string-append (assoc-ref inputs "scdoc") "/bin/scdoc"))))) - (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") - (version "0.1") - (source #f) - (build-system trivial-build-system) - (arguments '(#:builder (begin (mkdir %output) #t))) - (license license:bsd-3) - (home-page "https://github.com/hyprwm/contrib") - (synopsis "A collection of all the official hyprland contrib scripts") - (description "A metapackage containing inputs for each official contrib script") - (propagated-inputs (list hyprland-contrib-grimblast - hyprland-contrib-hyprprop - hyprland-contrib-scratchpad - hyprland-contrib-shellevents)))) diff --git a/sakura/packages/xdisorg.scm b/sakura/packages/xdisorg.scm new file mode 100644 index 0000000..832b90c --- /dev/null +++ b/sakura/packages/xdisorg.scm @@ -0,0 +1,318 @@ +(define-module (sakura packages xdisorg) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages wm) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages cpp) + #:use-module (gnu packages check) + #:use-module (gnu packages gcc) + #:use-module (gnu packages build-tools) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages compression) + #:use-module (gnu packages gtk) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (gnu packages gnome) + #:use-module (gnu packages pciutils) + #:use-module (gnu packages image) + #:use-module (gnu packages xml) + #:use-module (gnu packages web) + #:use-module (gnu packages version-control) + #:use-module (gnu packages python) + #:use-module (gnu packages autotools) + #:use-module (gnu packages xorg) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages regex) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages man) + #:use-module (gnu packages qt) + #:use-module (gnu packages cmake) + #:use-module (gnu packages admin) + #:use-module (gnu packages file) + #:use-module (gnu packages glib) + #:use-module (gnu packages engineering) + #:use-module (gnu packages commencement) + #:use-module (guix build-system cmake) + #:use-module (guix build-system trivial) + #:use-module (guix build utils) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (sakura packages glib)) + +(define-public hyprlang-0.6 + (package + (inherit hyprlang) + (name "hyprlang") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hyprwm/hyprlang" + "/archive/refs/tags/v" version ".tar.gz")) + (sha256 + (base32 + "0b5m4zk9pd8a9gsbp2lfbc1x03f4rdnzndkra291s102cih678di")))) + (native-inputs (list gcc-14 pkg-config)))) + +(define-public hyprpaper + (package + (name "hyprpaper") + (version "0.7.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hyprwm/hyprpaper" + "/archive/refs/tags/v" version ".tar.gz")) + (modules '((guix build utils))) + (snippet #~(substitute* "CMakeLists.txt" (("libjxl_cms") ""))) + (sha256 + (base32 + "1mq0n65490pr9dxsnsv8b8d8zd7wjhjqlkiqvcaky8n7pzhbw5d8")))) + (build-system cmake-build-system) + (arguments + (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-14 + hyprwayland-scanner + ld-wrapper + pkg-config)) + (inputs + (list binutils + cairo + hyprgraphics + hyprlang-0.6 + hyprutils + libjpeg-turbo + libjxl + 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.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hyprwm/hypridle" + "/archive/refs/tags/v" version ".tar.gz")) + (sha256 + (base32 + "0jwak5544mcbcg0hix307y94qmmmjyrc6z0av3k7jp7c0r3lnk8p")))) + (build-system cmake-build-system) + (arguments + (list #:cmake cmake-3.30 + #:tests? #f)) + (native-inputs + (list gcc-14 + pkg-config)) + (inputs + (list hyprlang + hyprutils + sdbus-c++-2 + 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 + (name "hyprlock") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hyprwm/hyprlock" + "/archive/refs/tags/v" version ".tar.gz")) + (sha256 + (base32 + "07rs0dybzaachr9y934yggqgqzpzncxm5nrnr31hrv36fna77iz1")))) + (build-system cmake-build-system) + (arguments + (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-14 + hyprwayland-scanner + ld-wrapper + pkg-config)) + (inputs + (list cairo + hyprgraphics + hyprutils + hyprlang + libjpeg-turbo + libwebp + libxkbcommon + linux-pam + mesa + pango + sdbus-c++-2 + 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 %hyprland-version + (package-version hyprland)) + +(define %hyprland-plugin-hy3-commit + "d9eb126b2475a3b60445be8b2ef0bce4eb1ae8b2") + +(define-public hyprland-plugin-hy3 + (package + (name "hyprland-plugin-hy3") + (version %hyprland-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/outfoxxed/hy3.git") + (commit %hyprland-plugin-hy3-commit))) + (sha256 + (base32 + "1iwqm689jr4300p2mk6f4vp853bq42qzwjv021wqkbxnvdyvlfw8")))) + (build-system cmake-build-system) + (arguments + (list #:cmake cmake-3.30 + #:tests? #f + #:configure-flags #~(list "DCMAKE_BUILD_TYPE=Release"))) + (native-inputs + (list pkg-config + gcc-14)) + (inputs + (list aquamarine + cairo + hyprgraphics + 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 %hyprland-plugins-commit + "17ef806444fee729d00b3ba5cb8c623b7fbb699b") + +(define-syntax hyprland-plugin-impl + (syntax-rules () + ((_ plugin) + (package + (name (string-append "hyprland-plugin-" plugin)) + (version %hyprland-version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/hyprland-plugins.git") + (commit %hyprland-plugins-commit))) + (sha256 + (base32 + "1z8is6p27fh8yz5xcd1qvyylrpd3ygd8b95rrclmq7c1ayh4i1lz")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (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-14)) + (inputs + (list aquamarine + hyprgraphics + 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") + (version %hyprland-version) + (source #f) + (build-system trivial-build-system) + (arguments '(#:builder (begin (mkdir %output) #t))) + (license license:bsd-3) + (home-page "https://github.com/hyprwm/hyprland-plugins") + (synopsis "A collection of all the official hyprland plugins") + (description "A metapackage containing inputs for each official plugin") + (propagated-inputs (list hyprland-plugin-borders-plus-plus + hyprland-plugin-csgo-vulkan-fix + hyprland-plugin-hyprbars + hyprland-plugin-hyprexpo + hyprland-plugin-hyprtrails + hyprland-plugin-hyprwinwrap)))) |