summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorDanny Milosavljevic <[email protected]>2025-02-22 01:28:17 +0100
committerDanny Milosavljevic <[email protected]>2025-02-22 15:26:10 +0100
commit95c58847de530e5778aaa1030b68198433d929e1 (patch)
tree7568b53ee8168fa386d8fcc53346f97258a528d0 /gnu
parent3f0b2a3f830b64244be92fc2f17a7e385a4645e9 (diff)
gnu: Add waynergy.
* gnu/packages/synergy.scm (waynergy): New variable. Change-Id: I25411e6d5699b9ed47849f2891510484e31dbb4a
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/synergy.scm55
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)))