From c3117f446312f456087719f746b2793a1982f6a8 Mon Sep 17 00:00:00 2001
From: Elais Player <elais@fastmail.com>
Date: Wed, 19 Jan 2022 13:04:47 -0700
Subject: [PATCH] gnu: Add fan2go
To: guix-patches@gnu.org
* gnu/packages/golang.scm (go-github-com-atomicgo-cursor): New variable
* gnu/packages/golang.scm (go-github-com-gookit-color): New variable
* /gnu/packages/golang.scm (go-github-com-pterm-pterm): New variable
* /gnu/packages/golang.scm (go-github-com-marvinjwendt-testza): New variable
* /gnu/packages/golang.scm (go-github-com-xo-terminfo): New variable.
* /gnu/packages/golang.scm (go-github-com-klauspost-cpuid-v2): New variable.
* /gnu/packages/golang.scm (go-github-com-asecurityteam-rolling): New variable.
* /gnu/packages/golang.scm (go-github-com-guptarohit-asciigraph): New variable.
* /gnu/packages/golang.scm (go-github-com-oklog-run): New variable.
* /gnu/packages/golang.scm (go-github-com-tomlazar-table): New variable.
* /gnu/packages/golang.scm (go-github-com-looplab-tarjan): New variable.
* /gnu/packages/golang.scm (go-github-com-md14454-gosensors): New variable.
* /gnu/packages/hardware.scm (fan2go): New variable.
---
gnu/packages/golang.scm | 304 ++++++++++++++++++++++++++++++++++++++
gnu/packages/hardware.scm | 48 ++++++
2 files changed, 352 insertions(+)
@@ -33,6 +33,7 @@
;;; Copyright © 2021 Chadwain Holness <chadwainholness@gmail.com>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
+;;; Copyright © 2022 Elais Player <elais@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,7 @@ (define-module (gnu packages golang)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages mp3)
#:use-module (gnu packages password-utils)
@@ -9312,6 +9314,308 @@ (define-public go-github-com-alecthomas-units
(home-page "https://github.com/alecthomas/units")
(license license:expat))))
+(define-public go-github-com-atomicgo-cursor
+ (package
+ (name "go-github-com-atomicgo-cursor")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atomicgo/cursor")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mjgx9gsgda980pb5jrqwq64r7wrh7083849jjww40l30vjaqvh7"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/atomicgo/cursor"))
+ (home-page "https://github.com/atomicgo/cursor")
+ (synopsis "Description")
+ (description "Package cursor contains cross-platform methods to move the
+terminal cursor in different directions. This package can be used to create
+interactive CLI tools and games, live charts, algorithm visualizations and
+other updatable output of any kind.")
+ (license license:expat)))
+
+(define-public go-github-com-gookit-color
+ (package
+ (name "go-github-com-gookit-color")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gookit/color")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cyhcnk5sknn2kxz8ffy6iy2ncdpwbgvdywj920fd7745jas3m1n"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/gookit/color"
+ #:tests? #f))
+ (inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (propagated-inputs
+ `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-github-com-xo-terminfo" ,go-github-com-xo-terminfo)))
+ (home-page "https://github.com/gookit/color")
+ (synopsis "Command line color library")
+ (description "Package color is Command line color library. Support rich
+color rendering output, universal API method, compatible with Windows system
+")
+ (license license:expat)))
+
+(define-public go-github-com-pterm-pterm
+ (package
+ (name "go-github-com-pterm-pterm")
+ (version "0.12.34")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pterm/pterm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1spc1v4xwm3vcrfyc3wjpswjx5klg2qq9ipgjj8qncn8czszwx93"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/pterm/pterm"
+ #:tests? #f))
+ (propagated-inputs
+ `(("go-golang-org-x-term" ,go-golang-org-x-term)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-github-com-mattn-go-runewidth" ,go-github-com-mattn-go-runewidth)
+ ("go-github-com-gookit-color" ,go-github-com-gookit-color)
+ ("go-github-com-atomicgo-cursor" ,go-github-com-atomicgo-cursor)))
+ (home-page "https://github.com/pterm/pterm")
+ (synopsis "Console output beautifier")
+ (description "Pterm is a modern go module to beautify console output. It
+can be used without configuration, but if desired, everything can be
+customized down to the smallest detail.")
+ (license license:expat)))
+
+(define-public go-github-com-marvinjwendt-testza
+ (package
+ (name "go-github-com-marvinjwendt-testza")
+ (version "0.2.14")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MarvinJWendt/testza")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fw7458yan99jfyvn46bhyc18x0dz3dz2kd6sffz9cj38rh5kym3"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/MarvinJWendt/testza"
+ #:tests? #f))
+ (inputs
+ `(("go-github-com-pterm-pterm" ,go-github-com-pterm-pterm)))
+ (propagated-inputs
+ `(("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
+ ("go-github-com-klauspost-cpuid-v2" ,go-github-com-klauspost-cpuid-v2)
+ ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
+ (home-page "https://github.com/MarvinJWendt/testza")
+ (synopsis "Testing framework for go")
+ (description "Package testza is a full-featured testing framework for Go.
+It integrates with the default test runner, so you can use it with the
+standard `go test` tool. Testza contains easy to use methods, like
+assertions, output capturing, mocking, and much more.")
+ (license license:expat)))
+
+(define-public go-github-com-xo-terminfo
+ (package
+ (name "go-github-com-xo-terminfo")
+ (version "0.0.0-20210125001918-ca9a967f8778")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xo/terminfo")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/xo/terminfo"))
+ (home-page "https://github.com/xo/terminfo")
+ (synopsis "Terminfo file reader in pure go")
+ (description "Package terminfo provides a pure-Go implementation of
+reading information from the terminfo database.")
+ (license license:expat)))
+
+(define-public go-github-com-klauspost-cpuid-v2
+ (package
+ (name "go-github-com-klauspost-cpuid-v2")
+ (version "2.0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/klauspost/cpuid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12bx0kip3yv2416f4ilafk5674m69mn873gnadhyv473cy4jy499"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/klauspost/cpuid/v2"))
+ (home-page "https://github.com/klauspost/cpuid")
+ (synopsis "CPU feature identification for Go")
+ (description "Cpuid provides information about the CPU running the current
+program. CPU features are detected on startup, and kept for fast access
+through the life of the application. Currently x86 / x64 (AMD64/i386) and ARM
+(ARM64) is supported, and no external C (cgo) code is used, which should make
+the library very easy to use.")
+ (license license:expat)))
+
+(define-public go-github-com-asecurityteam-rolling
+ (package
+ (name "go-github-com-asecurityteam-rolling")
+ (version "2.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asecurityteam/rolling")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18m1fpq8svkys8fi08chrphr506nb6jjhlbn9h1rh5d395bi3rfz"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/asecurityteam/rolling"))
+ (home-page "https://github.com/asecurityteam/rolling")
+ (synopsis "Rolling window implementation in go")
+ (description "A rolling window implemenation in go that continuously
+overwrites the oldest value with the latest to preserve the specified value
+count. This type of window is useful for collecting data that have a known
+interval on which they are capture or for tracking data where time is not a
+factor.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-guptarohit-asciigraph
+ (package
+ (name "go-github-com-guptarohit-asciigraph")
+ (version "0.5.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/guptarohit/asciigraph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hkxaqs30hbybbxapr8vng09r6wr8afpkqkn0g6aj1vl3fvhjn49"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/guptarohit/asciigraph"))
+ (home-page "https://github.com/guptarohit/asciigraph")
+ (synopsis "Package to make a lightweight ASCII line graph")
+ (description "Go package to make a lightweight ASCII line graph for CLI
+apps.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-oklog-run
+ (package
+ (name "go-github-com-oklog-run")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oklog/run")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0r55p3kgdkgw55i33lqvvvl60mjp92mhd1170m980sw98z9150jk"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/oklog/run"))
+ (home-page "https://github.com/oklog/run")
+ (synopsis "Universal mechanism to manage goroutine lifecycles")
+ (description "Package run implements an actor-runner with deterministic
+teardown. It is somewhat similar to package errgroup, except it does not
+require actor goroutines to understand context semantics. This makes it
+suitable for use in more circumstances; for example, goroutines which are
+handling connections from net.Listeners, or scanning input from a closable
+io.Reader.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-tomlazar-table
+ (package
+ (name "go-github-com-tomlazar-table")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tomlazar/table")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "017ps5n44xvdl2b656v89qi0gib95fz60vqvnpq7kjzjn9sr3awy"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/tomlazar/table"))
+ (inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (propagated-inputs
+ `(("go-github-com-mgutz-ansi" ,go-github-com-mgutz-ansi)
+ ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+ ("go-github-com-mattn-go-colorable"
+ ,go-github-com-mattn-go-colorable)))
+ (home-page "https://github.com/tomlazar/table")
+ (synopsis "Colorful tables in go with less effort")
+ (description "Print tabular data on the command line using ansi color
+esacape codes. Support for writing the ouput based on the fields in a struct
+and for defining and creating the table manully using the underlying object.")
+ (license license:expat)))
+
+(define-public go-github-com-looplab-tarjan
+ (package
+ (name "go-github-com-looplab-tarjan")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/looplab/tarjan")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0km1qzkw1c0gl0fjkmcaibirxzk35z9f44nspk46vbjfgcm78z58"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/looplab/tarjan"))
+ (home-page "https://github.com/looplab/tarjan")
+ (synopsis "Graph loop detection using Tarjan's algorithm")
+ (description "Tarjan is a graph loop detection function using Tarjan's
+algorithm. The algorithm takes a input graph and produces a slice where each
+item is a slice of strongly connected vertices. The input graph is in form of
+a map where the key is a graph vertex and the value is the edges in for of a
+slice of vertices.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-md14454-gosensors
+ (package
+ (name "go-github-com-md14454-gosensors")
+ (version "0.0.0-20180726083412-bded752ab001")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/md14454/gosensors")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08ffz56h93rcsyp84zxirdj3azb9rkql7sc0dj22pp17w11qlwhx"))))
+ (build-system go-build-system)
+ (propagated-inputs
+ `(("lm-sensors:lib" ,lm-sensors "lib")))
+ (arguments '(#:import-path "github.com/md14454/gosensors"
+ #:tests? #f))
+ (home-page "https://github.com/md14454/gosensors")
+ (synopsis "Go bindings for libsensors")
+ (description "Go bindings for libsensors.so from the lm-sensors project
+via external C bindings.")
+ (license license:expat)))
+
(define-public go-github-com-dreamacro-go-shadowsocks2
(package
(name "go-github-com-dreamacro-go-shadowsocks2")
@@ -9,6 +9,7 @@
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Elais Player <elais@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,6 +41,7 @@ (define-module (gnu packages hardware)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -54,6 +56,7 @@ (define-module (gnu packages hardware)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages syncthing)
#:use-module (gnu packages tls)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web)
@@ -62,6 +65,7 @@ (define-module (gnu packages hardware)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix download)
@@ -928,6 +932,50 @@ (define-public screentest
(home-page "https://github.com/TobiX/screentest")
(license license:gpl2)))
+(define-public fan2go
+ (package
+ (name "fan2go")
+ (version "0.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/markusressel/fan2go")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "12mrkpzi3bwxwbhzm7l4hlpb8jna89p9ywaf3nf82739jallf2fy"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/markusressel/fan2go"
+ #:tests? #f))
+ (inputs
+ `(("lm-sensors:lib" ,lm-sensors "lib")))
+ (propagated-inputs
+ `(("go-etcd-io-bbolt" ,go-etcd-io-bbolt)
+ ("go-github-com-tomlazar-table" ,go-github-com-tomlazar-table)
+ ("go-github-com-spf13-viper" ,go-github-com-spf13-viper)
+ ("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra)
+ ("go-github-com-pterm-pterm" ,go-github-com-pterm-pterm)
+ ("go-github-com-prometheus-client-golang"
+ ,go-github-com-prometheus-client-golang)
+ ("go-github-com-oklog-run" ,go-github-com-oklog-run)
+ ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir)
+ ("go-github-com-mgutz-ansi" ,go-github-com-mgutz-ansi)
+ ("go-github-com-md14454-gosensors" ,go-github-com-md14454-gosensors)
+ ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
+ ("go-github-com-looplab-tarjan" ,go-github-com-looplab-tarjan)
+ ("go-github-com-guptarohit-asciigraph"
+ ,go-github-com-guptarohit-asciigraph)
+ ("go-github-com-asecurityteam-rolling"
+ ,go-github-com-asecurityteam-rolling)))
+ (home-page "https://github.com/markusressel/fan2go")
+ (synopsis "Fan speed control daemon based on reading temperature sensors")
+ (description "fan2go is a simple fan control daemon that relies on
+lm-sensors to get both temperature and RPM sensor readings, as well as PWM
+controls, so you will have to set it up first.")
+ (license license:agpl3)))
+
(define-public tpm2-tss
(package
(name "tpm2-tss")
base-commit: a27e47f9d1e22dc32bb250cfeef88cfacb930e23
--
2.34.0