diff options
author | Danny Milosavljevic <[email protected]> | 2025-02-22 01:28:17 +0100 |
---|---|---|
committer | Danny Milosavljevic <[email protected]> | 2025-02-22 15:26:10 +0100 |
commit | 95c58847de530e5778aaa1030b68198433d929e1 (patch) | |
tree | 7568b53ee8168fa386d8fcc53346f97258a528d0 /gnu | |
parent | 3f0b2a3f830b64244be92fc2f17a7e385a4645e9 (diff) |
gnu: Add waynergy.
* gnu/packages/synergy.scm (waynergy): New variable.
Change-Id: I25411e6d5699b9ed47849f2891510484e31dbb4a
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/synergy.scm | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/gnu/packages/synergy.scm b/gnu/packages/synergy.scm index bae784d65c..a6d42bdcb1 100644 --- a/gnu/packages/synergy.scm +++ b/gnu/packages/synergy.scm @@ -20,14 +20,20 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages synergy) + #:use-module (guix gexp) #:use-module (guix packages) - #:use-module ((guix licenses) #:select (gpl2)) + #:use-module ((guix licenses) #:select (gpl2 expat)) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages avahi) #:use-module (gnu packages curl) #:use-module (gnu packages compression) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages linux) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages tls) @@ -90,3 +96,50 @@ software for sharing one mouse and keyboard between multiple computers on your desk.") (license gpl2))) + +(define-public waynergy + (package + (name "waynergy") + (version "0.0.17") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/r-c-f/waynergy.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "130h1y68c230fj1c4srsvj8b9d4b8b6lipmi9bpx094axzl5c2kk")))) + (build-system meson-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((wl-clipboard (assoc-ref inputs "wl-clipboard")) + (procps (assoc-ref inputs "procps")) + (out (assoc-ref outputs "out"))) + (substitute* "waynergy.desktop" + (("Exec=/usr/bin/waynergy") + (string-append "Exec=" out "/bin/waynergy"))) + (substitute* "src/clip.c" + (("\"wl-paste\"") + (string-append "\"" wl-clipboard "/bin/wl-paste\"")) + (("\"wl-copy\"") + (string-append "\"" wl-clipboard "/bin/wl-copy\"")) + (("\"waynergy-clip-update\"") + (string-append "\"" out + "/bin/waynergy-clip-update\"")) + (("\"pkill -f 'wlpaste") + (string-append "\"" procps + "/bin/pkill -f 'wl-paste"))))))))) + (native-inputs + (list pkg-config)) + (inputs + (list libxkbcommon libressl wl-clipboard wayland wl-clipboard procps)) + (synopsis "Mouse and keyboard sharing utility for Wayland") + (description "Synergy brings your computers together in one cohesive experience; it's +software for sharing one mouse and keyboard between multiple computers on your +desk. This package is a Wayland version of Synergy, mostly for wlroots.") + (home-page "https://github.com/r-c-f/waynergy") + (license expat))) |