Add serial-studio

  • Open
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
P
P
phodina wrote on 2 Dec 2022 06:29
(name . Guix Patches)(address . guix-patches@gnu.org)
FdB-RhExef-IOU04kHFAgSyRYyFcI76Ucn3z4Yt_-DmYQlFfBtgJClhjBbedMiC0spsbCItfpkC0oygW5EVNeu8BNx--m-JB5X30JsfWV8E=@protonmail.com
Hi,

this adds a nice GUI program to monitor communication on serial interfaces (e.g. UART).

----
Petr
Attachment: file
From 367d7da4a143949d11fbc76495f935dff7a3f25c 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 (75 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 30bf429897..6aaa9c47c2 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3363,6 +3363,68 @@ (define-public python-qt.py
bindings (PySide, PySide2, PyQt4 and PyQt5).")
(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.38.1
From d4846647b80f28f71f9a0e779a98716f7e582f56 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 71c8aafe3c..4621de0dad 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3731,7 +3731,7 @@ (define-public qtsolutions
(define-public qwt
(package
(name "qwt")
- (version "6.1.5")
+ (version "6.2.0")
(source
(origin
(method url-fetch)
@@ -3739,7 +3739,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-5 qttools-5))
--
2.38.1
From 6b25d088bd158ad2c5baa7548c49a04bd0f09664 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 6aaa9c47c2..71c8aafe3c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1283,6 +1283,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-5
(package (inherit qtsvg-5)
(name "qtwebsockets")
--
2.38.1
M
M
Maxim Cournoyer wrote on 16 Jan 2023 15:25
(name . phodina)(address . phodina@protonmail.com)(address . 59762@debbugs.gnu.org)
874jsqblp4.fsf@gmail.com
Hi Petr,

phodina <phodina@protonmail.com> writes:

Toggle quote (27 lines)
> Hi,
>
> this adds a nice GUI program to monitor communication on serial interfaces (e.g. UART).
>
> ----
> Petr
> From b134cf1d200c867c6b6c8a729a4ad212687a101d Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina@protonmail.com>
> Date: Fri, 21 Jan 2022 06:30:28 +0100
> Subject: [PATCH 4/4] gnu: Add serial-studio.
>
> * gnu/packages/qt.scm (serial-studio): New variable.
> * gnu/local.mk: Add patch.
> * gnu/packages/patches/serial-studio-remove-qsimple-updater.patch: New file.
>
> diff --git a/gnu/packages/patches/serial-studio-remove-qsimple-updater.patch b/gnu/packages/patches/serial-studio-remove-qsimple-updater.patch
> new file mode 100644
> index 0000000000..f8f93364d6
> --- /dev/null
> +++ b/gnu/packages/patches/serial-studio-remove-qsimple-updater.patch
> @@ -0,0 +1,80 @@
> +From 22b0b5014be7911406b262aeb0864d36f1fbbab5 Mon Sep 17 00:00:00 2001
> +From: Petr Hodina <phodina@protonmail.com>
> +Date: Wed, 19 Jan 2022 14:52:08 +0100
> +Subject: [PATCH] Remove code dependent on QSimpleUpdater. Don't include
> + qwt.pri, qtcsv.pri and qmqtt.pri.

Ideally, the disabling of QSimpleUpdater would be configurable at build
time and upstreamed. The patch is not registered in gnu/local.mk in
this commit, although the commit log says it should be.

[...]

Toggle quote (23 lines)
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 4621de0dad..d0521b4894 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -3017,6 +3017,78 @@ (define (delete-unwanted-files child stat flag base level)
> system libraries.")
> (license license:lgpl2.1+)))
>
> +(define-public serial-studio
> + (package
> + (name "serial-studio")
> + (version "1.1.4")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/Serial-Studio/Serial-Studio")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (patches (search-patches
> + "serial-studio-remove-qsimple-updater.patch"))
> + (modules '((guix build utils) (ice-9 ftw)
> + (srfi srfi-1)))

I think the only module you require in your snippet is (guix build
utils).

Toggle quote (13 lines)
> + (snippet '(begin
> + (with-directory-excursion "libs"
> + (for-each
> + delete-file-recursively
> + '("qwt" "qtcsv" "qmqtt"
> + "QSimpleUpdater")))))
> + (sha256
> + (base32
> + "0qww2pmbvmq3cjx3xk8rxq0zf54y0b0j8bykn4aq3d2dii44m85y"))))
> + (build-system qt-build-system)
> + (arguments
> + `(#:tests? #f ;no test suite

Please use (list #:tests? #f #:phases #~(modify-phases %standard-phases
[...] for new packages definitions.

Toggle quote (30 lines)
> + #:phases
> + (modify-phases %standard-phases
> + (replace 'configure
> + (lambda* (#:key outputs inputs #:allow-other-keys)
> + (substitute* "Serial-Studio.pro"
> + (("/usr") (assoc-ref outputs "out"))
> + (("INCLUDEPATH \\+= src") (string-append "INCLUDEPATH += src
> +INCLUDEPATH += "
> + (assoc-ref inputs
> + "qwt")
> + "/include/qwt
> +"
> + "LIBS += -L"
> + (assoc-ref inputs
> + "qwt")
> + "/lib"
> + " -lqwt
> +"
> + "LIBS += -L"
> + (assoc-ref inputs
> + "qtcsv")
> + "/lib"
> + " -lqtcsv
> +"
> + "LIBS += -L"
> + (assoc-ref inputs
> + "qmqtt")
> + "/lib"
> + " -lQt5Qmqtt")))

The above indentation appears squashed right :-). I'd bring the
(string-append "INCLUDEPATH += src [...] on a new line, which will help
the rest fit more nicely.

Toggle quote (3 lines)
> + (invoke "qmake"))))))
> + (native-inputs (list qwt qttools pkg-config))

Please sort inputs.

Toggle quote (9 lines)
> + (inputs (list qtcsv
> + qmqtt
> + qwt
> + qtbase-5
> + qtserialport
> + qtsvg-5
> + qtdeclarative-5
> + qtquickcontrols2-5))

Ditto.

Toggle quote (4 lines)
> + (synopsis "Multi-purpose serial data visualization & processing
> program")

Replace "&" with "and".

Toggle quote (4 lines)
> + (description
> + "This package provides multi-purpose serial data visualization
> +and processing GUI program.")

This leaves me wanting to know a bit more, but upstream doesn't provide
much help, so OK.

Toggle quote (6 lines)
> + (license license:expat)))
> +
> (define-public single-application-qt5
> ;; Change in function signature, nheko requires at least this commit
> (let ((commit "dc8042b5db58f36e06ba54f16f38b16c5eea9053"))

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 16 Jan 2023 15:33
(name . phodina)(address . phodina@protonmail.com)(address . 59762@debbugs.gnu.org)
87y1q2a6r7.fsf@gmail.com
Hello!

Reviewing patch 2/4.

phodina <phodina@protonmail.com> writes:

Toggle quote (35 lines)
> Hi,
>
> this adds a nice GUI program to monitor communication on serial interfaces (e.g. UART).
>
> ----
> Petr
>
> From 367d7da4a143949d11fbc76495f935dff7a3f25c 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.
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 30bf429897..6aaa9c47c2 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -3363,6 +3363,68 @@ (define-public python-qt.py
> bindings (PySide, PySide2, PyQt4 and PyQt5).")
> (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)))

Only (guix build utils) is needed.

Toggle quote (3 lines)
> + (snippet `(begin
> + (delete-file-recursively "tests/gtest/gtest")))

Extraneous 'begin' directive.

Toggle quote (7 lines)
> + (sha256
> + (base32
> + "1l96cssa9hjmabds9k9nzisxnzr3ndi3r82m3lgwq9ip94kz05nw"))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:phases (modify-phases %standard-phases

Please use plain list + gexps for new packages.

Toggle quote (4 lines)
> + (replace 'configure
> + (lambda* (#:key outputs #:allow-other-keys)
> + (invoke "qmake")))

Extraneous OUTPUTS argument.

Toggle quote (6 lines)
> + (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")))

After switching to gexps, use gexp variables such as #$output.
Extraneous SOURCE argument.

Toggle quote (4 lines)
> + (mkdir-p lib)
> + (mkdir-p include)
> + (chdir "..") ;we were in dir tests

Prefer active tense (;navigate up from test directore), avoid 'we' as
much as possible.

Toggle quote (19 lines)
> + (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)

Remove extraneous arguments (test-options, parallel-).

Toggle quote (10 lines)
> + (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")

"MQTT client"

Toggle quote (3 lines)
> + (description "Provides an MQTT Client with SSL support and Websockets.")
> + (license license:expat)))

Please use make it a full sentence starting with a subject, e.g. "This
package provides an MQTT client with [...]".

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 16 Jan 2023 15:37
(name . phodina)(address . phodina@protonmail.com)(address . 59762@debbugs.gnu.org)
87tu0qa6l8.fsf@gmail.com
Hello,

Reviewing patch 3 out of 4!

phodina <phodina@protonmail.com> writes:

Toggle quote (38 lines)
> Hi,
>
> this adds a nice GUI program to monitor communication on serial interfaces (e.g. UART).
>
> ----
> Petr
>
>
> From d4846647b80f28f71f9a0e779a98716f7e582f56 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.
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 71c8aafe3c..4621de0dad 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -3731,7 +3731,7 @@ (define-public qtsolutions
> (define-public qwt
> (package
> (name "qwt")
> - (version "6.1.5")
> + (version "6.2.0")
> (source
> (origin
> (method url-fetch)
> @@ -3739,7 +3739,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-5 qttools-5))

LGTM (you can push this one already), if you've verified it doesn't
break dependent packages.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 16 Jan 2023 15:42
(name . phodina)(address . phodina@protonmail.com)(address . 59762@debbugs.gnu.org)
87pmbea6cn.fsf@gmail.com
Hi again!

phodina <phodina@protonmail.com> writes:

Toggle quote (41 lines)
> Hi,
>
> this adds a nice GUI program to monitor communication on serial interfaces (e.g. UART).
>
> ----
> Petr
>
>
>
> From 6b25d088bd158ad2c5baa7548c49a04bd0f09664 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.
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 6aaa9c47c2..71c8aafe3c 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -1283,6 +1283,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

Please switch to list + gexps.

Toggle quote (4 lines)
> + (replace 'configure
> + (lambda* (#:key outputs #:allow-other-keys)
> + (invoke "qmake")))

Use plain lambda without arguments (lambda _).

Toggle quote (3 lines)
> + (add-after 'unpack 'fix-install
> + (lambda* (#:key outputs #:allow-other-keys)

Ditto.
Toggle quote (3 lines)
> + (let* ((out (assoc-ref outputs "out")))
>

Use gexps variables.

Toggle quote (8 lines)
> + (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"))

Ditto :-).

Toggle quote (5 lines)
> + (include (string-append out "/include")))
> + (mkdir-p include)
> + (mkdir-p lib)
> + (chdir "..") ;we were in dir tests

Same comment bout active tense as earlier... but it seems that'd no
longer be needed with the next comment implemented?

Toggle quote (12 lines)
> + (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")))))))

If qmake has a switch like make to change directory, e.g. -C, that'd be
preferable, else "with-directory-excursion" to avoid keeping state in
other phases.

Otherwise, this patch LGTM.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 21 Mar 2023 14:53
(name . phodina)(address . phodina@protonmail.com)(address . 59762@debbugs.gnu.org)
87lejqqkhs.fsf_-_@gmail.com
Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (98 lines)
> Hi again!
>
> phodina <phodina@protonmail.com> writes:
>
>> Hi,
>>
>> this adds a nice GUI program to monitor communication on serial interfaces (e.g. UART).
>>
>> ----
>> Petr
>>
>>
>>
>> From 6b25d088bd158ad2c5baa7548c49a04bd0f09664 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.
>>
>> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
>> index 6aaa9c47c2..71c8aafe3c 100644
>> --- a/gnu/packages/qt.scm
>> +++ b/gnu/packages/qt.scm
>> @@ -1283,6 +1283,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
>
> Please switch to list + gexps.
>
>> + (replace 'configure
>> + (lambda* (#:key outputs #:allow-other-keys)
>> + (invoke "qmake")))
>
> Use plain lambda without arguments (lambda _).
>
>> + (add-after 'unpack 'fix-install
>> + (lambda* (#:key outputs #:allow-other-keys)
>
> Ditto.
>> + (let* ((out (assoc-ref outputs "out")))
>>
>
> Use gexps variables.
>
>> + (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"))
>
> Ditto :-).
>
>> + (include (string-append out "/include")))
>> + (mkdir-p include)
>> + (mkdir-p lib)
>> + (chdir "..") ;we were in dir tests
>
> Same comment bout active tense as earlier... but it seems that'd no
> longer be needed with the next comment implemented?
>
>> + (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")))))))
>
> If qmake has a switch like make to change directory, e.g. -C, that'd be
> preferable, else "with-directory-excursion" to avoid keeping state in
> other phases.
>
> Otherwise, this patch LGTM.

Gently ping :-). There are also other review comments up-thread.

--
Thanks,
Maxim
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 59762@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 59762
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch