(name . Guix Patches)(address . guix-patches@gnu.org)
Hi,
these patches add Qt modules and Serial Studio which is handy for embedded development.
----
Petr
From 7501ca56bfa731ae0a0601f2790ad415ef186996 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 16 Jan 2022 17:59:22 +0100
Subject: [PATCH 1/4] gnu: Add qmqtt.
* gnu/packages/qt.scm (qmqtt): New variable.
Toggle diff (91 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 49d514503d..7acfca36c2 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -23,6 +23,7 @@
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,6 +57,7 @@ (define-module (gnu packages qt)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
@@ -2289,6 +2291,68 @@ (define-public python-qtpy
(PyQt5, PyQt4 and PySide) and additional custom QWidgets.")
(license license:expat)))
+(define-public qmqtt
+ (package
+ (name "qmqtt")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-spataru/qmqtt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils) (ice-9 ftw)
+ (srfi srfi-1)))
+ (snippet `(begin
+ (delete-file-recursively "tests/gtest/gtest")))
+ (sha256
+ (base32
+ "1l96cssa9hjmabds9k9nzisxnzr3ndi3r82m3lgwq9ip94kz05nw"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake")))
+ (replace 'install
+ (lambda* (#:key outputs source #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")) (lib (string-append
+ out "/lib"))
+ (include (string-append out "/include")))
+ (mkdir-p lib)
+ (mkdir-p include)
+ (chdir "..") ;we were in dir tests
+ (copy-recursively "lib" lib)
+ (chdir "src/mqtt")
+ (for-each (lambda (file)
+ (install-file (string-append file) include))
+ '("qmqtt_client.h" "qmqtt_frame.h"
+ "qmqtt_global.h"
+ "qmqtt.h"
+ "qmqtt_message.h"
+ "qmqtt_networkinterface.h"
+ "qmqtt_routedmessage.h"
+ "qmqtt_router.h"
+ "qmqtt_routesubscription.h"
+ "qmqtt_socketinterface.h"
+ "qmqtt_timerinterface.h"
+ "qmqtt_message.h")))))
+ (replace 'check
+ (lambda* (#:key tests? test-options parallel- +
+ #:allow-other-keys)
+ +
+ (when tests?
+ (chdir "tests")
+ (substitute* "gtest/gtest.pro"
+ (("gtest") ""))
+ (invoke "qmake")))))))
+ (native-inputs (list googletest perl python))
+ (inputs (list qtbase-5 openssl qtwebsockets))
+ (home-page "https://github.com/alex-spataru/qmqtt")
+ (synopsis "MQTT Client")
+ (description "Provides an MQTT Client with SSL support and Websockets.")
+ (license license:expat)))
+
(define-public qscintilla
(package
(name "qscintilla")
--
2.34.0
From b04500cd973a1b37d3e272cf03c6c72500261a33 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 19 Jan 2022 12:01:22 +0100
Subject: [PATCH 2/4] gnu: Add qtcsv.
* gnu/packages/qt.scm (qtcsv): New variable.
Toggle diff (65 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 7acfca36c2..9bd51db7c5 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -908,6 +908,58 @@ (define-public qtconnectivity
(description "The Qt Connectivity modules provides modules for interacting
with Bluetooth and NFC.")))
+(define-public qtcsv
+ (package
+ (name "qtcsv")
+ (version "1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iamantony/qtcsv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "109nbspnhaczm85wp1fqazmamdj2bh9wfv3anlslvll606lrfgir"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake")))
+ (add-after 'unpack 'fix-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (substitute* "qtcsv.pro"
+ (("/usr") out)
+ (("\\$\\$PWD") out)))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")) (lib (string-append
+ out "/lib"))
+ (include (string-append out "/include")))
+ (mkdir-p include)
+ (mkdir-p lib)
+ (chdir "..") ;we were in dir tests
+ (copy-recursively "include" include)
+ (for-each (lambda (file)
+ (install-file (string-append file) lib))
+ '("libqtcsv.so" "libqtcsv.so.1"
+ "libqtcsv.so.1.6" "libqtcsv.so.1.6.0")))))
+ (replace 'check
+ (lambda* (#:key tests? test-options parallel-tests?
+ #:allow-other-keys)
+ (when tests?
+ (chdir "tests")
+ (invoke "qmake")))))))
+ (native-inputs (list perl python))
+ (inputs (list qtbase-5))
+ (home-page "https://github.com/iamantony/qtcsv")
+ (synopsis "Library for reading and writing CSV files")
+ (description "This package provides library for reading and writing CSV
+files.")
+ (license license:expat)))
+
(define-public qtwebsockets
(package (inherit qtsvg)
(name "qtwebsockets")
--
2.34.0
From f49a91c15f5393cb6e7d7e53788c37524d21f5c8 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 21 Jan 2022 06:31:23 +0100
Subject: [PATCH 3/4] gnu: qwt: Update to 6.2.0.
* gnu/packages/qt.scm (qwt): Update to 6.2.0.
Toggle diff (24 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9bd51db7c5..d62c4572df 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2665,7 +2665,7 @@ (define-public qtsolutions
(define-public qwt
(package
(name "qwt")
- (version "6.1.5")
+ (version "6.2.0")
(source
(origin
(method url-fetch)
@@ -2673,7 +2673,7 @@ (define-public qwt
(string-append "mirror://sourceforge/qwt/qwt/"
version "/qwt-" version ".tar.bz2"))
(sha256
- (base32 "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0"))))
+ (base32 "0c0mnyqa8rvs2bx946mbmfbh2ik4a0bmhwgn01rzvl2m758zd54i"))))
(build-system gnu-build-system)
(inputs
(list qtbase-5 qtsvg qttools))
--
2.34.0