@@ -8,6 +8,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,13 +43,19 @@ (define-module (gnu packages firmware)
#:use-module (gnu packages curl)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages pkg-config))
(define-public ath9k-htc-firmware
@@ -634,3 +641,71 @@ (define-public arm-trusted-firmware-imx8mq
((#:make-flags flags ''())
;; Adding debug symbols causes the size to exceed limits.
#~(delete "DEBUG=1" #$flags)))))))
+
+(define-public siglo
+ (package
+ (name "siglo")
+ (version "0.9.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/alexr4535/" name "/"))
+ (commit (string-append "v" version))))
+ (sha256 (base32
+ "1q241465l0kjirycvhgrm5ylqll6ywqfyg2arad224v47fz7lb8g"))))
+ (build-system meson-build-system)
+ (native-inputs (list gettext-minimal
+ `(,glib "bin") ; for 'glib-compile-resources',
+ ; 'glib-compile-schemas'
+ pkg-config
+ `(,gtk+ "bin") ; for gtk-update-icon-cache
+ ))
+ (inputs (list gtk+
+ desktop-file-utils
+ appstream-glib ; listed as appstream-util, in configure
+ python
+ python-pyxdg
+ python-gatt
+ python-dbus
+ python-pygobject
+ python-requests
+ python-urllib3
+ python-chardet
+ python-certifi
+ python-idna))
+ (arguments `(#:glib-or-gtk? #t
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'remove-internet-using-test
+ (lambda _
+ (substitute* "data/meson.build"
+ (("appstream_util.found\\(\\)") "false")
+ (((string-append
+ "install_data[(]'siglo\\.service', "
+ "install_dir: '/etc/systemd/user/'[)]"))
+ ""))))
+ (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (wrap-program (string-append
+ (assoc-ref outputs "out")
+ "/bin/siglo")
+ `("GUIX_PYTHONPATH" =
+ ,(map
+ (lambda (python-input)
+ (string-append (cdr python-input)
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages"))
+ (filter
+ (lambda (input)
+ (string-prefix? "python" (car input)))
+ inputs)))
+ `("GI_TYPELIB_PATH" =
+ (,(getenv "GI_TYPELIB_PATH")))))))))
+ (synopsis "GTK app to sync InfiniTime watch with PinePhone")
+ (description "Siglo is a GTK app. to sync with the InfiniTime watch via
+Bluetooth. With a connection via Siglo, you can check the firmware version of
+your PineTime and sync the date/time. You can, also, update the firmware and
+bootloader of the watch.")
+ (home-page "https://github.com/alexr4535/siglo")
+ (license license:mpl2.0)))