Add guile-mqtt

Evgeny PisemskySat Feb 08 23:30:23+0300 2025

cbe12df

Add guile-mqtt

modules/cogd/packages/emacs-xyz.scm

44
55
(define-module (cogd packages emacs-xyz))
66
7-
(use-modules (guix packages)
8-
             (guix git-download)
9-
             (guix build-system emacs)
10-
             (guix gexp)
11-
             ((guix licenses) #:prefix license:))
7+
(use-modules (gnu packages emacs-xyz))
128
13-
(define-public emacs-go-translate
14-
  (package
15-
    (name "emacs-go-translate")
16-
    (version "3.0.7")
17-
    (source
18-
     (origin
19-
       (method git-fetch)
20-
       (uri (git-reference
21-
             (url "https://github.com/lorniu/go-translate")
22-
             (commit (string-append "v" version))))
23-
       (file-name (git-file-name name version))
24-
       (sha256
25-
        (base32 "0603iq1vjbm44sl7qrmkdfcqzzc703h1g5hdcswpj7pi0w7fxb4s"))))
26-
    (build-system emacs-build-system)
27-
    (arguments
28-
     (list
29-
      #:tests? #t
30-
      #:test-command #~(list "emacs" "-Q" "--batch"
31-
                             "-L" "."
32-
                             "-l" "gt-tests.el"
33-
                             "-f" "ert-run-tests-batch-and-exit")
34-
      #:phases
35-
      #~(modify-phases %standard-phases
36-
          (add-before 'check 'skip-failing-tests
37-
            (lambda _
38-
              (substitute* "gt-tests.el"
39-
                (("\\(ert-deftest test--gt-translation-life-cycle .*" all)
40-
                 (string-append all "(skip-unless nil)\n"))
41-
                (("\\(ert-deftest test--gt-valid-literally .*" all)
42-
                 (string-append all "(skip-unless nil)\n"))))))))
43-
    (home-page "https://github.com/lorniu/go-translate")
44-
    (synopsis "Translation framework, configurable and scalable")
45-
    (description
46-
     "This is a translation framework on Emacs, with high configurability
47-
and extensibility.  It can easily be extended to various Text-to-Text
48-
conversion scenarios.")
49-
    (license license:gpl3+)))
9+
(re-export emacs-go-translate)

modules/cogd/packages/guile-xyz.scm

55
(define-module (cogd packages guile-xyz))
66
77
(use-modules (guix packages)
8+
             (guix download)
89
             (guix git-download)
10+
             (guix gexp)
11+
             (guix build-system gnu)
912
             (guix build-system guile)
13+
             ((guix licenses) #:prefix license:)
1014
             (gnu packages guile)
11-
             ((guix licenses) #:prefix license:))
15+
             (gnu packages messaging)
16+
             (gnu packages pkg-config))
1217
1318
(define-public guile-gpio
1419
  (let ((commit "363a036dbfe26c02ce32864894af9224483bc84b")

3540
file system and allows the programmer to focus on writing userspace
3641
GPIO drivers rather than fiddling with file descriptors.")
3742
      (license license:lgpl3+))))
43+
44+
(define-public guile-mqtt
45+
  (package
46+
    (name "guile-mqtt")
47+
    (version "0.2.1")
48+
    (source
49+
     (origin
50+
       (method url-fetch)
51+
       (uri (string-append "https://github.com/mdjurfeldt/" name
52+
                           "/releases/download/v" version
53+
                           "/" name "-" version ".tar.gz"))
54+
       (sha256
55+
        (base32 "16a3r6yk41yskwv4qbkrsi0f5rvc7aw2s5di74i8y89j1x9yp9zs"))))
56+
    (build-system gnu-build-system)
57+
    (arguments
58+
     (list
59+
      #:make-flags #~(list "GUILE_AUTO_COMPILE=0")))
60+
    (native-inputs (list guile-3.0 pkg-config))
61+
    (inputs (list mosquitto))
62+
    (home-page "https://github.com/mdjurfeldt/guile-mqtt")
63+
    (synopsis "Guile bindings for the libmosquitto library")
64+
    (description
65+
     "This package provides Guile bindings for the libmosquitto MQTT client
66+
library.  The bindings are written in GOOPS, and the user can extend
67+
the client class by inheritance.")
68+
    (license license:lgpl3+)))

modules/cogd/packages/python-xyz.scm

88
             (guix download)
99
             (guix git-download)
1010
             (guix gexp)
11+
             (guix deprecation)
1112
             (guix build-system python)
1213
             (guix build-system pyproject)
1314
             ((guix licenses) #:prefix license:)

2223
             (gnu packages xdisorg)
2324
             (gnu packages xorg))
2425
25-
(re-export python-bresenham)
26-
27-
(define-public python-pypubsub
28-
  (package
29-
    (name "python-pypubsub")
30-
    (version "4.0.3")
31-
    (source
32-
     (origin
33-
       (method git-fetch)
34-
       (uri (git-reference
35-
             (url "https://github.com/schollii/pypubsub")
36-
             (commit (string-append "v" version))))
37-
       (file-name (git-file-name name version))
38-
       (sha256
39-
        (base32 "02j74w28wzmdvxkk8i561ywjgizjifq3hgcl080yj0rvkd3wivlb"))))
40-
    (build-system pyproject-build-system)
41-
    (arguments
42-
     (list
43-
      #:phases #~(modify-phases %standard-phases
44-
                   (replace 'check
45-
                     (lambda* (#:key tests? #:allow-other-keys)
46-
                       (when tests?
47-
                         (with-directory-excursion "tests/suite"
48-
                           (invoke "py.test"))))))))
49-
    (native-inputs (list python-pytest python-setuptools python-wheel))
50-
    (home-page "https://github.com/schollii/pypubsub")
51-
    (synopsis "Python publish-subcribe library")
52-
    (description
53-
     "This library provides a publish-subscribe API to facilitate
54-
event-based or message-based architecture in a single-process
55-
application.  It is centered on the notion of a topic - senders
56-
publish messages of a given topic, and listeners subscribe to messages
57-
of a given topic, all inside the same process.")
58-
    (license license:bsd-2)))
26+
(re-export python-bresenham
27+
           python-pyclip
28+
           python-pypubsub)
5929
6030
(define-public python-shxparser
6131
  (package

7747
used for many CNC and laser operations.")
7848
    (license license:expat)))
7949
80-
(define-public python-pyclip
81-
  (package
82-
    (name "python-pyclip")
83-
    (version "0.7.0")
84-
    (source
85-
     (origin
86-
       (method git-fetch)
87-
       (uri (git-reference
88-
             (url "https://github.com/spyoungtech/pyclip")
89-
             (commit (string-append "v" version))))
90-
       (file-name (git-file-name name version))
91-
       (sha256
92-
        (base32 "10q698snlid09jmlvsqlljj2r0w6cixncjcgbhnjqp7w0hva8wyj"))))
93-
    (build-system pyproject-build-system)
94-
    (arguments
95-
     (list
96-
      #:phases #~(modify-phases %standard-phases
97-
                   (add-before 'check 'startx
98-
                     (lambda* (#:key inputs #:allow-other-keys)
99-
                       (let ((x (assoc-ref inputs "xorg-server")))
100-
                         (system (string-append x "/bin/Xvfb :1 &"))
101-
                         (setenv "DISPLAY" ":1")))))))
102-
    (native-inputs (list python-setuptools python-wheel python-pytest
103-
                         xorg-server))
104-
    (propagated-inputs (list xclip wl-clipboard))
105-
    (home-page "https://github.com/spyoungtech/pyclip")
106-
    (synopsis "Cross-platform clipboard module for Python")
107-
    (description
108-
     "This library implements cross-platform clipboard utilities supporting
109-
both binary and text data.")
110-
    (license license:asl2.0)))
111-
112-
(define-public python-zipp-3
113-
  (package
114-
    (inherit python-zipp)
115-
    (version "3.21.0")
116-
    (source
117-
     (origin
118-
       (method url-fetch)
119-
       (uri (pypi-uri "zipp" version))
120-
       (sha256
121-
        (base32 "1x6ibn5v5h8pjhhzwbz0j91yz4yxss761ssj38s4080a8gv5i69c"))))
122-
    (build-system pyproject-build-system)
123-
    (arguments
124-
     (list
125-
      #:tests? #f))
126-
    (native-inputs (list python-setuptools python-setuptools-scm python-wheel))
127-
    (propagated-inputs (list))))
50+
(define-deprecated/public-alias python-zipp-3 python-zipp)
12851
129-
(define-public python-urllib3-for-platypush
130-
  (package
131-
    (inherit python-urllib3)
132-
    (version "2.2.2")
133-
    (source
134-
     (origin
135-
       (method url-fetch)
136-
       (uri (pypi-uri "urllib3" version))
137-
       (sha256
138-
        (base32 "0s11c5gxrra19s3c6fzj0iy1f3cxcdin0pns6cl5aylsaj2m8l6x"))))
139-
    (properties '((hidden? . #t)))))
52+
(define-deprecated/public-alias python-urllib3-for-platypush python-urllib3)
14053
14154
(define-public python-platypush
14255
  (package

15568
    (arguments
15669
     (list
15770
      #:phases #~(modify-phases %standard-phases
71+
                   (add-after 'unpack 'relax-requirements
72+
                     (lambda _
73+
                       (substitute* "requirements.txt"
74+
                         (("zipp>=3.19.1")
75+
                          "zipp")
76+
                         (("urllib3>=2.2.2")
77+
                          "urllib3"))))
15878
                   (add-before 'check 'pre-check
15979
                     (lambda _
16080
                       (setenv "HOME" "/tmp"))))))