1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| | ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Christina O'Donnell <cdo@mutix.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages evhz)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages linux))
(define-public evhz
(let ((commit "35b7526e0655522bbdf92f6384f4e9dff74f38a0")
(revision "1"))
(package
(name "evhz")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~iank/evhz")
(commit commit)))
(sha256
(base32 "1m2m60sh12jzc8f38g7g67b3avx2vg8ff0lai891jmjqvxw04bcl"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((source (assoc-ref %build-inputs "source"))
(glibc (assoc-ref %build-inputs "glibc"))
(gcc (assoc-ref %build-inputs "gcc"))
(binutils (assoc-ref %build-inputs "binutils"))
(linux-libre-headers (assoc-ref %build-inputs
"linux-libre-headers"))
(output (assoc-ref %outputs "out")))
(setenv "PATH"
(string-join (list (string-append gcc "/bin")
(string-append binutils
"/bin")
(getenv "PATH")) ":"))
(setenv "LIBRARY_PATH"
(string-join (list (string-append glibc "/lib"))
":"))
(mkdir-p (string-append output "/bin"))
(invoke (string-append gcc "/bin/gcc")
"-o"
(string-append output "/bin/evhz")
"-I"
(string-append linux-libre-headers "/include")
(string-append source "/evhz.c")) #t))))
(native-inputs (list binutils gcc gcc-toolchain glibc
linux-libre-headers))
(home-page "https://git.sr.ht/~iank/evhz")
;; TRANSLATORS: "evdev" should not be translated.
(synopsis "Show mouse polling rate using evdev")
(description
"A simple diagnostic utility to show mouse polling rate under evdev, a Linux
event interface. If you have invested in a high resolution mouse, adjusting the USB
polling rate is a common trick to utilize the added precision it brings. The polling
rate (or report rate) determines how often the mouse sends information to your
computer.")
(license license:apsl2))))
|