diff options
Diffstat (limited to 'gnu/packages/hardware.scm')
-rw-r--r-- | gnu/packages/hardware.scm | 165 |
1 files changed, 163 insertions, 2 deletions
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 9de7f7d63d..0f8f5e7809 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com> -;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2022, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023 Spencer Skylar Chan <schan12@umd.edu> ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> @@ -21,6 +21,7 @@ ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Jakob Kirsch <jakob.kirsch@web.de> ;;; Copyright © 2025 Eric Bavier <bavier@posteo.net> +;;; Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,6 +74,8 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages lxqt) + #:use-module (gnu packages man) + #:use-module (gnu packages mes) #:use-module (gnu packages messaging) #:use-module (gnu packages mtools) #:use-module (gnu packages package-management) @@ -106,6 +109,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system pyproject) @@ -211,6 +215,98 @@ Notable features include: @end itemize") (license (list license:bsd-0 license:gpl3+)))) +(define-public deskflow + (package + (name "deskflow") + (version "1.23.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/deskflow/deskflow") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wgj0sjnxkfplpq05q2lqgag29l7bf4cqdw0xmr89ayrh1nyjxa1")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DCMAKE_SKIP_RPATH=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-files + (lambda _ + (substitute* "deploy/linux/deploy.cmake" + (("message.FATAL_ERROR.*os-release.*") + "set(RELEASE_FILE_CONTENTS \"\")\n")) + (substitute* "src/lib/deskflow/unix/AppUtilUnix.cpp" + (("/usr/share/X11/xkb/rules/evdev.xml") + (string-append #$(this-package-input "xkeyboard-config") + "/share/X11/xkb/rules/evdev.xml"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "QT_QPA_PLATFORM" "offscreen") + ;; From the project GitHub actions: "Integration tests are + ;; flakey by nature, make them optional". See: + ;; <.github/workflows/continuous-integration.yml>. + (invoke "./bin/legacytests")))) + (add-after 'install 'wrap-executable + (lambda _ + (let ((qtbase #$(this-package-input "qtbase"))) + (wrap-program (string-append #$output "/bin/deskflow") + `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = + (,(string-append qtbase "/lib/qt6/plugins/platforms")))))))))) + (native-inputs + (list doxygen + googletest + sysprof + vulkan-headers + coreutils + help2man + pkg-config)) + (inputs + (list bash-minimal + cli11 + gdk-pixbuf + libei + libportal + libx11 + libxi + libxinerama + libxkbcommon + libxkbfile + libxrandr + libxtst + libsm + libice + openssl + pugixml + python + qtbase + qtsvg + qttranslations + qttools + qtwayland + tomlplusplus + wayland + wayland-protocols + xkeyboard-config)) + (home-page "https://deskflow.org/") + (synopsis "Share a single keyboard and mouse between multiple computers") + (description + "Deskflow is a keyboard and mouse sharing app. Use the keyboard, +mouse,or trackpad of one computer to control nearby computers, and work +seamlessly between them. It's like a software KVM (but without the video). +TLS encryption is enabled by default. It supports Wayland clipboard +sharing.") + (license license:gpl2))) + +;; Added on 2025-09-24. +(define-public barrier + (deprecated-package "barrier" deskflow)) + (define-public hw-probe (package (name "hw-probe") @@ -380,7 +476,7 @@ Notable features include: procps psmisc ;for pstree rpm - sane-backends + sane smartmontools sysstat upower @@ -782,6 +878,38 @@ color (good for notifications) (home-page "https://github.com/enwi/hueplusplus") (license license:lgpl3+))) +(define-public utmp-cli + (package + (name "utmp-cli") + (version "1.063") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/usbtemp/utmp-cli") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07j827nin4wm4hh8ljsj1dj3harb3dxan05ck8n68c443qqakz4a")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f + #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "utmp-cli" + (string-append (assoc-ref outputs "out") + "/bin"))))))) + (home-page "https://github.com/usbtemp/utmp-cli") + (synopsis "Read temperature from USB thermometer") + (description "Read temperature from usbtemp.com USB thermometer and +DS9097E compatible 1-wire adapter with one DS18B20 digital probe attached +through command line interface.") + (license license:expat))) + (define-public i7z (let ((revision "0") (commit "1a41ff13db747e962456ddbb5ccb2b7fc43ca0cb")) @@ -1669,3 +1797,36 @@ output relays.") "This is the Python extension to @code{usbrelay}, a Linux driver based on hidapi for a variety of inexpensive HID compatible USB relay modules. This package also includes @code{usbrelayd}."))) + +(define-public guile-usbrelay + (package + (name "guile-usbrelay") + (version "0.1.0") + (home-page "https://codeberg.org/pisemsky/guile-usbrelay") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72")))) + (build-system guile-build-system) + (arguments + (list + #:source-directory "modules" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'compile-ffi + (lambda* (#:key inputs #:allow-other-keys) + (setenv "GUILE_AUTO_COMPILE" "0") + (invoke "guile" "make.scm")))))) + (native-inputs (list gcc guile-3.0 nyacc pkg-config)) + (inputs (list hidapi)) + (propagated-inputs (list nyacc)) + (synopsis "Control USB HID relays from Guile") + (description + "This package provides a Guile Scheme API to control USB HID relay modules +produced by dcttech.") + (license license:lgpl3+))) |